Loading services/core/java/com/android/server/wm/WindowManagerService.java +13 −6 Original line number Original line Diff line number Diff line Loading @@ -6150,12 +6150,19 @@ public class WindowManagerService extends IWindowManager.Stub WindowState appWin = null; WindowState appWin = null; boolean appIsImTarget; boolean includeImeInScreenshot; synchronized(mWindowMap) { synchronized(mWindowMap) { appIsImTarget = mInputMethodTarget != null final AppWindowToken imeTargetAppToken = && mInputMethodTarget.mAppToken != null mInputMethodTarget != null ? mInputMethodTarget.mAppToken : null; && mInputMethodTarget.mAppToken.appToken != null // We only include the Ime in the screenshot if the app we are screenshoting is the IME && mInputMethodTarget.mAppToken.appToken.asBinder() == appToken; // target and isn't in multi-window mode. We don't screenshot the IME in multi-window // mode because the frame of the IME might not overlap with that of the app. // E.g. IME target app at the top in split-screen mode and the IME at the bottom // overlapping with the bottom app. includeImeInScreenshot = imeTargetAppToken != null && imeTargetAppToken.appToken != null && imeTargetAppToken.appToken.asBinder() == appToken && !mInputMethodTarget.isInMultiWindowMode(); } } final int aboveAppLayer = (mPolicy.windowTypeToLayerLw(TYPE_APPLICATION) + 1) final int aboveAppLayer = (mPolicy.windowTypeToLayerLw(TYPE_APPLICATION) + 1) Loading @@ -6174,7 +6181,7 @@ public class WindowManagerService extends IWindowManager.Stub continue; continue; } } if (ws.mIsImWindow) { if (ws.mIsImWindow) { if (!appIsImTarget) { if (!includeImeInScreenshot) { continue; continue; } } } else if (ws.mIsWallpaper) { } else if (ws.mIsWallpaper) { Loading Loading
services/core/java/com/android/server/wm/WindowManagerService.java +13 −6 Original line number Original line Diff line number Diff line Loading @@ -6150,12 +6150,19 @@ public class WindowManagerService extends IWindowManager.Stub WindowState appWin = null; WindowState appWin = null; boolean appIsImTarget; boolean includeImeInScreenshot; synchronized(mWindowMap) { synchronized(mWindowMap) { appIsImTarget = mInputMethodTarget != null final AppWindowToken imeTargetAppToken = && mInputMethodTarget.mAppToken != null mInputMethodTarget != null ? mInputMethodTarget.mAppToken : null; && mInputMethodTarget.mAppToken.appToken != null // We only include the Ime in the screenshot if the app we are screenshoting is the IME && mInputMethodTarget.mAppToken.appToken.asBinder() == appToken; // target and isn't in multi-window mode. We don't screenshot the IME in multi-window // mode because the frame of the IME might not overlap with that of the app. // E.g. IME target app at the top in split-screen mode and the IME at the bottom // overlapping with the bottom app. includeImeInScreenshot = imeTargetAppToken != null && imeTargetAppToken.appToken != null && imeTargetAppToken.appToken.asBinder() == appToken && !mInputMethodTarget.isInMultiWindowMode(); } } final int aboveAppLayer = (mPolicy.windowTypeToLayerLw(TYPE_APPLICATION) + 1) final int aboveAppLayer = (mPolicy.windowTypeToLayerLw(TYPE_APPLICATION) + 1) Loading @@ -6174,7 +6181,7 @@ public class WindowManagerService extends IWindowManager.Stub continue; continue; } } if (ws.mIsImWindow) { if (ws.mIsImWindow) { if (!appIsImTarget) { if (!includeImeInScreenshot) { continue; continue; } } } else if (ws.mIsWallpaper) { } else if (ws.mIsWallpaper) { Loading