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

Commit c464e5e9 authored by Felipe Leme's avatar Felipe Leme Committed by Android (Google) Code Review
Browse files

Merge "Fixes SELinux property for HSUM emulation:"

parents d7a949a7 ec00eb93
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -1577,7 +1577,7 @@ public class UserManager {
     *
     * @hide
     */
    public static final String DEV_HEADLESS_SYSTEM_USER_MODE_PROPERTY =
    public static final String SYSTEM_USER_MODE_EMULATION_PROPERTY =
            "persist.debug.user_mode_emulation";

    /** @hide */
@@ -2049,7 +2049,7 @@ public class UserManager {
            return realMode;
        }

        final String emulatedMode = SystemProperties.get(DEV_HEADLESS_SYSTEM_USER_MODE_PROPERTY);
        final String emulatedMode = SystemProperties.get(SYSTEM_USER_MODE_EMULATION_PROPERTY);
        switch (emulatedMode) {
            case SYSTEM_USER_MODE_EMULATION_FULL:
                Log.d(TAG, "isHeadlessSystemUserMode(): emulating as false");
@@ -2062,7 +2062,7 @@ public class UserManager {
                return realMode;
            default:
                Log.wtf(TAG, "isHeadlessSystemUserMode(): invalid value of property "
                        + DEV_HEADLESS_SYSTEM_USER_MODE_PROPERTY + " (" + emulatedMode + "); using"
                        + SYSTEM_USER_MODE_EMULATION_PROPERTY + " (" + emulatedMode + "); using"
                                + " default value (headless=" + realMode + ")");
                return realMode;
        }
+8 −15
Original line number Diff line number Diff line
@@ -2952,7 +2952,7 @@ public class UserManagerService extends IUserManager.Stub {
        }

        final String emulatedValue = SystemProperties
                .get(UserManager.DEV_HEADLESS_SYSTEM_USER_MODE_PROPERTY);
                .get(UserManager.SYSTEM_USER_MODE_EMULATION_PROPERTY);
        if (TextUtils.isEmpty(emulatedValue)) {
            return;
        }
@@ -2970,7 +2970,7 @@ public class UserManagerService extends IUserManager.Stub {
                break;
            default:
                Slogf.wtf(LOG_TAG, "emulateSystemUserModeIfNeeded(): ignoring invalid valued of "
                        + "property %s: %s", UserManager.DEV_HEADLESS_SYSTEM_USER_MODE_PROPERTY,
                        + "property %s: %s", UserManager.SYSTEM_USER_MODE_EMULATION_PROPERTY,
                        emulatedValue);
                return;
        }
@@ -5796,20 +5796,13 @@ public class UserManagerService extends IUserManager.Stub {
            }

            Slogf.d(LOG_TAG, "Updating system property %s to %s",
                    UserManager.DEV_HEADLESS_SYSTEM_USER_MODE_PROPERTY, mode);
                    UserManager.SYSTEM_USER_MODE_EMULATION_PROPERTY, mode);

            // TODO(b/203885212): temp try/catch until the selinux permission is granted
            try {
                SystemProperties.set(UserManager.DEV_HEADLESS_SYSTEM_USER_MODE_PROPERTY, mode);
            SystemProperties.set(UserManager.SYSTEM_USER_MODE_EMULATION_PROPERTY, mode);
            pw.println("System user mode changed - please reboot (or restart Android runtime) "
                    + "to continue");
            pw.println("NOTICE: after restart, some apps might be uninstalled (and their data "
                    + "will be lost)");
            } catch (RuntimeException e) {
                pw.printf("Failed to set property %s (%s). You might need to run "
                        + "'adb shell setenforce 0' and try again.\n",
                        UserManager.DEV_HEADLESS_SYSTEM_USER_MODE_PROPERTY, e);
            }
            return 0;
        }