diff options
author | Yuncheol Heo <ycheo@google.com> | 2022-12-16 22:03:37 -0800 |
---|---|---|
committer | Yuncheol Heo <ycheo@google.com> | 2022-12-16 22:14:45 -0800 |
commit | 136496079aaf1fac10d2b499dad06009518aa6ab (patch) | |
tree | 0fdf70f3fa848332d0677ee80acf42509c346614 | |
parent | 1f503863215818adf15af92e53bdc013a70ad30f (diff) | |
download | services-android13-qpr3-c-s12-release.tar.gz |
Let setPersistentActivity() fail if it can't find the displayandroid-13.0.0_r82android-13.0.0_r81android-13.0.0_r80android-13.0.0_r74android-13.0.0_r73android-13.0.0_r72android-13.0.0_r66android-13.0.0_r65android-13.0.0_r64android-13.0.0_r60android-13.0.0_r59android-13.0.0_r58android13-qpr3-c-s8-releaseandroid13-qpr3-c-s7-releaseandroid13-qpr3-c-s6-releaseandroid13-qpr3-c-s5-releaseandroid13-qpr3-c-s4-releaseandroid13-qpr3-c-s3-releaseandroid13-qpr3-c-s2-releaseandroid13-qpr3-c-s12-releaseandroid13-qpr3-c-s11-releaseandroid13-qpr3-c-s10-releaseandroid13-qpr3-c-s1-release
- With getDisplayContentOrCreate(), it can cause the system crash when
the race-condition happens for the newly added virtual display.
- It would be better to let the api fail when the race-condition
happens.
- Adjusts some log messages.
Bug: 262743998
Test: atest com.google.android.car.ats.CarActivityManagerTest#testSetPersistentActivity
Change-Id: I12e120016bc75da699db2f7081f7a751ef751abc
-rw-r--r-- | builtInServices/src/com/android/server/wm/CarLaunchParamsModifier.java | 2 | ||||
-rw-r--r-- | updatableServices/src/com/android/server/wm/CarLaunchParamsModifierUpdatableImpl.java | 8 |
2 files changed, 5 insertions, 5 deletions
diff --git a/builtInServices/src/com/android/server/wm/CarLaunchParamsModifier.java b/builtInServices/src/com/android/server/wm/CarLaunchParamsModifier.java index 6472ffb..a7bdb4c 100644 --- a/builtInServices/src/com/android/server/wm/CarLaunchParamsModifier.java +++ b/builtInServices/src/com/android/server/wm/CarLaunchParamsModifier.java @@ -188,7 +188,7 @@ public final class CarLaunchParamsModifier implements LaunchParamsController.Lau @Nullable private TaskDisplayAreaWrapper findTaskDisplayArea(int displayId, int featureId) { - DisplayContent display = mAtm.mRootWindowContainer.getDisplayContentOrCreate(displayId); + DisplayContent display = mAtm.mRootWindowContainer.getDisplayContent(displayId); if (display == null) { return null; } diff --git a/updatableServices/src/com/android/server/wm/CarLaunchParamsModifierUpdatableImpl.java b/updatableServices/src/com/android/server/wm/CarLaunchParamsModifierUpdatableImpl.java index d836c03..03933b4 100644 --- a/updatableServices/src/com/android/server/wm/CarLaunchParamsModifierUpdatableImpl.java +++ b/updatableServices/src/com/android/server/wm/CarLaunchParamsModifierUpdatableImpl.java @@ -272,11 +272,11 @@ public final class CarLaunchParamsModifierUpdatableImpl TaskDisplayAreaWrapper originalDisplayArea = currentParams.getPreferredTaskDisplayArea(); // DisplayArea where CarLaunchParamsModifier targets to launch the Activity. TaskDisplayAreaWrapper targetDisplayArea = null; + ComponentName activityName = activity.getComponentName(); if (DBG) { - Slogf.d(TAG, "onCalculate, userId:%d original displayArea:%s ActivityOptions:%s", - userId, originalDisplayArea, options); + Slogf.d(TAG, "onCalculate, userId:%d original displayArea:%s actvity:%s options:%s", + userId, originalDisplayArea, activityName, options); } - ComponentName activityName = activity.getComponentName(); decision: synchronized (mLock) { // If originalDisplayArea is set, respect that before ActivityOptions check. @@ -350,7 +350,7 @@ public final class CarLaunchParamsModifierUpdatableImpl } if (targetDisplayArea != null && originalDisplayArea != targetDisplayArea) { Slogf.i(TAG, "Changed launching display, user:%d requested display area:%s" - + " target display area:", userId, originalDisplayArea, targetDisplayArea); + + " target display area:%s", userId, originalDisplayArea, targetDisplayArea); outParams.setPreferredTaskDisplayArea(targetDisplayArea); return LaunchParamsWrapper.RESULT_DONE; } else { |