Loading core/proto/android/server/windowmanagerservice.proto +1 −1 Original line number Diff line number Diff line Loading @@ -607,7 +607,7 @@ message ImeInsetsSourceProviderProto { optional InsetsSourceProviderProto insets_source_provider = 1; optional WindowStateProto ime_target_from_ime = 2; optional bool is_ime_layout_drawn = 3; optional bool is_ime_layout_drawn = 3 [deprecated=true]; } message BackNavigationProto { Loading services/core/java/com/android/server/wm/DisplayContent.java +1 −1 Original line number Diff line number Diff line Loading @@ -5009,7 +5009,7 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp // This should be called after the insets have been dispatched to clients and we have // committed finish drawing windows. mInsetsStateController.getImeSourceProvider().checkShowImePostLayout(); mInsetsStateController.getImeSourceProvider().checkAndStartShowImePostLayout(); mLastHasContent = mTmpApplySurfaceChangesTransactionState.displayHasContent; if (!inTransition() && !mDisplayRotation.isRotatingSeamlessly()) { Loading services/core/java/com/android/server/wm/ImeInsetsSourceProvider.java +122 −132 File changed.Preview size limit exceeded, changes collapsed. Show changes services/core/java/com/android/server/wm/InsetsStateController.java +1 −1 Original line number Diff line number Diff line Loading @@ -389,7 +389,7 @@ class InsetsStateController { newControlTargets.clear(); // Check for and try to run the scheduled show IME request (if it exists), as we // now applied the surface transaction and notified the target of the new control. getImeSourceProvider().checkShowImePostLayout(); getImeSourceProvider().checkAndStartShowImePostLayout(); }); } Loading services/tests/wmtests/src/com/android/server/wm/ImeInsetsSourceProviderTest.java +15 −15 Original line number Diff line number Diff line Loading @@ -65,7 +65,7 @@ public class ImeInsetsSourceProviderTest extends WindowTestsBase { performSurfacePlacementAndWaitForWindowAnimator(); mImeProvider.scheduleShowImePostLayout(appWin, ImeTracker.Token.empty()); assertTrue(mImeProvider.isReadyToShowIme()); assertTrue(mImeProvider.isScheduledAndReadyToShowIme()); } /** Loading @@ -84,13 +84,13 @@ public class ImeInsetsSourceProviderTest extends WindowTestsBase { // Schedule (without triggering) after everything is ready. mImeProvider.scheduleShowImePostLayout(target, ImeTracker.Token.empty()); assertTrue(mImeProvider.isReadyToShowIme()); assertTrue(mImeProvider.isScheduledAndReadyToShowIme()); assertFalse(mImeProvider.isImeShowing()); // Manually trigger the show. mImeProvider.checkShowImePostLayout(); // No longer ready as it was already shown. assertFalse(mImeProvider.isReadyToShowIme()); mImeProvider.checkAndStartShowImePostLayout(); // No longer scheduled as it was already shown. assertFalse(mImeProvider.isScheduledAndReadyToShowIme()); assertTrue(mImeProvider.isImeShowing()); } Loading @@ -104,7 +104,7 @@ public class ImeInsetsSourceProviderTest extends WindowTestsBase { // Schedule before anything is ready. mImeProvider.scheduleShowImePostLayout(target, ImeTracker.Token.empty()); assertFalse(mImeProvider.isReadyToShowIme()); assertFalse(mImeProvider.isScheduledAndReadyToShowIme()); assertFalse(mImeProvider.isImeShowing()); final WindowState ime = createWindow(null, TYPE_INPUT_METHOD, "ime"); Loading @@ -115,8 +115,8 @@ public class ImeInsetsSourceProviderTest extends WindowTestsBase { mDisplayContent.updateImeInputAndControlTarget(target); // Performing surface placement picks up the show scheduled above. performSurfacePlacementAndWaitForWindowAnimator(); // No longer ready as it was already shown. assertFalse(mImeProvider.isReadyToShowIme()); // No longer scheduled as it was already shown. assertFalse(mImeProvider.isScheduledAndReadyToShowIme()); assertTrue(mImeProvider.isImeShowing()); } Loading @@ -137,19 +137,19 @@ public class ImeInsetsSourceProviderTest extends WindowTestsBase { // Schedule before starting the afterPrepareSurfacesRunnable. mImeProvider.scheduleShowImePostLayout(target, ImeTracker.Token.empty()); assertFalse(mImeProvider.isReadyToShowIme()); assertFalse(mImeProvider.isScheduledAndReadyToShowIme()); assertFalse(mImeProvider.isImeShowing()); // This tries to pick up the show scheduled above, but must fail as the // afterPrepareSurfacesRunnable was not started yet. mDisplayContent.applySurfaceChangesTransaction(); assertFalse(mImeProvider.isReadyToShowIme()); assertFalse(mImeProvider.isScheduledAndReadyToShowIme()); assertFalse(mImeProvider.isImeShowing()); // Starting the afterPrepareSurfacesRunnable picks up the show scheduled above. mWm.mAnimator.executeAfterPrepareSurfacesRunnables(); // No longer ready as it was already shown. assertFalse(mImeProvider.isReadyToShowIme()); // No longer scheduled as it was already shown. assertFalse(mImeProvider.isScheduledAndReadyToShowIme()); assertTrue(mImeProvider.isImeShowing()); } Loading @@ -169,7 +169,7 @@ public class ImeInsetsSourceProviderTest extends WindowTestsBase { // Schedule before surface placement. mImeProvider.scheduleShowImePostLayout(target, ImeTracker.Token.empty()); assertFalse(mImeProvider.isReadyToShowIme()); assertFalse(mImeProvider.isScheduledAndReadyToShowIme()); assertFalse(mImeProvider.isImeShowing()); // Performing surface placement picks up the show scheduled above, and succeeds. Loading @@ -177,8 +177,8 @@ public class ImeInsetsSourceProviderTest extends WindowTestsBase { // applySurfaceChangesTransaction. Both of them try to trigger the show, // but only the second one can succeed, as it comes after onPostLayout. performSurfacePlacementAndWaitForWindowAnimator(); // No longer ready as it was already shown. assertFalse(mImeProvider.isReadyToShowIme()); // No longer scheduled as it was already shown. assertFalse(mImeProvider.isScheduledAndReadyToShowIme()); assertTrue(mImeProvider.isImeShowing()); } Loading Loading
core/proto/android/server/windowmanagerservice.proto +1 −1 Original line number Diff line number Diff line Loading @@ -607,7 +607,7 @@ message ImeInsetsSourceProviderProto { optional InsetsSourceProviderProto insets_source_provider = 1; optional WindowStateProto ime_target_from_ime = 2; optional bool is_ime_layout_drawn = 3; optional bool is_ime_layout_drawn = 3 [deprecated=true]; } message BackNavigationProto { Loading
services/core/java/com/android/server/wm/DisplayContent.java +1 −1 Original line number Diff line number Diff line Loading @@ -5009,7 +5009,7 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp // This should be called after the insets have been dispatched to clients and we have // committed finish drawing windows. mInsetsStateController.getImeSourceProvider().checkShowImePostLayout(); mInsetsStateController.getImeSourceProvider().checkAndStartShowImePostLayout(); mLastHasContent = mTmpApplySurfaceChangesTransactionState.displayHasContent; if (!inTransition() && !mDisplayRotation.isRotatingSeamlessly()) { Loading
services/core/java/com/android/server/wm/ImeInsetsSourceProvider.java +122 −132 File changed.Preview size limit exceeded, changes collapsed. Show changes
services/core/java/com/android/server/wm/InsetsStateController.java +1 −1 Original line number Diff line number Diff line Loading @@ -389,7 +389,7 @@ class InsetsStateController { newControlTargets.clear(); // Check for and try to run the scheduled show IME request (if it exists), as we // now applied the surface transaction and notified the target of the new control. getImeSourceProvider().checkShowImePostLayout(); getImeSourceProvider().checkAndStartShowImePostLayout(); }); } Loading
services/tests/wmtests/src/com/android/server/wm/ImeInsetsSourceProviderTest.java +15 −15 Original line number Diff line number Diff line Loading @@ -65,7 +65,7 @@ public class ImeInsetsSourceProviderTest extends WindowTestsBase { performSurfacePlacementAndWaitForWindowAnimator(); mImeProvider.scheduleShowImePostLayout(appWin, ImeTracker.Token.empty()); assertTrue(mImeProvider.isReadyToShowIme()); assertTrue(mImeProvider.isScheduledAndReadyToShowIme()); } /** Loading @@ -84,13 +84,13 @@ public class ImeInsetsSourceProviderTest extends WindowTestsBase { // Schedule (without triggering) after everything is ready. mImeProvider.scheduleShowImePostLayout(target, ImeTracker.Token.empty()); assertTrue(mImeProvider.isReadyToShowIme()); assertTrue(mImeProvider.isScheduledAndReadyToShowIme()); assertFalse(mImeProvider.isImeShowing()); // Manually trigger the show. mImeProvider.checkShowImePostLayout(); // No longer ready as it was already shown. assertFalse(mImeProvider.isReadyToShowIme()); mImeProvider.checkAndStartShowImePostLayout(); // No longer scheduled as it was already shown. assertFalse(mImeProvider.isScheduledAndReadyToShowIme()); assertTrue(mImeProvider.isImeShowing()); } Loading @@ -104,7 +104,7 @@ public class ImeInsetsSourceProviderTest extends WindowTestsBase { // Schedule before anything is ready. mImeProvider.scheduleShowImePostLayout(target, ImeTracker.Token.empty()); assertFalse(mImeProvider.isReadyToShowIme()); assertFalse(mImeProvider.isScheduledAndReadyToShowIme()); assertFalse(mImeProvider.isImeShowing()); final WindowState ime = createWindow(null, TYPE_INPUT_METHOD, "ime"); Loading @@ -115,8 +115,8 @@ public class ImeInsetsSourceProviderTest extends WindowTestsBase { mDisplayContent.updateImeInputAndControlTarget(target); // Performing surface placement picks up the show scheduled above. performSurfacePlacementAndWaitForWindowAnimator(); // No longer ready as it was already shown. assertFalse(mImeProvider.isReadyToShowIme()); // No longer scheduled as it was already shown. assertFalse(mImeProvider.isScheduledAndReadyToShowIme()); assertTrue(mImeProvider.isImeShowing()); } Loading @@ -137,19 +137,19 @@ public class ImeInsetsSourceProviderTest extends WindowTestsBase { // Schedule before starting the afterPrepareSurfacesRunnable. mImeProvider.scheduleShowImePostLayout(target, ImeTracker.Token.empty()); assertFalse(mImeProvider.isReadyToShowIme()); assertFalse(mImeProvider.isScheduledAndReadyToShowIme()); assertFalse(mImeProvider.isImeShowing()); // This tries to pick up the show scheduled above, but must fail as the // afterPrepareSurfacesRunnable was not started yet. mDisplayContent.applySurfaceChangesTransaction(); assertFalse(mImeProvider.isReadyToShowIme()); assertFalse(mImeProvider.isScheduledAndReadyToShowIme()); assertFalse(mImeProvider.isImeShowing()); // Starting the afterPrepareSurfacesRunnable picks up the show scheduled above. mWm.mAnimator.executeAfterPrepareSurfacesRunnables(); // No longer ready as it was already shown. assertFalse(mImeProvider.isReadyToShowIme()); // No longer scheduled as it was already shown. assertFalse(mImeProvider.isScheduledAndReadyToShowIme()); assertTrue(mImeProvider.isImeShowing()); } Loading @@ -169,7 +169,7 @@ public class ImeInsetsSourceProviderTest extends WindowTestsBase { // Schedule before surface placement. mImeProvider.scheduleShowImePostLayout(target, ImeTracker.Token.empty()); assertFalse(mImeProvider.isReadyToShowIme()); assertFalse(mImeProvider.isScheduledAndReadyToShowIme()); assertFalse(mImeProvider.isImeShowing()); // Performing surface placement picks up the show scheduled above, and succeeds. Loading @@ -177,8 +177,8 @@ public class ImeInsetsSourceProviderTest extends WindowTestsBase { // applySurfaceChangesTransaction. Both of them try to trigger the show, // but only the second one can succeed, as it comes after onPostLayout. performSurfacePlacementAndWaitForWindowAnimator(); // No longer ready as it was already shown. assertFalse(mImeProvider.isReadyToShowIme()); // No longer scheduled as it was already shown. assertFalse(mImeProvider.isScheduledAndReadyToShowIme()); assertTrue(mImeProvider.isImeShowing()); } Loading