Treat mode_default as denied for install_unknown_apps
Test: atest SettingsRoboTests
Bug: 123700348
Change-Id: Ieeb6456854cc3d0faa0e9c407accd94f56a25813
diff --git a/src/com/android/settings/applications/AppStateInstallAppsBridge.java b/src/com/android/settings/applications/AppStateInstallAppsBridge.java
index f852bca..8a3e5a2 100644
--- a/src/com/android/settings/applications/AppStateInstallAppsBridge.java
+++ b/src/com/android/settings/applications/AppStateInstallAppsBridge.java
@@ -93,8 +93,6 @@
final InstallAppsState appState = new InstallAppsState();
appState.permissionRequested = hasRequestedAppOpPermission(
Manifest.permission.REQUEST_INSTALL_PACKAGES, packageName);
- appState.permissionGranted = hasPermission(Manifest.permission.REQUEST_INSTALL_PACKAGES,
- uid);
appState.appOpMode = getAppOpMode(AppOpsManager.OP_REQUEST_INSTALL_PACKAGES, uid,
packageName);
return appState;
@@ -105,7 +103,6 @@
*/
public static class InstallAppsState {
boolean permissionRequested;
- boolean permissionGranted;
int appOpMode;
public InstallAppsState() {
@@ -113,11 +110,7 @@
}
public boolean canInstallApps() {
- if (appOpMode == AppOpsManager.MODE_DEFAULT) {
- return permissionGranted;
- } else {
- return appOpMode == AppOpsManager.MODE_ALLOWED;
- }
+ return appOpMode == AppOpsManager.MODE_ALLOWED;
}
public boolean isPotentialAppSource() {
@@ -126,8 +119,8 @@
@Override
public String toString() {
- StringBuilder sb = new StringBuilder("[permissionGranted: " + permissionGranted);
- sb.append(", permissionRequested: " + permissionRequested);
+ StringBuilder sb = new StringBuilder();
+ sb.append("[permissionRequested: " + permissionRequested);
sb.append(", appOpMode: " + appOpMode);
sb.append("]");
return sb.toString();
diff --git a/tests/robotests/src/com/android/settings/applications/AppStateInstallAppsBridgeTest.java b/tests/robotests/src/com/android/settings/applications/AppStateInstallAppsBridgeTest.java
index 304dfe9..277f63e 100644
--- a/tests/robotests/src/com/android/settings/applications/AppStateInstallAppsBridgeTest.java
+++ b/tests/robotests/src/com/android/settings/applications/AppStateInstallAppsBridgeTest.java
@@ -33,8 +33,10 @@
new AppStateInstallAppsBridge.InstallAppsState();
assertThat(appState.canInstallApps()).isFalse();
- appState.permissionGranted = true;
appState.permissionRequested = true;
+ assertThat(appState.canInstallApps()).isFalse();
+
+ appState.appOpMode = AppOpsManager.MODE_ALLOWED;
assertThat(appState.canInstallApps()).isTrue();
appState.appOpMode = AppOpsManager.MODE_ERRORED;