|
@@ -42,7 +42,7 @@ import com.nextcloud.client.preferences.AppPreferences
|
|
import com.nextcloud.client.preferences.AppPreferencesImpl
|
|
import com.nextcloud.client.preferences.AppPreferencesImpl
|
|
import com.owncloud.android.R
|
|
import com.owncloud.android.R
|
|
import com.owncloud.android.ui.dialog.StoragePermissionDialogFragment
|
|
import com.owncloud.android.ui.dialog.StoragePermissionDialogFragment
|
|
-import com.owncloud.android.utils.theme.ThemeSnackbarUtils
|
|
|
|
|
|
+import com.owncloud.android.utils.theme.newm3.ViewThemeUtils
|
|
|
|
|
|
object PermissionUtil {
|
|
object PermissionUtil {
|
|
const val PERMISSIONS_EXTERNAL_STORAGE = 1
|
|
const val PERMISSIONS_EXTERNAL_STORAGE = 1
|
|
@@ -116,7 +116,7 @@ object PermissionUtil {
|
|
@JvmOverloads
|
|
@JvmOverloads
|
|
fun requestExternalStoragePermission(
|
|
fun requestExternalStoragePermission(
|
|
activity: AppCompatActivity,
|
|
activity: AppCompatActivity,
|
|
- themeSnackbarUtils: ThemeSnackbarUtils,
|
|
|
|
|
|
+ viewThemeUtils: ViewThemeUtils,
|
|
permissionRequired: Boolean = false
|
|
permissionRequired: Boolean = false
|
|
) {
|
|
) {
|
|
if (!checkExternalStoragePermission(activity)) {
|
|
if (!checkExternalStoragePermission(activity)) {
|
|
@@ -124,20 +124,20 @@ object PermissionUtil {
|
|
Build.VERSION.SDK_INT >= Build.VERSION_CODES.R -> {
|
|
Build.VERSION.SDK_INT >= Build.VERSION_CODES.R -> {
|
|
if (canRequestAllFilesPermission(activity)) {
|
|
if (canRequestAllFilesPermission(activity)) {
|
|
// can request All Files, show choice
|
|
// can request All Files, show choice
|
|
- showPermissionChoiceDialog(activity, permissionRequired, themeSnackbarUtils)
|
|
|
|
|
|
+ showPermissionChoiceDialog(activity, permissionRequired, viewThemeUtils)
|
|
} else {
|
|
} else {
|
|
// can not request all files, request READ_EXTERNAL_STORAGE
|
|
// can not request all files, request READ_EXTERNAL_STORAGE
|
|
requestStoragePermission(
|
|
requestStoragePermission(
|
|
activity,
|
|
activity,
|
|
Manifest.permission.READ_EXTERNAL_STORAGE,
|
|
Manifest.permission.READ_EXTERNAL_STORAGE,
|
|
- themeSnackbarUtils
|
|
|
|
|
|
+ viewThemeUtils
|
|
)
|
|
)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else -> requestStoragePermission(
|
|
else -> requestStoragePermission(
|
|
activity,
|
|
activity,
|
|
Manifest.permission.WRITE_EXTERNAL_STORAGE,
|
|
Manifest.permission.WRITE_EXTERNAL_STORAGE,
|
|
- themeSnackbarUtils
|
|
|
|
|
|
+ viewThemeUtils
|
|
)
|
|
)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -146,10 +146,11 @@ object PermissionUtil {
|
|
/**
|
|
/**
|
|
* Request a storage permission
|
|
* Request a storage permission
|
|
*/
|
|
*/
|
|
|
|
+ // TODO inject this class to avoid passing ViewThemeUtils around
|
|
private fun requestStoragePermission(
|
|
private fun requestStoragePermission(
|
|
activity: Activity,
|
|
activity: Activity,
|
|
permission: String,
|
|
permission: String,
|
|
- themeSnackbarUtils: ThemeSnackbarUtils
|
|
|
|
|
|
+ viewThemeUtils: ViewThemeUtils
|
|
) {
|
|
) {
|
|
fun doRequest() {
|
|
fun doRequest() {
|
|
ActivityCompat.requestPermissions(
|
|
ActivityCompat.requestPermissions(
|
|
@@ -171,7 +172,7 @@ object PermissionUtil {
|
|
.setAction(R.string.common_ok) {
|
|
.setAction(R.string.common_ok) {
|
|
doRequest()
|
|
doRequest()
|
|
}
|
|
}
|
|
- .also { themeSnackbarUtils.colorSnackbar(activity, it) }
|
|
|
|
|
|
+ .also { viewThemeUtils.material.themeSnackbar(it) }
|
|
.show()
|
|
.show()
|
|
} else {
|
|
} else {
|
|
// No explanation needed, request the permission.
|
|
// No explanation needed, request the permission.
|
|
@@ -205,7 +206,7 @@ object PermissionUtil {
|
|
private fun showPermissionChoiceDialog(
|
|
private fun showPermissionChoiceDialog(
|
|
activity: AppCompatActivity,
|
|
activity: AppCompatActivity,
|
|
permissionRequired: Boolean,
|
|
permissionRequired: Boolean,
|
|
- themeSnackbarUtils: ThemeSnackbarUtils
|
|
|
|
|
|
+ viewThemeUtils: ViewThemeUtils
|
|
) {
|
|
) {
|
|
val preferences: AppPreferences = AppPreferencesImpl.fromContext(activity)
|
|
val preferences: AppPreferences = AppPreferencesImpl.fromContext(activity)
|
|
|
|
|
|
@@ -228,7 +229,7 @@ object PermissionUtil {
|
|
requestStoragePermission(
|
|
requestStoragePermission(
|
|
activity,
|
|
activity,
|
|
Manifest.permission.READ_EXTERNAL_STORAGE,
|
|
Manifest.permission.READ_EXTERNAL_STORAGE,
|
|
- themeSnackbarUtils
|
|
|
|
|
|
+ viewThemeUtils
|
|
)
|
|
)
|
|
}
|
|
}
|
|
}
|
|
}
|