Jelajahi Sumber

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

hyodong.min 6 tahun lalu
induk
melakukan
f137cf2c2b

+ 6 - 7
app/build.gradle

@@ -76,7 +76,6 @@ android {
         }
     }
 
-
     flavorDimensions "build"
     productFlavors {
         sandbox {
@@ -117,13 +116,13 @@ android {
             def buildType = variant.variantData.variantConfiguration.buildType.name
             def version = variant.versionName
 
-            def newApkName
+            def newApkName = "zumo" + SEP + buildType + SEP + version + ".apk"
 
-            if (buildType == "release") {
-                newApkName = "lifeplus" + SEP + buildType + SEP + version + ".apk"
-            } else {
-                newApkName = "lifeplus" + ".apk"
-            }
+//            if (buildType == "release") {
+//                newApkName = "lifeplus" + SEP + buildType + SEP + version + ".apk"
+//            } else {
+//                newApkName = "lifeplus" + ".apk"
+//            }
             outputFileName = new File(newApkName)
         }
     }

+ 255 - 254
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/contents/ContentsFragment.java

@@ -44,281 +44,282 @@ import kr.co.zumo.app.lifeplus.view.screen.FragmentBase;
  */
 public class ContentsFragment extends FragmentBase<ContentsPresenter> implements IContentsView {
 
-  private RecyclerView recyclerViewContentsDetail;
-  private ActionBarHelper actionBarHelper;
-  private ContentsAdapter adapter;
-  private LinearLayoutManager layoutManager;
-  private View dim;
-  private TextView textViewPageNumber;
-  private Tutorial tutorial;
-
-  private RecyclerView.OnScrollListener scrollEventListener;
-
-  @Override
-  protected View onAfterCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
-    return inflater.inflate(R.layout.fragment_contents_detail, container, false);
-  }
-
-  @Override
-  protected void onAfterActivityCreated(Bundle savedInstanceState) {
-    recyclerViewContentsDetail = findViewById(R.id.recycler_view_contents_detail);
-    dim = findViewById(R.id.view_dim_2);
-    textViewPageNumber = findViewById(R.id.text_view_page_number);
-    TextUtil.toBold(textViewPageNumber);
-
-    //private String direction = null;
-    CustomPagerSnapHelper snapHelper = new CustomPagerSnapHelper();
-    snapHelper.attachToRecyclerView(recyclerViewContentsDetail);
-  }
-
-  @Override
-  protected void defineActionBar(ActionBarHelper actionBarHelper) {
-    actionBarHelper.begin()
-      .dotDotDot(actionBar -> presenter.onNavigationClickDotDotDot(actionBar))
-      .back(actionBar -> presenter.onNavigationClickBack(actionBar))
-      .home(actionBar -> presenter.onNavigationClickHome(actionBar))
-      .bookmark(actionBar -> presenter.onNavigationClickBookmark(actionBar))
-      .like(actionBar -> presenter.onNavigationClickLike(actionBar))
-      .share(actionBar -> presenter.onNavigationClickShare(actionBar))
-      .white()
-      .transparent()
-      .show();
-    this.actionBarHelper = actionBarHelper;
-
-  }
-
-  @Override
-  protected ContentsPresenter definePresenter() {
-    return new ContentsPresenter(getModel(ContentsModel.class), this);
-  }
-
-  @Override
-  protected void onAfterDestroyView() {
-    recyclerViewContentsDetail.removeOnScrollListener(scrollEventListener);
-  }
-
-  @Override
-  protected void onAfterDestroy() {
-    if (null != tutorial) {
-      tutorial.cancel();
+    private RecyclerView recyclerViewContentsDetail;
+    private ActionBarHelper actionBarHelper;
+    private ContentsAdapter adapter;
+    private LinearLayoutManager layoutManager;
+    private View dim;
+    private TextView textViewPageNumber;
+    private Tutorial tutorial;
+
+    private RecyclerView.OnScrollListener scrollEventListener;
+
+    @Override
+    protected View onAfterCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
+        return inflater.inflate(R.layout.fragment_contents_detail, container, false);
     }
-  }
 
-  @Override
-  public void onStop() {
-    super.onStop();
-    if (null != tutorial) {
-      tutorial.cancel();
+    @Override
+    protected void onAfterActivityCreated(Bundle savedInstanceState) {
+        recyclerViewContentsDetail = findViewById(R.id.recycler_view_contents_detail);
+        dim = findViewById(R.id.view_dim_2);
+        textViewPageNumber = findViewById(R.id.text_view_page_number);
+        TextUtil.toBold(textViewPageNumber);
+
+        //private String direction = null;
+        CustomPagerSnapHelper snapHelper = new CustomPagerSnapHelper();
+        snapHelper.attachToRecyclerView(recyclerViewContentsDetail);
+    }
+
+    @Override
+    protected void defineActionBar(ActionBarHelper actionBarHelper) {
+        actionBarHelper.begin()
+                .dotDotDot(actionBar -> presenter.onNavigationClickDotDotDot(actionBar))
+                .back(actionBar -> presenter.onNavigationClickBack(actionBar))
+                .home(actionBar -> presenter.onNavigationClickHome(actionBar))
+                .bookmark(actionBar -> presenter.onNavigationClickBookmark(actionBar))
+                .like(actionBar -> presenter.onNavigationClickLike(actionBar))
+                .share(actionBar -> presenter.onNavigationClickShare(actionBar))
+                .white()
+                .transparent()
+                .show();
+        this.actionBarHelper = actionBarHelper;
+
+    }
+
+    @Override
+    protected ContentsPresenter definePresenter() {
+        return new ContentsPresenter(getModel(ContentsModel.class), this);
+    }
+
+    @Override
+    protected void onAfterDestroyView() {
+        recyclerViewContentsDetail.removeOnScrollListener(scrollEventListener);
+    }
+
+    @Override
+    protected void onAfterDestroy() {
+        if (null != tutorial) {
+            tutorial.cancel();
+        }
+    }
+
+    @Override
+    public void onStop() {
+        super.onStop();
+        if (null != tutorial) {
+            tutorial.cancel();
+        }
+    }
+
+    @Override
+    public void onStart() {
+        super.onStart();
+        ScreenSizeHelper helper = getHelper(ScreenSizeHelper.class);
+        tutorial = new Tutorial(helper.getScreenWidth());
+    }
+
+    @Override
+    protected boolean isSkipScreenWhenBack() {
+        return false;
+    }
+
+    @Override
+    public void goGooglePlay() {
+        String appPackageName = AppUtil.getPackageName();
+        try {
+            startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + appPackageName)));
+        } catch (ActivityNotFoundException e) {
+            startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=" + appPackageName)));
+        }
+
+    }
+
+    @Override
+    public void render(String url) {
+    }
+
+    @Override
+    public void setLiked(boolean isChecked) {
+        actionBarHelper.setLiked(isChecked);
+    }
+
+    @Override
+    public void setLiked(boolean isChecked, boolean isAnim) {
+        actionBarHelper.setLiked(isChecked, isAnim);
+
+    }
+
+    @Override
+    public void setBookmarked(boolean isChecked) {
+        actionBarHelper.setBookmarked(isChecked);
+    }
+
+    @Override
+    public void setBookmarked(boolean isChecked, boolean isAnim) {
+        actionBarHelper.setBookmarked(isChecked, isAnim);
     }
