Commit Graph

1188 Commits

Author SHA1 Message Date
Juan Sebastian Martinez 12c5b06add Merge "Adding a mock for MSDLPlayerWrapper to DeleteDropTargetTest." into main 2024-11-22 18:21:05 +00:00
Juan Sebastian Martinez 86f3d35839 Adding a mock for MSDLPlayerWrapper to DeleteDropTargetTest.
The mock makes sure we don't rely on a device hardware for tests.

Test: DeleteDropTargetTest
Flag: com.android.launcher3.msdl_feedback
Bug: 379958544
Change-Id: I202b81f3dd16af1c0985980d0b962be0000bf31f
2024-11-21 13:32:43 -08:00
Schneider Victor-tulias 602dc74c5b Merge "Fix broken first gestures when using recents window" into main 2024-11-20 21:13:34 +00:00
Schneider Victor-Tulias c14e143338 Fix broken first gestures when using recents window
The first gestures fail to finish the recents animation controller when using the recents window tracker. This change fixes several test failures and makes gesture nav more stable on launcher restart.

Flag: com.android.launcher3.enable_fallback_overview_in_window
Fixes: 377679001
Test: TAPL tests
Change-Id: I617a27238a834dc734c9ae036045f159b06fd004
2024-11-20 11:44:19 -05:00
Juan Sebastian Martinez 4c35e50dd4 Adding MSDL history to Launcher's dump information.
The history displays the latest tokens played. Useful for testing and
debugging.

Test: presubmit
Flag: NONE MSDL playback is flagged case by case.
Bug: 377496684
Change-Id: I163889ade9fe4dee7f02459d2d9d81b94197bea1
2024-11-19 15:44:39 -08:00
Juan Sebastian Martinez 3f0d356619 Merge "Adding MSDL feedback to dragging apps and widgest over drop targets." into main 2024-11-19 15:58:35 +00:00
Vinit Nayak 49282f8ecc Migrate away from listening for main/side specific stage types
Bug: 349828130
Flag: com.android.wm.shell.enable_flexible_split
Test: Manual, incremental change, not stable yet.
Works fine with flag off

Change-Id: Ief1a41fb9f32cd99266f0ac73b17d5676ead042a
2024-11-15 23:57:46 +00:00
Sunny Goyal 5861ee437a Fixing LauncherAppCompoent not available for isolated context
In those cases, creating a new LauncherAppCompoent and storing it in
the application context

Bug: 372180905
Test: atest LauncherComponentProviderTest
Flag: EXEMPT bugfix
Change-Id: Ibf517a23801138b1fa18e8e4a7adbdedb994365b
2024-11-14 12:34:26 -08:00
Pechetty Sravani (xWF) 41743bd0c7 Revert "Listen to LauncherUserInfo config changes and hide/unhid..."
Revert submission 29352757-update-usericoninfo

Reason for revert: <DroidMonitor created revert due to b/379000263. Will be verified through ABTD for standard investigation.>

Reverted changes: /q/submissionid:29352757-update-usericoninfo

Change-Id: I751536274ec9dcc4047bf9c76b3a5cab258da6e4
2024-11-14 06:11:15 +00:00
Olivier Nshimiye 39dee43e12 Listen to LauncherUserInfo config changes and hide/unhide private space
entrypoint accordingly

Flag: android.multiuser.add_launcher_user_config

Bug: 346553745
Test: Manual - verified on device
Test: atest LauncherAppsTests

Change-Id: I202c4c76af4f96d5b3226daffcfebc2f9b9703b1
2024-11-13 21:35:05 +00:00
Juan Sebastian Martinez d36f0d2b7a Adding MSDL feedback to dragging apps and widgest over drop targets.
The ButtonDropTarget class delivers MSDL feedback onDragEnter.

Test: DeleteDropTargetTest
Test: manual. Verified haptics when dragging apps and widgtes over
  "Remove" and secondary drop areas.
Flag: com.android.launcher3.msdl_feedback
Bug: 371249457
Bug: 371315650
Change-Id: Ic3f79ab5e3da7bb26797f2a1bfb79b5e37b3ac97
2024-11-13 10:20:13 -08:00
Juan Sebastian Martinez 9c774c4cf0 Introducing the MSDLPlayer in Launcher via a wrapper singleton.
The player is the main API to the MSDL library (also used in SysUI) that
implements the Multi-sensory Design Language in the system UI. This CL
also includes an example of the API usage, when the user swipes up to
reveal AllApps, or taps on QSB.

Test: manual. Verified that the MSDL haptics play when swiping to reveal
  AllApps and tapping on QSB.
