Browse Source

Cancel all auto upload jobs

Mario Danic 8 years ago
parent
commit
ff3dcb8910

+ 10 - 0
src/main/java/com/owncloud/android/datamodel/UploadsStorageManager.java

@@ -20,6 +20,7 @@
  */
 package com.owncloud.android.datamodel;
 
+import android.accounts.Account;
 import android.content.ContentResolver;
 import android.content.ContentValues;
 import android.content.Context;
@@ -413,6 +414,15 @@ public class UploadsStorageManager extends Observable {
         return list;
     }
 
+    public void cancelPendingAutoUploadJobsForAccount(Account account) {
+        JobManager jobManager = JobManager.create(mContext);
+        for (JobRequest ji: jobManager.getAllJobRequestsForTag(AutoUploadJob.TAG)) {
+            if (ji.getExtras().getString(AutoUploadJob.ACCOUNT, "").equalsIgnoreCase(account.name)) {
+                jobManager.cancel(ji.getJobId());
+            }
+        }
+    }
+
     @RequiresApi(Build.VERSION_CODES.LOLLIPOP)
     public void cancelPendingJob(String accountName, String remotePath){
         JobManager jobManager = JobManager.create(mContext);

+ 5 - 0
src/main/java/com/owncloud/android/ui/activity/UserInfoActivity.java

@@ -55,6 +55,7 @@ import com.owncloud.android.authentication.AuthenticatorActivity;
 import com.owncloud.android.datamodel.ArbitraryDataProvider;
 import com.owncloud.android.datamodel.PushConfigurationState;
 import com.owncloud.android.datamodel.SyncedFolderProvider;
+import com.owncloud.android.datamodel.UploadsStorageManager;
 import com.owncloud.android.lib.common.UserInfo;
 import com.owncloud.android.lib.common.operations.RemoteOperation;
 import com.owncloud.android.lib.common.operations.RemoteOperationResult;
@@ -354,6 +355,10 @@ public class UserInfoActivity extends FileActivity {
                                             contentResolver);
                                     syncedFolderProvider.deleteSyncFoldersForAccount(account);
 
+                                    UploadsStorageManager uploadsStorageManager = new UploadsStorageManager(
+                                            contentResolver, getActivity());
+                                    uploadsStorageManager.cancelPendingAutoUploadJobsForAccount(account);
+
                                     // disable daily backup
                                     ArbitraryDataProvider arbitraryDataProvider = new ArbitraryDataProvider(
                                             contentResolver);