Loading core/java/android/view/InsetsController.java +12 −0 Original line number Diff line number Diff line Loading @@ -1030,10 +1030,18 @@ public class InsetsController implements WindowInsetsController, InsetsAnimation handlePendingControlRequest(statsToken); } else { if (showTypes[0] != 0) { if ((showTypes[0] & ime()) != 0) { ImeTracker.forLogging().onProgress(statsToken, ImeTracker.PHASE_CLIENT_ON_CONTROLS_CHANGED); } applyAnimation(showTypes[0], true /* show */, false /* fromIme */, false /* skipsCallbacks */, statsToken); } if (hideTypes[0] != 0) { if ((hideTypes[0] & ime()) != 0) { ImeTracker.forLogging().onProgress(statsToken, ImeTracker.PHASE_CLIENT_ON_CONTROLS_CHANGED); } applyAnimation(hideTypes[0], false /* show */, false /* fromIme */, // The animation of hiding transient types shouldn't be detected by the // app. Otherwise, it might be able to react to the callbacks and cause Loading @@ -1041,6 +1049,10 @@ public class InsetsController implements WindowInsetsController, InsetsAnimation (hideTypes[0] & ~transientTypes[0]) == 0 /* skipsCallbacks */, statsToken); } if ((showTypes[0] & ime()) == 0 && (hideTypes[0] & ime()) == 0) { ImeTracker.forLogging().onCancelled(statsToken, ImeTracker.PHASE_CLIENT_ON_CONTROLS_CHANGED); } } } else { if (showTypes[0] != 0) { Loading core/java/android/view/inputmethod/ImeTracker.java +4 −0 Original line number Diff line number Diff line Loading @@ -231,6 +231,7 @@ public interface ImeTracker { PHASE_WM_WINDOW_ANIMATING_TYPES_CHANGED, PHASE_WM_NOTIFY_HIDE_ANIMATION_FINISHED, PHASE_WM_UPDATE_DISPLAY_WINDOW_ANIMATING_TYPES, PHASE_CLIENT_ON_CONTROLS_CHANGED, }) @Retention(RetentionPolicy.SOURCE) @interface Phase {} Loading Loading @@ -469,6 +470,9 @@ public interface ImeTracker { /** The control target reported its animatingTypes back to WindowManagerService. */ int PHASE_WM_UPDATE_DISPLAY_WINDOW_ANIMATING_TYPES = ImeProtoEnums.PHASE_WM_UPDATE_DISPLAY_WINDOW_ANIMATING_TYPES; /** InsetsController received a control for the IME. */ int PHASE_CLIENT_ON_CONTROLS_CHANGED = ImeProtoEnums.PHASE_CLIENT_ON_CONTROLS_CHANGED; /** * Called when an IME request is started. Loading Loading
core/java/android/view/InsetsController.java +12 −0 Original line number Diff line number Diff line Loading @@ -1030,10 +1030,18 @@ public class InsetsController implements WindowInsetsController, InsetsAnimation handlePendingControlRequest(statsToken); } else { if (showTypes[0] != 0) { if ((showTypes[0] & ime()) != 0) { ImeTracker.forLogging().onProgress(statsToken, ImeTracker.PHASE_CLIENT_ON_CONTROLS_CHANGED); } applyAnimation(showTypes[0], true /* show */, false /* fromIme */, false /* skipsCallbacks */, statsToken); } if (hideTypes[0] != 0) { if ((hideTypes[0] & ime()) != 0) { ImeTracker.forLogging().onProgress(statsToken, ImeTracker.PHASE_CLIENT_ON_CONTROLS_CHANGED); } applyAnimation(hideTypes[0], false /* show */, false /* fromIme */, // The animation of hiding transient types shouldn't be detected by the // app. Otherwise, it might be able to react to the callbacks and cause Loading @@ -1041,6 +1049,10 @@ public class InsetsController implements WindowInsetsController, InsetsAnimation (hideTypes[0] & ~transientTypes[0]) == 0 /* skipsCallbacks */, statsToken); } if ((showTypes[0] & ime()) == 0 && (hideTypes[0] & ime()) == 0) { ImeTracker.forLogging().onCancelled(statsToken, ImeTracker.PHASE_CLIENT_ON_CONTROLS_CHANGED); } } } else { if (showTypes[0] != 0) { Loading
core/java/android/view/inputmethod/ImeTracker.java +4 −0 Original line number Diff line number Diff line Loading @@ -231,6 +231,7 @@ public interface ImeTracker { PHASE_WM_WINDOW_ANIMATING_TYPES_CHANGED, PHASE_WM_NOTIFY_HIDE_ANIMATION_FINISHED, PHASE_WM_UPDATE_DISPLAY_WINDOW_ANIMATING_TYPES, PHASE_CLIENT_ON_CONTROLS_CHANGED, }) @Retention(RetentionPolicy.SOURCE) @interface Phase {} Loading Loading @@ -469,6 +470,9 @@ public interface ImeTracker { /** The control target reported its animatingTypes back to WindowManagerService. */ int PHASE_WM_UPDATE_DISPLAY_WINDOW_ANIMATING_TYPES = ImeProtoEnums.PHASE_WM_UPDATE_DISPLAY_WINDOW_ANIMATING_TYPES; /** InsetsController received a control for the IME. */ int PHASE_CLIENT_ON_CONTROLS_CHANGED = ImeProtoEnums.PHASE_CLIENT_ON_CONTROLS_CHANGED; /** * Called when an IME request is started. Loading