Skip to content

Commit a155050

Browse files
Merge pull request #15951 from nextcloud/brandedClientsHideInternalUploader
branded clients: no internal uploader
2 parents 270bfd9 + d5dfaba commit a155050

File tree

2 files changed

+21
-1
lines changed

2 files changed

+21
-1
lines changed

app/src/main/java/com/owncloud/android/ui/fragment/OCFileListBottomSheetDialog.kt

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
*/
88
package com.owncloud.android.ui.fragment
99

10+
import android.os.Build
1011
import android.os.Bundle
1112
import android.view.View
1213
import com.google.android.material.bottomsheet.BottomSheetDialog
@@ -16,7 +17,9 @@ import com.nextcloud.client.account.User
1617
import com.nextcloud.client.device.DeviceInfo
1718
import com.nextcloud.client.di.Injectable
1819
import com.nextcloud.client.documentscan.AppScanOptionalFeature
20+
import com.nextcloud.utils.BuildHelper.isFlavourGPlay
1921
import com.nextcloud.utils.EditorUtils
22+
import com.owncloud.android.MainApp
2023
import com.owncloud.android.R
2124
import com.owncloud.android.databinding.FileListActionsBottomSheetCreatorBinding
2225
import com.owncloud.android.databinding.FileListActionsBottomSheetFragmentBinding
@@ -26,6 +29,7 @@ import com.owncloud.android.datamodel.OCFile
2629
import com.owncloud.android.lib.common.DirectEditing
2730
import com.owncloud.android.ui.activity.FileActivity
2831
import com.owncloud.android.utils.MimeTypeUtil
32+
import com.owncloud.android.utils.PermissionUtil
2933
import com.owncloud.android.utils.theme.ThemeUtils
3034
import com.owncloud.android.utils.theme.ViewThemeUtils
3135

@@ -66,6 +70,20 @@ class OCFileListBottomSheetDialog(
6670
createRichWorkspace()
6771
setupClickListener()
6872
filterActionsForOfflineOperations()
73+
74+
if (MainApp.isClientBranded() && isFlavourGPlay()) {
75+
// this way we can have branded clients with that permission
76+
val hasPermission = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
77+
PermissionUtil.manifestHasAllFilesPermission(context)
78+
} else {
79+
true
80+
}
81+
82+
if (!hasPermission) {
83+
binding.menuUploadFiles.visibility = View.GONE
84+
binding.uploadContentFromOtherApps.text = context.getString(R.string.upload_files)
85+
}
86+
}
6987
}
7088

7189
private fun applyBranding() {

app/src/main/java/com/owncloud/android/utils/PermissionUtil.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ import com.nextcloud.client.preferences.AppPreferencesImpl
2929
import com.nextcloud.utils.extensions.getParcelableArgument
3030
import com.owncloud.android.R
3131
import com.owncloud.android.ui.dialog.StoragePermissionDialogFragment
32+
import com.owncloud.android.utils.PermissionUtil.PERMISSIONS_EXTERNAL_STORAGE
33+
import com.owncloud.android.utils.PermissionUtil.REQUEST_CODE_MANAGE_ALL_FILES
3234
import com.owncloud.android.utils.theme.ViewThemeUtils
3335

3436
object PermissionUtil {
@@ -211,7 +213,7 @@ object PermissionUtil {
211213
}
212214

213215
@RequiresApi(Build.VERSION_CODES.R)
214-
private fun manifestHasAllFilesPermission(context: Context): Boolean {
216+
fun manifestHasAllFilesPermission(context: Context): Boolean {
215217
val packageInfo = context.packageManager.getPackageInfo(context.packageName, PackageManager.GET_PERMISSIONS)
216218
return packageInfo?.requestedPermissions?.contains(Manifest.permission.MANAGE_EXTERNAL_STORAGE) ?: false
217219
}

0 commit comments

Comments
 (0)