mirror of
https://github.com/f-droid/fdroidclient.git
synced 2026-04-27 10:23:20 -04:00
Handle disabled pre-approval
Pre-approval can be disabled and we get STATUS_FAILURE_BLOCKED which should be sufficient. There's also a hidden official error code we don't use for now: https://cs.android.com/android/platform/superproject/+/android-latest-release:frameworks/base/core/java/android/content/pm/PackageManager.java;l=2644;drc=905556173324d48059d4bae77408748a76497ac9
This commit is contained in:
@@ -150,12 +150,13 @@ class SessionInstallManager @Inject constructor(
|
||||
context.unregisterReceiver(this)
|
||||
}
|
||||
}
|
||||
else -> { // some error, can't help it now, continue
|
||||
if (status == PackageInstaller.STATUS_FAILURE_ABORTED) {
|
||||
cont.resume(PreApprovalResult.UserAborted)
|
||||
} else {
|
||||
cont.resume(PreApprovalResult.Error(msg))
|
||||
else -> {
|
||||
val result = when (status) {
|
||||
PackageInstaller.STATUS_FAILURE_ABORTED -> PreApprovalResult.UserAborted
|
||||
PackageInstaller.STATUS_FAILURE_BLOCKED -> PreApprovalResult.NotSupported
|
||||
else -> PreApprovalResult.Error(msg)
|
||||
}
|
||||
cont.resume(result)
|
||||
context.unregisterReceiver(this)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user