-  }
-
-  @Override
-  public void onStart() {
-    super.onStart();
-    ScreenSizeHelper helper = getHelper(ScreenSizeHelper.class);
-    tutorial = new Tutorial(helper.getScreenWidth());
-  }
-
-  @Override
-  protected boolean isSkipScreenWhenBack() {
-    return false;
-  }
-
-  @Override
-  public void goGooglePlay() {
-    String appPackageName = AppUtil.getPackageName();
-    try {
-      startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + appPackageName)));
-    } catch (ActivityNotFoundException e) {
-      startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=" + appPackageName)));
+
+    @Override
+    public void showOverviewTooltip() {
+        OverviewTooltip tooltip = new OverviewTooltip(getActivity(), new IEventListener() {
+            @Override
+            public void onEvent(Event event) {
+                presenter.onEvent(event);
+            }
+        });
+        tooltip.show();
+    }
+
+    @Override
+    public void setVisibleDotDotDot(boolean isVisible) {
+        actionBarHelper.setVisibleDotDotDot(isVisible);
+    }
+
+    @Override
+    public void setVisiblePageUi(boolean isVisible) {
+        actionBarHelper.setVisibleShare(isVisible);
+        actionBarHelper.setVisibleLiked(isVisible);
+        actionBarHelper.setVisibleBookmark(isVisible);
+    }
+
+    @Override
+    public void setPhoneNumberInCall(String phoneNumber) {
+        startActivity(new Intent("android.intent.action.DIAL", Uri.parse(phoneNumber)));
+    }
+
+    @Override
+    public void setSeriesLiked(int index, boolean isChecked) {
+        adapter.setSeriesLiked(index, isChecked);
     }
 
-  }
-
-  @Override
-  public void render(String url) {}
-
-  @Override
-  public void setLiked(boolean isChecked) {
-    actionBarHelper.setLiked(isChecked);
-  }
-
-  @Override
-  public void setLiked(boolean isChecked, boolean isAnim) {
-    actionBarHelper.setLiked(isChecked, isAnim);
-
-  }
-
-  @Override
-  public void setBookmarked(boolean isChecked) {
-    actionBarHelper.setBookmarked(isChecked);
-  }
-
-  @Override
-  public void setBookmarked(boolean isChecked, boolean isAnim) {
-    actionBarHelper.setBookmarked(isChecked, isAnim);
-  }
-
-  @Override
-  public void showOverviewTooltip() {
-    OverviewTooltip tooltip = new OverviewTooltip(getActivity(), new IEventListener() {
-      @Override
-      public void onEvent(Event event) {
-        presenter.onEvent(event);
-      }
-    });
-    tooltip.show();
-  }
-
-  @Override
-  public void setVisibleDotDotDot(boolean isVisible) {
-    actionBarHelper.setVisibleDotDotDot(isVisible);
-  }
-
-  @Override
-  public void setVisiblePageUi(boolean isVisible) {
-    actionBarHelper.setVisibleShare(isVisible);
-    actionBarHelper.setVisibleLiked(isVisible);
-    actionBarHelper.setVisibleBookmark(isVisible);
-  }
-
-  @Override
-  public void setPhoneNumberInCall(String phoneNumber) {
-    startActivity(new Intent("android.intent.action.DIAL", Uri.parse(phoneNumber)));
-  }
-
-  @Override
-  public void setSeriesLiked(int index, boolean isChecked) {
-    adapter.setSeriesLiked(index, isChecked);
-  }
-
-  @Override
-  public void setSeriesBookmark(int index, boolean isChecked) {
-    adapter.setSeriesBookmark(index, isChecked);
-  }
-
-  @Override
-  public void updateSeriesContents() {
-    if (null != adapter) {
-      adapter.updateSeriesContents();
+    @Override
+    public void setSeriesBookmark(int index, boolean isChecked) {
+        adapter.setSeriesBookmark(index, isChecked);
     }
-  }
-
-  @Override
-  public void setScrollToPosition(int i) {
-    recyclerViewContentsDetail.scrollToPosition(i);
-  }
-
-  @Override
-  public void setSmoothScrollToPosition(int i) {
-    recyclerViewContentsDetail.smoothScrollToPosition(i);
-  }
-
-  @Override
-  public void draw(String contentsNo, String listType, ContentsDetailListBean contentsDetailListBean) {
-    List<ContentsItemBean> contentsItemBeans = contentsDetailListBean.getItemDetailList();
-    List<SeriesItemBean> seriesItemBeans = contentsDetailListBean.getSeriesItemList();
-    List<WithShownItemBean> withItemBeans = contentsDetailListBean.getWithItemList();
-
-    adapter = new ContentsAdapter(getActivity(), contentsNo, listType, contentsItemBeans, seriesItemBeans, contentsDetailListBean.getSeriesInfo(), withItemBeans, event -> {
-      presenter.onEvent(event);
-    });
-
-    layoutManager = new LinearLayoutManager(getActivity(), LinearLayoutManager.HORIZONTAL, false) {
-      /**
-       * 추가 영역을 지정해서 미리 다음 페이지를 준비(로딩)하도록 한다.
-       *
-       * @param state
-       * @return
-       */
-      @Override
-      protected int getExtraLayoutSpace(RecyclerView.State state) {
-        return 1;
-      }
-
-      @Override
-      public void smoothScrollToPosition(RecyclerView recyclerView, RecyclerView.State state, int position) {
-        final LinearSmoothScroller linearSmoothScroller = new LinearSmoothScroller(recyclerView.getContext()) {
-          @Override
-          protected float calculateSpeedPerPixel(DisplayMetrics displayMetrics) {
-            return 60f / displayMetrics.densityDpi;
-          }
+
+    @Override
+    public void updateSeriesContents() {
+        if (null != adapter) {
+            adapter.updateSeriesContents();
+        }
+    }
+
+    @Override
+    public void setScrollToPosition(int i) {
+        recyclerViewContentsDetail.scrollToPosition(i);
+    }
+
+    @Override
+    public void setSmoothScrollToPosition(int i) {
+        recyclerViewContentsDetail.smoothScrollToPosition(i);
+    }
+
+    @Override
+    public void draw(String contentsNo, String listType, ContentsDetailListBean contentsDetailListBean) {
+        List<ContentsItemBean> contentsItemBeans = contentsDetailListBean.getItemDetailList();
+        List<SeriesItemBean> seriesItemBeans = contentsDetailListBean.getSeriesItemList();
+        List<WithShownItemBean> withItemBeans = contentsDetailListBean.getWithItemList();
+
+        adapter = new ContentsAdapter(getActivity(), contentsNo, listType, contentsItemBeans, seriesItemBeans, contentsDetailListBean.getSeriesInfo(), withItemBeans, event -> {
+            presenter.onEvent(event);
+        });
+
+        layoutManager = new LinearLayoutManager(getActivity(), LinearLayoutManager.HORIZONTAL, false) {
+            /**
+             * 추가 영역을 지정해서 미리 다음 페이지를 준비(로딩)하도록 한다.
+             *
+             * @param state
+             * @return
+             */
+            @Override
+            protected int getExtraLayoutSpace(RecyclerView.State state) {
+                return 1;
+            }
+
+            @Override
+            public void smoothScrollToPosition(RecyclerView recyclerView, RecyclerView.State state, int position) {
+                final LinearSmoothScroller linearSmoothScroller = new LinearSmoothScroller(recyclerView.getContext()) {
+                    @Override
+                    protected float calculateSpeedPerPixel(DisplayMetrics displayMetrics) {
+                        return 60f / displayMetrics.densityDpi;
+                    }
+                };
+                linearSmoothScroller.setTargetPosition(position);
+                startSmoothScroll(linearSmoothScroller);
+            }
+
         };
-        linearSmoothScroller.setTargetPosition(position);
-        startSmoothScroll(linearSmoothScroller);
-      }
-
-    };
-    scrollEventListener = new IndexScrollListener(layoutManager, index -> {
-      presenter.onChangedPageIndex(index);
-    });
-    recyclerViewContentsDetail.addOnScrollListener(scrollEventListener);
-
-    recyclerViewContentsDetail.setLayoutManager(layoutManager);
-    recyclerViewContentsDetail.setAdapter(adapter);
-  }
-
-  @Override
-  public boolean dispatchBackPressed() {
-    if (null == layoutManager || null == recyclerViewContentsDetail) {
-      return false;
+        scrollEventListener = new IndexScrollListener(layoutManager, index -> {
+            presenter.onChangedPageIndex(index);
+        });
+        recyclerViewContentsDetail.addOnScrollListener(scrollEventListener);
+
+        recyclerViewContentsDetail.setLayoutManager(layoutManager);
+        recyclerViewContentsDetail.setAdapter(adapter);
     }
 
-    /**
-     * 동영상 풀스크린시 백키 제어를 하기위해 추가했으나 해당 코드가 없어도 잘 작동하여 주석처리
-     */
+    @Override
+    public boolean dispatchBackPressed() {
+        if (null == layoutManager || null == recyclerViewContentsDetail) {
+            return false;
+        }
+
+        /**
+         * 동영상 풀스크린시 백키 제어를 하기위해 추가했으나 해당 코드가 없어도 잘 작동하여 주석처리
+         */
 //    ContentsHolder holder = (ContentsHolder) recyclerViewContentsDetail.findViewHolderForAdapterPosition(layoutManager.findFirstVisibleItemPosition());
 //    if (null == holder) {
 //      return false;
 //    }
 //    return holder.dispatchBackPressed();
 
-    return false;
-  }
-
-  @Override
-  public void setCardPageNumber(String pageNumber) {
-    dim.setVisibility(View.VISIBLE);
-    textViewPageNumber.setVisibility(View.VISIBLE);
-    textViewPageNumber.setText(pageNumber);
-  }
-
-  @Override
-  public void hideCardPageNumberArea() {
-    dim.setVisibility(View.INVISIBLE);
-    textViewPageNumber.setVisibility(View.INVISIBLE);
-  }
-
-  @Override
-  public void showTutorialListicle() {
-    if (null != tutorial) {
-      tutorial.showTutorial(getActivity(), Tutorial.TUTORIAL_LISTICLE_COVER, new IEventListener() {
-        @Override
-        public void onEvent(Event event) {
-          if (null != presenter) {
-            presenter.onEvent(event);
-          }
-        }
-      });
+        return false;
     }
 
-  }
+    @Override
+    public void setCardPageNumber(String pageNumber) {
+        dim.setVisibility(View.VISIBLE);
+        textViewPageNumber.setVisibility(View.VISIBLE);
+        textViewPageNumber.setText(pageNumber);
+    }
 
-  @Override
-  public void showTutorialListicleDetail() {
-    if (null != tutorial) {
-      tutorial.showTutorial(getActivity(), Tutorial.TUTORIAL_LISTICLE_DETAIL, new IEventListener() {
-        @Override
-        public void onEvent(Event event) {
+    @Override
+    public void hideCardPageNumberArea() {
+        dim.setVisibility(View.INVISIBLE);
+        textViewPageNumber.setVisibility(View.INVISIBLE);
+    }
 
+    @Override
+    public void showTutorialListicle() {
+        if (null != tutorial) {
+            tutorial.showTutorial(getActivity(), Tutorial.TUTORIAL_LISTICLE_COVER, new IEventListener() {
+                @Override
+                public void onEvent(Event event) {
+                    if (null != presenter) {
+                        presenter.onEvent(event);
+                    }
+                }
+            });
         }
-      });
+
     }
 
-  }
+    @Override
+    public void showTutorialListicleDetail() {
+        if (null != tutorial) {
+            tutorial.showTutorial(getActivity(), Tutorial.TUTORIAL_LISTICLE_DETAIL, new IEventListener() {
+                @Override
+                public void onEvent(Event event) {
+
+                }
+            });
+        }
+
+    }
 
-  @Override
-  public int getCurrentPage() {
-    return layoutManager.findFirstVisibleItemPosition();
-  }
+    @Override
+    public int getCurrentPage() {
+        return layoutManager.findFirstVisibleItemPosition();
+    }
 }

+ 14 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/contents/ContentsHtmlHolder.java

@@ -121,6 +121,20 @@ public class ContentsHtmlHolder extends ContentsHolder<ContentsItemBean> {
     }
   }
 
+  public void stopVideo() {
+    Log.i("ContentsHtmlHolder", "stop video");
+    if(webView != null) {
+      webView.loadUrl("javascript:videoStop()");
+    }
+  }
+
+  public void playVideo() {
+    Log.i("ContentsHtmlHolder", "play video");
+    if(webView != null) {
+      webView.loadUrl("javascript:videoPlay()");
+    }
+  }
+
   private void init(WebView webView) {
     WebSettings settings = webView.getSettings();
     // Javascript 사용하기

+ 1 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/contents/ContentsPresenter.java

@@ -573,7 +573,7 @@ public class ContentsPresenter extends ContentsBasePresenter<ContentsModel, ICon
                 break;
             }
 
-            googleAnalyticsHelper.sendGA(GoogleAnalyticsHelper.Category.MORE_INFO, model.getCurrentItem().getTitle(), log);
+            googleAnalyticsHelper.sendGA(GoogleAnalyticsHelper.Category.MORE_INFO_DETAIL, model.getCurrentItem().getTitle(), log);
 
           }
 

+ 2 - 17
app/src/main/java/kr/co/zumo/app/lifeplus/view/widget/LifeplusWidgetProvider.java

@@ -6,11 +6,9 @@ import android.appwidget.AppWidgetProvider;
 import android.content.Context;
 import android.content.Intent;
 import android.net.Uri;
-import android.os.Bundle;
 import android.util.Log;
 import android.widget.RemoteViews;
 
-import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
 import com.bumptech.glide.request.RequestOptions;
 import com.bumptech.glide.request.target.AppWidgetTarget;
 
@@ -29,7 +27,6 @@ import kr.co.zumo.app.lifeplus.config.NetworkConfigProvider;
 import kr.co.zumo.app.lifeplus.model.SuperModelInit;
 import kr.co.zumo.app.lifeplus.network.api.LifeplusWidgetAPIService;
 import kr.co.zumo.app.lifeplus.share.Share;
-import kr.co.zumo.app.lifeplus.util.ResourceUtil;
 import kr.co.zumo.app.lifeplus.view.GlideApp;
 
 /**
@@ -60,12 +57,6 @@ public class LifeplusWidgetProvider extends AppWidgetProvider {
 //    Transformation transformation = new RoundedTransformationBuilder().scaleType(ImageView.ScaleType.FIT_XY).cornerRadiusDp(8).build();
 //    Picasso.get().load(contentsBean.getImageUrl()).resize(100, 100).transform(transformation).into(views, R.id.image_view_background, new int[]{appWidgetId});
 
-
-    Bundle options = appWidgetManager.getAppWidgetOptions(appWidgetId);
-
-    int realWidth = options.getInt(AppWidgetManager.OPTION_APPWIDGET_MAX_WIDTH); //MIN_WIDTH?
-    int realHeight = options.getInt(AppWidgetManager.OPTION_APPWIDGET_MAX_HEIGHT);
-
     // glide
     AppWidgetTarget backgroundImage = new AppWidgetTarget(context, R.id.image_view_background, views, appWidgetId);
     String url = contentsBean.getImageUrl();
@@ -75,8 +66,8 @@ public class LifeplusWidgetProvider extends AppWidgetProvider {
         .asBitmap()
         .skipMemoryCache(true)
         .load(url)
-        .override(realWidth, realHeight)
-        .apply(new RequestOptions().transforms(new RoundedCorners(ResourceUtil.dpToPx(8))))
+        .override(400, 400)
+        .apply(new RequestOptions().centerCrop())
         .into(backgroundImage);
     } catch (Exception e) {
       //e.printStackTrace();
@@ -91,12 +82,6 @@ public class LifeplusWidgetProvider extends AppWidgetProvider {
     attachEvent(context, views, appWidgetManager, appWidgetId);
     appWidgetManager.updateAppWidget(appWidgetId, views);
 
-
-    Log.e("APP#  LifeplusWidgetProvider | render, 81", "MAX_HEIGHT |" + options.getInt(AppWidgetManager.OPTION_APPWIDGET_MAX_HEIGHT));
-    Log.e("APP#  LifeplusWidgetProvider | render, 81", "MIN_HEIGHT |" + options.getInt(AppWidgetManager.OPTION_APPWIDGET_MIN_HEIGHT));
-    Log.e("APP#  LifeplusWidgetProvider | render, 81", "MIN_HEIGHT |" + options.getInt(AppWidgetManager.OPTION_APPWIDGET_MAX_WIDTH));
-    Log.e("APP#  LifeplusWidgetProvider | render, 81", "MIN_HEIGHT |" + options.getInt(AppWidgetManager.OPTION_APPWIDGET_MIN_WIDTH));
-
   }
 
   private void attachEvent(Context context, RemoteViews views, AppWidgetManager appWidgetManager, int appWidgetId) {

+ 2 - 2
app/src/main/res/drawable/rectangle_ce6ffffff_bottom_raduis_8.xml

@@ -3,8 +3,8 @@
        android:shape="rectangle">
   <solid android:color="@color/CE6FFFFFF"/>
   <corners
-    android:bottomLeftRadius="8dp"
-    android:bottomRightRadius="8dp"
+    android:bottomLeftRadius="0dp"
+    android:bottomRightRadius="0dp"
     android:topLeftRadius="0dp"
     android:topRightRadius="0dp"/>
 </shape>

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

@@ -22,11 +22,12 @@
       android:src="@drawable/image_loading_common"
       tools:visibility="visible"
       />
+
     <ImageView
       android:id="@+id/image_view_background"
       android:layout_width="match_parent"
       android:layout_height="match_parent"
-      android:scaleType="center"
+      android:scaleType="centerCrop"
       tools:visibility="visible"
       />
   </FrameLayout>