diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/compatui/CompatUIController.java b/libs/WindowManager/Shell/src/com/android/wm/shell/compatui/CompatUIController.java index c111ce623c1ad51c376c48547894cd4820bca3af..0e6b20332a4fc656ba766b719979b4029e259d6e 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/compatui/CompatUIController.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/compatui/CompatUIController.java @@ -22,10 +22,13 @@ import android.annotation.NonNull; import android.annotation.Nullable; import android.app.TaskInfo; import android.app.TaskInfo.CameraCompatControlState; +import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.res.Configuration; import android.hardware.display.DisplayManager; +import android.net.Uri; +import android.os.UserHandle; import android.provider.Settings; import android.util.ArraySet; import android.util.Log; @@ -577,7 +580,13 @@ public class CompatUIController implements OnDisplaysChangedListener, final Intent intent = new Intent(Settings.ACTION_MANAGE_USER_ASPECT_RATIO_SETTINGS); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK); - mContext.startActivity(intent); + final ComponentName appComponent = taskInfo.topActivity; + if (appComponent != null) { + final Uri packageUri = Uri.parse("package:" + appComponent.getPackageName()); + intent.setData(packageUri); + } + final UserHandle userHandle = UserHandle.of(taskInfo.userId); + mContext.startActivityAsUser(intent, userHandle); } private void removeLayouts(int taskId) {