summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStanislav Zholnin <zholnin@google.com>2019-06-06 21:29:23 +0100
committerStanislav Zholnin <zholnin@google.com>2019-06-17 21:11:45 +0000
commit2fe0056a774bc748adc12c8901f0858adc63fcc1 (patch)
tree7ff3c8323e00df1fa338648ba23d0de29aa0f28f
parent2556c5c7878e809d3f856ff2e969a3041d57d748 (diff)
downloadandroid_packages_apps_PackageInstaller-2fe0056a774bc748adc12c8901f0858adc63fcc1.tar.gz
android_packages_apps_PackageInstaller-2fe0056a774bc748adc12c8901f0858adc63fcc1.tar.bz2
android_packages_apps_PackageInstaller-2fe0056a774bc748adc12c8901f0858adc63fcc1.zip
Logging permission grants during upgrade.
Test: manually verified Bug:133401502 Change-Id: Iffc603906eaf4a818e77bf1e6f9bd3c03424e02c
-rw-r--r--src/com/android/packageinstaller/permission/service/RuntimePermissionsUpgradeController.java21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/com/android/packageinstaller/permission/service/RuntimePermissionsUpgradeController.java b/src/com/android/packageinstaller/permission/service/RuntimePermissionsUpgradeController.java
index 65c348c1..f3a94997 100644
--- a/src/com/android/packageinstaller/permission/service/RuntimePermissionsUpgradeController.java
+++ b/src/com/android/packageinstaller/permission/service/RuntimePermissionsUpgradeController.java
@@ -16,6 +16,8 @@
package com.android.packageinstaller.permission.service;
+import static com.android.packageinstaller.PermissionControllerStatsLog.RUNTIME_PERMISSIONS_UPGRADE_RESULT;
+
import android.Manifest;
import android.content.Context;
import android.content.pm.PackageInfo;
@@ -26,9 +28,12 @@ import android.util.Log;
import androidx.annotation.NonNull;
+import com.android.packageinstaller.PermissionControllerStatsLog;
import com.android.packageinstaller.permission.model.AppPermissionGroup;
+import com.android.packageinstaller.permission.model.Permission;
import com.android.packageinstaller.permission.utils.Utils;
+import java.util.ArrayList;
import java.util.List;
/**
@@ -209,6 +214,9 @@ class RuntimePermissionsUpgradeController {
&& !bgGroup.isSystemFixed()
&& !bgGroup.isPolicyFixed()) {
bgGroup.grantRuntimePermissions(group.isUserFixed());
+
+ logRuntimePermissionUpgradeResult(bgGroup,
+ app.applicationInfo.uid, app.packageName);
}
break;
@@ -226,4 +234,17 @@ class RuntimePermissionsUpgradeController {
return currentVersion;
}
+
+ private static void logRuntimePermissionUpgradeResult(AppPermissionGroup permissionGroup,
+ int uid, String packageName) {
+ ArrayList<Permission> permissions = permissionGroup.getPermissions();
+ int numPermissions = permissions.size();
+ for (int i = 0; i < numPermissions; i++) {
+ Permission permission = permissions.get(i);
+ PermissionControllerStatsLog.write(RUNTIME_PERMISSIONS_UPGRADE_RESULT,
+ permission.getName(), uid, packageName);
+ Log.v(LOG_TAG, "Runtime permission upgrade logged for permissionName="
+ + permission.getName() + " uid=" + uid + " packageName=" + packageName);
+ }
+ }
}