Loading services/core/java/com/android/server/wm/WindowManagerService.java +24 −26 Original line number Diff line number Diff line Loading @@ -46,7 +46,6 @@ import static android.provider.Settings.Global.DEVELOPMENT_ENABLE_FREEFORM_WINDO import static android.provider.Settings.Global.DEVELOPMENT_ENABLE_NON_RESIZABLE_MULTI_WINDOW; import static android.provider.Settings.Global.DEVELOPMENT_FORCE_DESKTOP_MODE_ON_EXTERNAL_DISPLAYS; import static android.provider.Settings.Global.DEVELOPMENT_FORCE_RESIZABLE_ACTIVITIES; import static android.provider.Settings.Global.DEVELOPMENT_RENDER_SHADOWS_IN_COMPOSITOR; import static android.provider.Settings.Global.DEVELOPMENT_WM_DISPLAY_SETTINGS_PATH; import static android.view.ContentRecordingSession.RECORD_CONTENT_TASK; import static android.view.Display.DEFAULT_DISPLAY; Loading Loading @@ -652,7 +651,7 @@ public class WindowManagerService extends IWindowManager.Stub // Whether the system should use BLAST for ViewRootImpl final boolean mUseBLAST; // Whether to enable BLASTSyncEngine Transaction passing. final boolean mUseBLASTSync = true; static final boolean USE_BLAST_SYNC = true; final BLASTSyncEngine mSyncEngine; Loading Loading @@ -787,8 +786,6 @@ public class WindowManagerService extends IWindowManager.Stub DEVELOPMENT_FORCE_RESIZABLE_ACTIVITIES); private final Uri mDevEnableNonResizableMultiWindowUri = Settings.Global.getUriFor( DEVELOPMENT_ENABLE_NON_RESIZABLE_MULTI_WINDOW); private final Uri mRenderShadowsInCompositorUri = Settings.Global.getUriFor( DEVELOPMENT_RENDER_SHADOWS_IN_COMPOSITOR); private final Uri mDisplaySettingsPathUri = Settings.Global.getUriFor( DEVELOPMENT_WM_DISPLAY_SETTINGS_PATH); private final Uri mMaximumObscuringOpacityForTouchUri = Settings.Global.getUriFor( Loading Loading @@ -1050,8 +1047,11 @@ public class WindowManagerService extends IWindowManager.Stub boolean mWindowsChanged = false; public interface WindowChangeListener { public void windowsChanged(); public void focusChanged(); /** Notify on windows changed */ void windowsChanged(); /** Notify on focus changed */ void focusChanged(); } final HighRefreshRateDenylist mHighRefreshRateDenylist; Loading Loading @@ -2128,7 +2128,6 @@ public class WindowManagerService extends IWindowManager.Stub } void clearTouchableRegion(Session session, IWindow client) { int uid = Binder.getCallingUid(); final long origId = Binder.clearCallingIdentity(); try { synchronized (mGlobalLock) { Loading Loading @@ -2546,7 +2545,7 @@ public class WindowManagerService extends IWindowManager.Stub } win.mInRelayout = false; if (mUseBLASTSync && win.useBLASTSync() && viewVisibility != View.GONE if (USE_BLAST_SYNC && win.useBLASTSync() && viewVisibility != View.GONE && (win.mSyncSeqId > win.mLastSeqIdSentToRelayout)) { win.markRedrawForSyncReported(); Loading Loading @@ -4319,7 +4318,7 @@ public class WindowManagerService extends IWindowManager.Stub mDisplayChangeController = controller; } } catch (RemoteException e) { throw new RuntimeException("Unable to set rotation controller"); throw new RuntimeException("Unable to set rotation controller", e); } } Loading Loading @@ -5638,7 +5637,7 @@ public class WindowManagerService extends IWindowManager.Stub } public boolean useBLASTSync() { return mUseBLASTSync; return USE_BLAST_SYNC; } @Override Loading Loading @@ -6498,12 +6497,12 @@ public class WindowManagerService extends IWindowManager.Stub } } private void dumpPolicyLocked(PrintWriter pw, String[] args, boolean dumpAll) { private void dumpPolicyLocked(PrintWriter pw, String[] args) { pw.println("WINDOW MANAGER POLICY STATE (dumpsys window policy)"); mPolicy.dump(" ", pw, args); } private void dumpAnimatorLocked(PrintWriter pw, String[] args, boolean dumpAll) { private void dumpAnimatorLocked(PrintWriter pw, boolean dumpAll) { pw.println("WINDOW MANAGER ANIMATOR STATE (dumpsys window animator)"); mAnimator.dumpLocked(pw, " ", dumpAll); } Loading @@ -6529,7 +6528,7 @@ public class WindowManagerService extends IWindowManager.Stub pw.println(ProtoLogImpl.getSingleInstance().getStatus()); } private void dumpSessionsLocked(PrintWriter pw, boolean dumpAll) { private void dumpSessionsLocked(PrintWriter pw) { pw.println("WINDOW MANAGER SESSIONS (dumpsys window sessions)"); for (int i=0; i<mSessions.size(); i++) { Session s = mSessions.valueAt(i); Loading Loading @@ -6594,7 +6593,7 @@ public class WindowManagerService extends IWindowManager.Stub } } } if (mForceRemoves != null && mForceRemoves.size() > 0) { if (mForceRemoves != null && !mForceRemoves.isEmpty()) { pw.println(); pw.println(" Windows force removing:"); for (int i=mForceRemoves.size()-1; i>=0; i--) { Loading @@ -6609,7 +6608,7 @@ public class WindowManagerService extends IWindowManager.Stub } } } if (mDestroySurface.size() > 0) { if (!mDestroySurface.isEmpty()) { pw.println(); pw.println(" Windows waiting to destroy their surface:"); for (int i=mDestroySurface.size()-1; i>=0; i--) { Loading @@ -6626,7 +6625,7 @@ public class WindowManagerService extends IWindowManager.Stub } } } if (mResizingWindows.size() > 0) { if (!mResizingWindows.isEmpty()) { pw.println(); pw.println(" Windows waiting to resize:"); for (int i=mResizingWindows.size()-1; i>=0; i--) { Loading Loading @@ -6733,8 +6732,7 @@ public class WindowManagerService extends IWindowManager.Stub } } private boolean dumpWindows(PrintWriter pw, String name, String[] args, int opti, boolean dumpAll) { private boolean dumpWindows(PrintWriter pw, String name, boolean dumpAll) { final ArrayList<WindowState> windows = new ArrayList(); if ("apps".equals(name) || "visible".equals(name) || "visible-apps".equals(name)) { final boolean appsOnly = name.contains("apps"); Loading @@ -6757,7 +6755,7 @@ public class WindowManagerService extends IWindowManager.Stub } } if (windows.size() <= 0) { if (windows.isEmpty()) { return false; } Loading Loading @@ -6888,17 +6886,17 @@ public class WindowManagerService extends IWindowManager.Stub return; } else if ("policy".equals(cmd) || "p".equals(cmd)) { synchronized (mGlobalLock) { dumpPolicyLocked(pw, args, true); dumpPolicyLocked(pw, args); } return; } else if ("animator".equals(cmd) || "a".equals(cmd)) { synchronized (mGlobalLock) { dumpAnimatorLocked(pw, args, true); dumpAnimatorLocked(pw, true); } return; } else if ("sessions".equals(cmd) || "s".equals(cmd)) { synchronized (mGlobalLock) { dumpSessionsLocked(pw, true); dumpSessionsLocked(pw); } return; } else if ("displays".equals(cmd) || "d".equals(cmd)) { Loading Loading @@ -6945,7 +6943,7 @@ public class WindowManagerService extends IWindowManager.Stub return; } else { // Dumping a single name? if (!dumpWindows(pw, cmd, args, opti, dumpAll)) { if (!dumpWindows(pw, cmd, dumpAll)) { pw.println("Bad window command, or no windows match: " + cmd); pw.println("Use -h for help."); } Loading @@ -6965,17 +6963,17 @@ public class WindowManagerService extends IWindowManager.Stub if (dumpAll) { pw.println(separator); } dumpPolicyLocked(pw, args, dumpAll); dumpPolicyLocked(pw, args); pw.println(); if (dumpAll) { pw.println(separator); } dumpAnimatorLocked(pw, args, dumpAll); dumpAnimatorLocked(pw, dumpAll); pw.println(); if (dumpAll) { pw.println(separator); } dumpSessionsLocked(pw, dumpAll); dumpSessionsLocked(pw); pw.println(); if (dumpAll) { pw.println(separator); Loading services/tests/wmtests/src/com/android/server/wm/WindowManagerServiceTests.java +0 −8 Original line number Diff line number Diff line Loading @@ -29,8 +29,6 @@ import static android.view.WindowManager.LayoutParams.TYPE_INPUT_METHOD_DIALOG; import static android.view.WindowManager.LayoutParams.TYPE_TOAST; import static android.window.DisplayAreaOrganizer.FEATURE_VENDOR_FIRST; import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation; import static com.android.dx.mockito.inline.extended.ExtendedMockito.doNothing; import static com.android.dx.mockito.inline.extended.ExtendedMockito.doReturn; import static com.android.dx.mockito.inline.extended.ExtendedMockito.never; Loading @@ -48,7 +46,6 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import android.content.pm.PackageManager; import android.graphics.Rect; import android.os.Binder; import android.os.IBinder; Loading Loading @@ -81,11 +78,6 @@ public class WindowManagerServiceTests extends WindowTestsBase { @Rule public ExpectedException mExpectedException = ExpectedException.none(); private boolean isAutomotive() { return getInstrumentation().getTargetContext().getPackageManager().hasSystemFeature( PackageManager.FEATURE_AUTOMOTIVE); } @Test public void testAddWindowToken() { IBinder token = mock(IBinder.class); Loading Loading
services/core/java/com/android/server/wm/WindowManagerService.java +24 −26 Original line number Diff line number Diff line Loading @@ -46,7 +46,6 @@ import static android.provider.Settings.Global.DEVELOPMENT_ENABLE_FREEFORM_WINDO import static android.provider.Settings.Global.DEVELOPMENT_ENABLE_NON_RESIZABLE_MULTI_WINDOW; import static android.provider.Settings.Global.DEVELOPMENT_FORCE_DESKTOP_MODE_ON_EXTERNAL_DISPLAYS; import static android.provider.Settings.Global.DEVELOPMENT_FORCE_RESIZABLE_ACTIVITIES; import static android.provider.Settings.Global.DEVELOPMENT_RENDER_SHADOWS_IN_COMPOSITOR; import static android.provider.Settings.Global.DEVELOPMENT_WM_DISPLAY_SETTINGS_PATH; import static android.view.ContentRecordingSession.RECORD_CONTENT_TASK; import static android.view.Display.DEFAULT_DISPLAY; Loading Loading @@ -652,7 +651,7 @@ public class WindowManagerService extends IWindowManager.Stub // Whether the system should use BLAST for ViewRootImpl final boolean mUseBLAST; // Whether to enable BLASTSyncEngine Transaction passing. final boolean mUseBLASTSync = true; static final boolean USE_BLAST_SYNC = true; final BLASTSyncEngine mSyncEngine; Loading Loading @@ -787,8 +786,6 @@ public class WindowManagerService extends IWindowManager.Stub DEVELOPMENT_FORCE_RESIZABLE_ACTIVITIES); private final Uri mDevEnableNonResizableMultiWindowUri = Settings.Global.getUriFor( DEVELOPMENT_ENABLE_NON_RESIZABLE_MULTI_WINDOW); private final Uri mRenderShadowsInCompositorUri = Settings.Global.getUriFor( DEVELOPMENT_RENDER_SHADOWS_IN_COMPOSITOR); private final Uri mDisplaySettingsPathUri = Settings.Global.getUriFor( DEVELOPMENT_WM_DISPLAY_SETTINGS_PATH); private final Uri mMaximumObscuringOpacityForTouchUri = Settings.Global.getUriFor( Loading Loading @@ -1050,8 +1047,11 @@ public class WindowManagerService extends IWindowManager.Stub boolean mWindowsChanged = false; public interface WindowChangeListener { public void windowsChanged(); public void focusChanged(); /** Notify on windows changed */ void windowsChanged(); /** Notify on focus changed */ void focusChanged(); } final HighRefreshRateDenylist mHighRefreshRateDenylist; Loading Loading @@ -2128,7 +2128,6 @@ public class WindowManagerService extends IWindowManager.Stub } void clearTouchableRegion(Session session, IWindow client) { int uid = Binder.getCallingUid(); final long origId = Binder.clearCallingIdentity(); try { synchronized (mGlobalLock) { Loading Loading @@ -2546,7 +2545,7 @@ public class WindowManagerService extends IWindowManager.Stub } win.mInRelayout = false; if (mUseBLASTSync && win.useBLASTSync() && viewVisibility != View.GONE if (USE_BLAST_SYNC && win.useBLASTSync() && viewVisibility != View.GONE && (win.mSyncSeqId > win.mLastSeqIdSentToRelayout)) { win.markRedrawForSyncReported(); Loading Loading @@ -4319,7 +4318,7 @@ public class WindowManagerService extends IWindowManager.Stub mDisplayChangeController = controller; } } catch (RemoteException e) { throw new RuntimeException("Unable to set rotation controller"); throw new RuntimeException("Unable to set rotation controller", e); } } Loading Loading @@ -5638,7 +5637,7 @@ public class WindowManagerService extends IWindowManager.Stub } public boolean useBLASTSync() { return mUseBLASTSync; return USE_BLAST_SYNC; } @Override Loading Loading @@ -6498,12 +6497,12 @@ public class WindowManagerService extends IWindowManager.Stub } } private void dumpPolicyLocked(PrintWriter pw, String[] args, boolean dumpAll) { private void dumpPolicyLocked(PrintWriter pw, String[] args) { pw.println("WINDOW MANAGER POLICY STATE (dumpsys window policy)"); mPolicy.dump(" ", pw, args); } private void dumpAnimatorLocked(PrintWriter pw, String[] args, boolean dumpAll) { private void dumpAnimatorLocked(PrintWriter pw, boolean dumpAll) { pw.println("WINDOW MANAGER ANIMATOR STATE (dumpsys window animator)"); mAnimator.dumpLocked(pw, " ", dumpAll); } Loading @@ -6529,7 +6528,7 @@ public class WindowManagerService extends IWindowManager.Stub pw.println(ProtoLogImpl.getSingleInstance().getStatus()); } private void dumpSessionsLocked(PrintWriter pw, boolean dumpAll) { private void dumpSessionsLocked(PrintWriter pw) { pw.println("WINDOW MANAGER SESSIONS (dumpsys window sessions)"); for (int i=0; i<mSessions.size(); i++) { Session s = mSessions.valueAt(i); Loading Loading @@ -6594,7 +6593,7 @@ public class WindowManagerService extends IWindowManager.Stub } } } if (mForceRemoves != null && mForceRemoves.size() > 0) { if (mForceRemoves != null && !mForceRemoves.isEmpty()) { pw.println(); pw.println(" Windows force removing:"); for (int i=mForceRemoves.size()-1; i>=0; i--) { Loading @@ -6609,7 +6608,7 @@ public class WindowManagerService extends IWindowManager.Stub } } } if (mDestroySurface.size() > 0) { if (!mDestroySurface.isEmpty()) { pw.println(); pw.println(" Windows waiting to destroy their surface:"); for (int i=mDestroySurface.size()-1; i>=0; i--) { Loading @@ -6626,7 +6625,7 @@ public class WindowManagerService extends IWindowManager.Stub } } } if (mResizingWindows.size() > 0) { if (!mResizingWindows.isEmpty()) { pw.println(); pw.println(" Windows waiting to resize:"); for (int i=mResizingWindows.size()-1; i>=0; i--) { Loading Loading @@ -6733,8 +6732,7 @@ public class WindowManagerService extends IWindowManager.Stub } } private boolean dumpWindows(PrintWriter pw, String name, String[] args, int opti, boolean dumpAll) { private boolean dumpWindows(PrintWriter pw, String name, boolean dumpAll) { final ArrayList<WindowState> windows = new ArrayList(); if ("apps".equals(name) || "visible".equals(name) || "visible-apps".equals(name)) { final boolean appsOnly = name.contains("apps"); Loading @@ -6757,7 +6755,7 @@ public class WindowManagerService extends IWindowManager.Stub } } if (windows.size() <= 0) { if (windows.isEmpty()) { return false; } Loading Loading @@ -6888,17 +6886,17 @@ public class WindowManagerService extends IWindowManager.Stub return; } else if ("policy".equals(cmd) || "p".equals(cmd)) { synchronized (mGlobalLock) { dumpPolicyLocked(pw, args, true); dumpPolicyLocked(pw, args); } return; } else if ("animator".equals(cmd) || "a".equals(cmd)) { synchronized (mGlobalLock) { dumpAnimatorLocked(pw, args, true); dumpAnimatorLocked(pw, true); } return; } else if ("sessions".equals(cmd) || "s".equals(cmd)) { synchronized (mGlobalLock) { dumpSessionsLocked(pw, true); dumpSessionsLocked(pw); } return; } else if ("displays".equals(cmd) || "d".equals(cmd)) { Loading Loading @@ -6945,7 +6943,7 @@ public class WindowManagerService extends IWindowManager.Stub return; } else { // Dumping a single name? if (!dumpWindows(pw, cmd, args, opti, dumpAll)) { if (!dumpWindows(pw, cmd, dumpAll)) { pw.println("Bad window command, or no windows match: " + cmd); pw.println("Use -h for help."); } Loading @@ -6965,17 +6963,17 @@ public class WindowManagerService extends IWindowManager.Stub if (dumpAll) { pw.println(separator); } dumpPolicyLocked(pw, args, dumpAll); dumpPolicyLocked(pw, args); pw.println(); if (dumpAll) { pw.println(separator); } dumpAnimatorLocked(pw, args, dumpAll); dumpAnimatorLocked(pw, dumpAll); pw.println(); if (dumpAll) { pw.println(separator); } dumpSessionsLocked(pw, dumpAll); dumpSessionsLocked(pw); pw.println(); if (dumpAll) { pw.println(separator); Loading
services/tests/wmtests/src/com/android/server/wm/WindowManagerServiceTests.java +0 −8 Original line number Diff line number Diff line Loading @@ -29,8 +29,6 @@ import static android.view.WindowManager.LayoutParams.TYPE_INPUT_METHOD_DIALOG; import static android.view.WindowManager.LayoutParams.TYPE_TOAST; import static android.window.DisplayAreaOrganizer.FEATURE_VENDOR_FIRST; import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation; import static com.android.dx.mockito.inline.extended.ExtendedMockito.doNothing; import static com.android.dx.mockito.inline.extended.ExtendedMockito.doReturn; import static com.android.dx.mockito.inline.extended.ExtendedMockito.never; Loading @@ -48,7 +46,6 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import android.content.pm.PackageManager; import android.graphics.Rect; import android.os.Binder; import android.os.IBinder; Loading Loading @@ -81,11 +78,6 @@ public class WindowManagerServiceTests extends WindowTestsBase { @Rule public ExpectedException mExpectedException = ExpectedException.none(); private boolean isAutomotive() { return getInstrumentation().getTargetContext().getPackageManager().hasSystemFeature( PackageManager.FEATURE_AUTOMOTIVE); } @Test public void testAddWindowToken() { IBinder token = mock(IBinder.class); Loading