Loading services/core/java/com/android/server/inputmethod/InputMethodManagerService.java +5 −5 Original line number Diff line number Diff line Loading @@ -4576,14 +4576,14 @@ public final class InputMethodManagerService implements IInputMethodManagerImpl. bindingController.getCurTokenDisplayId()); mSoftInputShowHideHistory.addEntry(new SoftInputShowHideHistory.Entry( userData.mImeBindingState.mFocusedWindowClient, userData.mImeBindingState.mFocusedWindowEditorInfo, info.focusedWindowName, userData.mImeBindingState.mFocusedWindowSoftInputMode, reason, userData.mInFullscreenMode, info.requestWindowName, info.imeControlTargetName, info.imeLayerTargetName, info.imeSurfaceParentName, userData.mImeBindingState.mFocusedWindowEditorInfo, info.mFocusedWindowName, userData.mImeBindingState.mFocusedWindowSoftInputMode, reason, userData.mInFullscreenMode, info.mRequestWindowName, info.mImeLayeringTargetName, info.mImeInputTargetName, info.mImeControlTargetName, info.mImeSurfaceParentName, userId)); if (statsToken != null) { mImeTrackerService.onImmsUpdate(statsToken, info.requestWindowName); mImeTrackerService.onImmsUpdate(statsToken, info.mRequestWindowName); } } Loading services/core/java/com/android/server/inputmethod/SoftInputShowHideHistory.java +16 −10 Original line number Diff line number Diff line Loading @@ -58,20 +58,22 @@ final class SoftInputShowHideHistory { @NonNull final String mRequestWindowName; @Nullable final String mImeControlTargetName; final String mImeLayeringTargetName; @Nullable final String mImeInputTargetName; @Nullable final String mImeTargetNameFromWm; final String mImeControlTargetName; @Nullable final String mImeSurfaceParentName; @UserIdInt final int mImeUserId; Entry(ClientState client, EditorInfo editorInfo, String focusedWindowName, Entry(@Nullable ClientState client, @Nullable EditorInfo editorInfo, @NonNull String focusedWindowName, @WindowManager.LayoutParams.SoftInputModeFlags int softInputMode, @SoftInputShowHideReason int reason, boolean inFullscreenMode, String requestWindowName, @Nullable String imeControlTargetName, @Nullable String imeTargetName, @SoftInputShowHideReason int reason, boolean inFullscreenMode, @NonNull String requestWindowName, @Nullable String imeLayeringTargetName, @Nullable String imeInputTargetName, @Nullable String imeControlTargetName, @Nullable String imeSurfaceParentName, @UserIdInt int imeUserId) { mClientState = client; mEditorInfo = editorInfo; Loading @@ -82,8 +84,9 @@ final class SoftInputShowHideHistory { mWallTime = System.currentTimeMillis(); mInFullscreenMode = inFullscreenMode; mRequestWindowName = requestWindowName; mImeLayeringTargetName = imeLayeringTargetName; mImeInputTargetName = imeInputTargetName; mImeControlTargetName = imeControlTargetName; mImeTargetNameFromWm = imeTargetName; mImeSurfaceParentName = imeSurfaceParentName; mImeUserId = imeUserId; } Loading Loading @@ -128,10 +131,13 @@ final class SoftInputShowHideHistory { pw.println(" requestWindowName=" + entry.mRequestWindowName); pw.print(prefix); pw.println(" imeControlTargetName=" + entry.mImeControlTargetName); pw.println(" imeLayeringTargetName=" + entry.mImeLayeringTargetName); pw.print(prefix); pw.println(" imeTargetNameFromWm=" + entry.mImeTargetNameFromWm); pw.println(" imeInputTargetName=" + entry.mImeInputTargetName); pw.print(prefix); pw.println(" imeControlTargetName=" + entry.mImeControlTargetName); pw.print(prefix); pw.println(" imeSurfaceParentName=" + entry.mImeSurfaceParentName); Loading services/core/java/com/android/server/wm/DisplayContent.java +21 −11 Original line number Diff line number Diff line Loading @@ -3746,18 +3746,20 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp pw.println(); super.dump(pw, prefix, dumpAll); pw.print(prefix); if (mHasSetIgnoreOrientationRequest) { pw.print("mHasSetIgnoreOrientationRequest=true "); } pw.print(prefix); pw.print("mHasSetIgnoreOrientationRequest="); pw.print(mHasSetIgnoreOrientationRequest); pw.print(" ignoreOrientationRequest="); pw.println(getIgnoreOrientationRequest()); pw.print(prefix); pw.print("mLayoutSeq="); pw.println(mLayoutSeq); pw.print(" mCurrentFocus="); pw.println(mCurrentFocus); pw.print(" mFocusedApp="); pw.println(mFocusedApp); if (mFixedRotationLaunchingApp != null) { pw.println(" mFixedRotationLaunchingApp=" + mFixedRotationLaunchingApp); } pw.print(prefix); pw.print("mImeLayeringTarget="); pw.println(mImeLayeringTarget); pw.print(prefix); pw.print("mImeInputTarget="); pw.println(mImeInputTarget); pw.print(prefix); pw.print("mImeControlTarget="); pw.println(mImeControlTarget); pw.print(prefix); pw.print("mRemoteInsetsControlTarget="); pw.println(mRemoteInsetsControlTarget); pw.print(prefix); pw.print("mCurrentFocus="); pw.println(mCurrentFocus); pw.print(prefix); pw.print("mFocusedApp="); pw.println(mFocusedApp); pw.print(prefix); pw.print("mFixedRotationLaunchingApp="); pw.println(mFixedRotationLaunchingApp); if (mAsyncRotationController != null) { mAsyncRotationController.dump(pw, prefix); } Loading Loading @@ -7155,6 +7157,15 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp } } @Override public String toString() { return "RemoteInsetsControlTarget{" + Integer.toHexString(System.identityHashCode(this)) + " displayId=" + mDisplayId + " requestedVisibleTypes=" + mRequestedVisibleTypes + " animatingTypes=" + mAnimatingTypes + "}"; } public void writeIdentifierToProto(ProtoOutputStream proto, long fieldId) { final long token = proto.start(fieldId); proto.write(HASH_CODE, System.identityHashCode(this)); Loading @@ -7175,7 +7186,6 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp proto.write(ANIMATING_TYPES, mAnimatingTypes); proto.end(token); } } MagnificationSpec getMagnificationSpec() { Loading services/core/java/com/android/server/wm/WindowManagerInternal.java +30 −23 Original line number Diff line number Diff line Loading @@ -972,33 +972,40 @@ public abstract class WindowManagerInternal { /** The information of input method target when IME is requested to show or hide. */ public static class ImeTargetInfo { public final String focusedWindowName; public final String requestWindowName; /** The window name of IME Insets control target. */ public final String imeControlTargetName; /** The name of the focused window. */ @NonNull public final String mFocusedWindowName; /** * The current window name of the input method is on top of. * <p> * Note that the concept of this window is only used to reparent the target window behind * the input method window, it may be different from the window reported by * {@link com.android.server.inputmethod.InputMethodManagerService#reportStartInput} which * has input connection. */ public final String imeLayerTargetName; /** The name of the window that requested the IME visibility change. */ @NonNull public final String mRequestWindowName; /** The name of the {@link DisplayContent#mImeLayeringTarget}. */ @NonNull public final String mImeLayeringTargetName; /** The name of the {@link DisplayContent#mImeInputTarget}. */ @NonNull public final String mImeInputTargetName; /** The name of the {@link DisplayContent#mImeControlTarget}. */ @NonNull public final String mImeControlTargetName; /** The surface parent of the IME container. */ public final String imeSurfaceParentName; public ImeTargetInfo(String focusedWindowName, String requestWindowName, String imeControlTargetName, String imeLayerTargetName, String imeSurfaceParentName) { this.focusedWindowName = focusedWindowName; this.requestWindowName = requestWindowName; this.imeControlTargetName = imeControlTargetName; this.imeLayerTargetName = imeLayerTargetName; this.imeSurfaceParentName = imeSurfaceParentName; @NonNull public final String mImeSurfaceParentName; public ImeTargetInfo(@NonNull String focusedWindowName, @NonNull String requestWindowName, @NonNull String imeLayeringTargetName, @NonNull String imeInputTargetName, @NonNull String imeControlTargetName, @NonNull String imeSurfaceParentName) { mFocusedWindowName = focusedWindowName; mRequestWindowName = requestWindowName; mImeLayeringTargetName = imeLayeringTargetName; mImeInputTargetName = imeInputTargetName; mImeControlTargetName = imeControlTargetName; mImeSurfaceParentName = imeSurfaceParentName; } } Loading services/core/java/com/android/server/wm/WindowManagerService.java +17 −38 Original line number Diff line number Diff line Loading @@ -7076,21 +7076,6 @@ public class WindowManagerService extends IWindowManager.Stub mRoot.dumpTopFocusedDisplayId(pw); mRoot.forAllDisplays(dc -> { final int displayId = dc.getDisplayId(); final WindowState imeLayeringTarget = dc.getImeLayeringTarget(); final InputTarget imeInputTarget = dc.getImeInputTarget(); final InsetsControlTarget imeControlTarget = dc.getImeControlTarget(); if (imeLayeringTarget != null) { pw.print(" imeLayeringTarget in display# "); pw.print(displayId); pw.print(' '); pw.println(imeLayeringTarget); } if (imeInputTarget != null) { pw.print(" imeInputTarget in display# "); pw.print(displayId); pw.print(' '); pw.println(imeInputTarget); } if (imeControlTarget != null) { pw.print(" imeControlTarget in display# "); pw.print(displayId); pw.print(' '); pw.println(imeControlTarget); } pw.print(" Minimum task size of display#"); pw.print(displayId); pw.print(' '); pw.println(dc.mMinSizeOfResizeableTaskDp); }); Loading Loading @@ -8622,43 +8607,37 @@ public class WindowManagerService extends IWindowManager.Stub } } @NonNull @Override public ImeTargetInfo onToggleImeRequested(boolean show, IBinder focusedToken, IBinder requestToken, int displayId) { public ImeTargetInfo onToggleImeRequested(boolean show, @NonNull IBinder focusedToken, @NonNull IBinder requestToken, int displayId) { final String focusedWindowName; final String requestWindowName; final String imeControlTargetName; final String imeLayeringTargetName; final String imeInputTargetName; final String imeControlTargetName; final String imeSurfaceParentName; synchronized (mGlobalLock) { final WindowState focusedWin = mWindowMap.get(focusedToken); focusedWindowName = focusedWin != null ? focusedWin.getName() : "null"; final WindowState requestWin = mWindowMap.get(requestToken); requestWindowName = requestWin != null ? requestWin.getName() : "null"; focusedWindowName = String.valueOf(mWindowMap.get(focusedToken)); requestWindowName = String.valueOf(mWindowMap.get(requestToken)); final DisplayContent dc = mRoot.getDisplayContent(displayId); if (dc != null) { final InsetsControlTarget controlTarget = dc.getImeControlTarget(); if (controlTarget != null) { final WindowState w = InsetsControlTarget.asWindowOrNull(controlTarget); imeControlTargetName = w != null ? w.getName() : controlTarget.toString(); } else { imeControlTargetName = "null"; } final WindowState layeringTarget = dc.getImeLayeringTarget(); imeLayeringTargetName = layeringTarget != null ? layeringTarget.getName() : "null"; final SurfaceControl imeParent = dc.mInputMethodSurfaceParent; imeSurfaceParentName = imeParent != null ? imeParent.toString() : "null"; imeLayeringTargetName = String.valueOf(dc.getImeLayeringTarget()); imeInputTargetName = String.valueOf(dc.getImeInputTarget()); imeControlTargetName = String.valueOf(dc.getImeControlTarget()); imeSurfaceParentName = String.valueOf(dc.mInputMethodSurfaceParent); if (show) { dc.onShowImeRequested(); } } else { imeControlTargetName = imeLayeringTargetName = imeSurfaceParentName = "no-display"; imeLayeringTargetName = "no-display"; imeInputTargetName = "no-display"; imeControlTargetName = "no-display"; imeSurfaceParentName = "no-display"; } } return new ImeTargetInfo(focusedWindowName, requestWindowName, imeControlTargetName, imeLayeringTargetName, imeSurfaceParentName); return new ImeTargetInfo(focusedWindowName, requestWindowName, imeLayeringTargetName, imeInputTargetName, imeControlTargetName, imeSurfaceParentName); } @Override Loading Loading
services/core/java/com/android/server/inputmethod/InputMethodManagerService.java +5 −5 Original line number Diff line number Diff line Loading @@ -4576,14 +4576,14 @@ public final class InputMethodManagerService implements IInputMethodManagerImpl. bindingController.getCurTokenDisplayId()); mSoftInputShowHideHistory.addEntry(new SoftInputShowHideHistory.Entry( userData.mImeBindingState.mFocusedWindowClient, userData.mImeBindingState.mFocusedWindowEditorInfo, info.focusedWindowName, userData.mImeBindingState.mFocusedWindowSoftInputMode, reason, userData.mInFullscreenMode, info.requestWindowName, info.imeControlTargetName, info.imeLayerTargetName, info.imeSurfaceParentName, userData.mImeBindingState.mFocusedWindowEditorInfo, info.mFocusedWindowName, userData.mImeBindingState.mFocusedWindowSoftInputMode, reason, userData.mInFullscreenMode, info.mRequestWindowName, info.mImeLayeringTargetName, info.mImeInputTargetName, info.mImeControlTargetName, info.mImeSurfaceParentName, userId)); if (statsToken != null) { mImeTrackerService.onImmsUpdate(statsToken, info.requestWindowName); mImeTrackerService.onImmsUpdate(statsToken, info.mRequestWindowName); } } Loading
services/core/java/com/android/server/inputmethod/SoftInputShowHideHistory.java +16 −10 Original line number Diff line number Diff line Loading @@ -58,20 +58,22 @@ final class SoftInputShowHideHistory { @NonNull final String mRequestWindowName; @Nullable final String mImeControlTargetName; final String mImeLayeringTargetName; @Nullable final String mImeInputTargetName; @Nullable final String mImeTargetNameFromWm; final String mImeControlTargetName; @Nullable final String mImeSurfaceParentName; @UserIdInt final int mImeUserId; Entry(ClientState client, EditorInfo editorInfo, String focusedWindowName, Entry(@Nullable ClientState client, @Nullable EditorInfo editorInfo, @NonNull String focusedWindowName, @WindowManager.LayoutParams.SoftInputModeFlags int softInputMode, @SoftInputShowHideReason int reason, boolean inFullscreenMode, String requestWindowName, @Nullable String imeControlTargetName, @Nullable String imeTargetName, @SoftInputShowHideReason int reason, boolean inFullscreenMode, @NonNull String requestWindowName, @Nullable String imeLayeringTargetName, @Nullable String imeInputTargetName, @Nullable String imeControlTargetName, @Nullable String imeSurfaceParentName, @UserIdInt int imeUserId) { mClientState = client; mEditorInfo = editorInfo; Loading @@ -82,8 +84,9 @@ final class SoftInputShowHideHistory { mWallTime = System.currentTimeMillis(); mInFullscreenMode = inFullscreenMode; mRequestWindowName = requestWindowName; mImeLayeringTargetName = imeLayeringTargetName; mImeInputTargetName = imeInputTargetName; mImeControlTargetName = imeControlTargetName; mImeTargetNameFromWm = imeTargetName; mImeSurfaceParentName = imeSurfaceParentName; mImeUserId = imeUserId; } Loading Loading @@ -128,10 +131,13 @@ final class SoftInputShowHideHistory { pw.println(" requestWindowName=" + entry.mRequestWindowName); pw.print(prefix); pw.println(" imeControlTargetName=" + entry.mImeControlTargetName); pw.println(" imeLayeringTargetName=" + entry.mImeLayeringTargetName); pw.print(prefix); pw.println(" imeTargetNameFromWm=" + entry.mImeTargetNameFromWm); pw.println(" imeInputTargetName=" + entry.mImeInputTargetName); pw.print(prefix); pw.println(" imeControlTargetName=" + entry.mImeControlTargetName); pw.print(prefix); pw.println(" imeSurfaceParentName=" + entry.mImeSurfaceParentName); Loading
services/core/java/com/android/server/wm/DisplayContent.java +21 −11 Original line number Diff line number Diff line Loading @@ -3746,18 +3746,20 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp pw.println(); super.dump(pw, prefix, dumpAll); pw.print(prefix); if (mHasSetIgnoreOrientationRequest) { pw.print("mHasSetIgnoreOrientationRequest=true "); } pw.print(prefix); pw.print("mHasSetIgnoreOrientationRequest="); pw.print(mHasSetIgnoreOrientationRequest); pw.print(" ignoreOrientationRequest="); pw.println(getIgnoreOrientationRequest()); pw.print(prefix); pw.print("mLayoutSeq="); pw.println(mLayoutSeq); pw.print(" mCurrentFocus="); pw.println(mCurrentFocus); pw.print(" mFocusedApp="); pw.println(mFocusedApp); if (mFixedRotationLaunchingApp != null) { pw.println(" mFixedRotationLaunchingApp=" + mFixedRotationLaunchingApp); } pw.print(prefix); pw.print("mImeLayeringTarget="); pw.println(mImeLayeringTarget); pw.print(prefix); pw.print("mImeInputTarget="); pw.println(mImeInputTarget); pw.print(prefix); pw.print("mImeControlTarget="); pw.println(mImeControlTarget); pw.print(prefix); pw.print("mRemoteInsetsControlTarget="); pw.println(mRemoteInsetsControlTarget); pw.print(prefix); pw.print("mCurrentFocus="); pw.println(mCurrentFocus); pw.print(prefix); pw.print("mFocusedApp="); pw.println(mFocusedApp); pw.print(prefix); pw.print("mFixedRotationLaunchingApp="); pw.println(mFixedRotationLaunchingApp); if (mAsyncRotationController != null) { mAsyncRotationController.dump(pw, prefix); } Loading Loading @@ -7155,6 +7157,15 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp } } @Override public String toString() { return "RemoteInsetsControlTarget{" + Integer.toHexString(System.identityHashCode(this)) + " displayId=" + mDisplayId + " requestedVisibleTypes=" + mRequestedVisibleTypes + " animatingTypes=" + mAnimatingTypes + "}"; } public void writeIdentifierToProto(ProtoOutputStream proto, long fieldId) { final long token = proto.start(fieldId); proto.write(HASH_CODE, System.identityHashCode(this)); Loading @@ -7175,7 +7186,6 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp proto.write(ANIMATING_TYPES, mAnimatingTypes); proto.end(token); } } MagnificationSpec getMagnificationSpec() { Loading
services/core/java/com/android/server/wm/WindowManagerInternal.java +30 −23 Original line number Diff line number Diff line Loading @@ -972,33 +972,40 @@ public abstract class WindowManagerInternal { /** The information of input method target when IME is requested to show or hide. */ public static class ImeTargetInfo { public final String focusedWindowName; public final String requestWindowName; /** The window name of IME Insets control target. */ public final String imeControlTargetName; /** The name of the focused window. */ @NonNull public final String mFocusedWindowName; /** * The current window name of the input method is on top of. * <p> * Note that the concept of this window is only used to reparent the target window behind * the input method window, it may be different from the window reported by * {@link com.android.server.inputmethod.InputMethodManagerService#reportStartInput} which * has input connection. */ public final String imeLayerTargetName; /** The name of the window that requested the IME visibility change. */ @NonNull public final String mRequestWindowName; /** The name of the {@link DisplayContent#mImeLayeringTarget}. */ @NonNull public final String mImeLayeringTargetName; /** The name of the {@link DisplayContent#mImeInputTarget}. */ @NonNull public final String mImeInputTargetName; /** The name of the {@link DisplayContent#mImeControlTarget}. */ @NonNull public final String mImeControlTargetName; /** The surface parent of the IME container. */ public final String imeSurfaceParentName; public ImeTargetInfo(String focusedWindowName, String requestWindowName, String imeControlTargetName, String imeLayerTargetName, String imeSurfaceParentName) { this.focusedWindowName = focusedWindowName; this.requestWindowName = requestWindowName; this.imeControlTargetName = imeControlTargetName; this.imeLayerTargetName = imeLayerTargetName; this.imeSurfaceParentName = imeSurfaceParentName; @NonNull public final String mImeSurfaceParentName; public ImeTargetInfo(@NonNull String focusedWindowName, @NonNull String requestWindowName, @NonNull String imeLayeringTargetName, @NonNull String imeInputTargetName, @NonNull String imeControlTargetName, @NonNull String imeSurfaceParentName) { mFocusedWindowName = focusedWindowName; mRequestWindowName = requestWindowName; mImeLayeringTargetName = imeLayeringTargetName; mImeInputTargetName = imeInputTargetName; mImeControlTargetName = imeControlTargetName; mImeSurfaceParentName = imeSurfaceParentName; } } Loading
services/core/java/com/android/server/wm/WindowManagerService.java +17 −38 Original line number Diff line number Diff line Loading @@ -7076,21 +7076,6 @@ public class WindowManagerService extends IWindowManager.Stub mRoot.dumpTopFocusedDisplayId(pw); mRoot.forAllDisplays(dc -> { final int displayId = dc.getDisplayId(); final WindowState imeLayeringTarget = dc.getImeLayeringTarget(); final InputTarget imeInputTarget = dc.getImeInputTarget(); final InsetsControlTarget imeControlTarget = dc.getImeControlTarget(); if (imeLayeringTarget != null) { pw.print(" imeLayeringTarget in display# "); pw.print(displayId); pw.print(' '); pw.println(imeLayeringTarget); } if (imeInputTarget != null) { pw.print(" imeInputTarget in display# "); pw.print(displayId); pw.print(' '); pw.println(imeInputTarget); } if (imeControlTarget != null) { pw.print(" imeControlTarget in display# "); pw.print(displayId); pw.print(' '); pw.println(imeControlTarget); } pw.print(" Minimum task size of display#"); pw.print(displayId); pw.print(' '); pw.println(dc.mMinSizeOfResizeableTaskDp); }); Loading Loading @@ -8622,43 +8607,37 @@ public class WindowManagerService extends IWindowManager.Stub } } @NonNull @Override public ImeTargetInfo onToggleImeRequested(boolean show, IBinder focusedToken, IBinder requestToken, int displayId) { public ImeTargetInfo onToggleImeRequested(boolean show, @NonNull IBinder focusedToken, @NonNull IBinder requestToken, int displayId) { final String focusedWindowName; final String requestWindowName; final String imeControlTargetName; final String imeLayeringTargetName; final String imeInputTargetName; final String imeControlTargetName; final String imeSurfaceParentName; synchronized (mGlobalLock) { final WindowState focusedWin = mWindowMap.get(focusedToken); focusedWindowName = focusedWin != null ? focusedWin.getName() : "null"; final WindowState requestWin = mWindowMap.get(requestToken); requestWindowName = requestWin != null ? requestWin.getName() : "null"; focusedWindowName = String.valueOf(mWindowMap.get(focusedToken)); requestWindowName = String.valueOf(mWindowMap.get(requestToken)); final DisplayContent dc = mRoot.getDisplayContent(displayId); if (dc != null) { final InsetsControlTarget controlTarget = dc.getImeControlTarget(); if (controlTarget != null) { final WindowState w = InsetsControlTarget.asWindowOrNull(controlTarget); imeControlTargetName = w != null ? w.getName() : controlTarget.toString(); } else { imeControlTargetName = "null"; } final WindowState layeringTarget = dc.getImeLayeringTarget(); imeLayeringTargetName = layeringTarget != null ? layeringTarget.getName() : "null"; final SurfaceControl imeParent = dc.mInputMethodSurfaceParent; imeSurfaceParentName = imeParent != null ? imeParent.toString() : "null"; imeLayeringTargetName = String.valueOf(dc.getImeLayeringTarget()); imeInputTargetName = String.valueOf(dc.getImeInputTarget()); imeControlTargetName = String.valueOf(dc.getImeControlTarget()); imeSurfaceParentName = String.valueOf(dc.mInputMethodSurfaceParent); if (show) { dc.onShowImeRequested(); } } else { imeControlTargetName = imeLayeringTargetName = imeSurfaceParentName = "no-display"; imeLayeringTargetName = "no-display"; imeInputTargetName = "no-display"; imeControlTargetName = "no-display"; imeSurfaceParentName = "no-display"; } } return new ImeTargetInfo(focusedWindowName, requestWindowName, imeControlTargetName, imeLayeringTargetName, imeSurfaceParentName); return new ImeTargetInfo(focusedWindowName, requestWindowName, imeLayeringTargetName, imeInputTargetName, imeControlTargetName, imeSurfaceParentName); } @Override Loading