Flag: com.android.launcher3.msdl_feedback
Bug: 371322466
Bug: 371250001
Change-Id: Ie13fd5494efc9fc80cdb94a7bdd6e20b2e4633a8
2024-11-08 14:24:36 -08:00
Anushree Ganjam 2f73d60b30 Merge "Make VibratorWrapper injected by dagger (14/n)" into main 2024-11-04 21:36:19 +00:00
Anushree Ganjam 87ea411e97 Make VibratorWrapper injected by dagger (14/n)
Bug: 361850561
Test: Manual
Flag: NONE Dagger Integration
Change-Id: I57047122b35731d83674a5607e1ac980b86aebca
2024-11-04 11:33:34 -08:00
Holly Jiuyu Sun 5cf9dd0840 Merge "[clean-up] Clean up Quick Launch V2 and V1." into main 2024-10-30 22:05:41 +00:00
Charlie Anderson 859bbaa718 Merge "Convert PackageManagerHelper to use Dagger" into main 2024-10-30 14:24:15 +00:00
Toshiki Kikuchi c6b29e374c Merge "Handle display windowing mode change in onConfigChanged" into main 2024-10-30 01:25:23 +00:00
Charlie Anderson 480b42f833 Convert PackageManagerHelper to use Dagger
Bug: 372012340
Test: presubmit
Flag: EXEMPT Dagger change
Change-Id: Ic0636fa086c9d846f7b38665a552fc4b2d12faa3
2024-10-29 16:42:19 -04:00
Toshiki Kikuchi b00c260669 Handle display windowing mode change in onConfigChanged
This CL allows onConfigChanged to handle the changes of
showLockedTaskbarOnHome().
The return value of showLockedTaskbarOnHome() depends on the display
windowing mode. And onConfigChanged() is triggered when the display
windowing mode changes (e.g. by adb shell wm set-display-windowing
mode).

Bug: 375321881
Flag: com.android.window.flags.enter_desktop_by_default_on_freeform_displays
Test: DisplayControllerTest
Test: manual
Change-Id: I1932f460735b9517cc68170c01cd45ca9bacfeb0
2024-10-28 08:47:26 +09:00
Anushree Ganjam ba8c0a8fbd Merge "Make ApiWrapper to be injected by dagger (12/n)" into main 2024-10-25 19:27:50 +00:00
Anushree Ganjam ef2c5c0e49 Make ApiWrapper to be injected by dagger (12/n)
Bug: 361850561
Test: Manual
Flag: EXEMPT Dagger Integration
Change-Id: I53ec78999085b3e0ad6df69e177806e0cb1b52d1
2024-10-24 12:14:40 -07:00
Holly Sun cf5fbe7816 [clean-up] Clean up Quick Launch V2 and V1.
Bug: 282830271
Test: manual
Flag: EXEMPT old flag enable_quick_launch_v2
Change-Id: Ibcd8938a021b5f558a807e85c44fe6c161aa572a
2024-10-23 16:05:16 -07:00
Treehugger Robot 08007068d4 Merge "Generalize ActivityTracker to support RecentsWindowManager" into main 2024-10-22 21:26:58 +00:00
Schneider Victor-Tulias 8463dc47eb Generalize ActivityTracker to support RecentsWindowManager
Continued quick switch couldn't work using existing infrastructure until RecentsWindowManager could be properly tracked by ActivityTracker. Refactored ActivityTracker into ContextTracker to support this.

Also refactored ActivityInitListener into ContextInitListener to fit the updated pattern.

Flag: com.android.launcher3.enable_fallback_overview_in_window
Fixes: 366023051
Test: RecentsWindowSwipeHandlerTestCase; Attempted continued quick switch from home and launched app
Change-Id: Ic38ebf3611ef22fbfd1ddeb79d72d8a3621940a0
2024-10-22 15:29:59 -04:00
Anushree Ganjam bb996d1304 Make RefreshRateTracker to be injected by Dagger (11/n)
Bug: 361850561
Test: Manual
Flag: EXEMPT Dagger Integration
Change-Id: Ice5dc3364f90d2b9b99a0837702ae1d49a356f88
2024-10-21 17:20:38 -07:00
Sunny Goyal 0b7f4cf1e2 Fixing deadlock in dagger singletons
Bug: 373557167
Flag: EXEMPT dagger
Test: atest DaggerSingletonDeadlockTest

Change-Id: I2304237bfd818c99b82bbfceea8a81ddb136b5a1
2024-10-21 18:09:37 +00:00
Winson Chung fd91b7be4e Merge "Remove user TIS unlocked runnable when a TIS instance is destroyed" into main 2024-10-18 17:03:55 +00:00
Winson Chung a9355d4dba Remove user TIS unlocked runnable when a TIS instance is destroyed
- If the TIS instance is destroyed, then we should remove any queued
  user-unlocked runnables to ensure that they do not attempt to run
  again

Flag: EXEMPT bugfix
Bug: 373671447
Test: atest NexusLauncherTests
Change-Id: I8ca3cdfa6f849bce5d347f14038e1ebd6bc6ff06
2024-10-18 04:26:37 +00:00
Sunny Goyal 9cd3154952 Moving PluginManager to dagger
Multiple singletons depend on Plugin which can cause deadlock
if PluginManager is initialized on main thread

