浏览代码

[Crashlytics] 비정상 종료 예외처리

yeongyun 6 年之前
父节点
当前提交
bf2cbaee9b

+ 17 - 13
app/src/main/java/kr/co/zumo/app/lifeplus/activity/BucketListActivity.java

@@ -26,23 +26,27 @@ public class BucketListActivity extends ActivityBaseScreen {
     // 상황에 따라서 id 를 변경해준다.
 
     BucketDeliveryBean bucketDeliveryBean = ActivityDeliveryHelper.getInstance().getPackaging(BucketDeliveryBean.class);
-    
-    DeliveryHelper helper = getHelper(DeliveryHelper.class);
 
-    BucketWithTagBean bean = bucketDeliveryBean.getBucketWithTagBean();
-    BestBucketBean bestBucketBean = bucketDeliveryBean.getBestBucketBean();
+    int id = 0;
 
-    if (null != bean) {
-      helper.setPackaging(bean);
-    }
-    else {
-      helper.setPackaging(bestBucketBean);
-    }
+    if(bucketDeliveryBean != null) {
+      DeliveryHelper helper = getHelper(DeliveryHelper.class);
+
+      BucketWithTagBean bean = bucketDeliveryBean.getBucketWithTagBean();
+      BestBucketBean bestBucketBean = bucketDeliveryBean.getBestBucketBean();
+
+      if (null != bean) {
+        helper.setPackaging(bean);
+      } else {
+        helper.setPackaging(bestBucketBean);
+      }
+
+      id = bucketDeliveryBean.getScreenId();
 
-    int id = bucketDeliveryBean.getScreenId();
 
-    if (id == ScreenID.BUCKET_DETAIL && null != bean && null != bean.getTagList() && bean.getTagList().size() > 0) {
-      id = ScreenID.BUCKET_DETAIL_WITH_TAG;
+      if (id == ScreenID.BUCKET_DETAIL && null != bean && null != bean.getTagList() && bean.getTagList().size() > 0) {
+        id = ScreenID.BUCKET_DETAIL_WITH_TAG;
+      }
     }
 
     if (id == 0 || id == ScreenID.NONE) {

+ 3 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/activity/ScreenStarter.java

@@ -205,7 +205,9 @@ public class ScreenStarter {
   }
 
   protected void exit() {
-    fragmentActivity.finishAffinity();
+    if(fragmentActivity != null) {
+      fragmentActivity.finishAffinity();
+    }
     AppInitializer.dispose();
   }
 

+ 1 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/view/animation/Loading.java

@@ -67,7 +67,7 @@ public class Loading {
   }
 
   private void create() {
-    if (null == view) {
+    if (null == view && activity != null) {
       FrameLayout frameLayout = activity.findViewById(android.R.id.content);
       LayoutInflater inflater = (LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
       view = inflater.inflate(R.layout.dialog_loading, null);

+ 5 - 5
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/contents/series/ContentsSeriesModel.java

@@ -78,7 +78,7 @@ public class ContentsSeriesModel extends ContentsBaseModel {
   }
 
   public List<SeriesItemBean> getSeriesItemBeans() {
-    return contentsDetailListBean.getSeriesScreenItemList();
+    return contentsDetailListBean != null ? contentsDetailListBean.getSeriesScreenItemList() : null;
   }
 
   public void setSelectedIndex(int index) {
@@ -86,19 +86,19 @@ public class ContentsSeriesModel extends ContentsBaseModel {
   }
 
   public String getSeriesTitle() {
-    return seriesInfo.getTitleWithTrim();
+    return seriesInfo != null ? seriesInfo.getTitleWithTrim() : "";
   }
 
   public String getSeriesSubTitle() {
-    return seriesInfo.getSubTitleWithTrim();
+    return seriesInfo != null ? seriesInfo.getSubTitleWithTrim() : "";
   }
 
   public String getSeriesBackgroundUrl() {
-    return seriesInfo.getImageUrl();
+    return seriesInfo != null ? seriesInfo.getImageUrl() : "";
   }
 
   public String getSeriesItemNo() {
-    return seriesInfo.getItemNo();
+    return seriesInfo != null ? seriesInfo.getItemNo() : "";
   }
 
   @Override

+ 1 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/my/bookmark/BookMarkListModel.java

@@ -220,7 +220,7 @@ public class BookMarkListModel extends Model {
    */
   public int getCategoryIndexOfCategorized(int categorizedIndex) {
     String categoryNumber = CategoryID.CATEGORY_NONE;
-    if (null != categorizedBookmarkList && categorizedBookmarkList.size() > 0) {
+    if (null != categorizedBookmarkList && categorizedBookmarkList.size() > categorizedIndex) {
       BookmarkBean bean = categorizedBookmarkList.get(categorizedIndex);
       if (null != bean) {
         categoryNumber = bean.getCategoryNumber();

+ 6 - 2
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/search/SearchResultPresenter.java

@@ -251,10 +251,14 @@ public class SearchResultPresenter extends Presenter<SearchResultModel, ISearchR
             // 변경 된 필터를 적용한 컨텐츠의 수를 다이얼로그로 전달한다.
             model.loadFilteringContents(filterDialog, event -> {
               if (event.getEventId() == Event.SUCCESS) {
-                filterDialog.setContentsCount(event.getInteger());
+                if(filterDialog != null) {
+                  filterDialog.setContentsCount(event.getInteger());
+                }
               }
               else if (event.getEventId() == Event.ERROR) {
-                filterDialog.setContentsCount(0);
+                if(filterDialog != null) {
+                  filterDialog.setContentsCount(0);
+                }
               }
             });
 

+ 8 - 4
app/src/main/java/kr/co/zumo/app/lifeplus/zumo/common/CommonUtil.java

@@ -75,8 +75,10 @@ public class CommonUtil {
      * @param view    View
      */
     public static void hideKeyboard(Context context, View view) {
-        InputMethodManager imm = (InputMethodManager) context.getSystemService(Activity.INPUT_METHOD_SERVICE);
-        imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
+        if(context != null && view != null) {
+            InputMethodManager imm = (InputMethodManager) context.getSystemService(Activity.INPUT_METHOD_SERVICE);
+            imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
+        }
     }
 
     /**
@@ -86,8 +88,10 @@ public class CommonUtil {
      * @param view    View
      */
     public static void showKeyboard(Context context, View view) {
-        InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
-        imm.showSoftInput(view, 0);
+        if(context != null) {
+            InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
+            imm.showSoftInput(view, 0);
+        }
     }
 
     //TODO: 테스트(메인 화면 진입)

+ 3 - 0
app/src/product/java/kr/co/zumo/app/lifeplus/config/NetworkConfigProvider.java

@@ -22,6 +22,9 @@ public class NetworkConfigProvider {
   private static INetworkConfig networkConfig;
 
   public static INetworkConfig getNetworkConfig() {
+    if(networkConfig == null) {
+      init();
+    }
     return networkConfig;
   }