Explorar el Código

Merge branch 'develop' of https://github.com/swict/LifeplusAndroid into develop

hyodong.min hace 6 años
padre
commit
7be83abf01

+ 1 - 0
app/build.gradle

@@ -138,6 +138,7 @@ dependencies {
     implementation 'com.githang:status-bar-compat:0.7'
     implementation 'com.wefika:flowlayout:0.4.1'
     implementation 'com.robinhood.ticker:ticker:2.0.1'
+    implementation 'com.squareup.picasso:picasso:2.71828'
 
     /*********************************
      * UNIT TEST

+ 21 - 17
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/setting/info/SettingTermsFragment.java

@@ -133,23 +133,27 @@ public class SettingTermsFragment extends FragmentBase<SettingTermsPresenter> im
 
       contents = itemView.findViewById(R.id.text_contents);
 
-      String title = bean.getTitle();
-      title = title.replace(ResourceUtil.getString(R.string.agree_required), "");
-      title = title.replace(ResourceUtil.getString(R.string.agree_option), "");
-      title = title.trim();
-
-      contents.setText(StringUtil.fromHtml(
-        new StringBuilder().append("<b>").append(bean.isMandatory() ? ResourceUtil.getString(R.string.agree_required) : ResourceUtil.getString(R.string.agree_option))
-          .append("</b> ").append("<font color='#999999'>").append(title).append("</font>").toString()));
-
-      contents.setOnClickListener(v -> {
-        notifyDetailPressed(index);
-      });
-
-      view = itemView.findViewById(R.id.image_arrow);
-      view.setOnClickListener(v -> {
-        notifyDetailPressed(index);
-      });
+
+      if (null != bean.getTitle()) {
+        String title = bean.getTitle();
+        title = title.replace(ResourceUtil.getString(R.string.agree_required), "");
+        title = title.replace(ResourceUtil.getString(R.string.agree_option), "");
+        title = title.trim();
+
+        contents.setText(StringUtil.fromHtml(
+          new StringBuilder().append("<b>").append(bean.isMandatory() ? ResourceUtil.getString(R.string.agree_required) : ResourceUtil.getString(R.string.agree_option))
+            .append("</b> ").append("<font color='#999999'>").append(title).append("</font>").toString()));
+
+        contents.setOnClickListener(v -> {
+          notifyDetailPressed(index);
+        });
+
+        view = itemView.findViewById(R.id.image_arrow);
+        view.setOnClickListener(v -> {
+          notifyDetailPressed(index);
+        });
+      }
+
     }
 
   }

+ 24 - 39
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/widget/LifeplusWidget.java

@@ -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
   }
+
+
 }
 
 

+ 3 - 1
app/src/main/res/layout/lifeplus_widget.xml

@@ -21,6 +21,7 @@
       android:scaleType="centerCrop"
       tools:background="@drawable/radius_8"
       tools:src="@drawable/img_banner_mycoin"
+      tools:visibility="visible"
       />
   </FrameLayout>
 
@@ -69,12 +70,13 @@
       tools:text="봄 기운 만끽할 준비된 핑덕들 웰컴!"
       />
 
-    <ImageView
+    <ImageButton
       android:id="@+id/image_view_refresh"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_alignParentEnd="true"
       android:layout_alignParentBottom="true"
+      android:background="@color/C19000000"
       android:padding="10dp"
       android:src="@drawable/icon_bottom_refresh"
       />