mirror of
https://codeberg.org/timelimit/timelimit-android.git
synced 2025-10-03 01:39:22 +02:00
catch SecurityException caused by adjusting sensor related permissions
This commit is contained in:
parent
acdd83c39a
commit
53732e47dd
2 changed files with 32 additions and 14 deletions
|
@ -134,9 +134,19 @@ class AndroidDeviceOwnerApi(
|
|||
if (VERSION.SDK_INT < VERSION_CODES.LOLLIPOP) return false
|
||||
if (!devicePolicyManager.isDeviceOwnerApp(componentName.packageName)) return false
|
||||
|
||||
try {
|
||||
return devicePolicyManager.setPermissionGrantState(
|
||||
componentName, componentName.packageName, Manifest.permission.ACCESS_FINE_LOCATION,
|
||||
DevicePolicyManager.PERMISSION_GRANT_STATE_GRANTED
|
||||
)
|
||||
} catch (ex: SecurityException) {
|
||||
// set to default so that granting this manually is possible
|
||||
devicePolicyManager.setPermissionGrantState(
|
||||
componentName, componentName.packageName, Manifest.permission.ACCESS_FINE_LOCATION,
|
||||
DevicePolicyManager.PERMISSION_GRANT_STATE_DEFAULT
|
||||
)
|
||||
|
||||
return false
|
||||
}
|
||||
}
|
||||
}
|
|
@ -519,17 +519,25 @@ class AndroidIntegration(context: Context): PlatformIntegration(maximumProtectio
|
|||
context.packageName,
|
||||
Manifest.permission.ACCESS_FINE_LOCATION,
|
||||
).let {
|
||||
try {
|
||||
if (it == DevicePolicyManager.PERMISSION_GRANT_STATE_DEFAULT) {
|
||||
policyManager.setPermissionGrantState(
|
||||
deviceAdmin,
|
||||
context.packageName,
|
||||
Manifest.permission.ACCESS_FINE_LOCATION,
|
||||
if (ContextCompat.checkSelfPermission(context, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED)
|
||||
if (ContextCompat.checkSelfPermission(
|
||||
context,
|
||||
Manifest.permission.ACCESS_FINE_LOCATION
|
||||
) == PackageManager.PERMISSION_GRANTED
|
||||
)
|
||||
DevicePolicyManager.PERMISSION_GRANT_STATE_GRANTED
|
||||
else
|
||||
DevicePolicyManager.PERMISSION_GRANT_STATE_DENIED
|
||||
)
|
||||
}
|
||||
} catch (ex: SecurityException) {
|
||||
// ignore
|
||||
}
|
||||
}
|
||||
|
||||
policyManager.setPermissionGrantState(
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue