Implement custom permission system for plugins
This commit is contained in:
@@ -64,7 +64,6 @@ enum class PermissionGroup {
|
||||
Notifications,
|
||||
AppShortcuts,
|
||||
Accessibility,
|
||||
Plugins,
|
||||
}
|
||||
|
||||
internal class PermissionsManagerImpl(
|
||||
@@ -85,9 +84,6 @@ internal class PermissionsManagerImpl(
|
||||
private val locationPermissionState = MutableStateFlow(
|
||||
checkPermissionOnce(PermissionGroup.Location)
|
||||
)
|
||||
private val pluginsPermissionState = MutableStateFlow(
|
||||
checkPermissionOnce(PermissionGroup.Plugins)
|
||||
)
|
||||
private val notificationsPermissionState = MutableStateFlow(false)
|
||||
private val accessibilityPermissionState = MutableStateFlow(false)
|
||||
private val appShortcutsPermissionState = MutableStateFlow(
|
||||
@@ -158,14 +154,6 @@ internal class PermissionsManagerImpl(
|
||||
CrashReporter.logException(e)
|
||||
}
|
||||
}
|
||||
|
||||
PermissionGroup.Plugins -> {
|
||||
ActivityCompat.requestPermissions(
|
||||
context,
|
||||
pluginPermissions,
|
||||
permissionGroup.ordinal
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -183,10 +171,6 @@ internal class PermissionsManagerImpl(
|
||||
contactPermissions.all { context.checkPermission(it) }
|
||||
}
|
||||
|
||||
PermissionGroup.Plugins -> {
|
||||
pluginPermissions.all { context.checkPermission(it) }
|
||||
}
|
||||
|
||||
PermissionGroup.ExternalStorage -> {
|
||||
if (isAtLeastApiLevel(Build.VERSION_CODES.R)) {
|
||||
Environment.isExternalStorageManager()
|
||||
@@ -218,7 +202,6 @@ internal class PermissionsManagerImpl(
|
||||
PermissionGroup.Notifications -> notificationsPermissionState
|
||||
PermissionGroup.AppShortcuts -> appShortcutsPermissionState
|
||||
PermissionGroup.Accessibility -> accessibilityPermissionState
|
||||
PermissionGroup.Plugins -> pluginsPermissionState
|
||||
}
|
||||
}
|
||||
|
||||
@@ -237,7 +220,6 @@ internal class PermissionsManagerImpl(
|
||||
PermissionGroup.Notifications -> notificationsPermissionState.value = granted
|
||||
PermissionGroup.AppShortcuts -> appShortcutsPermissionState.value = granted
|
||||
PermissionGroup.Accessibility -> accessibilityPermissionState.value = granted
|
||||
PermissionGroup.Plugins -> pluginsPermissionState.value = granted
|
||||
}
|
||||
}
|
||||
|
||||
@@ -280,6 +262,5 @@ internal class PermissionsManagerImpl(
|
||||
Manifest.permission.READ_EXTERNAL_STORAGE,
|
||||
Manifest.permission.WRITE_EXTERNAL_STORAGE
|
||||
)
|
||||
private val pluginPermissions = arrayOf(PluginContract.Permission)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user