Loading services/core/java/com/android/server/wm/DisplayContent.java +0 −5 Original line number Diff line number Diff line Loading @@ -5797,11 +5797,6 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo Slog.w(TAG, "Failed to deliver showInsets", e); } } @Override public boolean isClientControlled() { return false; } } /** Loading services/core/java/com/android/server/wm/InsetsControlTarget.java +0 −7 Original line number Diff line number Diff line Loading @@ -62,11 +62,4 @@ interface InsetsControlTarget { return false; } /** * Returns {@code true} if the object controlling the insets is on client. */ default boolean isClientControlled() { return true; } } services/core/java/com/android/server/wm/InsetsSourceProvider.java +17 −3 Original line number Diff line number Diff line Loading @@ -351,14 +351,28 @@ class InsetsSourceProvider { } private void updateVisibility() { final boolean isClientControlled = mControlTarget != null && mControlTarget.isClientControlled(); mSource.setVisible(mServerVisible && (!isClientControlled || mClientVisible)); mSource.setVisible(mServerVisible && (isMirroredSource() || mClientVisible)); ProtoLog.d(WM_DEBUG_IME, "InsetsSource updateVisibility serverVisible: %s clientVisible: %s", mServerVisible, mClientVisible); } private boolean isMirroredSource() { if (mWin == null) { return false; } final int[] provides = mWin.mAttrs.providesInsetsTypes; if (provides == null) { return false; } for (int i = 0; i < provides.length; i++) { if (provides[i] == ITYPE_IME) { return true; } } return false; } InsetsSourceControl getControl(InsetsControlTarget target) { if (target == mControlTarget) { if (!mIsLeashReadyForDispatching && mControl != null) { Loading Loading
services/core/java/com/android/server/wm/DisplayContent.java +0 −5 Original line number Diff line number Diff line Loading @@ -5797,11 +5797,6 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo Slog.w(TAG, "Failed to deliver showInsets", e); } } @Override public boolean isClientControlled() { return false; } } /** Loading
services/core/java/com/android/server/wm/InsetsControlTarget.java +0 −7 Original line number Diff line number Diff line Loading @@ -62,11 +62,4 @@ interface InsetsControlTarget { return false; } /** * Returns {@code true} if the object controlling the insets is on client. */ default boolean isClientControlled() { return true; } }
services/core/java/com/android/server/wm/InsetsSourceProvider.java +17 −3 Original line number Diff line number Diff line Loading @@ -351,14 +351,28 @@ class InsetsSourceProvider { } private void updateVisibility() { final boolean isClientControlled = mControlTarget != null && mControlTarget.isClientControlled(); mSource.setVisible(mServerVisible && (!isClientControlled || mClientVisible)); mSource.setVisible(mServerVisible && (isMirroredSource() || mClientVisible)); ProtoLog.d(WM_DEBUG_IME, "InsetsSource updateVisibility serverVisible: %s clientVisible: %s", mServerVisible, mClientVisible); } private boolean isMirroredSource() { if (mWin == null) { return false; } final int[] provides = mWin.mAttrs.providesInsetsTypes; if (provides == null) { return false; } for (int i = 0; i < provides.length; i++) { if (provides[i] == ITYPE_IME) { return true; } } return false; } InsetsSourceControl getControl(InsetsControlTarget target) { if (target == mControlTarget) { if (!mIsLeashReadyForDispatching && mControl != null) { Loading