|
|
@@ -3,8 +3,10 @@ package kr.co.zumo.app.lifeplus.view.screen.widget;
|
|
|
import android.app.PendingIntent;
|
|
|
import android.appwidget.AppWidgetManager;
|
|
|
import android.appwidget.AppWidgetProvider;
|
|
|
+import android.content.ComponentName;
|
|
|
import android.content.Context;
|
|
|
import android.content.Intent;
|
|
|
+import android.net.Uri;
|
|
|
import android.util.Log;
|
|
|
import android.widget.RemoteViews;
|
|
|
|
|
|
@@ -16,6 +18,7 @@ import io.reactivex.android.schedulers.AndroidSchedulers;
|
|
|
import io.reactivex.disposables.Disposable;
|
|
|
import io.reactivex.schedulers.Schedulers;
|
|
|
import kr.co.zumo.app.R;
|
|
|
+import kr.co.zumo.app.lifeplus.activity.KakaoTalkActivity;
|
|
|
import kr.co.zumo.app.lifeplus.activity.SplashActivity;
|
|
|
import kr.co.zumo.app.lifeplus.bean.api.LifeplusContentsBean;
|
|
|
import kr.co.zumo.app.lifeplus.bean.api.RequestBean;
|
|
|
@@ -23,6 +26,7 @@ import kr.co.zumo.app.lifeplus.config.INetworkConfig;
|
|
|
import kr.co.zumo.app.lifeplus.config.NetworkConfigDevelop;
|
|
|
import kr.co.zumo.app.lifeplus.config.NetworkConfigProduct;
|
|
|
import kr.co.zumo.app.lifeplus.network.api.LifeplusAPIService;
|
|
|
+import kr.co.zumo.app.lifeplus.tool.ShareKakaoTalk;
|
|
|
import kr.co.zumo.app.lifeplus.util.AppUtil;
|
|
|
import kr.co.zumo.app.lifeplus.view.GlideApp;
|
|
|
|
|
|
@@ -39,9 +43,6 @@ public class LifeplusWidget extends AppWidgetProvider {
|
|
|
// Construct the RemoteViews object
|
|
|
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.lifeplus_widget);
|
|
|
|
|
|
- Intent mainIntent = new Intent(context, SplashActivity.class);
|
|
|
- views.setOnClickPendingIntent(R.id.image_view_bi, PendingIntent.getActivity(context, 0, mainIntent, 0));
|
|
|
-
|
|
|
views.setTextViewText(R.id.text_view_title, contentsBean.getTitleWithTrim());
|
|
|
views.setTextViewText(R.id.text_view_sub_title, contentsBean.getSubTitleWithTrim());
|
|
|
|
|
|
@@ -51,27 +52,45 @@ public class LifeplusWidget extends AppWidgetProvider {
|
|
|
|
|
|
String url = contentsBean.getImageUrl();
|
|
|
try {
|
|
|
- GlideApp.with(context)
|
|
|
+ GlideApp.with(context.getApplicationContext()).clear(backgroundImage);
|
|
|
+
|
|
|
+ GlideApp.with(context.getApplicationContext())
|
|
|
.asBitmap()
|
|
|
+ .skipMemoryCache(true)
|
|
|
.load(url)
|
|
|
+ .override(400, 400)
|
|
|
.apply(new RequestOptions().transforms(new CenterCrop()))
|
|
|
.into(backgroundImage);
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
|
|
|
+ // app link
|
|
|
+ Intent mainIntent = new Intent(context, SplashActivity.class);
|
|
|
+ views.setOnClickPendingIntent(R.id.image_view_bi, PendingIntent.getActivity(context, 0, mainIntent, 0));
|
|
|
+
|
|
|
+ // refresh
|
|
|
Intent refreshIntent = new Intent(context, LifeplusWidget.class);
|
|
|
refreshIntent.setAction(REFRESH_CLICK);
|
|
|
views.setOnClickPendingIntent(R.id.image_view_refresh, PendingIntent.getBroadcast(context, 0, refreshIntent, appWidgetId));
|
|
|
|
|
|
- appWidgetManager.updateAppWidget(appWidgetId, views);
|
|
|
+ // contents link
|
|
|
+ Intent linkIntent = new Intent(context, KakaoTalkActivity.class);
|
|
|
+ linkIntent.setData(new Uri.Builder()
|
|
|
+ .appendQueryParameter(ShareKakaoTalk.CONTENTS_ITEM_NO, contentsBean.getItemNo())
|
|
|
+ .appendQueryParameter(ShareKakaoTalk.CONTENTS_ITEM_PAGE, "0")
|
|
|
+ .build());
|
|
|
+ views.setOnClickPendingIntent(R.id.image_view_background, PendingIntent.getActivity(context, 0, linkIntent, 0));
|
|
|
|
|
|
- Log.w("APP# LifeplusWidget | render", "|" + "-----------------------------------");
|
|
|
+// appWidgetManager.updateAppWidget(appWidgetId, views);
|
|
|
+ appWidgetManager.updateAppWidget(new ComponentName(context, LifeplusWidget.class), views);
|
|
|
|
|
|
+ Log.w("APP# LifeplusWidget | render", "|" + "----------------------------------- id: " + appWidgetId);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
|
|
|
+ super.onUpdate(context, appWidgetManager, appWidgetIds);
|
|
|
// There may be multiple widgets active, so update all of them
|
|
|
Log.e("APP# LifeplusWidget | onUpdate", "|" + "onUpdate ===>");
|
|
|
for (int appWidgetId : appWidgetIds) {
|
|
|
@@ -103,6 +122,7 @@ public class LifeplusWidget extends AppWidgetProvider {
|
|
|
render(context, appWidgetManager, appWidgetId, resultBean.getData());
|
|
|
}, e -> {
|
|
|
disposable = null;
|
|
|
+ Log.e("APP# LifeplusWidget | updateAppWidget", "| " + " error -> " + e.getLocalizedMessage());
|
|
|
});
|
|
|
}
|
|
|
|
|
|
@@ -116,8 +136,14 @@ public class LifeplusWidget extends AppWidgetProvider {
|
|
|
int appWidgetId = intent.getFlags();
|
|
|
switch (intent.getAction()) {
|
|
|
case REFRESH_CLICK:
|
|
|
- Log.e("APP# LifeplusWidget | onReceive", "|" + "refresh click after ===>");
|
|
|
- updateAppWidget(context, appWidgetManager, appWidgetId);
|
|
|
+ Log.e("APP# LifeplusWidget | onReceive", "|" + "refresh click after ===> id: " + appWidgetId);
|
|
|
+// updateAppWidget(context, appWidgetManager, appWidgetId);
|
|
|
+// ComponentName thisAppWidget = new ComponentName(context.getPackageName(), LifeplusWidget.class.getName());
|
|
|
+// int[] appWidgetIds = appWidgetManager.getAppWidgetIds(thisAppWidget);
|
|
|
+
|
|
|
+ int[] appWidgetIds = new int[]{appWidgetId};
|
|
|
+
|
|
|
+ onUpdate(context, appWidgetManager, appWidgetIds);
|
|
|
break;
|
|
|
default:
|
|
|
break;
|