Browse Source

Merge pull request #2353 from nextcloud/virusHandling

Show correct error message if virus is detected
Andy Scherzinger 7 years ago
parent
commit
35bfc22de4

+ 1 - 1
.drone.yml

@@ -1,6 +1,6 @@
 pipeline:
   test:
-    image: nextcloudci/android:android-32
+    image: nextcloudci/android:android-35
     commands:
       # uncomment gplay for Gplay, Modified only
       - sh -c "if [ '$FLAVOUR' != 'Generic' ]; then sed -i '/.*com.google.*/s/^.*\\/\\///g' build.gradle; fi"

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

@@ -363,7 +363,7 @@ public class UploadsStorageManager extends Observable {
      * Get all failed uploads.
      */
     public OCUpload[] getFailedUploads() {
-        return getUploads(ProviderTableMeta.UPLOADS_STATUS + "== ?" +
+        return getUploads("(" + ProviderTableMeta.UPLOADS_STATUS + "== ?" +
                 " OR " + ProviderTableMeta.UPLOADS_LAST_RESULT +
                         "==" + UploadResult.DELAYED_FOR_WIFI.getValue() +
                         " OR " + ProviderTableMeta.UPLOADS_LAST_RESULT +
@@ -371,7 +371,9 @@ public class UploadsStorageManager extends Observable {
                         " OR " + ProviderTableMeta.UPLOADS_LAST_RESULT +
                         "==" + UploadResult.DELAYED_FOR_CHARGING.getValue() +
                         " OR " + ProviderTableMeta.UPLOADS_LAST_RESULT +
-                        "==" + UploadResult.DELAYED_IN_POWER_SAVE_MODE.getValue()
+                        "==" + UploadResult.DELAYED_IN_POWER_SAVE_MODE.getValue() +
+                        " ) AND " + ProviderTableMeta.UPLOADS_LAST_RESULT +
+                        "!= " + UploadResult.VIRUS_DETECTED.getValue()
                 , new String[]{String.valueOf(UploadStatus.UPLOAD_FAILED.value)});
     }
 

+ 6 - 2
src/main/java/com/owncloud/android/db/UploadResult.java

@@ -38,7 +38,8 @@ public enum UploadResult {
     MAINTENANCE_MODE(12),
     LOCK_FAILED(13),
     DELAYED_IN_POWER_SAVE_MODE(14),
-    SSL_RECOVERABLE_PEER_UNVERIFIED(15);
+    SSL_RECOVERABLE_PEER_UNVERIFIED(15),
+    VIRUS_DETECTED(16);
 
     private final int value;
 
@@ -86,6 +87,8 @@ public enum UploadResult {
                 return DELAYED_IN_POWER_SAVE_MODE;
             case 15:
                 return SSL_RECOVERABLE_PEER_UNVERIFIED;
+            case 16:
+                return VIRUS_DETECTED;
         }
         return null;
     }
@@ -134,9 +137,10 @@ public enum UploadResult {
                 return UNKNOWN;
             case LOCK_FAILED:
                 return LOCK_FAILED;
+            case VIRUS_DETECTED:
+                return VIRUS_DETECTED;
             default:
                 return UNKNOWN;
         }
-
     }
 }

+ 3 - 0
src/main/java/com/owncloud/android/ui/adapter/UploadListAdapter.java

@@ -488,6 +488,9 @@ public class UploadListAdapter extends SectionedRecyclerViewAdapter<SectionedVie
                         status = mParentActivity.getString(
                                 R.string.uploads_view_upload_status_waiting_exit_power_save_mode);
                         break;
+                    case VIRUS_DETECTED:
+                        status = mParentActivity.getString(R.string.uploads_view_upload_status_virus_detected);
+                        break;
                     default:
                         status = "New fail result but no description for the user";
                         break;

+ 1 - 0
src/main/res/values/strings.xml

@@ -783,4 +783,5 @@
     <string name="upload_files">Upload files</string>
     <string name="upload_content_from_other_apps">Upload content from other apps</string>
     <string name="create_new_folder">Create new folder</string>
+    <string name="uploads_view_upload_status_virus_detected">Virus detected. Upload cannot be completed!</string>
 </resources>