Loading services/core/java/com/android/server/wm/WindowManagerService.java +9 −2 Original line number Original line Diff line number Diff line Loading @@ -224,11 +224,14 @@ import static com.android.server.wm.WindowManagerDebugConfig.SHOW_LIGHT_TRANSACT import static com.android.server.wm.WindowManagerDebugConfig.SHOW_SURFACE_ALLOC; import static com.android.server.wm.WindowManagerDebugConfig.SHOW_SURFACE_ALLOC; import static com.android.server.wm.WindowManagerDebugConfig.SHOW_TRANSACTIONS; import static com.android.server.wm.WindowManagerDebugConfig.SHOW_TRANSACTIONS; import static com.android.server.wm.WindowManagerDebugConfig.SHOW_VERBOSE_TRANSACTIONS; import static com.android.server.wm.WindowManagerDebugConfig.SHOW_VERBOSE_TRANSACTIONS; import static com.android.server.wm.WindowManagerDebugConfig.TAG_WITH_CLASS_NAME; import static com.android.server.wm.WindowManagerDebugConfig.TAG_WM; import static com.android.server.wm.WindowManagerDebugConfig.TAG_WM; /** {@hide} */ /** {@hide} */ public class WindowManagerService extends IWindowManager.Stub public class WindowManagerService extends IWindowManager.Stub implements Watchdog.Monitor, WindowManagerPolicy.WindowManagerFuncs { implements Watchdog.Monitor, WindowManagerPolicy.WindowManagerFuncs { private static final String TAG = TAG_WITH_CLASS_NAME ? "WindowManagerService" : TAG_WM; static final int LAYOUT_REPEAT_THRESHOLD = 4; static final int LAYOUT_REPEAT_THRESHOLD = 4; static final boolean PROFILE_ORIENTATION = false; static final boolean PROFILE_ORIENTATION = false; Loading Loading @@ -2428,13 +2431,17 @@ public class WindowManagerService extends IWindowManager.Stub } } } } void setInsetsWindow(Session session, IWindow client, void setInsetsWindow(Session session, IWindow client, int touchableInsets, Rect contentInsets, int touchableInsets, Rect contentInsets, Rect visibleInsets, Region touchableRegion) { Rect visibleInsets, Region touchableRegion) { long origId = Binder.clearCallingIdentity(); long origId = Binder.clearCallingIdentity(); try { try { synchronized (mWindowMap) { synchronized (mWindowMap) { WindowState w = windowForClientLocked(session, client, false); WindowState w = windowForClientLocked(session, client, false); if (DEBUG_LAYOUT) Slog.d(TAG, "setInsetsWindow " + w + ", contentInsets=" + w.mGivenContentInsets + " -> " + contentInsets + ", visibleInsets=" + w.mGivenVisibleInsets + " -> " + visibleInsets + ", touchableRegion=" + w.mGivenTouchableRegion + " -> " + touchableRegion + ", touchableInsets " + w.mTouchableInsets + " -> " + touchableInsets); if (w != null) { if (w != null) { w.mGivenInsetsPending = false; w.mGivenInsetsPending = false; w.mGivenContentInsets.set(contentInsets); w.mGivenContentInsets.set(contentInsets); Loading services/core/java/com/android/server/wm/WindowSurfacePlacer.java +9 −7 Original line number Original line Diff line number Diff line Loading @@ -739,13 +739,15 @@ class WindowSurfacePlacer { } } } } } } /* if (!winAnimator.isAnimating()) { * Updates the shown frame before we set up the surface. This is needed because // Updates the shown frame before we set up the surface. This is needed * the resizing could change the top-left position (in addition to size) of the // because the resizing could change the top-left position (in addition to * window. setSurfaceBoundariesLocked uses mShownPosition to position the // size) of the window. setSurfaceBoundariesLocked uses mShownPosition to * surface. // position the surface. We only apply it to windows that aren't animating, */ // because we depend on the animation to calculate the correct shown frame // on the next animation step. winAnimator.computeShownFrameLocked(); winAnimator.computeShownFrameLocked(); } winAnimator.setSurfaceBoundariesLocked(recoveringMemory); winAnimator.setSurfaceBoundariesLocked(recoveringMemory); } } Loading Loading
services/core/java/com/android/server/wm/WindowManagerService.java +9 −2 Original line number Original line Diff line number Diff line Loading @@ -224,11 +224,14 @@ import static com.android.server.wm.WindowManagerDebugConfig.SHOW_LIGHT_TRANSACT import static com.android.server.wm.WindowManagerDebugConfig.SHOW_SURFACE_ALLOC; import static com.android.server.wm.WindowManagerDebugConfig.SHOW_SURFACE_ALLOC; import static com.android.server.wm.WindowManagerDebugConfig.SHOW_TRANSACTIONS; import static com.android.server.wm.WindowManagerDebugConfig.SHOW_TRANSACTIONS; import static com.android.server.wm.WindowManagerDebugConfig.SHOW_VERBOSE_TRANSACTIONS; import static com.android.server.wm.WindowManagerDebugConfig.SHOW_VERBOSE_TRANSACTIONS; import static com.android.server.wm.WindowManagerDebugConfig.TAG_WITH_CLASS_NAME; import static com.android.server.wm.WindowManagerDebugConfig.TAG_WM; import static com.android.server.wm.WindowManagerDebugConfig.TAG_WM; /** {@hide} */ /** {@hide} */ public class WindowManagerService extends IWindowManager.Stub public class WindowManagerService extends IWindowManager.Stub implements Watchdog.Monitor, WindowManagerPolicy.WindowManagerFuncs { implements Watchdog.Monitor, WindowManagerPolicy.WindowManagerFuncs { private static final String TAG = TAG_WITH_CLASS_NAME ? "WindowManagerService" : TAG_WM; static final int LAYOUT_REPEAT_THRESHOLD = 4; static final int LAYOUT_REPEAT_THRESHOLD = 4; static final boolean PROFILE_ORIENTATION = false; static final boolean PROFILE_ORIENTATION = false; Loading Loading @@ -2428,13 +2431,17 @@ public class WindowManagerService extends IWindowManager.Stub } } } } void setInsetsWindow(Session session, IWindow client, void setInsetsWindow(Session session, IWindow client, int touchableInsets, Rect contentInsets, int touchableInsets, Rect contentInsets, Rect visibleInsets, Region touchableRegion) { Rect visibleInsets, Region touchableRegion) { long origId = Binder.clearCallingIdentity(); long origId = Binder.clearCallingIdentity(); try { try { synchronized (mWindowMap) { synchronized (mWindowMap) { WindowState w = windowForClientLocked(session, client, false); WindowState w = windowForClientLocked(session, client, false); if (DEBUG_LAYOUT) Slog.d(TAG, "setInsetsWindow " + w + ", contentInsets=" + w.mGivenContentInsets + " -> " + contentInsets + ", visibleInsets=" + w.mGivenVisibleInsets + " -> " + visibleInsets + ", touchableRegion=" + w.mGivenTouchableRegion + " -> " + touchableRegion + ", touchableInsets " + w.mTouchableInsets + " -> " + touchableInsets); if (w != null) { if (w != null) { w.mGivenInsetsPending = false; w.mGivenInsetsPending = false; w.mGivenContentInsets.set(contentInsets); w.mGivenContentInsets.set(contentInsets); Loading
services/core/java/com/android/server/wm/WindowSurfacePlacer.java +9 −7 Original line number Original line Diff line number Diff line Loading @@ -739,13 +739,15 @@ class WindowSurfacePlacer { } } } } } } /* if (!winAnimator.isAnimating()) { * Updates the shown frame before we set up the surface. This is needed because // Updates the shown frame before we set up the surface. This is needed * the resizing could change the top-left position (in addition to size) of the // because the resizing could change the top-left position (in addition to * window. setSurfaceBoundariesLocked uses mShownPosition to position the // size) of the window. setSurfaceBoundariesLocked uses mShownPosition to * surface. // position the surface. We only apply it to windows that aren't animating, */ // because we depend on the animation to calculate the correct shown frame // on the next animation step. winAnimator.computeShownFrameLocked(); winAnimator.computeShownFrameLocked(); } winAnimator.setSurfaceBoundariesLocked(recoveringMemory); winAnimator.setSurfaceBoundariesLocked(recoveringMemory); } } Loading