System crash during dismissing split in multi-user scenario

Problem: {
    1. Switch to guest user or any other user.
    2. Open any Settings and any other app in split
    3. Switch any language in the settings
    3. Try to dismiss split. Crash will happen in system
}

Solution: {
    1. Fixing AOSP logic to make application with uid equals to system in multi-user scenario.
    2. So as a result mIsActivityConfigOverrideAllowed is false.
    3. So Process's configuration is not changed which will eventually does not effect whole configuration.
}

Bug: 262486679

Change-Id: I8f078f41ca0fd4dbde71407efe395c7376b337d8
Signed-off-by: pioush.kumar-IN009423 <pioush.kumar@oppo.com>
This commit is contained in:
pioush.kumar-IN009423
2022-11-22 15:36:35 +05:30
committed by Pioush Kumar
parent 3911dab442
commit f38512198a

View File

@@ -63,6 +63,7 @@ import android.os.LocaleList;
import android.os.Message;
import android.os.Process;
import android.os.RemoteException;
import android.os.UserHandle;
import android.util.ArraySet;
import android.util.Log;
import android.util.Slog;
@@ -261,7 +262,7 @@ public class WindowProcessController extends ConfigurationContainer<Configuratio
boolean isSysUiPackage = info.packageName.equals(
mAtm.getSysUiServiceComponentLocked().getPackageName());
if (isSysUiPackage || mUid == Process.SYSTEM_UID) {
if (isSysUiPackage || UserHandle.getAppId(mUid) == Process.SYSTEM_UID) {
// This is a system owned process and should not use an activity config.
// TODO(b/151161907): Remove after support for display-independent (raw) SysUi configs.
mIsActivityConfigOverrideAllowed = false;