Browse Source

Return uploads control

Signed-off-by: Mario Danic <mario@lovelyhq.com>
Mario Danic 7 years ago
parent
commit
baf7d1e732

+ 6 - 2
src/main/java/com/owncloud/android/datamodel/UploadsStorageManager.java

@@ -438,14 +438,18 @@ public class UploadsStorageManager extends Observable {
     }
 
     public long clearFailedButNotDelayedUploads() {
+        Account account = AccountUtils.getCurrentOwnCloudAccount(mContext);
+
         long result = getDB().delete(
                 ProviderTableMeta.CONTENT_URI_UPLOADS,
                 ProviderTableMeta.UPLOADS_STATUS + "==" + UploadStatus.UPLOAD_FAILED.value + AND +
                         ProviderTableMeta.UPLOADS_LAST_RESULT + "<>" + UploadResult.LOCK_FAILED.getValue() + AND +
                         ProviderTableMeta.UPLOADS_LAST_RESULT + "<>" + UploadResult.DELAYED_FOR_WIFI.getValue() + AND +
-                        ProviderTableMeta.UPLOADS_LAST_RESULT + "<>" + UploadResult.DELAYED_FOR_CHARGING.getValue(),
-                null
+                        ProviderTableMeta.UPLOADS_LAST_RESULT + "<>" + UploadResult.DELAYED_FOR_CHARGING.getValue() + AND +
+                        ProviderTableMeta.UPLOADS_ACCOUNT_NAME + "== ?",
+                new String[]{account.name}
         );
+
         Log_OC.d(TAG, "delete all failed uploads but those delayed for Wifi");
         if (result > 0) {
             notifyObserversNow();

+ 12 - 0
src/main/java/com/owncloud/android/ui/activity/UploadListActivity.java

@@ -209,6 +209,18 @@ public class UploadListActivity extends FileActivity implements UploadListFragme
                 } else {
                     openDrawer();
                 }
+                break;
+
+            case R.id.action_retry_uploads:
+                FileUploader.UploadRequester requester = new FileUploader.UploadRequester();
+                requester.retryFailedUploads(this, null, null);
+                break;
+
+            case R.id.action_clear_failed_uploads:
+                storageManager = new UploadsStorageManager(getContentResolver(), getApplicationContext());
+                storageManager.clearFailedButNotDelayedUploads();
+                uploadListFragment.updateUploads();
+                break;
 
             case R.id.action_clear_successfull_uploads:
                 storageManager = new UploadsStorageManager(getContentResolver(), getApplicationContext());

+ 7 - 0
src/main/res/menu/upload_list_menu.xml

@@ -18,6 +18,13 @@
   along with this program.  If not, see <http://www.gnu.org/licenses/>.
 -->
 <menu xmlns:android="http://schemas.android.com/apk/res/android" >
+    <item
+        android:id="@+id/action_retry_uploads"
+        android:title="@string/action_retry_uploads"/>
+    <item
+        android:id="@+id/action_clear_failed_uploads"
+        android:title="@string/action_clear_failed_uploads"/>
+
     <item
         android:id="@+id/action_clear_successfull_uploads"
         android:title="@string/action_clear_successful_uploads"/>