Commit Graph

697 Commits

Author SHA1 Message Date
Sunny Goyal e274d97fe5 Removing support for lagacy shortcuts
> Addition/removal of  shortcus is already removed. This just
  cleans up the unused code path

Bug: 275875209
Test: Updated tests
Flag: N/A
Change-Id: I8ab7f57b693f996920e50e8beecafcffab5167e9
2023-05-17 09:20:45 -07:00
Charlie Anderson afb447ee0d Merge "Adding a new Edit Mode LauncherState" into udc-dev 2023-05-16 18:42:34 +00:00
Sunny Goyal 4fdc9181dd Adding support for listening to end callbacks when launching an intent from Launcher
Also moving various state handling to these end callbacks enstead of relying on resume

Bug: 265134143
Test: Verified that the end callback is received
Change-Id: I326a99c80154d244c0e49f678717c476602b6240
2023-05-15 10:31:06 -07:00
Charlie Anderson 438d405aab Adding a new Edit Mode LauncherState
- Edit Mode doesn't close after dragging / dropping an app
	- Edit Mode can be entered through options popup menu, Spring Loaded still entered by dragging items
	- Adds new onLeavingState call to launcher states to cleanup changes

Bug: 279590398
Flag: MULTI_SELECT_EDIT_MODE
Test: manually tested the new state with flag on/off

Change-Id: If4550037f9659dcb8cd8b1943388d1ec5d55fa29
2023-05-12 14:54:45 -04:00
Xiaowen Lei 7c8aeffa4e Merge "Add Lifecycle and SavedState support in Launcher ActivityContext." into udc-dev 2023-05-09 22:07:40 +00:00
Xiaowen Lei 3c0f30a2bb Add Lifecycle and SavedState support in Launcher ActivityContext.
And call initCompose() in Launcher.java. Therefore there is no behavior
change for BaseActivity, or other ActivityContext subtypes that don't
call initCompose().

This should work for non-activity subtypes of ActivityContext. It's
likely that the Launcher activity will require more complete supoort for
Lifecycle and SavedState.

Note: In order to test the ComposeView, need to build this CL together
with ag/22461463.

1. `ViewTreeLifecycleOwner.set(..., ...);` is necessary to fix the
   following crash:

java.lang.IllegalStateException: ViewTreeLifecycleOwner not found

This error comes from WindowRecomposer.android.kt
  - http://cs/androidx-platform-dev/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/WindowRecomposer.android.kt;l=351-354;rcl=5673af1441ebe04c776f528193dfc5f85c0c9a66

2. `ViewTreeSavedStateRegistryOwner.set(..., ...);` is necessary to fix
   the following crash:

java.lang.IllegalStateException: Composed into the View which doesn't propagateViewTreeSavedStateRegistryOwner!

This error comes from AndroidComposeView.android.kt.
  - http://cs/androidx-platform-dev/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeView.android.kt;l=1178-1183;rcl=5673af1441ebe04c776f528193dfc5f85c0c9a66

