Loading libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleController.java +29 −2 Original line number Diff line number Diff line Loading @@ -89,6 +89,8 @@ import com.android.wm.shell.common.ShellExecutor; import com.android.wm.shell.common.SyncTransactionQueue; import com.android.wm.shell.common.TaskStackListenerCallback; import com.android.wm.shell.common.TaskStackListenerImpl; import com.android.wm.shell.onehanded.OneHandedController; import com.android.wm.shell.onehanded.OneHandedTransitionCallback; import com.android.wm.shell.pip.PinnedStackListenerForwarder; import java.io.FileDescriptor; Loading @@ -98,6 +100,7 @@ import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Objects; import java.util.Optional; import java.util.concurrent.Executor; import java.util.function.Consumer; import java.util.function.IntConsumer; Loading Loading @@ -198,6 +201,9 @@ public class BubbleController { /** True when user is in status bar unlock shade. */ private boolean mIsStatusBarShade = true; /** One handed mode controller to register transition listener. */ private Optional<OneHandedController> mOneHandedOptional; /** * Creates an instance of the BubbleController. */ Loading @@ -212,6 +218,7 @@ public class BubbleController { UiEventLogger uiEventLogger, ShellTaskOrganizer organizer, DisplayController displayController, Optional<OneHandedController> oneHandedOptional, ShellExecutor mainExecutor, Handler mainHandler, TaskViewTransitions taskViewTransitions, Loading @@ -222,8 +229,9 @@ public class BubbleController { return new BubbleController(context, data, synchronizer, floatingContentCoordinator, new BubbleDataRepository(context, launcherApps, mainExecutor), statusBarService, windowManager, windowManagerShellWrapper, launcherApps, logger, taskStackListener, organizer, positioner, displayController, mainExecutor, mainHandler, taskViewTransitions, syncQueue); logger, taskStackListener, organizer, positioner, displayController, oneHandedOptional, mainExecutor, mainHandler, taskViewTransitions, syncQueue); } /** Loading @@ -244,6 +252,7 @@ public class BubbleController { ShellTaskOrganizer organizer, BubblePositioner positioner, DisplayController displayController, Optional<OneHandedController> oneHandedOptional, ShellExecutor mainExecutor, Handler mainHandler, TaskViewTransitions taskViewTransitions, Loading Loading @@ -271,9 +280,25 @@ public class BubbleController { mBubbleIconFactory = new BubbleIconFactory(context); mDisplayController = displayController; mTaskViewTransitions = taskViewTransitions; mOneHandedOptional = oneHandedOptional; mSyncQueue = syncQueue; } private static void registerOneHandedState(OneHandedController oneHanded) { oneHanded.registerTransitionCallback( new OneHandedTransitionCallback() { @Override public void onStartFinished(Rect bounds) { // TODO(b/198403767) mStackView.offSetY(int bounds.top) } @Override public void onStopFinished(Rect bounds) { // TODO(b/198403767) mStackView.offSetY(int bounds.top) } }); } public void initialize() { mBubbleData.setListener(mBubbleDataListener); mBubbleData.setSuppressionChangedListener(this::onBubbleNotificationSuppressionChanged); Loading Loading @@ -397,6 +422,8 @@ public class BubbleController { } } }); mOneHandedOptional.ifPresent(BubbleController::registerOneHandedState); } @VisibleForTesting Loading libs/WindowManager/Shell/src/com/android/wm/shell/dagger/WMShellBaseModule.java +0 −1 Original line number Diff line number Diff line Loading @@ -362,7 +362,6 @@ public abstract class WMShellBaseModule { return Optional.empty(); } // // Task to Surface communication // Loading libs/WindowManager/Shell/src/com/android/wm/shell/dagger/WMShellModule.java +6 −7 Original line number Diff line number Diff line Loading @@ -107,6 +107,7 @@ public class WMShellModule { UiEventLogger uiEventLogger, ShellTaskOrganizer organizer, DisplayController displayController, @DynamicOverride Optional<OneHandedController> oneHandedOptional, @ShellMainThread ShellExecutor mainExecutor, @ShellMainThread Handler mainHandler, TaskViewTransitions taskViewTransitions, Loading @@ -114,8 +115,8 @@ public class WMShellModule { return BubbleController.create(context, null /* synchronizer */, floatingContentCoordinator, statusBarService, windowManager, windowManagerShellWrapper, launcherApps, taskStackListener, uiEventLogger, organizer, displayController, mainExecutor, mainHandler, taskViewTransitions, syncQueue); uiEventLogger, organizer, displayController, oneHandedOptional, mainExecutor, mainHandler, taskViewTransitions, syncQueue); } // Loading @@ -142,12 +143,10 @@ public class WMShellModule { static OneHandedController provideOneHandedController(Context context, WindowManager windowManager, DisplayController displayController, DisplayLayout displayLayout, TaskStackListenerImpl taskStackListener, UiEventLogger uiEventLogger, @ShellMainThread ShellExecutor mainExecutor, UiEventLogger uiEventLogger, @ShellMainThread ShellExecutor mainExecutor, @ShellMainThread Handler mainHandler) { return OneHandedController.create(context, windowManager, displayController, displayLayout, taskStackListener, uiEventLogger, mainExecutor, mainHandler); return OneHandedController.create(context, windowManager, displayController, displayLayout, taskStackListener, uiEventLogger, mainExecutor, mainHandler); } // Loading libs/WindowManager/Shell/src/com/android/wm/shell/onehanded/OneHandedController.java +6 −4 Original line number Diff line number Diff line Loading @@ -198,7 +198,7 @@ public class OneHandedController implements RemoteCallable<OneHandedController>, OneHandedSettingsUtil settingsUtil = new OneHandedSettingsUtil(); OneHandedAccessibilityUtil accessibilityUtil = new OneHandedAccessibilityUtil(context); OneHandedTimeoutHandler timeoutHandler = new OneHandedTimeoutHandler(mainExecutor); OneHandedState transitionState = new OneHandedState(); OneHandedState oneHandedState = new OneHandedState(); OneHandedTutorialHandler tutorialHandler = new OneHandedTutorialHandler(context, settingsUtil, windowManager); OneHandedAnimationController animationController = Loading @@ -216,7 +216,7 @@ public class OneHandedController implements RemoteCallable<OneHandedController>, ServiceManager.getService(Context.OVERLAY_SERVICE)); return new OneHandedController(context, displayController, oneHandedBackgroundPanelOrganizer, organizer, touchHandler, tutorialHandler, settingsUtil, accessibilityUtil, timeoutHandler, transitionState, settingsUtil, accessibilityUtil, timeoutHandler, oneHandedState, oneHandedUiEventsLogger, overlayManager, taskStackListener, mainExecutor, mainHandler); } Loading Loading @@ -392,8 +392,10 @@ public class OneHandedController implements RemoteCallable<OneHandedController>, mEventCallback = callback; } @VisibleForTesting void registerTransitionCallback(OneHandedTransitionCallback callback) { /** * Registers {@link OneHandedTransitionCallback} to monitor the transition status */ public void registerTransitionCallback(OneHandedTransitionCallback callback) { mDisplayAreaOrganizer.registerTransitionCallback(callback); } Loading packages/SystemUI/tests/src/com/android/systemui/wmshell/BubblesTest.java +5 −0 Original line number Diff line number Diff line Loading @@ -124,6 +124,7 @@ import com.android.wm.shell.common.FloatingContentCoordinator; import com.android.wm.shell.common.ShellExecutor; import com.android.wm.shell.common.SyncTransactionQueue; import com.android.wm.shell.common.TaskStackListenerImpl; import com.android.wm.shell.onehanded.OneHandedController; import com.google.common.collect.ImmutableList; Loading @@ -137,6 +138,7 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import java.util.List; import java.util.Optional; /** * Tests the NotificationEntryManager setup with BubbleController. Loading Loading @@ -248,6 +250,8 @@ public class BubblesTest extends SysuiTestCase { private AuthController mAuthController; @Mock private TaskViewTransitions mTaskViewTransitions; @Mock private Optional<OneHandedController> mOneHandedOptional; private TestableBubblePositioner mPositioner; Loading Loading @@ -344,6 +348,7 @@ public class BubblesTest extends SysuiTestCase { mShellTaskOrganizer, mPositioner, mock(DisplayController.class), mOneHandedOptional, syncExecutor, mock(Handler.class), mTaskViewTransitions, Loading Loading
libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleController.java +29 −2 Original line number Diff line number Diff line Loading @@ -89,6 +89,8 @@ import com.android.wm.shell.common.ShellExecutor; import com.android.wm.shell.common.SyncTransactionQueue; import com.android.wm.shell.common.TaskStackListenerCallback; import com.android.wm.shell.common.TaskStackListenerImpl; import com.android.wm.shell.onehanded.OneHandedController; import com.android.wm.shell.onehanded.OneHandedTransitionCallback; import com.android.wm.shell.pip.PinnedStackListenerForwarder; import java.io.FileDescriptor; Loading @@ -98,6 +100,7 @@ import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Objects; import java.util.Optional; import java.util.concurrent.Executor; import java.util.function.Consumer; import java.util.function.IntConsumer; Loading Loading @@ -198,6 +201,9 @@ public class BubbleController { /** True when user is in status bar unlock shade. */ private boolean mIsStatusBarShade = true; /** One handed mode controller to register transition listener. */ private Optional<OneHandedController> mOneHandedOptional; /** * Creates an instance of the BubbleController. */ Loading @@ -212,6 +218,7 @@ public class BubbleController { UiEventLogger uiEventLogger, ShellTaskOrganizer organizer, DisplayController displayController, Optional<OneHandedController> oneHandedOptional, ShellExecutor mainExecutor, Handler mainHandler, TaskViewTransitions taskViewTransitions, Loading @@ -222,8 +229,9 @@ public class BubbleController { return new BubbleController(context, data, synchronizer, floatingContentCoordinator, new BubbleDataRepository(context, launcherApps, mainExecutor), statusBarService, windowManager, windowManagerShellWrapper, launcherApps, logger, taskStackListener, organizer, positioner, displayController, mainExecutor, mainHandler, taskViewTransitions, syncQueue); logger, taskStackListener, organizer, positioner, displayController, oneHandedOptional, mainExecutor, mainHandler, taskViewTransitions, syncQueue); } /** Loading @@ -244,6 +252,7 @@ public class BubbleController { ShellTaskOrganizer organizer, BubblePositioner positioner, DisplayController displayController, Optional<OneHandedController> oneHandedOptional, ShellExecutor mainExecutor, Handler mainHandler, TaskViewTransitions taskViewTransitions, Loading Loading @@ -271,9 +280,25 @@ public class BubbleController { mBubbleIconFactory = new BubbleIconFactory(context); mDisplayController = displayController; mTaskViewTransitions = taskViewTransitions; mOneHandedOptional = oneHandedOptional; mSyncQueue = syncQueue; } private static void registerOneHandedState(OneHandedController oneHanded) { oneHanded.registerTransitionCallback( new OneHandedTransitionCallback() { @Override public void onStartFinished(Rect bounds) { // TODO(b/198403767) mStackView.offSetY(int bounds.top) } @Override public void onStopFinished(Rect bounds) { // TODO(b/198403767) mStackView.offSetY(int bounds.top) } }); } public void initialize() { mBubbleData.setListener(mBubbleDataListener); mBubbleData.setSuppressionChangedListener(this::onBubbleNotificationSuppressionChanged); Loading Loading @@ -397,6 +422,8 @@ public class BubbleController { } } }); mOneHandedOptional.ifPresent(BubbleController::registerOneHandedState); } @VisibleForTesting Loading
libs/WindowManager/Shell/src/com/android/wm/shell/dagger/WMShellBaseModule.java +0 −1 Original line number Diff line number Diff line Loading @@ -362,7 +362,6 @@ public abstract class WMShellBaseModule { return Optional.empty(); } // // Task to Surface communication // Loading
libs/WindowManager/Shell/src/com/android/wm/shell/dagger/WMShellModule.java +6 −7 Original line number Diff line number Diff line Loading @@ -107,6 +107,7 @@ public class WMShellModule { UiEventLogger uiEventLogger, ShellTaskOrganizer organizer, DisplayController displayController, @DynamicOverride Optional<OneHandedController> oneHandedOptional, @ShellMainThread ShellExecutor mainExecutor, @ShellMainThread Handler mainHandler, TaskViewTransitions taskViewTransitions, Loading @@ -114,8 +115,8 @@ public class WMShellModule { return BubbleController.create(context, null /* synchronizer */, floatingContentCoordinator, statusBarService, windowManager, windowManagerShellWrapper, launcherApps, taskStackListener, uiEventLogger, organizer, displayController, mainExecutor, mainHandler, taskViewTransitions, syncQueue); uiEventLogger, organizer, displayController, oneHandedOptional, mainExecutor, mainHandler, taskViewTransitions, syncQueue); } // Loading @@ -142,12 +143,10 @@ public class WMShellModule { static OneHandedController provideOneHandedController(Context context, WindowManager windowManager, DisplayController displayController, DisplayLayout displayLayout, TaskStackListenerImpl taskStackListener, UiEventLogger uiEventLogger, @ShellMainThread ShellExecutor mainExecutor, UiEventLogger uiEventLogger, @ShellMainThread ShellExecutor mainExecutor, @ShellMainThread Handler mainHandler) { return OneHandedController.create(context, windowManager, displayController, displayLayout, taskStackListener, uiEventLogger, mainExecutor, mainHandler); return OneHandedController.create(context, windowManager, displayController, displayLayout, taskStackListener, uiEventLogger, mainExecutor, mainHandler); } // Loading
libs/WindowManager/Shell/src/com/android/wm/shell/onehanded/OneHandedController.java +6 −4 Original line number Diff line number Diff line Loading @@ -198,7 +198,7 @@ public class OneHandedController implements RemoteCallable<OneHandedController>, OneHandedSettingsUtil settingsUtil = new OneHandedSettingsUtil(); OneHandedAccessibilityUtil accessibilityUtil = new OneHandedAccessibilityUtil(context); OneHandedTimeoutHandler timeoutHandler = new OneHandedTimeoutHandler(mainExecutor); OneHandedState transitionState = new OneHandedState(); OneHandedState oneHandedState = new OneHandedState(); OneHandedTutorialHandler tutorialHandler = new OneHandedTutorialHandler(context, settingsUtil, windowManager); OneHandedAnimationController animationController = Loading @@ -216,7 +216,7 @@ public class OneHandedController implements RemoteCallable<OneHandedController>, ServiceManager.getService(Context.OVERLAY_SERVICE)); return new OneHandedController(context, displayController, oneHandedBackgroundPanelOrganizer, organizer, touchHandler, tutorialHandler, settingsUtil, accessibilityUtil, timeoutHandler, transitionState, settingsUtil, accessibilityUtil, timeoutHandler, oneHandedState, oneHandedUiEventsLogger, overlayManager, taskStackListener, mainExecutor, mainHandler); } Loading Loading @@ -392,8 +392,10 @@ public class OneHandedController implements RemoteCallable<OneHandedController>, mEventCallback = callback; } @VisibleForTesting void registerTransitionCallback(OneHandedTransitionCallback callback) { /** * Registers {@link OneHandedTransitionCallback} to monitor the transition status */ public void registerTransitionCallback(OneHandedTransitionCallback callback) { mDisplayAreaOrganizer.registerTransitionCallback(callback); } Loading
packages/SystemUI/tests/src/com/android/systemui/wmshell/BubblesTest.java +5 −0 Original line number Diff line number Diff line Loading @@ -124,6 +124,7 @@ import com.android.wm.shell.common.FloatingContentCoordinator; import com.android.wm.shell.common.ShellExecutor; import com.android.wm.shell.common.SyncTransactionQueue; import com.android.wm.shell.common.TaskStackListenerImpl; import com.android.wm.shell.onehanded.OneHandedController; import com.google.common.collect.ImmutableList; Loading @@ -137,6 +138,7 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import java.util.List; import java.util.Optional; /** * Tests the NotificationEntryManager setup with BubbleController. Loading Loading @@ -248,6 +250,8 @@ public class BubblesTest extends SysuiTestCase { private AuthController mAuthController; @Mock private TaskViewTransitions mTaskViewTransitions; @Mock private Optional<OneHandedController> mOneHandedOptional; private TestableBubblePositioner mPositioner; Loading Loading @@ -344,6 +348,7 @@ public class BubblesTest extends SysuiTestCase { mShellTaskOrganizer, mPositioner, mock(DisplayController.class), mOneHandedOptional, syncExecutor, mock(Handler.class), mTaskViewTransitions, Loading