summaryrefslogtreecommitdiffstats
path: root/src/com/android/packageinstaller/permission/service/RuntimePermissionsUpgradeController.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/packageinstaller/permission/service/RuntimePermissionsUpgradeController.java')
-rw-r--r--src/com/android/packageinstaller/permission/service/RuntimePermissionsUpgradeController.java10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/com/android/packageinstaller/permission/service/RuntimePermissionsUpgradeController.java b/src/com/android/packageinstaller/permission/service/RuntimePermissionsUpgradeController.java
index cedb108e..65c348c1 100644
--- a/src/com/android/packageinstaller/permission/service/RuntimePermissionsUpgradeController.java
+++ b/src/com/android/packageinstaller/permission/service/RuntimePermissionsUpgradeController.java
@@ -79,6 +79,8 @@ class RuntimePermissionsUpgradeController {
final int appCount = apps.size();
final boolean sdkUpgradedFromP;
+ boolean isFreshInstall = false;
+
if (currentVersion <= -1) {
Log.i(LOG_TAG, "Upgrading from Android P");
@@ -90,6 +92,10 @@ class RuntimePermissionsUpgradeController {
}
if (currentVersion == 0) {
+ if (!sdkUpgradedFromP) {
+ isFreshInstall = true;
+ }
+
Log.i(LOG_TAG, "Grandfathering SMS and CallLog permissions");
final List<String> smsPermissions = Utils.getPlatformPermissionNamesOfGroup(
@@ -178,7 +184,7 @@ class RuntimePermissionsUpgradeController {
}
if (currentVersion == 6) {
- if (sdkUpgradedFromP) {
+ if (!isFreshInstall || sdkUpgradedFromP) {
Log.i(LOG_TAG, "Expanding location permissions");
for (int i = 0; i < appCount; i++) {
@@ -200,7 +206,7 @@ class RuntimePermissionsUpgradeController {
if (group.areRuntimePermissionsGranted()
&& bgGroup != null
- && !bgGroup.isUserSet() && !bgGroup.isSystemFixed()
+ && !bgGroup.isSystemFixed()
&& !bgGroup.isPolicyFixed()) {
bgGroup.grantRuntimePermissions(group.isUserFixed());
}