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

Commit e5dff502 authored by Felix Stern's avatar Felix Stern Committed by Android (Google) Code Review
Browse files

Merge "Add a new ImeTracker request when dispatching controls, if not...

Merge "Add a new ImeTracker request when dispatching controls, if not statsToken available" into main
parents 7aad9299 70625f93
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -134,6 +134,7 @@ public interface ImeTracker {
            ORIGIN_CLIENT,
            ORIGIN_SERVER,
            ORIGIN_IME,
            ORIGIN_WM_SHELL,
    })
    @Retention(RetentionPolicy.SOURCE)
    @interface Origin {}
+11 −5
Original line number Diff line number Diff line
@@ -182,14 +182,20 @@ final class ImeInsetsSourceProvider extends InsetsSourceProvider {
            if (control != null && control.getLeash() != null) {
                ImeTracker.Token statsToken = getAndClearStatsToken();
                if (statsToken == null) {
                    ProtoLog.d(WM_DEBUG_IME, "IME getControl without statsToken");
                } else {
                    ProtoLog.w(WM_DEBUG_IME,
                            "IME getControl without statsToken (check previous request!). "
                                    + "Start new request");
                    // TODO(b/353463205) remove this later after fixing the race of two requests
                    //  that cancel each other (cf. b/383466954#comment19).
                    statsToken = ImeTracker.forLogging().onStart(ImeTracker.TYPE_SHOW,
                            ImeTracker.ORIGIN_SERVER, SoftInputShowHideReason.CONTROLS_CHANGED,
                            false /* fromUser */);
                }
                ImeTracker.forLogging().onProgress(statsToken,
                        ImeTracker.PHASE_WM_GET_CONTROL_WITH_LEASH);
                control.setImeStatsToken(statsToken);
            }
        }
        }
        return control;
    }