Commit Graph

36 Commits

Author SHA1 Message Date
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
Charlie Anderson
0c44432d06 Add additonal logging around PackageUpdatedTask to detect app updates for User
Bug: 350144057
Flag: EXEMPT just logging
Test: local debugging
Change-Id: I317bee94342ad5022025ec52c992c5eeb906efa5
2024-09-06 15:24:51 -04:00
Charlie Anderson
0171058c0f Merge "add more logging around package updates and widget click handling in Launcher" into main 2024-05-10 17:19:06 +00:00
Charlie Anderson
5fa4f02c70 add more logging around package updates and widget click handling in Launcher
Bug: 336976070
Test: locally verified
Flag: N/A

Change-Id: I8a1204fb6d96eccbc20b0ddd3c1e6fb1ae75fc6c
2024-05-10 10:00:51 -04:00
Winson Chung
94e8ad0731 Add multi-instance state to item infos
- Add legacy resource for supported multi-instance apps that
  matches the current SystemUI resource of the same name, and will
  be removed as apps migrate to the V manifest property to declare
  multi-instance support
- Load the multi-instance state from PackageManager when the db is
  first loaded or when packages are updated
- The multi-instance check is then used to determine if an app pair
  can be saved (ie. whether the action can be shown)

Bug: 323112914
Test: atest NexusLauncherTests

Change-Id: I565b4bee4ab5f7040910306b1fd60a4fc3bf9a1c
2024-05-09 18:43:38 +00:00
Winson Chung
bb32b7e0de Migrate PackageManagerHelper to MainThreadInitializedObject
- This is in preparation for other things that can be loaded with
  PMH initialization and prevents duplicate temporary helpers from
  loading this many times.
- Most calls in PMH can use the app context, but one call requires
  starting activities/showing toasts so that one needs to take the
  context and can be made static instead.

Bug: 323112914
Test: atest NexusLauncherTests
Change-Id: Id11c780955880cf49c022cbf2744c41e1b696355
2024-04-22 12:35:03 +00:00
Winson Chung
6a6de2dfc3 Migrate WorkspaceItemInfo non-resizeable flag to runtime status flag
- This aligns with other app-level state that is read at runtime

Bug: 323112914
Test: atest NexusLauncherTests
Change-Id: I1e29583d1c0302646718473c8958d604c1a202a5
2024-04-14 06:20:54 +00:00
Winson Chung
21cf4439d2 Use shared method for updating the runtime status flags for an item info
- The method AppInfo#updateRuntimeFlagsForActivityTarget should also
  both add and remove runtime flags to match the current state

Bug: 323112914
Test: atest NexusLauncherTests
Change-Id: If87acf1e2324f98cf1d96d194eac13a93fa432c1
2024-04-14 06:19:49 +00:00
Song Chun Fan
e5ad96ce10 [Launcher/Archive] remove all checks for the archiving system property
No longer needed

Change-Id: I62c8843aa04a245d1dcc30f7787c71d17993f5d1
BUG: 331165939
Test: builds
2024-04-08 23:14:07 +00:00
Jakob Schneider
328c32235e Add the archiving sysprop check to launcher3.
This system property will be used to test the feature
in DVT. This is required because the new device is built on U QPR3, not V. See
https://docs.google.com/document/d/1h8sLlnnhwGP4uZssglBqTShMoQcEq5dvR7jsJmmp0Cw/edit?resourcekey=0-KTFHkPKTdtMN-5kQYBWJig&tab=t.0#heading=h.x9snb54sjlu9  for more details.

Test: tested manually
Flag: ACONFIG com.android.launcher3.enable_support_for_archiving TEAMFOOD

Change-Id: Ie64a40ba799c81057258dd7de3872a0494cff2d8
2024-02-06 14:29:07 +00:00
Rohit Goyal
9ab4550ac3 UI Improvement: Fix unexpected progress bar around app icon added to Workspace after unarchival.
* In case app icon is added to workspace after unarchival completes for archived app, it shows a completely filled progress bar around the icon.
* This behaviour exists because the 'FLAG_ARCHIVED' flag is copied from `AppInfo` item.
* This cl updates the 'FLAG_ARCHIVED' flag for 'AllApps' item once unarchival completes.

Test: verified bugfix locally.
Bug: 319213296
Flag: ACONFIG com.android.launcher3.enable_support_for_archiving DEVELOPMENT
Change-Id: I739225707a11bc9a6aa23e81775b4e036ce81a7e
2024-01-31 14:53:01 +00:00
Rohit Goyal
04fe042e83 Add support for progress bar for archived apps in AllApps view.
Working Video: https://drive.google.com/file/d/1-cSD63FQLmqyeTkUuXqcSsjb03m31ULO/view?usp=sharing

