ソースを参照

对话框逻辑优化

詹子聪 5 年 前
コミット
23973828a1

+ 13 - 11
mvp/src/main/java/com/miekir/mvp/base/BaseActivity.java

@@ -110,17 +110,19 @@ public abstract class BaseActivity extends AppCompatActivity {
             mLoadingTime--;
         }
 
-        if (mLoadingTime <= 0 && mLoadingDialog != null) {
+        if (mLoadingTime <= 0) {
             mLoadingTime = 0;
-            if (isMainThread()) {
-                mLoadingDialog.close();
-            } else {
-                runOnUiThread(new Runnable() {
-                    @Override
-                    public void run() {
-                        mLoadingDialog.close();
-                    }
-                });
+            if (mLoadingDialog != null) {
+                if (isMainThread()) {
+                    mLoadingDialog.close();
+                } else {
+                    runOnUiThread(new Runnable() {
+                        @Override
+                        public void run() {
+                            mLoadingDialog.close();
+                        }
+                    });
+                }
             }
         }
     }
@@ -131,7 +133,7 @@ public abstract class BaseActivity extends AppCompatActivity {
         }
 
         if (isMainThread()) {
-            mLoadingDialog.show(msg);
+            mLoadingDialog.show(msg, cancelable);
         } else {
             runOnUiThread(new Runnable() {
                 @Override

+ 15 - 13
mvp/src/main/java/com/miekir/mvp/base/BaseFragment.java

@@ -88,19 +88,21 @@ public abstract class BaseFragment extends Fragment {
             mLoadingTime--;
         }
 
-        if (mLoadingTime <= 0 && mLoadingDialog != null) {
+        if (mLoadingTime <= 0) {
             mLoadingTime = 0;
-            if (isMainThread()) {
-                mLoadingDialog.close();
-            } else {
-                Activity activity = getActivity();
-                if (activity != null) {
-                    activity.runOnUiThread(new Runnable() {
-                        @Override
-                        public void run() {
-                            mLoadingDialog.close();
-                        }
-                    });
+            if (mLoadingDialog != null) {
+                if (isMainThread()) {
+                    mLoadingDialog.close();
+                } else {
+                    Activity activity = getActivity();
+                    if (activity != null) {
+                        activity.runOnUiThread(new Runnable() {
+                            @Override
+                            public void run() {
+                                mLoadingDialog.close();
+                            }
+                        });
+                    }
                 }
             }
         }
@@ -112,7 +114,7 @@ public abstract class BaseFragment extends Fragment {
         }
 
         if (isMainThread()) {
-            mLoadingDialog.show(msg);
+            mLoadingDialog.show(msg, cancelable);
         } else {
             Activity activity = getActivity();
             if (activity != null) {