Эх сурвалжийг харах

allow separately clearing failed and finished uploads

Luke Owncloud 10 жил өмнө
parent
commit
6dae38caa7

+ 7 - 4
res/menu/upload_list_menu.xml

@@ -19,10 +19,13 @@
 -->
 <menu xmlns:android="http://schemas.android.com/apk/res/android" >
 
-    <item
-        android:id="@+id/action_clear_upload_list"
-        android:title="Clear list"/>
     <item
         android:id="@+id/action_retry_uploads"
-        android:title="Retry uploads"/>    
+        android:title="Retry current uploads"/>
+    <item
+        android:id="@+id/action_clear_failed_uploads"
+        android:title="Clear failed uploads"/>
+    <item
+        android:id="@+id/action_clear_finished_uploads"
+        android:title="Clear finished uploads"/>    
 </menu>

+ 14 - 4
src/com/owncloud/android/db/UploadDbHandler.java

@@ -383,19 +383,29 @@ public class UploadDbHandler extends Observable {
         this.mDB = mDB;
     }
 
-    public long cleanDoneUploads() {
+    public long clearFailedUploads() {
         String[] where = new String[3];
         where[0] = String.valueOf(UploadStatus.UPLOAD_CANCELLED.value);
         where[1] = String.valueOf(UploadStatus.UPLOAD_FAILED_GIVE_UP.value);
-        where[2] = String.valueOf(UploadStatus.UPLOAD_SUCCEEDED.value);
-        long result = getDB().delete(TABLE_UPLOAD, "uploadStatus = ? OR uploadStatus = ? OR uploadStatus = ?", where);
-        Log_OC.d(TABLE_UPLOAD, "delete all done uploads");
+        long result = getDB().delete(TABLE_UPLOAD, "uploadStatus = ? OR uploadStatus = ?", where);
+        Log_OC.d(TABLE_UPLOAD, "delete all failed uploads");
         if (result > 0) {
             notifyObserversNow();
         }
         return result;
     }
 
+    public long clearFinishedUploads() {
+        String[] where = new String[3];
+        where[0] = String.valueOf(UploadStatus.UPLOAD_SUCCEEDED.value);
+        long result = getDB().delete(TABLE_UPLOAD, "uploadStatus = ?", where);
+        Log_OC.d(TABLE_UPLOAD, "delete all finished uploads");
+        if (result > 0) {
+            notifyObserversNow();
+        }
+        return result;
+    }
+    
     public void setAllCurrentToUploadLater() {
         
         Cursor c = getDB().query(TABLE_UPLOAD, null, "uploadStatus==" + UploadStatus.UPLOAD_IN_PROGRESS.value, null, null, null, null);

+ 7 - 2
src/com/owncloud/android/ui/activity/UploadListActivity.java

@@ -86,9 +86,14 @@ public class UploadListActivity extends FileActivity implements UploadListFragme
             FileUploadService.retry(this);
             break;
         }
-        case R.id.action_clear_upload_list: {
+        case R.id.action_clear_failed_uploads: {
             UploadDbHandler db = UploadDbHandler.getInstance(this);
-            db.cleanDoneUploads();
+            db.clearFailedUploads();
+            break;
+        }
+        case R.id.action_clear_finished_uploads: {
+            UploadDbHandler db = UploadDbHandler.getInstance(this);
+            db.clearFinishedUploads();
             break;
         }
         default: