Procházet zdrojové kódy

优化无网络情况

zengjiebin před 7 roky
rodič
revize
44665d6e4a

+ 10 - 1
app/src/main/java/com/sheep/gamegroup/model/util/SheepSubscriber.java

@@ -36,7 +36,7 @@ public abstract class SheepSubscriber<T> implements Observer<T> {
     public void onSubscribe(Disposable d) {
         if (!NetUtil.isConnected(context)) {
             if (SheepApp.getInstance().getCurrentActivity() != null) {
-                SheepApp.getInstance().getCurrentActivity().runOnUiThread(() -> G.shortToast("当前网络不可用,请检查网络情况"));
+                SheepApp.getInstance().getCurrentActivity().runOnUiThread(this::showNoNetView);
             }
             // 一定好主动调用下面这一句,取消本次Subscriber订阅
             if (!d.isDisposed()) {
@@ -46,6 +46,15 @@ public abstract class SheepSubscriber<T> implements Observer<T> {
         }
     }
 
+    public static long showTipTime;
+    public void showNoNetView(){
+        long curTime = System.currentTimeMillis();
+        if(showTipTime == 0 || curTime - showTipTime > 5000L) {//5秒内只提示一次
+            showTipTime = curTime;
+            G.shortToast("当前网络不可用,请检查网络情况");
+        }
+    }
+
     @Override
     public void onError(Throwable e) {
         try {

+ 6 - 0
app/src/main/java/com/sheep/gamegroup/util/SysAppUtil.java

@@ -270,6 +270,12 @@ public class SysAppUtil {
                 .observeOn(AndroidSchedulers.mainThread())
                 .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
                     @Override
+                    public void showNoNetView() {
+                        NetUtil.CAN_CONNECT_SERVICE = false;
+                        action1.onNext(-1);
+                    }
+
+                    @Override
                     public void onNext(BaseMessage baseMessage) {
                         NetUtil.CAN_CONNECT_SERVICE = true;
                         action1.onNext(0);

+ 3 - 3
app/src/main/java/com/sheep/gamegroup/view/fragment/FgtSmallSheep.java

@@ -1107,7 +1107,7 @@ public class FgtSmallSheep extends BaseFragment implements SmallSheepContract.Vi
 
     @Override
     public void failData2View(Object o) {
-        G.showToast("网络错误");
+//        G.showToast("网络错误");
 
     }
 
@@ -1161,12 +1161,12 @@ public class FgtSmallSheep extends BaseFragment implements SmallSheepContract.Vi
 //                    G.showToast(" 未查询到正在运行的任务!");
                     break;
                 default:
-                    G.showToast(" 网络错误!");
+//                    G.showToast(" 网络错误!");
                     break;
             }
         } catch (Exception e) {
             e.printStackTrace();
-            G.showToast(" 网络错误!");
+//            G.showToast(" 网络错误!");
         }
         allTaskAcceptedTaskList.clear();
         mHandler.sendEmptyMessage(WHAT_LOAD_RUN_TASK);