Ver código fonte

Spotbugs:
MS com.owncloud.android.db.ProviderMeta$ProviderTableMeta.FILE_ALL_COLUMNS is a mutable array
MS com.owncloud.android.providers.UsersAndGroupsSearchProvider.ACTION_SHARE_WITH isn't final and can't be protected from malicious code
MS com.owncloud.android.utils.FileSortOrder.sortOrders is a mutable collection
MS org.nextcloud.providers.cursors.FileCursor.DEFAULT_DOCUMENT_PROJECTION should be package protected

Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>

tobiasKaminsky 4 anos atrás
pai
commit
eda28d67a6

+ 35 - 9
src/main/java/com/owncloud/android/db/ProviderMeta.java

@@ -26,6 +26,10 @@ import android.provider.BaseColumns;
 
 import com.owncloud.android.MainApp;
 
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
 /**
  * Meta-Class that holds various static field information
  */
@@ -115,15 +119,37 @@ public class ProviderMeta {
         public static final String FILE_SHAREES = "sharees";
         public static final String FILE_RICH_WORKSPACE = "rich_workspace";
 
-        public static final String[] FILE_ALL_COLUMNS = {
-            _ID, FILE_PARENT, FILE_NAME, FILE_CREATION, FILE_MODIFIED,
-            FILE_MODIFIED_AT_LAST_SYNC_FOR_DATA, FILE_CONTENT_LENGTH, FILE_CONTENT_TYPE, FILE_STORAGE_PATH,
-            FILE_PATH, FILE_ACCOUNT_OWNER, FILE_LAST_SYNC_DATE, FILE_LAST_SYNC_DATE_FOR_DATA, FILE_ETAG,
-            FILE_ETAG_ON_SERVER, FILE_SHARED_VIA_LINK, FILE_SHARED_WITH_SHAREE, FILE_PUBLIC_LINK, FILE_PERMISSIONS,
-            FILE_REMOTE_ID, FILE_UPDATE_THUMBNAIL, FILE_IS_DOWNLOADING, FILE_ETAG_IN_CONFLICT, FILE_FAVORITE,
-            FILE_IS_ENCRYPTED, FILE_MOUNT_TYPE, FILE_HAS_PREVIEW, FILE_UNREAD_COMMENTS_COUNT, FILE_SHAREES,
-            FILE_RICH_WORKSPACE
-        };
+        public static final List<String> FILE_ALL_COLUMNS = Collections.unmodifiableList(Arrays.asList(
+            _ID,
+            FILE_PARENT,
+            FILE_NAME,
+            FILE_CREATION,
+            FILE_MODIFIED,
+            FILE_MODIFIED_AT_LAST_SYNC_FOR_DATA,
+            FILE_CONTENT_LENGTH,
+            FILE_CONTENT_TYPE,
+            FILE_STORAGE_PATH,
+            FILE_PATH,
+            FILE_ACCOUNT_OWNER,
+            FILE_LAST_SYNC_DATE,
+            FILE_LAST_SYNC_DATE_FOR_DATA,
+            FILE_ETAG,
+            FILE_ETAG_ON_SERVER,
+            FILE_SHARED_VIA_LINK,
+            FILE_SHARED_WITH_SHAREE,
+            FILE_PUBLIC_LINK,
+            FILE_PERMISSIONS,
+            FILE_REMOTE_ID,
+            FILE_UPDATE_THUMBNAIL,
+            FILE_IS_DOWNLOADING,
+            FILE_ETAG_IN_CONFLICT,
+            FILE_FAVORITE,
+            FILE_IS_ENCRYPTED,
+            FILE_MOUNT_TYPE,
+            FILE_HAS_PREVIEW,
+            FILE_UNREAD_COMMENTS_COUNT,
+            FILE_SHAREES,
+            FILE_RICH_WORKSPACE));
 
         public static final String FILE_DEFAULT_SORT_ORDER = FILE_NAME + " collate nocase asc";
 

+ 2 - 0
src/main/java/com/owncloud/android/providers/UsersAndGroupsSearchProvider.java

@@ -58,6 +58,7 @@ import javax.inject.Inject;
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 import dagger.android.AndroidInjection;
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 
 
 /**
@@ -80,6 +81,7 @@ public class UsersAndGroupsSearchProvider extends ContentProvider {
     private static final int RESULTS_PER_PAGE = 50;
     private static final int REQUESTED_PAGE = 1;
 
+    @SuppressFBWarnings("MS_CANNOT_BE_FINAL")
     public static String ACTION_SHARE_WITH;
 
     public static final String CONTENT = "content";

+ 9 - 7
src/main/java/com/owncloud/android/utils/FileSortOrder.java

@@ -54,13 +54,15 @@ public class FileSortOrder {
         trashBinView, localFileListView, uploadFilesView
     }
     static {
-        sortOrders = new HashMap<>();
-        sortOrders.put(sort_a_to_z.name, sort_a_to_z);
-        sortOrders.put(sort_z_to_a.name, sort_z_to_a);
-        sortOrders.put(sort_old_to_new.name, sort_old_to_new);
-        sortOrders.put(sort_new_to_old.name, sort_new_to_old);
-        sortOrders.put(sort_small_to_big.name, sort_small_to_big);
-        sortOrders.put(sort_big_to_small.name, sort_big_to_small);
+        HashMap<String, FileSortOrder> temp = new HashMap<>();
+        temp.put(sort_a_to_z.name, sort_a_to_z);
+        temp.put(sort_z_to_a.name, sort_z_to_a);
+        temp.put(sort_old_to_new.name, sort_old_to_new);
+        temp.put(sort_new_to_old.name, sort_new_to_old);
+        temp.put(sort_small_to_big.name, sort_small_to_big);
+        temp.put(sort_big_to_small.name, sort_big_to_small);
+
+        sortOrders = Collections.unmodifiableMap(temp);
     }
 
     public String name;

+ 4 - 4
src/main/java/org/nextcloud/providers/cursors/FileCursor.java

@@ -34,10 +34,10 @@ import com.owncloud.android.utils.MimeTypeUtil;
 @TargetApi(Build.VERSION_CODES.KITKAT)
 public class FileCursor extends MatrixCursor {
 
-    public static final String[] DEFAULT_DOCUMENT_PROJECTION = new String[] {
-            Document.COLUMN_DOCUMENT_ID, Document.COLUMN_DISPLAY_NAME,
-            Document.COLUMN_MIME_TYPE, Document.COLUMN_SIZE,
-            Document.COLUMN_FLAGS, Document.COLUMN_LAST_MODIFIED
+    static final String[] DEFAULT_DOCUMENT_PROJECTION = new String[]{
+        Document.COLUMN_DOCUMENT_ID, Document.COLUMN_DISPLAY_NAME,
+        Document.COLUMN_MIME_TYPE, Document.COLUMN_SIZE,
+        Document.COLUMN_FLAGS, Document.COLUMN_LAST_MODIFIED
     };
 
     private Bundle extra;