3. The lifecycle needs to be STARTED. Otherwise the ComposeView doesn't
   show up in its parent (i.e., isn't drawn).
  - In ComponentActivity, `onSaveInstanceState` starts the lifecycle.
  - In ComposeInitializeImpl (from SystemUI),
    ViewLifecycleOwner.updateState() starts the lifecycle when the
    window is visible and in focus.
The implementation in this CL does the same thing as the
ComposeInitializeImpl.

Bug: 275905704
Test: on device, trigger a card such as the timer
Test: RUN_ERROR_PRONE=True m out/soong/.intermediates/packages/apps/Launcher3/Launcher3/android_common/lint/lint-report.xml
Test: RUN_ERROR_PRONE=True m out/soong/.intermediates/vendor/google/gms/packages/SearchLauncher/SearchLauncher/android_common/lint/lint-report.html
Test: Presubmit
Change-Id: Ieced66ad5238916a82ea13c01f69146bbdcf287a
2023-05-09 09:40:03 -07:00
Brian Isganitis 64ee67c6b5 Merge "Add header protection for Taskbar All Apps search bar." into udc-dev 2023-05-04 22:20:46 +00:00
Fengjiang Li 5068718fe8 Merge "Check build version before using predicitve back API" into udc-dev 2023-04-21 20:22:09 +00:00
Fengjiang Li d0c2359a49 Check build version before using predicitve back API
Test: build and run app
Fix: 278798546
Change-Id: I4a7b226b1d710cc84ef40b59a33f50a84aca84bb
2023-04-21 09:38:59 -07:00
Brian Isganitis bd114c2241 Add header protection for Taskbar All Apps search bar.
Works similar to ActivityAllAppsContainerView<->ScrimView
implementation, except utilizes AbstractSlideInView's builtin scrim.

Test: Manual
Flag: ENABLE_ALL_APPS_SEARCH_IN_TASKBAR=false
Bug: 216683257
Change-Id: Ide41ac47ecffc232fffac34c6bfdda67c1da549d
2023-04-21 16:16:55 +00:00
Andrew Cole 0d775d3508 Merge "Unit testing ButtonDropTarget" into udc-dev 2023-04-20 23:35:49 +00:00
Andrew Cole 44898c3db4 Unit testing ButtonDropTarget
Originally there was a bug in a method (isTextClippedVertically) in ButtonDropTarget. While attempting to write a unit test it became necessary to refactor ButtonDropTarget and DeleteDropTarget to decouple them from their dependency on launcher in order to allow for a unit test to be written

The pattern we are introducing here is to decouple Launcher from a controller, in order to facilitate easier testing.
Instead of calling Launcher.getLauncher() we call the method through ActivityContext, which has a testing wrapper already defined. Here is a diagram that explains the old and new pattern

Design Pattern: https://screenshot.googleplex.com/7apiE2DaGDrFzy9.png

Test: isTextClippedVerticallyTest
Bug: b/274402490

Change-Id: I1f3003d0b62dddbceb6e492b15aa5d7352d3a293
2023-04-20 11:22:27 -07:00
fbaron 6847c9f113 Add entry point for home gardening
Bug: 277817921
Test: Turn on flag MULTI_SELECT_EDIT_MODE and verify that a new button shows up that says "Edit Home Screen"
Change-Id: Ic8027ab80604faf5bdc63a44319ecffc047a495c
2023-04-12 09:31:28 -07:00
Sunny Goyal 84b48d8deb Removing support for adding legacy shortcuts.
All existing legacy shortcuts will be migrated one-time to deep shortcuts
This shortcuts are pinned under the Launcher package, with custom badging

Bug: 275875209
Test: Updated unit tests
Flag: N/A
Change-Id: I7da001f724776ad8d6c807517b7e4e259de626c2
2023-04-10 12:28:52 -07:00
Andy Wickham ce6aeca494 Merge "Don't move down all apps container when touching near scroll bar." into tm-qpr-dev am: 30c2bdda52 am: c5f8dff8e2
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/22342811

Change-Id: Idbd08d300cb38d13b0b1a44507fe2d0f8356ecf8
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-31 23:57:59 +00:00
Andy Wickham 23f7d82831 Don't move down all apps container when touching near scroll bar.
Previously we were using any touch outside of the panel to move
the container, but we want to check this last, after checking if
the touch is near the scrollbar (in which case it should intercept
instead).

Test: Manual
Flag: N/A
Fix: 236661990
Change-Id: I518c546356d1f6c6cedf4b31fa621295dd090175
2023-03-29 22:04:11 +00:00
Hyunyoung Song f296b3421d Merge "Fix lint error in errorprone target (only in tm-qpr-dev)" into tm-qpr-dev am: ec6c2591c5 am: a9934f00d3
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/22293181

Change-Id: I143623634c6ba0bc6721dcea7c4913b0f51cf99b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-27 23:29:58 +00:00
Sebastián Franco 59b6888cd8 Merge "Changing global variable for local variable to prevent memory leaks" into tm-qpr-dev am: 9c83077712 am: 35252fd9f2
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/22293180

Change-Id: Ia35796dad7eaca7a090492766591bbb81ba8176f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-27 23:29:02 +00:00
Hyunyoung Song ec6c2591c5 Merge "Fix lint error in errorprone target (only in tm-qpr-dev)" into tm-qpr-dev 2023-03-27 23:02:38 +00:00
Sebastián Franco 9c83077712 Merge "Changing global variable for local variable to prevent memory leaks" into tm-qpr-dev 2023-03-27 22:23:26 +00:00
Hyunyoung Song fa9dbe3291 Fix lint error in errorprone target (only in tm-qpr-dev)
Bug: 275111546
Test: m out/soong/.intermediates/packages/apps/Launcher3/Launcher3/android_common/lint/lint-baseline.xml
Before: https://paste.googleplex.com/6542806926491648
After: https://paste.googleplex.com/5015617085112320

Change-Id: If486407303b81a38b4a35979e442299f33fa49b2
2023-03-27 18:38:35 +00:00
Sebastian Franco 7cdc616a01 Changing global variable for local variable to prevent memory leaks
The array mTmpObjArray is not properly clean but ther is no need
for the array to be global since every time is used is provided
so a use of a local variable will make sure is never leaked.

Fix: 269163620
Test: the flake related to memory leak on testWorkspace should dissapear
Change-Id: I29fb3dd6419f621f2ccce9db2fc5ed86358f7516
2023-03-27 11:18:14 -07:00
Jon Miranda a97dc04478 Merge "Add taskbarIconSize to GridOption/DisplayOptions" into tm-qpr-dev am: 085c53869f am: 3cd39729dc
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/22228076

Change-Id: I3cb2d462cef1df514c87418ed70ac624899c21fd
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-24 23:02:51 +00:00
Hyunyoung Song c5d4b109ee Merge "Revert "Revert "Hide the splash icon when launching with no view..."" into tm-qpr-dev am: e8abfee5e9 am: bb1237eb76
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/22067827

Change-Id: I491a12f6d11c40c165b83f4bd61cf5d9f79d55c5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-24 23:00:41 +00:00
Jon Miranda 085c53869f Merge "Add taskbarIconSize to GridOption/DisplayOptions" into tm-qpr-dev 2023-03-24 21:51:42 +00:00
Hyunyoung Song e8abfee5e9 Merge "Revert "Revert "Hide the splash icon when launching with no view..."" into tm-qpr-dev 2023-03-24 21:41:04 +00:00
Jon Miranda 9c478b6c29 Add taskbarIconSize to GridOption/DisplayOptions
- Renamed variables to make it more clear what they represent
- DeviceProfile will be source of truth for taskbar
  sizes

Bug: 265144213
Test: phone, multi-display, tablet
Change-Id: Id9c19d15a65894fd7645e0f876a4b6527b713c34
Flag: ENABLE_TRANSIENT_TASKBAR=true
2023-03-24 12:29:11 -07:00
Tony Wickham 7eeb4f485a Merge "Handle swipe down on taskbar to stash" into tm-qpr-dev am: 2b8b47952f am: 0324f024b0
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/22147222

Change-Id: I255cf982e558e780fde95f51113a08abbaa672ea
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-23 20:20:58 +00:00
Tony Wickham 2b8b47952f Merge "Handle swipe down on taskbar to stash" into tm-qpr-dev 2023-03-23 18:54:09 +00:00
Tony Wickham c73db73a79 Handle swipe down on taskbar to stash
- Moved all touch-to-stash logic to new TaskbarStashViaTouchController
  (handles both tap outside to stash instantly as well as swipe down
  inside to stash after letting go)
- This is a TouchController on TaskbarDragLayer, so it intercepts
  touches from TaskbarView before icons can be dragged during swipe down

Test: swipe up to invoke transient taskbar in an app, swipe down or
touch outside to stash
Flag: ENABLE_TRANSIENT_TASKBAR=true
Fixes: 246631710

Change-Id: I5cf64848bba34ad32fcc80a93fb4f79ebd2c10a7
2023-03-23 15:13:52 +00:00
Jon Miranda 6e816aaf37 Merge "Add a way to fade out taskbar view when closing an app in the taskbar." into tm-qpr-dev am: 149246f077 am: ce06cf89b0
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/22141153

Change-Id: I919b45021c1fbc2a5d5c30c2d5eca71a672cd5be
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-21 14:14:43 +00:00
Hyunyoung Song a38aab93b9 Revert "Revert "Hide the splash icon when launching with no view..."
Revert submission 21916962-revert-21447384-no-splash-UILAXIUPKJ

Reason for revert: Retry errorprone target

Reverted changes: /q/submissionid:21916962-revert-21447384-no-splash-UILAXIUPKJ
Flag: production issue. Not hidden behind flag
Bug: 269343536
Test: manual

Change-Id: Ia365f886d39d63472d72afc2033fc67e19109f57
2023-03-20 23:33:11 -07:00
Jon Miranda c0c1c55c5d Add a way to fade out taskbar view when closing an app in the taskbar.
Prior to this change, if taskbar is showing and we are cloing an app
that is visible in the taskbar, the taskbar view would immediately
disappear.

Now we will fade out the view until the animation is 33% complete,
at which point the 'space' will be clear for the FloatingIconView
to settle at its final location.

Bug: 273961611
Test: open app in hotseat
      note that the taskbar view is gone immediately
      have taskbar visible, close app that is shown in taskbar
      note that the taskbar view fades out

Change-Id: I5589e2ce3033cfa19669d1bfaf568aef2a96015e
2023-03-20 18:21:42 +00:00
Jon Miranda a479a6e3fd Merge "Keep foreground drawable centered during app open/close animation." into tm-qpr-dev am: ad94440c5f am: d0c8aa31bd
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/22140592

Change-Id: Iee4811dc9cef70e390514106cbc32ea618d1b759
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-20 17:23:17 +00:00
Jon Miranda ad94440c5f Merge "Keep foreground drawable centered during app open/close animation." into tm-qpr-dev 2023-03-20 16:14:43 +00:00
Jon Miranda f23e2d1e16 Keep foreground drawable centered during app open/close animation.
For apps that use AdaptiveIcon, we used to animate the foreground
drawable independently from the background. This is sometimes
perceived as jank so we remove the animation since it is very subtle
in the best case scenario.

Bug: 268026344
Test: open/close apps/folders that use AdaptiveIcons
Change-Id: I500bf56e04823757d511d909a93d3b30703249a1
2023-03-20 16:13:02 +00:00
Fengjiang Li b7860bd85e [Predictive Back] Remove OnBackPressedHandler
OnBackPressedHandler was mimicking android.window.OnBackAnimationCallback because later one was hidden API to T.

Now that we have moved to U, we can remove the former handler.

Test: manual
Bug: 272797556
Change-Id: Ic5302cfa0a6fb15c4a64bdf5dc331834b1f06f38
2023-03-16 09:39:31 -07:00
Fengjiang Li 11f873da0b [Predictive Back] Add extra bottom space in taskbar all apps to home
Bug: 272797556
Test: manual
Change-Id: Ie84117d4211c382544c9ed8e1226bf70b2bd382d
2023-03-15 10:14:48 -07:00
Fengjiang Li 47c03be9fc Merge "[Predictive Back] Fix bug where closing task bar's all apps will show scale animation even if predicitve back is disabled" into tm-qpr-dev 2023-03-10 21:27:40 +00:00
Fengjiang Li 20a343e740 Merge "[Predictive Back] Fix small bottom gap in widget to home animation" into tm-qpr-dev 2023-03-10 17:34:24 +00:00
Fengjiang Li 37305d49fa [Predictive Back] Fix bug where closing task bar's all apps will show scale animation even if predicitve back is disabled
TaskbarAllAppsSlideInView.onBackInvoked() can be triggered by ViewGroup.dispatchKeyEvent(event) with KEYCODE_BACK, in that case we should skip scale animation

Test: manual
Fix: b/272317866
Change-Id: I19468cfe4765de5276c479b0f7fa88ec0690bbfd
2023-03-10 08:54:55 -08:00
Fengjiang Li 1898d16ee0 [Predictive Back] Fix small bottom gap in widget to home animation
The bug was caused by a math problem. The extrat bottom offset should be

 offset = (H / 0.9 - H) / 2

Fix: b/269393854
Test: manual
Change-Id: Ia4d6b3f2ecb53b82d6779cd385ce4d7ca3c16113
2023-03-09 14:38:06 -08:00
Eddie Lan cbdd6493f1 Merge "Revert "Hide the splash icon when launching with no view and no ..."" into tm-qpr-dev 2023-03-09 09:06:11 +00:00
Eddie Lan 293688a9a0 Revert "Hide the splash icon when launching with no view and no ..."
Revert submission 21447384-no-splash

Reason for revert: build break
Bug: 272383391

Reverted changes: /q/submissionid:21447384-no-splash

Change-Id: I73565b1f4e5dd969237980b2b5dbeee7b563abcb
2023-03-09 09:00:29 +00:00
Jon Miranda 1671b704b3 Merge "Hide taskbar view for app open/close animation." into tm-qpr-dev 2023-03-09 00:33:27 +00:00
Jon Miranda acdf07e0b7 Hide taskbar view for app open/close animation.
Bug: 246635237
Test: open app in hotseat
      close app in hotseat
      the 'matching' view in taskbar should be hidden
      tested icon, predicted icon, folders in taskbar/hotseat
Change-Id: I74382480826afafe6ae58e78faf26fe10812e29b
2023-03-08 10:37:25 -08:00
Jagrut Desai 1dc99f3848 Announce for accessiblity when taskbar is invoked/closed
Test: Manual
Bug: 265620540
Change-Id: I6660be7716ec59c765f3d54f8fe9889eaaf56e10
2023-03-08 09:54:10 -08:00
Hyunyoung Song eeee84efb6 Merge "Hide the splash icon when launching with no view and no item." into tm-qpr-dev 2023-03-06 18:23:32 +00:00
Sunny Goyal 82dfc15037 Simplifying code around multiple translation components
Bug: 270759683
Test: Verified on device
Change-Id: I6c758c715828ae25e0e3c60b793cf85d70cb2487
2023-03-02 12:22:03 -08:00
Luca Zuccarini f295e3a85a Hide the splash icon when launching with no view and no item.
This is achieved by instead creating an empty item info that only
specifies the splash type to be solid color.

Bug: 269343536
Test: manual
Change-Id: Ibf5c8f1c949e26af207b8c6e382f71677b9acc2d
2023-03-02 18:19:38 +00:00