Commit Graph
74 Commits
Author SHA1 Message Date
Sunny Goyal e9355c622d Removing unnecessary ActivityContextDelegate
Bug: 393703968
Flag: EXEMPT refactor
Test: Presubmit
Change-Id: Ib95b26de000a2fe8204fdbc46c8a9da4f65c7eab
2025-02-26 10:52:10 -08:00
Sunny Goyal 1ada394e00 Simplifying some ActivityContext and StateManager methods
> Merging asContext and getContext meethod
> Simplifying some generic declaration in StateManager

Bug: 393703968
Flag: EXEMPT refactor
Test: Compilation
Change-Id: I679ac83e39b2a17f510698db15335aae8f735aad
2025-02-04 10:11:34 -08:00
Sunny Goyal edc1453cf1 Removing BaseDraggingActivity
> Merging come methods to BaseActivtiy
> Separating wallpaper theme implementation to an independent class

Bug: 393703968
Flag: EXEMPT refactor
Test: Presubmit
Change-Id: I8cdb6d1520beff3f8226b62c5b7eafd48b2c674f
2025-02-03 17:23:10 -08:00
Sunny Goyal 04b50a08f6 Fixing low res folder icon when preview changes
Also removing legacy for drawable sharing between folder-content and folder-icon, since preview now always creates new drawables

Flag: EXEMPT bugfix
Bug: 386842651
Test: atest PreviewItemManagerTest
Change-Id: Ib8e4b4d5be4fb0c9601b9d8e3cef8a29d6c77651
2024-12-30 15:47:17 -08:00
Sunny Goyal e1b7ca566e Merge "Moving various application into related methods to a separate class" into main 2024-09-24 22:05:52 +00:00
Sunny Goyal 28d6bbd6b4 Moving various application into related methods to a separate class
> This avoids duplicate RPCs when trying to get multiple properties
  from AppInfo
> This would be used in a followup cl when AppInfo is added to caching
  logic in IconCache

Bug: 366237794
Test: atest ApplicationInfoWrapperTest
Flag: EXEMPT refactor
Change-Id: I55b964d4f8cfa1ff1770e310ac278719495e285d
2024-09-23 22:09:24 -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
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
Shamali P 74d9fbd635 Define widget picker data provider separate from popup provider
Separate provider in ActivityContext and relevant implementations that
open widget picker

Bug: 353347512
Flag: EXEMPT BUGFIX
Test: Unit test
Change-Id: I55df3d9ce6ae9b7d0a310a8686b188618d229065
2024-07-22 23:58:04 +00:00
Fengjiang Li b2d0845a29 [Launcher Jank] Avoid lock contention on AssetManager in all apps preinflate thread
Create a separate context with a separate AssetManager obj.

Bug: 337056120
Flag: NONE
Test: presubmit
Change-Id: Ic6765f7f19b649605aec6a889f8382ee10f929b0
2024-04-29 04:43:25 +00:00
Sunny Goyal 77954bae4e Cleaning up some build configurations
> Removing Launcher3Go-without-quickstep
> Removing src_ui_overrides to src_no_quickstep
> Removing unnecessary code swpa for GO builds

Bug: 330920490
Flag: None
Test: Presubmit, everything builds
Change-Id: I5746dbc7c5a37c1d99d78b55bf2a6adce1a711c9
2024-03-26 17:16:52 +00:00
helencheuk 00ddb5e3a9 Stash taskbar when software keyboard is docked
Stash taskbar when
1) Software keybaord is docked
2) Input toolbar is placed at the taskbar area (stash so toolbar and taskbar would not overlap)

Testing result:
https://drive.google.com/file/d/1NMDexHl0FgyHFaOUh_GSEEUU2k08STJH/view?usp=sharing

Bug: 317251202
Test: TaplTestsQuickstep#testQuickSwitchToPreviousAppForTablet
Flag: N/A

Change-Id: I90662bc6e68f644e919f5c702059476b02519ed6
2024-02-21 23:03:03 +00:00
Vinit Nayak ec52ed9f99 Intercept clicks for non-supported split targets on workspace
* If we're in split selection state we disable the following
- G icon on PSB
- Lens icon on PSB
- Smartspace
- Widgets

Bug: 295467097
Test: Enter split contextual and observe split instructions
view going boing when tapping on unsupported target
Flag: com.android.wm.shell.enable_split_contextual

Change-Id: Ia7783472f3de9359c2784788be5f35596cbc8deb
2024-02-02 08:17:13 -08:00
Andy Wickham af7ff56792 Merge changes from topics "awickham-api-cleanup", "keyboard-on-back" into main
* changes:
  Cleanup API checks for P, Q, and R.
  Add a WindowInsetsAnimationCallback to listen to IME changes.
  Update minSdk to 30.
2024-01-25 22:06:40 +00:00
Andy Wickham b922dccbf5 Cleanup API checks for P, Q, and R.
Test: Build with gradle
Flag: NA
Change-Id: I3ef17090741d14bebd76cf09cf3dc5ac4f11e686
2024-01-24 14:58:08 -08:00
Andy Wickham a601341ff5 Add a WindowInsetsAnimationCallback to listen to IME changes.
This handles cases that were previously ignored, such as dismissing
the IME with the back key/gesture.

