summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Treehugger Robot <android-test-infra-autosubmit@system.gserviceaccount.com> 2024-12-10 11:02:45 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2024-12-10 11:02:45 +0000
commitd45af670c16b31019c00cb173da3405a3aa83d61 (patch)
tree88925adf1beea92dc7b0ed89d01677b10d9aea1b
parent7e4083d8acbe7ccfd15bf628bef3b45fb78ca52a (diff)
parent15892ce1bbf68f49fc80ac6e0f99bc27bd1bd839 (diff)
Merge "Adjust ImeTracker phases" into main
-rw-r--r--core/java/android/view/inputmethod/InputMethodManager.java2
-rw-r--r--core/java/com/android/internal/inputmethod/InputMethodDebug.java6
-rw-r--r--core/java/com/android/internal/inputmethod/SoftInputShowHideReason.java28
-rw-r--r--services/core/java/com/android/server/wm/ImeInsetsSourceProvider.java3
4 files changed, 23 insertions, 16 deletions
diff --git a/core/java/android/view/inputmethod/InputMethodManager.java b/core/java/android/view/inputmethod/InputMethodManager.java
index 6d89f3d89077..f82e5f984f5d 100644
--- a/core/java/android/view/inputmethod/InputMethodManager.java
+++ b/core/java/android/view/inputmethod/InputMethodManager.java
@@ -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 "
diff --git a/core/java/com/android/internal/inputmethod/InputMethodDebug.java b/core/java/com/android/internal/inputmethod/InputMethodDebug.java
index 2a5593f6d584..4d5e67ab8fde 100644
--- a/core/java/com/android/internal/inputmethod/InputMethodDebug.java
+++ b/core/java/com/android/internal/inputmethod/InputMethodDebug.java
@@ -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;
}
diff --git a/core/java/com/android/internal/inputmethod/SoftInputShowHideReason.java b/core/java/com/android/internal/inputmethod/SoftInputShowHideReason.java
index 592ea9e5e600..cf0580c2f021 100644
--- a/core/java/com/android/internal/inputmethod/SoftInputShowHideReason.java
+++ b/core/java/com/android/internal/inputmethod/SoftInputShowHideReason.java
@@ -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. */
@@ -340,18 +340,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;
}
diff --git a/services/core/java/com/android/server/wm/ImeInsetsSourceProvider.java b/services/core/java/com/android/server/wm/ImeInsetsSourceProvider.java
index 4230cd868c03..cba606cf2b0c 100644
--- a/services/core/java/com/android/server/wm/ImeInsetsSourceProvider.java
+++ b/services/core/java/com/android/server/wm/ImeInsetsSourceProvider.java
@@ -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,