Fixes SELinux property for HSUM emulation:

- Renames the property
- Removes temporary try/catch

Test: adb shell cmd user set-system-user-mode-emulation full # on HSUM device
Fixes: 226643927

Change-Id: Iaba42fd56dce0d8d794ef129634df78f9599260f
This commit is contained in:
Felipe Leme
2022-04-20 10:59:22 -07:00
parent 661831e2c0
commit ec00eb9336
2 changed files with 11 additions and 18 deletions

View File

@@ -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;
}

View File

@@ -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);
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);
}
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)");
return 0;
}