Commit Graph

78507 Commits

Author SHA1 Message Date
Jon Miranda 7645ef2ebd Simple implementation of Taskbar Overflow.
- Adds placeholder view to represent the Overflow affordance.
- Overflow button will always appear as long as there are any
  recent apps.*
- Click / long click on the button will open KeyboardQuickSwitch
- Relevant code is Guarded by Flags.taskbarOverflow.

*Note that this is not up to spec. This change is only meant to
setup the codebase to support Taskbar Overflow.

Bug: 368119679
Test: open app, enter desktop windowing, click overflow button
Flag: com.android.launcher3.taskbar_overflow
Change-Id: I47f96797408fda09e8326ba8fb7981c91de80e36
2024-09-21 00:28:20 +00:00
Mykola Podolian 0e795f08f6 Merge "Fixed the navigation bar placement on device restart." into main 2024-09-21 00:09:36 +00:00
randypfohl daf37eeb07 Cleaning up unusued handlers
Test: Built and tested locally

Flag: NONE Removing unused handler references

Bug:292269949

Change-Id: I83ec8299a82ea8f3db0dace7fb3b823a703b6b62
2024-09-20 16:09:52 -07:00
randypfohl 7ed1868d60 Moving RecentsWindowManager away from the singleton pattern
Test: Built and tested locally

Flag: com.android.launcher3.enable_fallback_overview_in_window

Bug:292269949

Change-Id: Ic70d9a3e65ffb86e369f52982891b94bef4cacd7
2024-09-20 16:09:52 -07:00
randypfohl c50aa8bf31 Limited recents in window introductory cl
Test: Built and tested locally

Flag: com.android.launcher3.enable_fallback_overview_in_window

Bug:292269949

Change-Id: I5352ba0b6c5bc196fbd1322d435a7e27e884f7b5
2024-09-20 16:09:50 -07:00
Saumya Prakash 4cf02b8538 Merge "Add "New Window" option to Taskbar menu." into main 2024-09-20 18:20:36 +00:00
randypfohl f29dc7c5ec abstracting fallback views to support container instead of activity
Test: Built and tested locally

Flag: NONE just abstracting in this cl

Bug:292269949

Change-Id: I0ce5efb4f193211216430f373605107c87de2c1a
2024-09-20 10:23:31 -07:00
Liran Binyamin 7b0c32567f Merge "Update bubble bar flyout according to spec" into main 2024-09-20 16:42:34 +00:00
Treehugger Robot f0123c9129 Merge "Reset taskbarModePreference on tearDown()" into main 2024-09-20 16:10:26 +00:00
Alina Zaidi 0dedf3e62d Merge "[dev_option] Use DesktopModeFlags from core instead of Shell" into main 2024-09-20 09:49:14 +00:00
Treehugger Robot e9df8805bc Merge "Changing min-sdk version of Launcher to 31" into main 2024-09-20 08:12:32 +00:00
Tracy Zhou a08548e075 Skip stash animation when destroying LauncherTaskbarUIController
Follow up to ag/28978773
It seems like mControllers == null doesn't work when folding. The launcher visibility change still triggers the stash animation from onLauncherVisibilityChanged
by LauncherTaskbarUIController#onDestroy

Bug: 362713428
Test: manually make sure that the stash animation isn't triggered from folding
Flag: EXEMPT bugfix
Change-Id: I04539e7a31d6c329eacb54946e3b3c211e47a709
2024-09-19 23:26:24 -07:00
Sunny Goyal 621918feda Changing min-sdk version of Launcher to 31
Bug: 368071216
Flag: EXEMPT refactor -> dead code removal
Test: Presubmit
Change-Id: I1f0113c56de56f12f3a174eb31c3f8e8a09407e6
2024-09-20 06:00:10 +00:00
Anushree Ganjam f8c6763272 Annotate SettingsChangeLogger with @LauncherAppSingleton (5/n)
Missed annotating the SettingsChangeLogger as singleton in ag/29424931.

Tested with commands
> m statsd_testdrive
> $ANDROID_HOST_OUT/bin/statsd_testdrive -terse 10108

Verified logSnapshot is called on same instance of SettingsChangeLogger.

Bug: 361850561
Test: Manual
Flag: NONE Dagger Integration
Change-Id: Icdbe57623bb0ce1a2ef55cdab238e1f9bfbedf40
2024-09-19 22:13:34 -07:00
Bill Yi 8ad0e6b80a Merge "Import translations. DO NOT MERGE ANYWHERE" into main 2024-09-20 03:31:40 +00:00
Toshiki Kikuchi 5cec59a41d Reset taskbarModePreference on tearDown()
This CL forcefully resets taskbarModePreference on tearDown() to ensure
the following tests are not affected by the changes made by
`testTaskbarPinningChangeInLockedTaskbarChange`.

