Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 15892ce1 authored by Felix Stern's avatar Felix Stern
Browse files

Adjust ImeTracker phases

Change-Id: I402f3c7babc927988890f54f31aa6b2b40474284
Test: None
Bug: 353463205
Flag: android.view.inputmethod.refactor_insets_controller
parent 95c04019
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -948,7 +948,7 @@ public final class InputMethodManager {
                            // requestedVisibleTypes of WindowInsetsController by hiding the IME
                            final var statsToken = ImeTracker.forLogging().onStart(
                                    ImeTracker.TYPE_HIDE, ImeTracker.ORIGIN_CLIENT,
                                    SoftInputShowHideReason.REASON_HIDE_WINDOW_LOST_FOCUS,
                                    SoftInputShowHideReason.HIDE_WINDOW_LOST_FOCUS,
                                    false /* fromUser */);
                            if (DEBUG) {
                                Log.d(TAG, "onWindowLostFocus, hiding IME because "
+6 −0
Original line number Diff line number Diff line
@@ -299,6 +299,12 @@ public final class InputMethodDebug {
                return "SHOW_SOFT_INPUT_IMM_DEPRECATION";
            case SoftInputShowHideReason.CONTROL_WINDOW_INSETS_ANIMATION:
                return "CONTROL_WINDOW_INSETS_ANIMATION";
            case SoftInputShowHideReason.SHOW_INPUT_TARGET_CHANGED:
                return "SHOW_INPUT_TARGET_CHANGED";
            case SoftInputShowHideReason.HIDE_INPUT_TARGET_CHANGED:
                return "HIDE_INPUT_TARGET_CHANGED";
            case SoftInputShowHideReason.HIDE_WINDOW_LOST_FOCUS:
                return "HIDE_WINDOW_LOST_FOCUS";
            default:
                return "Unknown=" + reason;
        }
+14 −14
Original line number Diff line number Diff line
@@ -91,7 +91,7 @@ import java.lang.annotation.Retention;
        SoftInputShowHideReason.CONTROL_WINDOW_INSETS_ANIMATION,
        SoftInputShowHideReason.SHOW_INPUT_TARGET_CHANGED,
        SoftInputShowHideReason.HIDE_INPUT_TARGET_CHANGED,
        SoftInputShowHideReason.REASON_HIDE_WINDOW_LOST_FOCUS,
        SoftInputShowHideReason.HIDE_WINDOW_LOST_FOCUS,
})
public @interface SoftInputShowHideReason {
    /** Default, undefined reason. */
@@ -339,18 +339,6 @@ public @interface SoftInputShowHideReason {
     */
    int HIDE_WINDOW_LEGACY_DIRECT = ImeProtoEnums.REASON_HIDE_WINDOW_LEGACY_DIRECT;

    /**
     * Show soft input because the input target changed
     * {@link com.android.server.wm.ImeInsetsSourceProvider#onInputTargetChanged}.
     */
    int SHOW_INPUT_TARGET_CHANGED = ImeProtoEnums.REASON_SHOW_INPUT_TARGET_CHANGED;

    /**
     * Hide soft input because the input target changed by
     * {@link com.android.server.wm.ImeInsetsSourceProvider#onInputTargetChanged}.
     */
    int HIDE_INPUT_TARGET_CHANGED = ImeProtoEnums.REASON_HIDE_INPUT_TARGET_CHANGED;

    /**
     * Show / Hide soft input by
     * {@link android.inputmethodservice.InputMethodService#resetStateForNewConfiguration}.
@@ -420,6 +408,18 @@ public @interface SoftInputShowHideReason {
     */
    int CONTROL_WINDOW_INSETS_ANIMATION = ImeProtoEnums.REASON_CONTROL_WINDOW_INSETS_ANIMATION;

    /**
     * Show soft input because the input target changed
     * {@link com.android.server.wm.ImeInsetsSourceProvider#onInputTargetChanged}.
     */
    int SHOW_INPUT_TARGET_CHANGED = ImeProtoEnums.REASON_SHOW_INPUT_TARGET_CHANGED;

    /**
     * Hide soft input because the input target changed by
     * {@link com.android.server.wm.ImeInsetsSourceProvider#onInputTargetChanged}.
     */
    int HIDE_INPUT_TARGET_CHANGED = ImeProtoEnums.REASON_HIDE_INPUT_TARGET_CHANGED;

    /** Hide soft input when the window lost focus. */
    int REASON_HIDE_WINDOW_LOST_FOCUS = ImeProtoEnums.REASON_HIDE_WINDOW_LOST_FOCUS;
    int HIDE_WINDOW_LOST_FOCUS = ImeProtoEnums.REASON_HIDE_WINDOW_LOST_FOCUS;
}
+2 −1
Original line number Diff line number Diff line
@@ -324,7 +324,8 @@ final class ImeInsetsSourceProvider extends InsetsSourceProvider {
            if (target != imeControlTarget) {
                // TODO(b/353463205): check if fromUser=false is correct here
                boolean imeVisible = target.isRequestedVisible(WindowInsets.Type.ime());
                ImeTracker.Token statsToken = ImeTracker.forLogging().onStart(ImeTracker.TYPE_HIDE,
                ImeTracker.Token statsToken = ImeTracker.forLogging().onStart(
                        imeVisible ? ImeTracker.TYPE_SHOW : ImeTracker.TYPE_HIDE,
                        ImeTracker.ORIGIN_SERVER,
                        imeVisible ? SoftInputShowHideReason.SHOW_INPUT_TARGET_CHANGED
                                : SoftInputShowHideReason.HIDE_INPUT_TARGET_CHANGED,