summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/inputmethod/InputMethodManagerService.java12
-rw-r--r--services/core/java/com/android/server/wm/WindowManagerInternal.java7
-rw-r--r--services/core/java/com/android/server/wm/WindowManagerService.java7
3 files changed, 21 insertions, 5 deletions
diff --git a/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java b/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java
index b45dc7ff0f6b..ee8b0996af21 100644
--- a/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java
+++ b/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java
@@ -900,11 +900,14 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub
final String mImeControlTargetName;
@Nullable
final String mImeTargetNameFromWm;
+ @Nullable
+ final String mImeSurfaceParentName;
Entry(ClientState client, EditorInfo editorInfo, String focusedWindowName,
@SoftInputModeFlags int softInputMode, @SoftInputShowHideReason int reason,
boolean inFullscreenMode, String requestWindowName,
- @Nullable String imeControlTargetName, @Nullable String imeTargetName) {
+ @Nullable String imeControlTargetName, @Nullable String imeTargetName,
+ @Nullable String imeSurfaceParentName) {
mClientState = client;
mEditorInfo = editorInfo;
mFocusedWindowName = focusedWindowName;
@@ -916,6 +919,7 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub
mRequestWindowName = requestWindowName;
mImeControlTargetName = imeControlTargetName;
mImeTargetNameFromWm = imeTargetName;
+ mImeSurfaceParentName = imeSurfaceParentName;
}
}
@@ -962,6 +966,9 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub
pw.println(" imeTargetNameFromWm=" + entry.mImeTargetNameFromWm);
pw.print(prefix);
+ pw.println(" imeSurfaceParentName=" + entry.mImeSurfaceParentName);
+
+ pw.print(prefix);
pw.print(" editorInfo: ");
pw.print(" inputType=" + entry.mEditorInfo.inputType);
pw.print(" privateImeOptions=" + entry.mEditorInfo.privateImeOptions);
@@ -4619,7 +4626,8 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub
mSoftInputShowHideHistory.addEntry(new SoftInputShowHideHistory.Entry(
mCurFocusedWindowClient, mCurEditorInfo, info.focusedWindowName,
mCurFocusedWindowSoftInputMode, reason, mInFullscreenMode,
- info.requestWindowName, info.imeControlTargetName, info.imeLayerTargetName));
+ info.requestWindowName, info.imeControlTargetName, info.imeLayerTargetName,
+ info.imeSurfaceParentName));
}
@BinderThread
diff --git a/services/core/java/com/android/server/wm/WindowManagerInternal.java b/services/core/java/com/android/server/wm/WindowManagerInternal.java
index 9eee7ba871a2..099fe1b22108 100644
--- a/services/core/java/com/android/server/wm/WindowManagerInternal.java
+++ b/services/core/java/com/android/server/wm/WindowManagerInternal.java
@@ -808,12 +808,17 @@ public abstract class WindowManagerInternal {
*/
public final String imeLayerTargetName;
+ /** The surface parent of the IME container. */
+ public final String imeSurfaceParentName;
+
public ImeTargetInfo(String focusedWindowName, String requestWindowName,
- String imeControlTargetName, String imeLayerTargetName) {
+ String imeControlTargetName, String imeLayerTargetName,
+ String imeSurfaceParentName) {
this.focusedWindowName = focusedWindowName;
this.requestWindowName = requestWindowName;
this.imeControlTargetName = imeControlTargetName;
this.imeLayerTargetName = imeLayerTargetName;
+ this.imeSurfaceParentName = imeSurfaceParentName;
}
}
diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java
index bcf05a6f8fe1..233f510553e4 100644
--- a/services/core/java/com/android/server/wm/WindowManagerService.java
+++ b/services/core/java/com/android/server/wm/WindowManagerService.java
@@ -8186,6 +8186,7 @@ public class WindowManagerService extends IWindowManager.Stub
final String requestWindowName;
final String imeControlTargetName;
final String imeLayerTargetName;
+ final String imeSurfaceParentName;
synchronized (mGlobalLock) {
final WindowState focusedWin = mWindowMap.get(focusedToken);
focusedWindowName = focusedWin != null ? focusedWin.getName() : "null";
@@ -8202,15 +8203,17 @@ public class WindowManagerService extends IWindowManager.Stub
}
final InsetsControlTarget target = dc.getImeTarget(IME_TARGET_LAYERING);
imeLayerTargetName = target != null ? target.getWindow().getName() : "null";
+ final SurfaceControl imeParent = dc.mInputMethodSurfaceParent;
+ imeSurfaceParentName = imeParent != null ? imeParent.toString() : "null";
if (show) {
dc.onShowImeRequested();
}
} else {
- imeControlTargetName = imeLayerTargetName = "no-display";
+ imeControlTargetName = imeLayerTargetName = imeSurfaceParentName = "no-display";
}
}
return new ImeTargetInfo(focusedWindowName, requestWindowName, imeControlTargetName,
- imeLayerTargetName);
+ imeLayerTargetName, imeSurfaceParentName);
}
@Override