|
|
@@ -10,9 +10,9 @@ import android.net.Uri;
|
|
|
import android.util.Log;
|
|
|
import android.widget.RemoteViews;
|
|
|
|
|
|
-import com.bumptech.glide.load.resource.bitmap.CenterCrop;
|
|
|
-import com.bumptech.glide.request.RequestOptions;
|
|
|
-import com.bumptech.glide.request.target.AppWidgetTarget;
|
|
|
+import com.squareup.picasso.Picasso;
|
|
|
+
|
|
|
+import java.util.Arrays;
|
|
|
|
|
|
import io.reactivex.android.schedulers.AndroidSchedulers;
|
|
|
import io.reactivex.disposables.Disposable;
|
|
|
@@ -28,13 +28,13 @@ 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;
|
|
|
|
|
|
/**
|
|
|
* Implementation of App Widget functionality.
|
|
|
*/
|
|
|
public class LifeplusWidget extends AppWidgetProvider {
|
|
|
|
|
|
+ private LifeplusContentsBean contentsBean;
|
|
|
private static final String REFRESH_CLICK = "refresh_click";
|
|
|
|
|
|
private static Disposable disposable;
|
|
|
@@ -46,25 +46,6 @@ public class LifeplusWidget extends AppWidgetProvider {
|
|
|
views.setTextViewText(R.id.text_view_title, contentsBean.getTitleWithTrim());
|
|
|
views.setTextViewText(R.id.text_view_sub_title, contentsBean.getSubTitleWithTrim());
|
|
|
|
|
|
- AppWidgetTarget backgroundImage = new AppWidgetTarget(context, R.id.image_view_background, views, appWidgetId);
|
|
|
-
|
|
|
- //views.setImageViewUri(R.id.image_view_background, Uri.parse("http://210.216.157.64:38080/resources/contents/bucket/bg/img_bestbucket_1.jpg"));
|
|
|
-
|
|
|
- String url = contentsBean.getImageUrl();
|
|
|
- try {
|
|
|
- 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));
|
|
|
@@ -72,7 +53,7 @@ public class LifeplusWidget extends AppWidgetProvider {
|
|
|
// 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));
|
|
|
+ views.setOnClickPendingIntent(R.id.image_view_refresh, PendingIntent.getBroadcast(context, appWidgetId, refreshIntent, PendingIntent.FLAG_UPDATE_CURRENT));
|
|
|
|
|
|
// contents link
|
|
|
Intent linkIntent = new Intent(context, KakaoTalkActivity.class);
|
|
|
@@ -82,25 +63,24 @@ public class LifeplusWidget extends AppWidgetProvider {
|
|
|
.build());
|
|
|
views.setOnClickPendingIntent(R.id.image_view_background, PendingIntent.getActivity(context, 0, linkIntent, 0));
|
|
|
|
|
|
-// appWidgetManager.updateAppWidget(appWidgetId, views);
|
|
|
- appWidgetManager.updateAppWidget(new ComponentName(context, LifeplusWidget.class), views);
|
|
|
-
|
|
|
+ //appWidgetManager.getAppWidgetIds(new ComponentName(context, LifeplusWidget.class));
|
|
|
+ Log.e("APP# LifeplusWidget | render", "|" + appWidgetId);
|
|
|
+ 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 ===>");
|
|
|
+ Log.e("APP# LifeplusWidget | onUpdate", "|" + Arrays.toString(appWidgetIds));
|
|
|
for (int appWidgetId : appWidgetIds) {
|
|
|
updateAppWidget(context, appWidgetManager, appWidgetId);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
static void updateAppWidget(Context context, AppWidgetManager appWidgetManager, int appWidgetId) {
|
|
|
- Log.e("APP# LifeplusWidget | updateAppWidget", "|" + "updateAppwidget==>");
|
|
|
-
|
|
|
+ RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.lifeplus_widget);
|
|
|
if (null != disposable) {
|
|
|
disposable.dispose();
|
|
|
}
|
|
|
@@ -120,29 +100,33 @@ public class LifeplusWidget extends AppWidgetProvider {
|
|
|
.subscribe(resultBean -> {
|
|
|
disposable = null;
|
|
|
render(context, appWidgetManager, appWidgetId, resultBean.getData());
|
|
|
+ updateImage(context, appWidgetManager, views, R.id.image_view_background, resultBean.getData().getImageUrl());
|
|
|
}, e -> {
|
|
|
disposable = null;
|
|
|
Log.e("APP# LifeplusWidget | updateAppWidget", "| " + " error -> " + e.getLocalizedMessage());
|
|
|
});
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ public static void updateImage(Context context, AppWidgetManager appWidgetManager, RemoteViews remoteViews, int resourceId, String url) {
|
|
|
+ int[] appWidgetIds = appWidgetManager.getAppWidgetIds(new ComponentName(context, LifeplusWidget.class));
|
|
|
+ //Picasso.with(context).load(url).into(remoteViews, resourceId, appWidgetIds);
|
|
|
+ //Picasso.get().load(url).into(remoteViews, resourceId, appWidgetIds);
|
|
|
+ Picasso.get().load(url).into(remoteViews, resourceId, appWidgetIds);
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public void onReceive(Context context, Intent intent) {
|
|
|
|
|
|
AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context);
|
|
|
|
|
|
+ super.onReceive(context, intent);
|
|
|
super.onReceive(context, intent);
|
|
|
|
|
|
int appWidgetId = intent.getFlags();
|
|
|
switch (intent.getAction()) {
|
|
|
case REFRESH_CLICK:
|
|
|
- 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:
|
|
|
@@ -150,8 +134,7 @@ public class LifeplusWidget extends AppWidgetProvider {
|
|
|
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
@Override
|
|
|
public void onEnabled(Context context) {
|
|
|
// Enter relevant functionality for when the first widget is created
|
|
|
@@ -161,6 +144,8 @@ public class LifeplusWidget extends AppWidgetProvider {
|
|
|
public void onDisabled(Context context) {
|
|
|
// Enter relevant functionality for when the last widget is disabled
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
}
|
|
|
|
|
|
|