Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4b78bcd5 authored by Christopher Dombroski's avatar Christopher Dombroski
Browse files

Treat mode_default as denied for install_unknown_apps

Test: atest SettingsRoboTests
Bug: 123700348
Change-Id: Ieeb6456854cc3d0faa0e9c407accd94f56a25813
Merged-In: Ieeb6456854cc3d0faa0e9c407accd94f56a25813
parent ba87cf74
Loading
Loading
Loading
Loading
+3 −10
Original line number Diff line number Diff line
@@ -94,8 +94,6 @@ public class AppStateInstallAppsBridge extends AppStateBaseBridge {
        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;
@@ -106,7 +104,6 @@ public class AppStateInstallAppsBridge extends AppStateBaseBridge {
     */
    public static class InstallAppsState {
        boolean permissionRequested;
        boolean permissionGranted;
        int appOpMode;

        public InstallAppsState() {
@@ -114,12 +111,8 @@ public class AppStateInstallAppsBridge extends AppStateBaseBridge {
        }

        public boolean canInstallApps() {
            if (appOpMode == AppOpsManager.MODE_DEFAULT) {
                return permissionGranted;
            } else {
            return appOpMode == AppOpsManager.MODE_ALLOWED;
        }
        }

        public boolean isPotentialAppSource() {
            return appOpMode != AppOpsManager.MODE_DEFAULT || permissionRequested;
@@ -127,8 +120,8 @@ public class AppStateInstallAppsBridge extends AppStateBaseBridge {

        @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();
+3 −1
Original line number Diff line number Diff line
@@ -38,8 +38,10 @@ public class AppStateInstallAppsBridgeTest {
                .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;