Removed extraneous manual state updates that were used for specific
cases previously. The only remaining state updates are from our
controlled IME animation in KeyboardInsetsHandler, as that correctly
handles the case where you start closing the IME but end up keeping
it open (or vice versa).

Bug: 277738379
Fix: 320659754
Test: Manually go through various IME transitions on Launcher,
open and close apps, lock/unlock, etc to verify keyboard state
is correctly updated. And verify b/320659754 steps do not repro.
Flag: NA

Change-Id: I4787afbb37eed815b909a0215d8afeb3894ab985
2024-01-23 15:56:37 -08:00
Vinit Nayak 7c7ece3efe Rename isSplitSelectionEnabled() to isSplitSelectionActive()
Bug: 295467097
Change-Id: I5c518c3e7227c034956fb92590b7472ba4a71d39
2024-01-23 15:41:14 -08:00
Pat Manning b8145edf05 Wait for IME to hide in test only if software keyboard.
Fix: 311410127
Test: TaplKeyboardFocusTest#testAllAppsExitSearchAndFocusSearchResults
Flag: NONE.
Change-Id: I74f1023bdf9118abaa9cda651b881ef60636da34
2023-11-27 13:53:03 +00:00
Pat Manning 54acb41e8c Merge "Do not hide persistent taskbar during input for physical keyboard." into main 2023-11-20 23:29:55 +00:00
Pat Manning a401e15553 Do not hide persistent taskbar during input for physical keyboard.
Fix: 255818649
Test: TaplTestsQuickstep
Flag: NONE.
Change-Id: Id5495163f43464125bfcbd9e255f18e24183d67a
2023-11-20 10:45:05 +00:00
Sebastian Franco 2d023e26c6 Use the number of shown hotseat icons instead of database items to store into the DB
It seems this issue was originated from ag/14129534 and we should no
longer use numDatabaseHotseatIcons form IDP and use numShownHotseatIcons
from the DP.

Fix: 305119735
Flag: NA
Test: manuall testing, we don't have this test for landscape
Change-Id: Ie530748f9b77d89ac3298c187ae767643d505cb3
2023-11-15 21:34:38 -06:00
Sunny Goyal cd44740567 Moving onboarding prefs to use LauncherPrefs
Bug: 301661768
Test: Presubmit
Flag: N/A
Change-Id: Iec8a5e739f394a152d5ffc57b01e0449e94b4084
2023-10-10 11:47:33 -07:00
Vinit Nayak 1525cd7269 Add method to determine if launcher is in split selection state
* Available for both launcher and taskbar via
ActivityContext

Bug: 295981634
Change-Id: I8767deea0b2432da3047209037874c966b83c3b3
2023-10-06 14:40:49 -07:00
Treehugger Robot 3cc4f5baaf Merge "Avoid sending an IME close request if the IME is already closed." into main 2023-09-22 22:14:10 +00:00
Liran Binyamin a833af316b Adjust the hotseat when the bubble bar becomes visible
When the bubble bar becomes visible the space between icons in the
hotseat is now adjusted. This change only does it when the QSB is
above the icons, but this will be changed in the future to be based
on the amount of space between the hotseat and the edge of the screen.

When the hotseat is adjusted, the new width is smaller by the size of
2 icons. The icons are then translated to be evenly spaced within the
boundaries of the new width.

Since the adjustment is only applied when the QSB is above the icons,
it is resized accordingly to the new width.

All visual updates currently snap to the new position, but will be animated
in a follow up.

Demo: https://recall.googleplex.com/projects/3391fc5c-599d-4827-b6f8-d2deb160aa99/sessions/fad1a5c5-e9cf-4586-92e4-1e92df3b002e

Bug: 280494203
Test: Manual (on tangor)
      - Set device to landscape
      - Make the bubble bar visible by adding a bubble
      - Rotate to portrait mode
      - Observe that the hotseat is adjusted
      - Rotate to landscape
      - Observe that the hotseat adjustment is removed
      - Rotate back to portrait
      - Observe that the hotseat is adjusted again
      - Dismiss the bubble to hide he bubble bar
      - Observe the hotseat adjustment is removed

Change-Id: I5b02a60b6cb301ffa2507a6d825c748a782cca18
2023-09-13 17:08:42 -04:00
Luca Zuccarini 8837e66a7e Avoid sending an IME close request if the IME is already closed.
Bug: 277738379
Fix: 296986528
Flag: N/A
Test: manual
Change-Id: I0a3419f17ee569020c9de673b9507337661bd002
2023-08-22 16:47:55 +00:00
Brian Isganitis f54c6fa4b4 Revert "Revert "Provide AllApps item OnLongClickListener through ActivityContext.""
This reverts commit 853a5b9e0c.

