Loading core/java/com/android/internal/inputmethod/InputMethodDebug.java +2 −0 Original line number Diff line number Diff line Loading @@ -307,6 +307,8 @@ public final class InputMethodDebug { return "HIDE_WINDOW_LOST_FOCUS"; case SoftInputShowHideReason.IME_REQUESTED_CHANGED_LISTENER: return "IME_REQUESTED_CHANGED_LISTENER"; case SoftInputShowHideReason.HIDE_FOR_BUBBLES_WHEN_LOCKED: return "HIDE_FOR_BUBBLES_WHEN_LOCKED"; default: return "Unknown=" + reason; } Loading core/java/com/android/internal/inputmethod/SoftInputShowHideReason.java +4 −0 Original line number Diff line number Diff line Loading @@ -93,6 +93,7 @@ import java.lang.annotation.Retention; SoftInputShowHideReason.HIDE_INPUT_TARGET_CHANGED, SoftInputShowHideReason.HIDE_WINDOW_LOST_FOCUS, SoftInputShowHideReason.IME_REQUESTED_CHANGED_LISTENER, SoftInputShowHideReason.HIDE_FOR_BUBBLES_WHEN_LOCKED, }) public @interface SoftInputShowHideReason { /** Default, undefined reason. */ Loading Loading @@ -429,4 +430,7 @@ public @interface SoftInputShowHideReason { * {@link com.android.server.wm.WindowManagerInternal.OnImeRequestedChangedListener} */ int IME_REQUESTED_CHANGED_LISTENER = ImeProtoEnums.REASON_IME_REQUESTED_CHANGED_LISTENER; /** When locking the screen while the IME is showing, Bubbles requests the IME to hide. */ int HIDE_FOR_BUBBLES_WHEN_LOCKED = ImeProtoEnums.REASON_HIDE_FOR_BUBBLES_WHEN_LOCKED; } libs/WindowManager/Shell/src/com/android/wm/shell/common/DisplayImeController.java +4 −4 Original line number Diff line number Diff line Loading @@ -229,10 +229,10 @@ public class DisplayImeController implements DisplayController.OnDisplaysChanged PerDisplay pd = mImePerDisplay.get(displayId); InsetsSourceControl imeSourceControl = pd.getImeSourceControl(); if (imeSourceControl != null) { ImeTracker.Token imeStatsToken = imeSourceControl.getImeStatsToken(); if (imeStatsToken != null) { pd.setImeInputTargetRequestedVisibility(false, imeStatsToken); } final var statsToken = ImeTracker.forLogging().onStart(ImeTracker.TYPE_HIDE, ImeTracker.ORIGIN_WM_SHELL, SoftInputShowHideReason.HIDE_FOR_BUBBLES_WHEN_LOCKED, false /* fromUser */); pd.setImeInputTargetRequestedVisibility(false, statsToken); } } Loading Loading
core/java/com/android/internal/inputmethod/InputMethodDebug.java +2 −0 Original line number Diff line number Diff line Loading @@ -307,6 +307,8 @@ public final class InputMethodDebug { return "HIDE_WINDOW_LOST_FOCUS"; case SoftInputShowHideReason.IME_REQUESTED_CHANGED_LISTENER: return "IME_REQUESTED_CHANGED_LISTENER"; case SoftInputShowHideReason.HIDE_FOR_BUBBLES_WHEN_LOCKED: return "HIDE_FOR_BUBBLES_WHEN_LOCKED"; default: return "Unknown=" + reason; } Loading
core/java/com/android/internal/inputmethod/SoftInputShowHideReason.java +4 −0 Original line number Diff line number Diff line Loading @@ -93,6 +93,7 @@ import java.lang.annotation.Retention; SoftInputShowHideReason.HIDE_INPUT_TARGET_CHANGED, SoftInputShowHideReason.HIDE_WINDOW_LOST_FOCUS, SoftInputShowHideReason.IME_REQUESTED_CHANGED_LISTENER, SoftInputShowHideReason.HIDE_FOR_BUBBLES_WHEN_LOCKED, }) public @interface SoftInputShowHideReason { /** Default, undefined reason. */ Loading Loading @@ -429,4 +430,7 @@ public @interface SoftInputShowHideReason { * {@link com.android.server.wm.WindowManagerInternal.OnImeRequestedChangedListener} */ int IME_REQUESTED_CHANGED_LISTENER = ImeProtoEnums.REASON_IME_REQUESTED_CHANGED_LISTENER; /** When locking the screen while the IME is showing, Bubbles requests the IME to hide. */ int HIDE_FOR_BUBBLES_WHEN_LOCKED = ImeProtoEnums.REASON_HIDE_FOR_BUBBLES_WHEN_LOCKED; }
libs/WindowManager/Shell/src/com/android/wm/shell/common/DisplayImeController.java +4 −4 Original line number Diff line number Diff line Loading @@ -229,10 +229,10 @@ public class DisplayImeController implements DisplayController.OnDisplaysChanged PerDisplay pd = mImePerDisplay.get(displayId); InsetsSourceControl imeSourceControl = pd.getImeSourceControl(); if (imeSourceControl != null) { ImeTracker.Token imeStatsToken = imeSourceControl.getImeStatsToken(); if (imeStatsToken != null) { pd.setImeInputTargetRequestedVisibility(false, imeStatsToken); } final var statsToken = ImeTracker.forLogging().onStart(ImeTracker.TYPE_HIDE, ImeTracker.ORIGIN_WM_SHELL, SoftInputShowHideReason.HIDE_FOR_BUBBLES_WHEN_LOCKED, false /* fromUser */); pd.setImeInputTargetRequestedVisibility(false, statsToken); } } Loading