Test: TaplPromiseIconUiTest
Bug: 302115555
Bug: 317108448
Flag: ACONFIG com.android.launcher3.enable_support_for_archiving DEVELOPMENT
Change-Id: Iebaa338789430c5e0a004bd8b05bdbda87cd986e
2024-01-17 22:49:08 +05:30
Rohit Goyal
2e6010c421 Add support for progress bar during unarchival of app.
* With this change, progress bar should appear whenever app update for archived app reaches non-zero progress.
* Once the update is cancelled, the progress bar should also disappear.

Test: PromiseIconUiTest and manually tested the progress bar using Play Store
Bug: 302115555
Flag: ACONFIG com.android.launcher3.enable_support_for_archiving DEVELOPMENT
Change-Id: Iacf7a0fd865dba34915fa09f59c63a1da6e47315
2024-01-03 23:44:52 +05:30
Himanshu Gupta
9aab4d4603 Adding Prework for Private Space integration in Launcher
This Cl adds the following:
1. Fixes for Quite Mode check maintained by Launcher
2. Addition of new Quite Mode broadcasts
3. Fixes for determining work profile user correctly.

Flag: ACONFIG com.android.launcher3.Flags.enable_private_space DEVELOPMENT
Bug: 289223923
Test: Ran Launcher3 tests
Change-Id: I5f6158b213723339e70ff99e66c5f439f5879e12
2023-11-05 12:31:10 +00:00
Schneider Victor-tulias
5455b85291 Revert "Add logging to help debug additional app infos being updated by CacheDataUpdatedTask"
This reverts commit 62511de74e.

Reason for revert: bug not reproducing

Fixes: 20747317
Change-Id: I55c1fe8005fee66db53052aab15e152e6d39a34c
2023-01-04 18:27:00 +00:00
Pinyao Ting
777c13eb00 Explicit Nullbility in Launcher (Part 5)
This CL addresses the nullbility in LauncherModel and update tasks.

Bug: 242895652
Test: manual
Change-Id: Ied635c944c3656f0d493b295f772aa0329b354b9
2022-09-16 17:17:16 -07:00
Schneider Victor-tulias
62511de74e Add logging to help debug additional app infos being updated by CacheDataUpdatedTask
Bug: 239465630
Test: ran test locally.
Change-Id: I1b31cfaeb697f87acd99d787284f55d7e6b75b54
2022-07-28 23:09:39 +00:00
Sunny Goyal
32084d49d3 Replacing ItemInfoMatcher with predicate
This removed unnecessary componentName lookups when it
is not required. Many checks just rely on IDs and
userHandle

Bug: 231153610
Test: Presubmit
Change-Id: Ief93954abc5861062a9f55dc2ef181d3de106c62
2022-05-03 10:07:22 -07:00
Schneider Victor-tulias
1702a0ea90 Enable bulk icon loading on master
Bug: 195674813
Test: none
Change-Id: I01fb4b77e652b2fd71e8a7a0edf5ddbe024f9d48
2022-01-25 13:03:37 -08:00
Schneider Victor-tulias
dccfe04a3a Improve all apps loading times.
Updated loadAllApps to load all required icons in a series of bulk sql queries. This reduces the cost of SQL lookups (up to two lookups per user, rather than one lookup per icon)

Bug: 195674813
Test: Added all icons to workspace, added duplicate icons, added icons for same component name from different users
Change-Id: Ifda8980386084999c53d7f881e8967be0d57d263
2021-09-29 12:37:40 -07:00
Sunny Goyal
13f656e15e Always loading high-res icon for apps.
Low res support will be completely removed in a followup cl

Bug: 179962824
Test: Verified on device
Change-Id: Ibb19d1892bfcdf5d26178e807f54f40462704e33
2021-02-18 10:09:31 -08:00
Sunny Goyal
4c23ca768f Fixing shortcut intent getting cleared during backup/restore
Bug: 174570283
Bug: 156871815
Test: Verified on device
Change-Id: Ie286ee783bfe96c5b2be28f0db5298caf3801e6d
2021-02-12 18:04:23 +00:00
Schneider Victor-tulias
1b4d5034fb Fix icon flicker on transition from installing, to installed, to downloading incrementally.
When an app finished downloading, we assumed that its progress level was 100%. This caused flicker in apps that supported incremental downloads. Added a check for the total download progress on app installation.

demo: https://drive.google.com/file/d/11NwwhHj_4rmDFwpsb8gTX-uA5YSinjSj/view?usp=sharing

Fixes: 178745816

Test: manual

