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

Replace functions

Signed-off-by: alperozturk <alper_ozturk@proton.me>
alperozturk 1 жил өмнө
parent
commit
b555cb7a81

+ 8 - 2
app/src/main/java/com/owncloud/android/ui/helpers/UriUploader.kt

@@ -20,6 +20,8 @@
 package com.owncloud.android.ui.helpers
 
 import android.content.ContentResolver
+import android.content.Context
+import android.content.pm.ProviderInfo
 import android.net.Uri
 import android.os.Parcelable
 import com.nextcloud.client.account.User
@@ -70,7 +72,7 @@ class UriUploader(
         try {
             val anySensitiveUri = mUrisToUpload
                 .filterNotNull()
-                .any { isSensitiveUri((it as Uri)) }
+                .any { belongsToCurrentApplication(mActivity, it as Uri) }
             if (anySensitiveUri) {
                 Log_OC.e(TAG, "Sensitive URI detected, aborting upload.")
                 code = UriUploaderResultCode.ERROR_SENSITIVE_PATH
@@ -111,7 +113,11 @@ class UriUploader(
         return mUploadPath + displayName
     }
 
-    private fun isSensitiveUri(uri: Uri): Boolean = uri.toString().contains(mActivity.packageName)
+    private fun belongsToCurrentApplication(ctx: Context, uri: Uri): Boolean {
+        val authority: String = uri.authority.toString()
+        val info: ProviderInfo = ctx.packageManager.resolveContentProvider(authority, 0) ?: return false
+        return ctx.packageName.equals(info.packageName)
+    }
 
     /**
      * Requests the upload of a file in the local file system to [FileUploadHelper] service.