Fixes SecondaryDisplayLauncher class by using lambda instead of method
reference for #getAllAppsItemLongClickListener. This change is necessary
because mDragLayer is late-init.

Test: Home Settings > Developer Options > Launch Secondary Display
Bug: 289261756
Flag: No
Change-Id: I7b83f81651dde360edea6ee7bea6cc82441e6bef
2023-07-11 13:21:47 -04:00
David Saff 853a5b9e0c Revert "Provide AllApps item OnLongClickListener through ActivityContext."
This reverts commit 0acab2532d.

Reason for revert: b/290403189

Change-Id: Ie3f67f78a8ffce8c2d5a92f65a7e74d788c82a81
2023-07-11 10:45:33 +00:00
Brian Isganitis 0acab2532d Provide AllApps item OnLongClickListener through ActivityContext.
This cleans up how alternative AllApps implementations such as Taskbar
and SecondaryDisplay override the default INSTANCE_ALL_APPS listener.
This change will also be helpful for Toast in Taskbar drag-n-drop.

Test: Manual
Bug: 289261756
Flag: n/a
Change-Id: I55eb881bcd1e210852d435a3ea2a6686ce0a9838
2023-07-06 22:12:20 +00:00
Sunny Goyal b02dafc1d4 Removing explicit target SDK for launcher
> It will automatically target the latest SDK it was compiled with

Bug: 284349887
Test: Presubmit and manual
Flag: N/A
Change-Id: I32629b0dd710c3c04d8f70f988b7279e7cae6731
2023-06-26 10:15:14 -07:00
Anushree Ganjam adcaf22ae6 Merge "Add LAUNCHER_APP_LAUNCH_PENDING_INTENT where an app is launched through pending intent." into udc-d1-dev am: ca7f0e97db
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/23477755

Change-Id: I5920e153d71ea05ae0a5af3819d0fc16f7e2ed5d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-31 00:05:03 +00:00
Anushree Ganjam aa0e91820b Add LAUNCHER_APP_LAUNCH_PENDING_INTENT where an app is launched through
pending intent.

Bug: Bug: 282236269
Test: Manual
Flag: NA
Change-Id: I6fb15a77f32ce5914f9632f5fb77f340acd3cfda
2023-05-30 19:10:16 +00:00
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
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
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
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
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
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
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
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
Becky Qiu 43577a6604 Make sure we start new activity only in UI thread.
Bug: 269576728
Test: local
Change-Id: I76ee93e54d6e645a62a427d0a779277532efae4a
2023-02-18 01:32:31 +00:00
Charlie Anderson 8ad9144ca2 adding the new Material U App Shortcut Popup design
Bug: 247880037
Test: tested manually
Change-Id: I66c291df54dfc2a76fc974082a19091deb167f73
2023-02-14 16:03:15 -05:00
Sunny Goyal 126ac14112 Merge "Introducing CellPosMapper which allows mapping between UI position and model position" into tm-qpr-dev 2023-01-31 18:20:35 +00:00
Sunny Goyal 669b71f5b3 Introducing CellPosMapper which allows mapping between UI position
and model position

Test: atest CellPosMapperTest
Bug: 188081026
Change-Id: If5c6b3df5ad240317bb535c675f6ead94084238e
2023-01-30 12:17:09 -08:00
Luca Zuccarini f70e2f0a95 Merge "[Toast] Introduce SysUI's animation library to the transition manager." into tm-qpr-dev 2023-01-30 14:25:48 +00:00
Vinit Nayak 49dc6d2712 Launch initial split from taskbar in overview app menu
* Consolidated init calls in SplitSelectStateController
* Also add support to launch from taskbar all apps
* Add logic in SplitSelectStateController to know whether
or not we need to dismiss existing TaskView vs relying
on mSplitHiddenTaskView null check
* Default click handling for SplitShortcut is to start
split selection mode

Bug: 251747761
Test: Initiated split from smart actions, thumbnail app
icon, home, taskbar in overview, all apps. Saw it choose
the latest thumbnail

Change-Id: Ib4f64e619c97615af458a19a9c0efd86c92979d9
2023-01-27 16:46:14 -08:00
Luca Zuccarini 2098381808 [Toast] Introduce SysUI's animation library to the transition manager.
Bug: 250588519
Test: manual, see videos in bug
Change-Id: Iccc440c95ecc14d39e35d911798e239b698b950a
2023-01-27 13:49:40 +00:00
Sunny Goyal adb364a104 Unifying multiple all-apps implementations
> Using a single layout for the all-apps content
> Removing some unnecessary themes
> Fixing search chashes in SecondaryDisplayLauncher

Bug: 259733681
Test: Existing TAPL tests verify that Launcher/AllApps work properly
Change-Id: Icd5310316499cd421bc039cdbd4d398b813cd477
2022-12-14 11:27:12 -08:00
Sunny Goyal 54fa110bba Removing some unnecessary interfaces and merging them to ActivityContext
Bug: 259733681
Test: Everything compiles
Change-Id: If6b530f6e589a851cf8554f5de0849843bd66dd4
2022-12-08 10:15:55 -08:00