Change-Id: I08328296db2ce2c2242fc4fe87158ff4b911c659
2021-02-03 16:39:16 -08:00
Sunny Goyal
203f596881 Fixing unrelated icons getting removed during sesison failure
Bug: 177642572
Test: Verified on device
Change-Id: Ia17f7f151b503f95c643c690f2fc11d624911f3e
2021-01-19 21:11:14 +00:00
Schneider Victor-tulias
b803f7e2cb Add UI updates for incremental app installs.
1. Changed Preload Icon UI to be grayscale while the app is not startable.
2. Added progress bar for when app is installed but still ownloading.
3. Updated Preload Icon progress and click handling to use new incremental api.

Progress bar color updates will follow in a separate CL.

Demo: https://drive.google.com/file/d/1H1EvtTorLeJwC1eiq10tm-TT81YZ6osk/view?usp=sharing

Fixes: 176901235,176992421,176884453

Test: manual
Change-Id: Ie0575dc56c33c5d6ecd6c5cbf00666b96d6dcb16
2021-01-12 16:04:01 -08:00
Schneider Victor-tulias
6a5f431a7b Revert "Revert "Add UI updates for incremental app installs.""
This reverts commit 229497d182.

Reason for revert: Patching bugs

Fixes: 176901235, 176992421, 176884453

Test: manual

Change-Id: I57e13a15e72284564a10761966732ee31d15fd08
2021-01-12 12:22:33 -08:00
Schneider Victor-tulias
229497d182 Revert "Add UI updates for incremental app installs."
This reverts commit 84269d349d.

Reason for revert: causes b/176884453 and b/176992421

Change-Id: I3398674a0acbad8329df5d341ae074ac073a6bf9
2021-01-07 19:44:44 +00:00
Schneider Victor-tulias
84269d349d Add UI updates for incremental app installs.
1. Changed Preload Icon UI to be grayscale while the app is not startable.
2. Added progress bar for when app is installed but still ownloading.
3. Updated Preload Icon progress and click handling to use new incremental api.

Progress bar color updates will follow in a separate CL.

Demo: https://drive.google.com/file/d/1H1EvtTorLeJwC1eiq10tm-TT81YZ6osk/view?usp=sharing

Bug: 171008815

Test: manual

Change-Id: I5874a5146d79a8c91d7d90ff0b9c1c427a3c95dd
2021-01-05 15:17:26 -05:00
Samuel Fufa
d6bacdcaf0 Handle AppSearch in plugin
+ Use AppSearchPipeline as a fallback if plugin times out

Bug: 166058597
Test: Manual
Change-Id: I96a38e412fd08f47475d2bc37bff34b86538ea12
2020-08-26 11:37:10 -07:00
Sunny Goyal
28daf4a76f Removing multiple system RPCs to packageMAnager and userManager from UI thread
Bug: 158427348
Change-Id: Ibb1837fe932000b69cf5683bb01727fc32abca91
2020-06-08 17:56:36 -07:00
Sunny Goyal
e396abf502 Moving model data structures to a separate file
Change-Id: I77ad7a5219e72d2e0d6c1803de2ac3ed6a65a8f7
2020-04-09 13:20:39 -07:00
Sunny Goyal
e7b00128c7 Removing static instance of LauncherAppsCompat and unnecessary wrapper classes
Bug: 141376165
Change-Id: I8c1f1ab7d83ec50fe9c7bf39960ef9c360025ec7
2019-10-02 16:20:22 -07:00
Sunny Goyal
045b4fab76 Removing static listeners from PackageInstallerCompat
Bug: 141376165
Change-Id: I2b49d53a05a04c622ed5a7b723109a6cc230d230
2019-09-30 23:17:15 -07:00
Jon Miranda
c84168df80 Add support for adding promise icons for new install sessions by user.
- Added flag PROMISE_APPS_NEW_INSTALLS
- Promise icons only added if flag (above) is on, as well as the setting
  for "Add icon to Home screen"
- Maintains a list of session ids of promise icons that have been added to the
  home screen, so that if the user manually removes the icon, we do not add
  it back to the home screen when the install is completed.
- Queues all applications as promise icons, and replaces with actual
  app info when its being added to the workspace.

Bug: 135633159
Change-Id: I411db59f9bd1b346d98b9bb73f5376a5983b8de5
2019-08-22 10:28:14 -07:00
Sunny Goyal
0af5134bc5 Moving section names to model, to avoid an unnecessary hashmap
Change-Id: I9620367e0c2203b2290a4a188411ccb9174ae130
2019-08-06 15:21:36 -07:00
Sunny Goyal
87dcde6d6c Separating apps list callback from model callback and simplifying various events
Bug: 137568159
Change-Id: I4d8bb5c01cabe642731ebd3f57fe15bdc5a569b7
2019-07-25 11:29:16 -07:00