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 (VERSION.SDK_INT < VERSION_CODES.LOLLIPOP) return false
|
||||||
if (!devicePolicyManager.isDeviceOwnerApp(componentName.packageName)) return false
|
if (!devicePolicyManager.isDeviceOwnerApp(componentName.packageName)) return false
|
||||||
|
|
||||||
|
try {
|
||||||
return devicePolicyManager.setPermissionGrantState(
|
return devicePolicyManager.setPermissionGrantState(
|
||||||
componentName, componentName.packageName, Manifest.permission.ACCESS_FINE_LOCATION,
|
componentName, componentName.packageName, Manifest.permission.ACCESS_FINE_LOCATION,
|
||||||
DevicePolicyManager.PERMISSION_GRANT_STATE_GRANTED
|
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,
|
context.packageName,
|
||||||
Manifest.permission.ACCESS_FINE_LOCATION,
|
Manifest.permission.ACCESS_FINE_LOCATION,
|
||||||
).let {
|
).let {
|
||||||
|
try {
|
||||||
if (it == DevicePolicyManager.PERMISSION_GRANT_STATE_DEFAULT) {
|
if (it == DevicePolicyManager.PERMISSION_GRANT_STATE_DEFAULT) {
|
||||||
policyManager.setPermissionGrantState(
|
policyManager.setPermissionGrantState(
|
||||||
deviceAdmin,
|
deviceAdmin,
|
||||||
context.packageName,
|
context.packageName,
|
||||||
Manifest.permission.ACCESS_FINE_LOCATION,
|
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
|
DevicePolicyManager.PERMISSION_GRANT_STATE_GRANTED
|
||||||
else
|
else
|
||||||
DevicePolicyManager.PERMISSION_GRANT_STATE_DENIED
|
DevicePolicyManager.PERMISSION_GRANT_STATE_DENIED
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
} catch (ex: SecurityException) {
|
||||||
|
// ignore
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
policyManager.setPermissionGrantState(
|
policyManager.setPermissionGrantState(
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue