diff options
| -rw-r--r-- | libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/CarWindowDecoration.java | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/CarWindowDecoration.java b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/CarWindowDecoration.java index f6acca95916f..dc1b94e80ed7 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/CarWindowDecoration.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/CarWindowDecoration.java @@ -89,9 +89,6 @@ public class CarWindowDecoration extends WindowDecoration<WindowDecorLinearLayou updateRelayoutParams(mRelayoutParams, taskInfo, isCaptionVisible); relayout(mRelayoutParams, startT, finishT, wct, mRootView, mResult); - if (DesktopModeFlags.ENABLE_DESKTOP_APP_HANDLE_ANIMATION.isTrue()) { - setCaptionVisibility(isCaptionVisible); - } // After this line, mTaskInfo is up-to-date and should be used instead of taskInfo mBgExecutor.execute(() -> mTaskOrganizer.applyTransaction(wct)); @@ -100,19 +97,23 @@ public class CarWindowDecoration extends WindowDecoration<WindowDecorLinearLayou // Nothing is set up in this case including the decoration surface. return; } + if (mRootView != mResult.mRootView) { mRootView = mResult.mRootView; setupRootView(mResult.mRootView, mClickListener); } - } - private void setCaptionVisibility(boolean visible) { - if (mRootView == null) { - return; + if (DesktopModeFlags.ENABLE_DESKTOP_APP_HANDLE_ANIMATION.isTrue()) { + setCaptionVisibility(mRootView, mRelayoutParams.mIsCaptionVisible); } + } + + private void setCaptionVisibility(@NonNull View rootView, boolean visible) { final int v = visible ? View.VISIBLE : View.GONE; - final View captionView = mRootView.findViewById(getCaptionViewId()); - captionView.setVisibility(v); + final View captionView = rootView.findViewById(getCaptionViewId()); + if (captionView != null) { + captionView.setVisibility(v); + } } @Override |