浏览代码

Clear connectivity cache

Signed-off-by: alperozturk <alper_ozturk@proton.me>
alperozturk 9 月之前
父节点
当前提交
0731ab414b

+ 5 - 0
app/src/androidTest/java/com/owncloud/android/AbstractIT.java

@@ -395,6 +395,11 @@ public abstract class AbstractIT {
             public Connectivity getConnectivity() {
                 return Connectivity.CONNECTED_WIFI;
             }
+
+            @Override
+            public void clearCachedResult() {
+
+            }
         };
 
         PowerManagementService powerManagementServiceMock = new PowerManagementService() {

+ 5 - 0
app/src/androidTest/java/com/owncloud/android/AbstractOnServerIT.java

@@ -207,6 +207,11 @@ public abstract class AbstractOnServerIT extends AbstractIT {
             public Connectivity getConnectivity() {
                 return Connectivity.CONNECTED_WIFI;
             }
+
+            @Override
+            public void clearCachedResult() {
+
+            }
         };
 
         PowerManagementService powerManagementServiceMock = new PowerManagementService() {

+ 15 - 0
app/src/androidTest/java/com/owncloud/android/UploadIT.java

@@ -77,6 +77,11 @@ public class UploadIT extends AbstractOnServerIT {
         public Connectivity getConnectivity() {
             return Connectivity.CONNECTED_WIFI;
         }
+
+        @Override
+        public void clearCachedResult() {
+
+        }
     };
 
     private PowerManagementService powerManagementServiceMock = new PowerManagementService() {
@@ -300,6 +305,11 @@ public class UploadIT extends AbstractOnServerIT {
             public Connectivity getConnectivity() {
                 return new Connectivity(true, false, false, true);
             }
+
+            @Override
+            public void clearCachedResult() {
+
+            }
         };
         OCUpload ocUpload = new OCUpload(FileStorageUtils.getTemporalPath(account.name) + "/empty.txt",
                                          FOLDER + "noWifi.txt", account.name);
@@ -389,6 +399,11 @@ public class UploadIT extends AbstractOnServerIT {
             public Connectivity getConnectivity() {
                 return new Connectivity(true, true, true, true);
             }
+
+            @Override
+            public void clearCachedResult() {
+
+            }
         };
         OCUpload ocUpload = new OCUpload(FileStorageUtils.getTemporalPath(account.name) + "/empty.txt",
                                          FOLDER + "noWifi.txt",

+ 2 - 0
app/src/debug/java/com/nextcloud/test/TestActivity.kt

@@ -54,6 +54,8 @@ class TestActivity :
             return Connectivity.CONNECTED_WIFI
         }
 
+        override fun clearCachedResult() = Unit
+
         override fun isNetworkAndServerAvailable(): Boolean {
             return false
         }

+ 2 - 0
app/src/main/java/com/nextcloud/client/network/ConnectivityService.java

@@ -45,4 +45,6 @@ public interface ConnectivityService {
      * @return Network connectivity status in platform-agnostic format
      */
     Connectivity getConnectivity();
+
+    void clearCachedResult();
 }

+ 5 - 0
app/src/main/java/com/nextcloud/client/network/ConnectivityServiceImpl.java

@@ -143,6 +143,11 @@ class ConnectivityServiceImpl implements ConnectivityService {
         }
     }
 
+    @Override
+    public void clearCachedResult() {
+        walledCheckCache.clear();
+    }
+
     private boolean isNetworkMetered() {
         final Network network = platformConnectivityManager.getActiveNetwork();
         try {

+ 7 - 0
app/src/main/java/com/owncloud/android/ui/activity/FileActivity.java

@@ -182,6 +182,8 @@ public abstract class FileActivity extends DrawerActivity
 
     private NetworkChangeReceiver networkChangeReceiver;
 
+    private static boolean clearConnectivityCacheValue = true;
+
     private void registerNetworkChangeReceiver() {
         IntentFilter filter = new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION);
         registerReceiver(networkChangeReceiver, filter);
@@ -240,6 +242,11 @@ public abstract class FileActivity extends DrawerActivity
         bindService(new Intent(this, OperationsService.class), mOperationsServiceConnection,
                     Context.BIND_AUTO_CREATE);
         registerNetworkChangeReceiver();
+
+        if (clearConnectivityCacheValue) {
+            connectivityService.clearCachedResult();
+            clearConnectivityCacheValue = false;
+        }
     }
 
     @Override