Sfoglia il codice sorgente

开屏广告调整为每次都更新

zengjiebin 7 anni fa
parent
commit
dc0b98d4cb

+ 34 - 22
app/src/main/java/com/sheep/gamegroup/view/activity/SplashAct.java

@@ -163,29 +163,9 @@ public class SplashAct extends BaseActivity implements EasyPermissions.Permissio
                             } catch (Exception e) {
                                 e.printStackTrace();
                             }
+                            initAdvertisement(false);//只更新,不加载,下次加载上次的数据
                         } else {
-                            SheepApp.getInstance().getNetComponent().getApiService().getAdvertising(1)
-                                    .subscribeOn(Schedulers.io())
-                                    .observeOn(AndroidSchedulers.mainThread())
-                                    .subscribe(new SheepSubscriber<BaseMessage>(activity) {
-                                        @Override
-                                        public void onNext(BaseMessage baseMessage) {
-                                            DataUtil.getInstance().resetCacheTime(ApiKey.advertisements(1), 3600 * 5);//开屏广告最多缓存5个小时
-                                            isLoadingData = false;
-                                            advertising = baseMessage.getData(Advertising.class);
-                                            try {
-                                                loadAdvertising();
-                                            } catch (Exception e) {
-                                                e.printStackTrace();
-                                            }
-                                        }
-
-                                        @Override
-                                        public void onError(BaseMessage baseMessage) {
-                                            isLoadingData = false;
-                                            sendHandlerMessages(10);
-                                        }
-                                    });
+                            initAdvertisement(true);
                         }
                     }
                     break;
@@ -194,6 +174,38 @@ public class SplashAct extends BaseActivity implements EasyPermissions.Permissio
         }
     };
 
+    /**
+     * 调用接口更新开屏广告数据
+     * @param isLoad 是否加载数据
+     */
+    private void initAdvertisement(boolean isLoad) {
+        SheepApp.getInstance().getNetComponent().getApiService().getAdvertising(1)
+                .subscribeOn(Schedulers.io())
+                .observeOn(AndroidSchedulers.mainThread())
+                .subscribe(new SheepSubscriber<BaseMessage>(activity) {
+                    @Override
+                    public void onNext(BaseMessage baseMessage) {
+                        if(isLoad) {
+                            isLoadingData = false;
+                            advertising = baseMessage.getData(Advertising.class);
+                            try {
+                                loadAdvertising();
+                            } catch (Exception e) {
+                                e.printStackTrace();
+                            }
+                        }
+                    }
+
+                    @Override
+                    public void onError(BaseMessage baseMessage) {
+                        if(isLoad) {
+                            isLoadingData = false;
+                            sendHandlerMessages(10);
+                        }
+                    }
+                });
+    }
+
     private boolean timerIsFinish() {
         return timer == null || splash_skip.getVisibility() == View.INVISIBLE;
     }