Test: presubmit
Bug: 361850561
Bug: 373557167
Flag: EXEMPT dagger
Change-Id: I79f17ac6b78a2ce60df2d27a6e794b9e4eba1b51
2024-10-17 11:48:38 -07:00
Sunny Goyal bf9d047b53 Removing unnecessary SafeClosable requirement from DaggerSingletonObject
Test: presubmit
Bug: 361850561
Flag: EXEMPT dagger
Change-Id: I453159be83e92eee92f5a18cfe0d3ea9a3123f47
2024-10-12 01:26:50 -07:00
Brian Isganitis 0e27df431a Merge changes from topic "launcher-prefs-abs" into main
* changes:
  Add FakeLauncherPrefs with basic tests.
  Split LauncherPrefs into abs class / impl.
2024-10-10 19:31:04 +00:00
Brian Isganitis 9cbc478574 Split LauncherPrefs into abs class / impl.
Splitting allows easily making a fake that doesn't have to override the implementation details of LauncherPrefs. The fake should not deal with SharedPreferences.

LauncherPrefs could be an interface, but then the companion object has more limitations. The solution there is to have a dedicated object class, e.g. `LauncherPrefItems`. I went with an abs class to make the refactor simpler.

Flag: EXEMPT refactor
Bug: 369641781
Test: go/testedequals
Change-Id: I97a2d495d3b5fa892fa53a11fb3f7a7dfb98515b
2024-10-09 18:55:51 -04:00
Fengjiang Li 741806408d Merge "[Dagger] Make AsyncClockEventDelegate provided by DaggerSingletonObject" into main 2024-10-08 23:56:25 +00:00
Fengjiang Li 2075e39c76 [Dagger] Make AsyncClockEventDelegate provided by DaggerSingletonObject
Test: presubmit
Bug: 361850561
Flag: NONE - dagger
Change-Id: I53791218e0ff1e5d61cefee3f32a4c49882777cc
2024-10-08 10:19:01 -07:00
Fengjiang Li a49a2a32be Merge "[Dagger] Make SettingsCache provided by DaggerSingletonObject" into main 2024-10-08 17:13:20 +00:00
Brian Isganitis 67ed920053 Merge changes from topic "brianji-object-sandbox" into main
* changes:
  Add SandboxApplication for keeping created contexts in sandbox.
  Allow specifying base for SandboxModelContext.
  Rename to ObjectSandbox.
2024-10-08 16:33:47 +00:00
Fengjiang Li 4d819d9dea [Dagger] Make SettingsCache provided by DaggerSingletonObject
Test: presubmit
Bug: 361850561
Flag: NONE - dagger
Change-Id: Id709a6e1d14446b8361cf292d5f5422f2ea3524c
2024-10-07 23:10:53 -07:00
Sunny Goyal b619d2c297 Removing dependency on PackageInfo in IconCache
Bug: 363324203
Flag: EXEMPT bugfix
Test: atest IconCacheTest
      atest IconCacheUpdateHandler

Change-Id: I85005ef1069960a17a0f3e7265749a8ef3004172
2024-10-08 04:09:54 +00:00
Brian Isganitis bae6a107de Rename to ObjectSandbox.
Flag: TEST_ONLY
Bug: 369504330
Test: go/testedequals
Change-Id: Iacfdc62270aa6f23e7c9b79205d967272e0a7a66
2024-10-07 16:50:59 -04:00
Fengjiang Li 49df29669d [Dagger] Make ScreenOnTracker provided by DaggerSingletonObject
Test: presubmit
Bug: 361850561
Flag: NONE - dagger
Change-Id: I305ee47f2da92972e9b5effe3c3e02504cd5a3b0
2024-10-07 11:45:16 -07:00
Sunny Goyal 37182de670 Fixing flakiness in robo tests
Bug: 352288591
Flag: EXEMPT test fix
Test: Presubmit
Change-Id: I15dd91815f7ae4d3cf3c9e1fd4c2b5e07052ab3f
2024-09-25 10:52:14 -07: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
Randy Pfohl 31aefc3290 Merge changes from topic "windowRecents" into main
* changes:
  Cleaning up unusued handlers
  Moving RecentsWindowManager away from the singleton pattern
  Limited recents in window introductory cl
  abstracting fallback views to support container instead of activity
2024-09-24 16:13:30 +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
Jagrut Desai 94c9fb7cf5 Refctor DisplayController#handleInfoChange
Test: Presubmit
Bug: 369140181
Flag: EXEMPT refactor DisplayController#handleInfoChange
Change-Id: I196fe0e843a60c518d882c25f9fbdcd3cb775ba6
2024-09-23 09:58:30 -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
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 f2c65c289b Merge "Make sandboxContext extend LauncherApplication (4/n)" into main 2024-09-19 23:22:56 +00: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
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