Loading libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleController.java +8 −1 Original line number Diff line number Diff line Loading @@ -773,6 +773,9 @@ public class BubbleController implements ConfigurationChangeListener, * Hides the current input method, wherever it may be focused, via InputMethodManagerInternal. */ void hideCurrentInputMethod(@Nullable Runnable onImeHidden) { final boolean isDeviceLocked = isDeviceLocked(); ProtoLog.d(WM_SHELL_BUBBLES, "hideCurrentInputMethod, runnable=%s, deviceLocked=%b", onImeHidden, isDeviceLocked); mOnImeHidden = onImeHidden; mBubblePositioner.setImeVisible(false /* visible */, 0 /* height */); int displayId = mWindowManager.getDefaultDisplay().getDisplayId(); Loading @@ -780,7 +783,7 @@ public class BubbleController implements ConfigurationChangeListener, // the IME state is frozen and it will lead to internal IME state going out of sync. This // will make the IME visible when the device is unlocked. Instead we use // DisplayImeController directly to make sure the state is correct when the device unlocks. if (isDeviceLocked()) { if (isDeviceLocked) { mDisplayImeController.hideImeForBubblesWhenLocked(displayId); return; } Loading @@ -796,6 +799,7 @@ public class BubbleController implements ConfigurationChangeListener, * {@link #hideCurrentInputMethod(Runnable)} */ void clearImeHiddenRunnable() { ProtoLog.d(WM_SHELL_BUBBLES, "clearImeHiddenRunnable, runnable=%s", mOnImeHidden); mOnImeHidden = null; } Loading Loading @@ -3192,6 +3196,9 @@ public class BubbleController implements ConfigurationChangeListener, if (getDisplayId() != mContext.getDisplayId()) { return; } ProtoLog.d(WM_SHELL_BUBBLES, "onImeVisibilityChanged visible=%b runnable=%s stackView=%s", imeVisible, mOnImeHidden, mStackView); // the imeHeight here is actually the ime inset; it only includes the part of the ime // that overlaps with the Bubbles window. adjust it to include the bottom screen inset, // so we have the total height of the ime. Loading libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleStackView.java +2 −0 Original line number Diff line number Diff line Loading @@ -362,6 +362,7 @@ public class BubbleStackView extends FrameLayout pw.print(" stack visibility : "); pw.println(getVisibility()); pw.print(" temporarilyInvisible: "); pw.println(mTemporarilyInvisible); pw.print(" expandedViewTemporarilyHidden: "); pw.println(mExpandedViewTemporarilyHidden); pw.print(" imeVisible: "); pw.println(mIsImeVisible); mStackAnimationController.dump(pw); mExpandedAnimationController.dump(pw); mExpandedViewAnimationController.dump(pw); Loading Loading @@ -2601,6 +2602,7 @@ public class BubbleStackView extends FrameLayout // order to avoid flickers // TODO: b/424812643 - clean up the onImeHidden runnable Runnable onImeHidden = () -> { ProtoLog.d(WM_SHELL_BUBBLES, "running on ime hidden"); if (!isAttachedToWindow()) { Log.w(TAG, "onImeHidden runnable running but we're not attached."); } Loading Loading
libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleController.java +8 −1 Original line number Diff line number Diff line Loading @@ -773,6 +773,9 @@ public class BubbleController implements ConfigurationChangeListener, * Hides the current input method, wherever it may be focused, via InputMethodManagerInternal. */ void hideCurrentInputMethod(@Nullable Runnable onImeHidden) { final boolean isDeviceLocked = isDeviceLocked(); ProtoLog.d(WM_SHELL_BUBBLES, "hideCurrentInputMethod, runnable=%s, deviceLocked=%b", onImeHidden, isDeviceLocked); mOnImeHidden = onImeHidden; mBubblePositioner.setImeVisible(false /* visible */, 0 /* height */); int displayId = mWindowManager.getDefaultDisplay().getDisplayId(); Loading @@ -780,7 +783,7 @@ public class BubbleController implements ConfigurationChangeListener, // the IME state is frozen and it will lead to internal IME state going out of sync. This // will make the IME visible when the device is unlocked. Instead we use // DisplayImeController directly to make sure the state is correct when the device unlocks. if (isDeviceLocked()) { if (isDeviceLocked) { mDisplayImeController.hideImeForBubblesWhenLocked(displayId); return; } Loading @@ -796,6 +799,7 @@ public class BubbleController implements ConfigurationChangeListener, * {@link #hideCurrentInputMethod(Runnable)} */ void clearImeHiddenRunnable() { ProtoLog.d(WM_SHELL_BUBBLES, "clearImeHiddenRunnable, runnable=%s", mOnImeHidden); mOnImeHidden = null; } Loading Loading @@ -3192,6 +3196,9 @@ public class BubbleController implements ConfigurationChangeListener, if (getDisplayId() != mContext.getDisplayId()) { return; } ProtoLog.d(WM_SHELL_BUBBLES, "onImeVisibilityChanged visible=%b runnable=%s stackView=%s", imeVisible, mOnImeHidden, mStackView); // the imeHeight here is actually the ime inset; it only includes the part of the ime // that overlaps with the Bubbles window. adjust it to include the bottom screen inset, // so we have the total height of the ime. Loading
libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleStackView.java +2 −0 Original line number Diff line number Diff line Loading @@ -362,6 +362,7 @@ public class BubbleStackView extends FrameLayout pw.print(" stack visibility : "); pw.println(getVisibility()); pw.print(" temporarilyInvisible: "); pw.println(mTemporarilyInvisible); pw.print(" expandedViewTemporarilyHidden: "); pw.println(mExpandedViewTemporarilyHidden); pw.print(" imeVisible: "); pw.println(mIsImeVisible); mStackAnimationController.dump(pw); mExpandedAnimationController.dump(pw); mExpandedViewAnimationController.dump(pw); Loading Loading @@ -2601,6 +2602,7 @@ public class BubbleStackView extends FrameLayout // order to avoid flickers // TODO: b/424812643 - clean up the onImeHidden runnable Runnable onImeHidden = () -> { ProtoLog.d(WM_SHELL_BUBBLES, "running on ime hidden"); if (!isAttachedToWindow()) { Log.w(TAG, "onImeHidden runnable running but we're not attached."); } Loading