Browse Source

Merge pull request #3899 from jmue/cleanup/uriutils

cleanup unused code
Tobias Kaminsky 6 years ago
parent
commit
8be1157e79
1 changed files with 9 additions and 170 deletions
  1. 9 170
      src/main/java/com/owncloud/android/utils/UriUtils.java

+ 9 - 170
src/main/java/com/owncloud/android/utils/UriUtils.java

@@ -18,15 +18,10 @@
 
 package com.owncloud.android.utils;
 
-import android.annotation.TargetApi;
 import android.content.ContentResolver;
-import android.content.ContentUris;
 import android.content.Context;
 import android.database.Cursor;
 import android.net.Uri;
-import android.os.Build;
-import android.os.Environment;
-import android.provider.DocumentsContract;
 import android.provider.MediaStore;
 import android.webkit.MimeTypeMap;
 
@@ -34,15 +29,13 @@ import com.owncloud.android.lib.common.utils.Log_OC;
 
 import java.util.Locale;
 
-import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
-
 
 /**
  * A helper class for some Uri operations.
  */
 public final class UriUtils {
 
-    public static final String TAG = UriUtils.class.getSimpleName();
+    private static final String TAG = UriUtils.class.getSimpleName();
 
     public static final String URI_CONTENT_SCHEME = "content://";
 
@@ -50,161 +43,13 @@ public final class UriUtils {
         // utility class -> private constructor
     }
 
-    /**
-     * Get the value of the data column for this Uri. This is useful for
-     * MediaStore Uris, and other file-based ContentProviders.
-     *
-     * @param context The context.
-     * @param uri The Uri to query.
-     * @param selection (Optional) Filter used in the query.
-     * @param selectionArgs (Optional) Selection arguments used in the query.
-     * @return The value of the _data column, which is typically a file path.
-     */
-    public static String getDataColumn(Context context, Uri uri, String selection, String... selectionArgs) {
-
-        Cursor cursor = null;
-        final String column = "_data";
-        final String[] projection = {column};
-
-        try {
-            cursor = context.getContentResolver().query(uri, projection, selection, selectionArgs, null);
-            if (cursor != null && cursor.moveToFirst()) {
-
-                final int column_index = cursor.getColumnIndexOrThrow(column);
-                return cursor.getString(column_index);
-            }
-        } finally {
-            if (cursor != null) {
-                cursor.close();
-            }
-        }
-        return null;
-    }
-
-    /**
-     * @param uri The Uri to check.
-     * @return Whether the Uri authority is ExternalStorageProvider.
-     */
-    public static boolean isExternalStorageDocument(Uri uri) {
-        return "com.android.externalstorage.documents".equals(uri.getAuthority());
-    }
-
-    /**
-     * @param uri The Uri to check.
-     * @return Whether the Uri authority is DownloadsProvider.
-     */
-    public static boolean isDownloadsDocument(Uri uri) {
-        return "com.android.providers.downloads.documents".equals(uri.getAuthority());
-    }
-
-    /**
-     * @param uri The Uri to check.
-     * @return Whether the Uri authority is MediaProvider.
-     */
-    public static boolean isMediaDocument(Uri uri) {
-        return "com.android.providers.media.documents".equals(uri.getAuthority());
-    }
-
-    /**
-     * @param uri The Uri to check.
-     * @return Whether the Uri authority is Google Photos.
-     */
-    public static boolean isGooglePhotosUri(Uri uri) {
-        return "com.google.android.apps.photos.content".equals(uri.getAuthority());
-    }
-
-    /**
-     *
-     * @param uri The Uri to check.
-     * @return Whether the Uri is from a content provider as kind "content://..."
-     */
-    public static boolean isContentDocument(Uri uri) {
-        return uri.toString().startsWith(URI_CONTENT_SCHEME);
-    }
-
-
-    /**
-     * Translates a content:// URI referred to a local file file to a path on the local filesystem
-     *
-     * @param uri       The URI to resolve
-     * @return The path in the file system to the content or null if it could not be found (not a file)
-     */
-    @TargetApi(Build.VERSION_CODES.KITKAT)
-    @SuppressFBWarnings("Bx")
-    public static String getLocalPath(Uri uri, Context context) {
-        final boolean isKitKatOrLater = Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT;
-
-        // DocumentProvider
-        if (isKitKatOrLater && DocumentsContract.isDocumentUri(context, uri)) {
-            // ExternalStorageProvider
-            if (UriUtils.isExternalStorageDocument(uri)) {
-                final String docId = DocumentsContract.getDocumentId(uri);
-                final String[] split = docId.split(":");
-                final String type = split[0];
-
-                if ("primary".equalsIgnoreCase(type)) {
-                    return Environment.getExternalStorageDirectory() + "/" + split[1];
-                }
-            }
-            // DownloadsProvider
-            else if (UriUtils.isDownloadsDocument(uri)) {
-
-                final String id = DocumentsContract.getDocumentId(uri);
-                final Uri contentUri = ContentUris.withAppendedId(Uri.parse("content://downloads/public_downloads"),
-                        Long.valueOf(id));
-
-                return UriUtils.getDataColumn(context, contentUri, null, (String) null);
-            }
-            // MediaProvider
-            else if (UriUtils.isMediaDocument(uri)) {
-                final String docId = DocumentsContract.getDocumentId(uri);
-                final String[] split = docId.split(":");
-                final String type = split[0];
-
-                Uri contentUri = null;
-                if ("image".equals(type)) {
-                    contentUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
-                } else if ("video".equals(type)) {
-                    contentUri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI;
-                } else if ("audio".equals(type)) {
-                    contentUri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
-                }
-
-                final String selection = "_id=?";
-                final String[] selectionArgs = new String[]{split[1]};
-
-                return UriUtils.getDataColumn(context, contentUri, selection, selectionArgs);
-            }
-            // Documents providers returned as content://...
-            else if (UriUtils.isContentDocument(uri)) {
-                return uri.toString();
-            }
-        }
-        // MediaStore (and general)
-        else if ("content".equalsIgnoreCase(uri.getScheme())) {
-
-            // Return the remote address
-            if (UriUtils.isGooglePhotosUri(uri)) {
-                return uri.getLastPathSegment();
-            }
-
-            return UriUtils.getDataColumn(context, uri, null, (String) null);
-        }
-        // File
-        else if ("file".equalsIgnoreCase(uri.getScheme())) {
-            return uri.getPath();
-        }
-        return null;
-    }
-
-
     public static String getDisplayNameForUri(Uri uri, Context context) {
 
         if (uri == null || context == null) {
             throw new IllegalArgumentException("Received NULL!");
         }
 
-        String displayName = null;
+        String displayName;
 
         if (!ContentResolver.SCHEME_CONTENT.equals(uri.getScheme())) {
             displayName = uri.getLastPathSegment();     // ready to return
@@ -258,15 +103,13 @@ public final class UriUtils {
                 displayNameColumn = MediaStore.Files.FileColumns.DISPLAY_NAME;
             }
 
-            Cursor cursor = null;
-            try {
-                cursor = context.getContentResolver().query(
-                        uri,
-                        new String[]{displayNameColumn},
-                        null,
-                        null,
-                        null
-                );
+            try (Cursor cursor = context.getContentResolver().query(
+                uri,
+                new String[]{displayNameColumn},
+                null,
+                null,
+                null
+            )) {
                 if (cursor != null) {
                     cursor.moveToFirst();
                     displayName = cursor.getString(cursor.getColumnIndex(displayNameColumn));
@@ -276,10 +119,6 @@ public final class UriUtils {
                 Log_OC.e(TAG, "Could not retrieve display name for " + uri.toString());
                 // nothing else, displayName keeps null
 
-            } finally {
-                if (cursor != null) {
-                    cursor.close();
-                }
             }
         }
         return displayName;