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

Commit 2ba6d2ac authored by Cosmin Băieș's avatar Cosmin Băieș Committed by Android (Google) Code Review
Browse files

Merge changes from topics "ime-tracker-invokers",...

Merge changes from topics "ime-tracker-invokers", "statsToken-imeRequestedChangedListener" into main

* changes:
  Create statsToken in ImeRequestedChangedListener
  Add ImeTracker phases for the invokers
parents 8584977e 53cb5175
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -232,6 +232,8 @@ public interface ImeTracker {
            PHASE_WM_NOTIFY_HIDE_ANIMATION_FINISHED,
            PHASE_WM_UPDATE_DISPLAY_WINDOW_ANIMATING_TYPES,
            PHASE_CLIENT_ON_CONTROLS_CHANGED,
            PHASE_SERVER_IME_INVOKER,
            PHASE_SERVER_CLIENT_INVOKER,
    })
    @Retention(RetentionPolicy.SOURCE)
    @interface Phase {}
@@ -473,6 +475,10 @@ public interface ImeTracker {
    /** InsetsController received a control for the IME. */
    int PHASE_CLIENT_ON_CONTROLS_CHANGED =
            ImeProtoEnums.PHASE_CLIENT_ON_CONTROLS_CHANGED;
    /** Reached the IME invoker on the server. */
    int PHASE_SERVER_IME_INVOKER = ImeProtoEnums.PHASE_SERVER_IME_INVOKER;
    /** Reached the IME client invoker on the server. */
    int PHASE_SERVER_CLIENT_INVOKER = ImeProtoEnums.PHASE_SERVER_CLIENT_INVOKER;

    /**
     * Called when an IME request is started.
+2 −0
Original line number Diff line number Diff line
@@ -305,6 +305,8 @@ public final class InputMethodDebug {
                return "HIDE_INPUT_TARGET_CHANGED";
            case SoftInputShowHideReason.HIDE_WINDOW_LOST_FOCUS:
                return "HIDE_WINDOW_LOST_FOCUS";
            case SoftInputShowHideReason.IME_REQUESTED_CHANGED_LISTENER:
                return "IME_REQUESTED_CHANGED_LISTENER";
            default:
                return "Unknown=" + reason;
        }
+7 −0
Original line number Diff line number Diff line
@@ -92,6 +92,7 @@ import java.lang.annotation.Retention;
        SoftInputShowHideReason.SHOW_INPUT_TARGET_CHANGED,
        SoftInputShowHideReason.HIDE_INPUT_TARGET_CHANGED,
        SoftInputShowHideReason.HIDE_WINDOW_LOST_FOCUS,
        SoftInputShowHideReason.IME_REQUESTED_CHANGED_LISTENER,
})
public @interface SoftInputShowHideReason {
    /** Default, undefined reason. */
@@ -422,4 +423,10 @@ public @interface SoftInputShowHideReason {

    /** Hide soft input when the window lost focus. */
    int HIDE_WINDOW_LOST_FOCUS = ImeProtoEnums.REASON_HIDE_WINDOW_LOST_FOCUS;

    /**
     * Show / Hide soft input by
     *  {@link com.android.server.wm.WindowManagerInternal.OnImeRequestedChangedListener}
     */
    int IME_REQUESTED_CHANGED_LISTENER = ImeProtoEnums.REASON_IME_REQUESTED_CHANGED_LISTENER;
}
+2 −0
Original line number Diff line number Diff line
@@ -256,9 +256,11 @@ final class IInputMethodClientInvoker {
    @AnyThread
    private void setImeVisibilityInternal(boolean visible, @Nullable ImeTracker.Token statsToken) {
        try {
            ImeTracker.forLogging().onProgress(statsToken, ImeTracker.PHASE_SERVER_CLIENT_INVOKER);
            mTarget.setImeVisibility(visible, statsToken);
        } catch (RemoteException e) {
            logRemoteException(e);
            ImeTracker.forLogging().onFailed(statsToken, ImeTracker.PHASE_SERVER_CLIENT_INVOKER);
        }
    }

+4 −0
Original line number Diff line number Diff line
@@ -205,9 +205,11 @@ final class IInputMethodInvoker {
    boolean showSoftInput(IBinder showInputToken, @NonNull ImeTracker.Token statsToken,
            @InputMethod.ShowFlags int flags, ResultReceiver resultReceiver) {
        try {
            ImeTracker.forLogging().onProgress(statsToken, ImeTracker.PHASE_SERVER_IME_INVOKER);
            mTarget.showSoftInput(showInputToken, statsToken, flags, resultReceiver);
        } catch (RemoteException e) {
            logRemoteException(e);
            ImeTracker.forLogging().onFailed(statsToken, ImeTracker.PHASE_SERVER_IME_INVOKER);
            return false;
        }
        return true;
@@ -218,9 +220,11 @@ final class IInputMethodInvoker {
    boolean hideSoftInput(IBinder hideInputToken, @NonNull ImeTracker.Token statsToken,
            int flags, ResultReceiver resultReceiver) {
        try {
            ImeTracker.forLogging().onProgress(statsToken, ImeTracker.PHASE_SERVER_IME_INVOKER);
            mTarget.hideSoftInput(hideInputToken, statsToken, flags, resultReceiver);
        } catch (RemoteException e) {
            logRemoteException(e);
            ImeTracker.forLogging().onFailed(statsToken, ImeTracker.PHASE_SERVER_IME_INVOKER);
            return false;
        }
        return true;
Loading