Bug: 368322666
Flag: EXEMPT bug fix
Test: nexus_unit_test_multi_device_platform
Change-Id: I8bd8e8ca8b4b832ed17e86fbdfc9bda7bf9ab16e
2024-09-20 00:47:18 +00:00
Brandon Dayauon 49699b7378 Merge "Update work paused card stokre button to be Primary" into main 2024-09-19 23:41:54 +00:00
Anushree Ganjam f2c65c289b Merge "Make sandboxContext extend LauncherApplication (4/n)" into main 2024-09-19 23:22:56 +00:00
Treehugger Robot 748c86d04b Merge "Clean-up waitForToggleCommandComplete logic" into main 2024-09-19 23:16:24 +00:00
Treehugger Robot b8526d7798 Merge "Fix taskbarIconAlignment not being part of animToLauncher" into main 2024-09-19 22:27:56 +00:00
Saumya Prakash 8e0ed4b01b Add "New Window" option to Taskbar menu.
This change adds a new menu option to Taskbar that is invoked when long
pressing an icon. It createds a new instance for an app if the app
supports multi instance in Desktop Mode.

Bug: 315344726
Test: Manual
Flag: com.android.launcher3.enable_multi_instance_menu_taskbar
Change-Id: Ibc42fbb1ad485496cd938af730b86e051cea559a
2024-09-19 21:30:43 +00:00
mpodolian b79e1742bd Fixed the navigation bar placement on device restart.
Moved logic that adjusts the hotseat position from the constructor of
the NavbarButtonsViewController to onTaskbarLayoutChange() method that
is called from the TaskbarViewController TaskbarView layout change
listener.

Test: Manual:
Moved the bubble bar to the default right position. Rebooted the device.
Navigation bar was placed on the left side of the screen.
Flag: com.android.wm.shell.enable_bubble_bar_in_persistent_task_bar
Bug: 367829539

Change-Id: Ife0c48a72b318d6051b7b09bde13818546e65d98
2024-09-19 11:42:29 -07:00
Anushree Ganjam 26a5f65afd Make sandboxContext extend LauncherApplication (4/n)
See
https://docs.google.com/drawings/d/1JHFi_nhmQt2xPT1N3FB_1mnaRK5TVqKZ9-fSl3EA7sU/edit?usp=sharing
and
https://docs.google.com/drawings/d/1bx4WURP4uHZGzZ1bWQgpw701jkTkVqlNfA02Yt-ZtSI/edit?usp=sharing&resourcekey=0-oySjsnaCsOSrNIPqqEa0gw
for design details.

We need to make SandboxContext extend LauncherApplication because we
want create MainThreadInitializedObjects in SandboxContext's
AppComponent scope. Since MainThreadInitiliazedObjects are closed in
SandboxContext's OnDestroy() , we need to replicate same thing using
dagger as well.

- DaggerSingletonObject is same as MainThreadInitializedObject but is
  used for fetching the dagger created singletons so that we can avoid
  major refactors for accessing singletons. This will be deleted soon.

- DaggerSingletonTracker to track dagger created singletons and call
  close() on those singleton objects created in SandboxContext scope.

- Annotate the singleton object SettingsChangeLogger constructor with @Inject and execute the statements in Main thread.
- Added createSandboxContextForTest(only for Test) to avoid creation of
  dagger component in test. As follow up, I will delete this method and
  introduce fakeDaggerComponents in test.

Bug: 361850561
Test: Manual
Flag: NONE Dagger Integration

Change-Id: I2d3762ea64e53baa4de190790568aec750b54201
2024-09-19 11:20:30 -07:00
Brandon Dayauon de677d44ca Update work paused card stokre button to be Primary
bug: 362879558
Test manually photo:
beforeLT:https://drive.google.com/file/d/19hsXI3y0m1XgMl2CSxfbAin3U5kL3sB-/view?usp=sharing
beforeDT:https://drive.google.com/file/d/1dPCKZlANJXnM1EAXwaryBSStxYW0f8Pp/view?usp=sharing
afterLT:https://drive.google.com/file/d/1RUMDlgidUw9CEGTiu7PvxwnpLTWTSoXO/view?usp=sharing
afterDT:https://drive.google.com/file/d/1QKzJvieLQZQp1UiG-kQfVxl5gPeIYQX9/view?usp=sharing
Flag: NONE color fix

Change-Id: Ie3b0ec58e293e9d3bf861ff7832f20010d0bff8d
2024-09-19 11:07:12 -07:00
Liran Binyamin 19a43fb7cf Update bubble bar flyout according to spec
Also add a triangle

