diff --git a/core/java/android/view/SurfaceControlViewHost.java b/core/java/android/view/SurfaceControlViewHost.java index 7086dc09c8a30..385078165e844 100644 --- a/core/java/android/view/SurfaceControlViewHost.java +++ b/core/java/android/view/SurfaceControlViewHost.java @@ -275,12 +275,4 @@ public class SurfaceControlViewHost { // ViewRoot will release mSurfaceControl for us. mViewRoot.die(false /* immediate */); } - - /** - * Tell this viewroot to clean itself up. - * @hide - */ - public void die() { - mViewRoot.die(false /* immediate */); - } } diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/system/SurfaceViewRequestReceiver.java b/packages/SystemUI/shared/src/com/android/systemui/shared/system/SurfaceViewRequestReceiver.java index 8bd7c790682d9..30156a0cd6f1f 100644 --- a/packages/SystemUI/shared/src/com/android/systemui/shared/system/SurfaceViewRequestReceiver.java +++ b/packages/SystemUI/shared/src/com/android/systemui/shared/system/SurfaceViewRequestReceiver.java @@ -58,7 +58,7 @@ public class SurfaceViewRequestReceiver { */ public void onReceive(Context context, Bundle bundle, View view, Size viewSize) { if (mSurfaceControlViewHost != null) { - mSurfaceControlViewHost.die(); + mSurfaceControlViewHost.release(); } SurfaceControl surfaceControl = SurfaceViewRequestUtils.getSurfaceControl(bundle); diff --git a/packages/SystemUI/src/com/android/systemui/stackdivider/Divider.java b/packages/SystemUI/src/com/android/systemui/stackdivider/Divider.java index 02a7aca38abe7..db33c79be773c 100644 --- a/packages/SystemUI/src/com/android/systemui/stackdivider/Divider.java +++ b/packages/SystemUI/src/com/android/systemui/stackdivider/Divider.java @@ -592,13 +592,11 @@ public class Divider extends SystemUI implements DividerView.DividerCallbacks, removeDivider(); addDivider(configuration); - if (mView != null) { - if (mMinimized) { - mView.setMinimizedDockStack(true, mHomeStackResizable); - updateTouchable(); - } - mView.setHidden(isDividerHidden); + if (mMinimized) { + mView.setMinimizedDockStack(true, mHomeStackResizable); + updateTouchable(); } + mView.setHidden(isDividerHidden); } void onTaskVanished() { @@ -610,7 +608,7 @@ public class Divider extends SystemUI implements DividerView.DividerCallbacks, mContext.getDisplayId()).getResources().getConfiguration())); } - void updateVisibility(final boolean visible) { + private void updateVisibility(final boolean visible) { if (DEBUG) Slog.d(TAG, "Updating visibility " + mVisible + "->" + visible); if (mVisible != visible) { mVisible = visible; @@ -639,6 +637,7 @@ public class Divider extends SystemUI implements DividerView.DividerCallbacks, void onSplitDismissed() { mMinimized = false; updateVisibility(false /* visible */); + removeDivider(); } /** Switch to minimized state if appropriate */ @@ -788,6 +787,8 @@ public class Divider extends SystemUI implements DividerView.DividerCallbacks, } void startEnterSplit() { + update(mDisplayController.getDisplayContext( + mContext.getDisplayId()).getResources().getConfiguration()); // Set resizable directly here because applyEnterSplit already resizes home stack. mHomeStackResizable = WindowManagerProxy.applyEnterSplit(mSplits, mSplitLayout); } diff --git a/packages/SystemUI/src/com/android/systemui/wm/SystemWindows.java b/packages/SystemUI/src/com/android/systemui/wm/SystemWindows.java index 93f45c51f0ebc..21f67aef56044 100644 --- a/packages/SystemUI/src/com/android/systemui/wm/SystemWindows.java +++ b/packages/SystemUI/src/com/android/systemui/wm/SystemWindows.java @@ -125,7 +125,7 @@ public class SystemWindows { */ public void removeView(View view) { SurfaceControlViewHost root = mViewRoots.remove(view); - root.die(); + root.release(); } /** diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java index 4c1d6f3b9892f..91749a6acb483 100644 --- a/services/core/java/com/android/server/wm/WindowManagerService.java +++ b/services/core/java/com/android/server/wm/WindowManagerService.java @@ -8082,6 +8082,7 @@ public class WindowManagerService extends IWindowManager.Stub t.setInputWindowInfo(surface, h); t.apply(); t.close(); + surface.release(); } /**