Add log for showSoftInput called from Insets API
Add a debug log to identify calls to showSoftInput from Insets API.
Fix: 1865976
Test: manually using steps:
1. Use an app like launcher that uses Insets API to show IME.
2. dump using adb shell dumpsys input_method
3. Verify log.
4. use another app that shows IME using showSoftInput like gmail
5. verify the log
Change-Id: I6ba0d3f7912855f31e033735557b44eeed3e6652
diff --git a/core/java/android/view/inputmethod/InputMethodManager.java b/core/java/android/view/inputmethod/InputMethodManager.java
index 20a0b0b..6694b7e 100644
--- a/core/java/android/view/inputmethod/InputMethodManager.java
+++ b/core/java/android/view/inputmethod/InputMethodManager.java
@@ -2259,7 +2259,8 @@
if (servedView == null || servedView.getWindowToken() != windowToken) {
return false;
}
- showSoftInput(servedView, 0 /* flags */, null /* resultReceiver */);
+ showSoftInput(servedView, 0 /* flags */, null /* resultReceiver */,
+ SoftInputShowHideReason.SHOW_SOFT_INPUT_BY_INSETS_API);
return true;
}
}
diff --git a/core/java/com/android/internal/inputmethod/InputMethodDebug.java b/core/java/com/android/internal/inputmethod/InputMethodDebug.java
index d026ecd..a00b993 100644
--- a/core/java/com/android/internal/inputmethod/InputMethodDebug.java
+++ b/core/java/com/android/internal/inputmethod/InputMethodDebug.java
@@ -234,6 +234,8 @@
return "SHOW_TOGGLE_SOFT_INPUT";
case SoftInputShowHideReason.HIDE_TOGGLE_SOFT_INPUT:
return "HIDE_TOGGLE_SOFT_INPUT";
+ case SoftInputShowHideReason.SHOW_SOFT_INPUT_BY_INSETS_API:
+ return "SHOW_SOFT_INPUT_BY_INSETS_API";
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 755bd5e..e3713a3 100644
--- a/core/java/com/android/internal/inputmethod/SoftInputShowHideReason.java
+++ b/core/java/com/android/internal/inputmethod/SoftInputShowHideReason.java
@@ -52,7 +52,8 @@
SoftInputShowHideReason.HIDE_REMOVE_CLIENT,
SoftInputShowHideReason.SHOW_RESTORE_IME_VISIBILITY,
SoftInputShowHideReason.SHOW_TOGGLE_SOFT_INPUT,
- SoftInputShowHideReason.HIDE_TOGGLE_SOFT_INPUT})
+ SoftInputShowHideReason.HIDE_TOGGLE_SOFT_INPUT,
+ SoftInputShowHideReason.SHOW_SOFT_INPUT_BY_INSETS_API})
public @interface SoftInputShowHideReason {
/** Show soft input by {@link android.view.inputmethod.InputMethodManager#showSoftInput}. */
int SHOW_SOFT_INPUT = 0;
@@ -188,4 +189,10 @@
* {@link android.view.inputmethod.InputMethodManager#toggleSoftInput(int, int)};
*/
int HIDE_TOGGLE_SOFT_INPUT = 24;
+
+ /**
+ * Show soft input by
+ * {@link android.view.InsetsController#show(int)};
+ */
+ int SHOW_SOFT_INPUT_BY_INSETS_API = 25;
}