Flag: com.android.wm.shell.enable_bubble_bar
Bug: 277815200
Test: atest BubbleBarFlyoutViewScreenshotTest
Test: atest BubbleBarFlyoutControllerTest
Change-Id: I1a16ba6c9e1a2ca4efe01524ba3ef1d049f81d68
2024-09-19 14:02:43 -04:00
Alex Chau 977f8be14c Clean-up waitForToggleCommandComplete logic
- waitForToggleCommandComplete was a legacy logic to rate limit OverviewCommandHelper to avoid too many TOGGLE commands simulataneously
- As OverviewCommandHelper iterates, commands are now executed one by one and waitForToggleCommandComplete is no longer useful
- waitForToggleCommandComplete also caused a bug that when OverviewCommandHelper times out, we cancel the command completely, which causes waitForToggleCommandComplete to remain true, as a result all subsequent TOGGLE commands will be ignored

Fix: 368328461
Test: Aggressively keep tapping recents button, it should never get stuck
Test: 3 button Overview tests in presbumit
Flag: EXEMPT BUG_FIX
Change-Id: Ia9b64057ffb8ade6b964eb7f52c2fe72b9e7f77b
2024-09-19 17:37:24 +01:00
Helen Cheuk e58dad0821 Merge "[Contextual Edu] Update Edu stats when going to overview and all apps from home" into main 2024-09-19 14:45:49 +00:00
Vaibhav Devmurari 21f06911aa Fix NumberFormatException in LauncherTests
If the key event flags contain 0x80000000 then it causes number
format exception during parsing to Integer

Bug: 358569822
Test: atest NexusLauncherTests
Flag: EXEMPT TEST_ONLY
Change-Id: I6371ab7b9d5d5e356d7199830543177daeda3eea
2024-09-19 13:17:50 +00:00
Alina Zaidi e05f1fc2dd [dev_option] Use DesktopModeFlags from core instead of Shell
Test: Current tests pass
Bug: 368055148
Flag: EXEMPT refactoring
Change-Id: I9d88ab95c168d970de488e7d098e060fcf8013e4
2024-09-19 10:04:50 +00:00
Bill Yi d424c551ba Import translations. DO NOT MERGE ANYWHERE
Auto-generated-cl: translation import
Change-Id: I40d81f3ac8072f5a709c77b154bbf2797e1d9865
2024-09-18 20:44:38 -07:00
Tracy Zhou 5b569e764e Merge "Skip all stash animations in phone mode" into main 2024-09-19 01:55:28 +00:00
Tracy Zhou ba6e8ef13d Skip all stash animations in phone mode
Bug: 362713428
Test: manual
Flag: EXEMPT bugfix
Change-Id: Ieab234fc9fc96322800e3e1fb4532c270187a0f5
2024-09-19 01:55:20 +00:00
Sebastián Franco dee300f77d Merge "Removing screen record from TaplWorkProfileTest" into main 2024-09-19 01:44:36 +00:00
Treehugger Robot a6709fa710 Merge "Add taskbar_overflow flag to launcher.aconfig" into main 2024-09-19 00:10:10 +00:00
Toshiki Kikuchi f9ae7178cf Merge "Allow to show pinned taskbar when Launcher is visible" into main 2024-09-18 23:16:57 +00:00
Tony Wickham 0d1b9ea40a Fix taskbarIconAlignment not being part of animToLauncher
Previous sequence of events when swiping home:
- AbsSwipeUpHandler getParallelAnimationToLauncher() ->
  TaskbarLauncherStateController#createAnimToLauncher(NORMAL, ...)
  (but mLauncherState is still BACKGROUND_APP, so we don't play the
  icon alignment anim here)
- AbsSwipeUpHandler#createWindowAnimationToHome ->
  LauncherHomeAnimationFactory#createActivityAnimationToHome() sets the
  state to NORMAL.
- TaskbarLauncherStateController now animates the icon alignment in
  response to the state change, but it's a separate animation from the
  one created in createAnimToLauncher()
- If you touch down during the transition to home, we finish the
  animation that was returned by createAnimToLauncher(), but that
  doesn't include iconAlignment so that part still plays on top

To fix this, we set mLauncherState = toState in createAnimToLauncher so
that the applyState picks it up and does the iconAlignment as part of
that animation.

Test: manual: swipe to home and immediately swipe up to All Apps (or
down for notifications or right for -1), verify no Taskbar on top
Flag: EXEMPT bugfix
Fixes: 360116367

Change-Id: Icd9e4659812c9d77598b9214f51592ce2136b265
2024-09-18 22:59:15 +00:00
Brandon Dayauon a9a90a5850 Merge "Fix fastscroller not resetting when switching tabs." into main 2024-09-18 22:56:53 +00:00
Sunny Goyal 96591a3644 Merge "Moving some utility class to IconCache to make it easier to use outside Launcher" into main 2024-09-18 22:27:29 +00:00
Jon Miranda 90ec738908 Add taskbar_overflow flag to launcher.aconfig
Bug: 368119679
Test: EXEMPT just adding flag
Flag: com.android.launcher3.taskbar_overflow
Change-Id: Iba02590cab8be7b4834cdbb0464bbe37e2828f79
2024-09-18 14:49:17 -07:00
Jon Miranda a01ec68f78 Merge "Clear overlay when swiping up to unstash taskbar." into main 2024-09-18 20:43:00 +00:00
Jon Miranda ab0372e767 Clear overlay when swiping up to unstash taskbar.
Once taskbar is unstashed, the user cannot return back to the overlay. We can
clear it here to set the expected state once the user goes home.

Fixes: 359096594
Test: open -1, launch app, go home
Flag: EXEMPT bugfix
Change-Id: I8059c2c45f10d15701ff2961480aef002d273a06
2024-09-18 20:42:38 +00:00
Treehugger Robot 1880988d5f Merge "Make AllSetActivity IDP change-aware" into main 2024-09-18 19:21:18 +00:00
Sunny Goyal 2a359916ca Moving some utility class to IconCache to make it easier to use outside Launcher
Bug: 366237794
Flag: EXEMPT refactor
Test: Presubmit
Change-Id: I7583ae162b652e73a33f1aee76714e292b707e39
2024-09-18 10:05:05 -07:00
Brandon Dayauon 77374930a7 Fix fastscroller not resetting when switching tabs.
Whenever fastscroller is binded, reset the scroll position so its at the top.

bug: 335520751
Test video manually:
before:https://drive.google.com/file/d/1MOE0LOL8G5pmhJYf61y9jw2nDVXIvaAs/view?usp=sharing
after: https://drive.google.com/file/d/14Yi6JRMvDhDZKNwusv75DtfeGk1A4W23/view?usp=sharing
Flag: NONE bugfix

Change-Id: I7aea9a7fe5582fbb61e979f375191980c8a7e0ad
2024-09-18 10:01:22 -07:00
Schneider Victor-Tulias e57c034554 Make AllSetActivity IDP change-aware
Flag: EXEMPT bug fix
Fixes: 366129654
Test: adb shell cmd overlay enable-exclusive --category com.android.internal.systemui.navbar.threebutton while in AllSetActivity
Change-Id: I42dec6a94bf445866828b7404ae5451d505fda02
2024-09-18 10:22:23 -04:00
Liran Binyamin c2c7913134 Merge "Create BubbleBarFlyoutView" into main 2024-09-18 14:21:26 +00:00
Treehugger Robot 10505cdb7e Merge "Revert^2 "Use ConcurrentHashMap to make private maps thread safe"" into main 2024-09-18 12:40:32 +00:00
Toshiki Kikuchi 6ddfe9b179 Allow to show pinned taskbar when Launcher is visible
This CL allows freeform-first devices to lock the taskbar in a pinned
state when Launcher is visible.

Bug: 361419732
Flag: com.android.window.flags.enter_desktop_by_default_on_freeform_displays
Test: DisplayControllerTest
Test: manual

Change-Id: Ic0d2740e33fee19c676d88aa2bcf370eb64366e8
2024-09-18 10:49:52 +00:00
Alex Chau 0033148ef0 Only call reset() when transitioning to a State that doesn't have RecentView visible
- Changes to BaseRecentsViewStateController/FallbackRecentsStateController to avoid calling reset when canceling transitioniong to a RecentsView visible state (e.g. canceling Overivew -> OverivewModal)
- Changes to LauncherRecentsView/FallbackRecentsView to have a consistent check in deciding if we should reset on transition finished
- Note: With 3P Launcher, there is an existing issue that isn't fix by this change: While in Overview or Split select, tap empty space to dismiss Recentsview, then immediately swipe up, Overview tiles will be blank. This is because the swipe up isn't a "brand new" gesture and doesn't call onGestureAnimationStart, so it does not reload thumbnails after the reset in animation cancels.

Fix: 359872614
Test: Reproduction steps in b/246232494, b/243471493, b/242715097 and b/359872614
Test: Trasitionoing between Normal,Hint,Overview,OverivewModal,QuickSwitch etc., and which Home/Back gesture in between to cancel the transitions; repeat the test with 3P Launcher
Flag: EXEMPT BUG_FIX
Change-Id: I86dd0c070196c9a7ce3269599811b7537dd4da37
2024-09-18 10:23:03 +01:00
Uwais Ashraf 4c045988c1 Revert^2 "Use ConcurrentHashMap to make private maps thread safe"
This reverts commit f480cf371a.

Reason for revert: not the cause of b/367736714

Change-Id: If9b400c5474d9ec51f51f1de86c80b9337857fac
2024-09-18 05:47:29 +00:00