Commit Graph

38 Commits

Author SHA1 Message Date
Stefan Andonian a87a57277d Add Debug Logs to AllAppsStore's dump for Bitmap flags
Bitmap flag state determines whether or not the work badge is shown.
Sometimes, it is not present when it should be. This state is necessary
for determining why the badges are not showing.

Bug: 377618519
Test: Verified that the logs don't crash the app when they are printed. Used command: adb shell dumpsys activity com.google.android.apps.nexuslauncher.NexusLauncherActivity | grep -A 68 "AllAppsStore"
Flag: EXEMPT bug logs
Change-Id: Ia52ae49cdf9dcfda7ffbef1e7c71f2a17782fbae
2024-12-19 12:09:08 -08:00
Sunny Goyal 5ee3d98641 Cleaning up some enabled features
Flag: EXEMPT LEGACY
		CONTINUOUS_VIEW_TREE_CAPTURE
		ALL_APPS_GONE_VISIBILITY
		ENABLE_BACK_SWIPE_HOME_ANIMATION
		ENABLE_DYNAMIC_TASKBAR_THRESHOLDS
		PREEMPTIVE_UNFOLD_ANIMATION_START
		ENABLE_NEW_GESTURE_NAV_TUTORIAL
		ENABLE_ENFORCED_ROUNDED_CORNERS
		ENABLE_TRACKPAD_GESTURE
		ENABLE_KEYBOARD_QUICK_SWITCH
		ENABLE_KEYBOARD_TASKBAR_TOGGLE
		ENABLE_ALL_APPS_RV_PREINFLATION
Test: Presubmit
Bug: 270395171, 291651514, 270393426, 294252473,
     270397209, 270396257, 270393258, 271010401,
     270396844, 281726846, 288161355

Change-Id: I6ef1e12dfc2203a4cca8e91aa291485f1ff24c42
2024-09-12 15:12:08 -07:00
Brandon Dayauon 6c5a875927 Adding more information to logs like content description to help with debugging.
Using appTitle doesn't seem to work and instead returns null. Content description seems to work
better anyways and show what user type (work/private)

bug: 353796175
Test: after: https://screenshot.googleplex.com/8ysLRHc9cRPg3JF
Flag: NONE adding logs
Change-Id: I4ddab1c02d795d87190592471f84faa6c98f0bfd
2024-07-22 16:27:19 -07:00
Kevin Lim aed2aa04ba [AllAppsStore] Dump class name in addition to package name for debugging
Bug: 333889822
Flag: EXEMPT Logging fix
Test: EXEMPT Logging fix
Change-Id: I9e1515c04bdc8381f96341e7211968fcc53f97cc
2024-07-03 18:03:30 +00:00
Jeremy Sim 1a98a9d874 Fix app pair launches with certain apps
This CL changes the way app pairs are saved. Previously, we saved the app pair using WorkspaceItemInfos directly from Recents, which caused certain apps to fail on launch because they weren't being launched with the correct Intent.

Now, we look up a proper launchable WorkspaceItemInfo from the AllAppsStore and save that to the app pair, which should fix the launch issues.

Bug: 323112914
Bug: 323110399
Test: Can launch Slides, Play Store, and Calendar when part of an app pair.
Flag: ACONFIG com.android.wm.shell.enable_app_pairs TEAMFOOD
Change-Id: I475afa1a237c50ffb0ffaf85af43912a803b8011
2024-02-22 22:58:44 +00:00
Andrew Cole 8def461aa1 Sort Apps During setApps
We found this potential edge case during the creation of AllAppsSearchImageTest.
Search in all apps uses a binary search which requires the list of mApps to be sorted,
which before the function setApps did not do. This could lead to other edge cases of bugs
either in test or production.

Bug: b/318867282
Flag: None
Test: AllAppsSearchImageTest
Change-Id: Iccd57fa8a51c725e8c161cbdf96f77fdc86d42b7
2024-02-08 12:07:09 -08:00
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
Fengjiang Li 25eac1381f Double pre-inflate counts if work profile is enabled
When work profile is enabled, we will show 2 all apps recycler views, thus we should double the pre-inflated BubbleTextView count to make sure scrolling both personal and work all apps is smooth.

Traces are attached in bug.

Fix: 287462835
Test: Grab perfetto traces and compare scrolling all apps on phone with work profile enabled vs disabled
Change-Id: Iaa68ddacad0abcca0f260dd7fa21c92d2feabb03
2023-10-05 14:53:30 -07:00
Kevin Lim 07546b88e7 [AppInfo] Enable logs for debugging unexpected AppInfo changes.
Here's a sample log run through of AllAppsStore and PackageUpdatedTask
logs: http://gpaste/5250747917664256

Bug: b/290090023
Flag: None. Adding logging.
Test: None. Adding logging.
Change-Id: Ia1d620a50267d6a65fe719936d7e87e6dad13afa
2023-10-02 19:40:58 +00:00
Fengjiang Li e92556819b Don't preinflate all apps for taskbar in AllAppsStore#setApps
Triggering all apps pre-infation at AllAppsStore#setApps is too late for taskbar, because it is in same frame when user opens all apps from taskbar. We should find an earlier entry point to pre-inflate all apps for taskbar.

Test: Verify taskbar is rendered correctly. Also verify we no longer pre-inflate all apps for taskbar in perfetto trace
Change-Id: If1f8c616b6be7f64ea16807f4b7a8b75da55d038
2023-09-28 14:29:07 -07:00
Brandon Dayauon 75d8994e6f Add nullable annotation
It looks like from the stack trace that there is an NPE during the setApps() call. So adding nullable and null checking
to make sure mApps is not null.

bug: 296920692
test: presubmit
flag: n/a
Change-Id: If402c0b68db159f7a698e8e2e139d9bd5041b1c1
2023-08-31 13:59:13 -07:00
Vinit Nayak f6f192853d Cleanup WorkProfileTest logs
Fixes: 243688989
Change-Id: Ic3f143062c1a1383d1e79959dae59c45743547e9
2023-07-05 16:27:11 -07:00
Fengjiang Li 1519c168da Pre-inflate BubbleTextViews into Launcher/TaskBar All Apps RV
This CL ensures no inflation of BubbleTextView happens while binding applications, and reduces jank on slow device.

1. Let active/inactive all apps RVs share the same AllAppsRecyclerViewPool
2. Use worker thread to pre-inflate BubbleTextViews and add them to shared view pool on main thread

Bug: 287523421
Test: See before/after screenshot/video/trace attached in bug
Change-Id: I00213407be2c7c2d329997552785d0aa56c4d057
2023-07-05 13:07:26 -07:00
Anushree Ganjam 97434eea53 Add UID in AppInfo.
Create a reverse hashmap of PackageUserKey to Uid in AllAppsStore for
faster lookup of uid based on packageName and userHandle.

Log Uid in Impression Logging.

Bug: 282849559
Test: Manual. See various usecases documented in http://shortn/_UcvAYOmLIP
Flag: NA

Change-Id: I416426214f6b6efc45f7d4c0433bbbfca9056adf
2023-06-01 22:45:19 +00:00
Vinit Nayak 7a68378fe4 Add debug logs for WorkTabExists test
Bug: 243688989
Change-Id: Iafec4cae86f1527acac9a25fceb501609ca308f6
2023-03-13 14:27:55 -07:00
Jon Miranda f8441cc276 Fix notification dot not always being up to date.
- Prediction row views were never updated when notification changes.
- FloatingIconView set the BubbleTextView to force hide dot, but never restored it.
  BubbleTextView is instanceof IconLabelDotView, so its already handled in the end runnable

Bug: 183360736
Test: 1. swipe up to go home such that the closing app has a notification,
         note that the notification dot is properly updated
      2. have all apps open
         make notification update for a predicted app
         ensure dot is properly updated

Change-Id: I35dacf9b71a3d8b8a857be450690d65ea9199bf6
2021-07-16 17:50:56 -07:00
Schneider Victor-tulias 262ae769b0 Reapply All Apps icons on download complete.
Fixes: 187853323
Test: manual
Change-Id: I800a13a3665997f323f23667c8128c8034a7b4d3
2021-05-14 15:29:18 -07:00
thiruram e1a8440d78 Add @Nullable annotation to AllAppsStore.getApp.
Test: Manual
Bug: 180120291
Change-Id: I3f29d478e39b46e307f33f2f354720bc2915b550
2021-02-17 03:53:40 +00:00
Schneider Victor-tulias b40b98db3a Update FloatingIconView to display PreloadIconDrawables during swipe home animations.
Swiping up to go home on an app that is downloading incrementally would cause a jittery animation. Updated FloatingIconView to animate directly to a PreloadIconDrawable.

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

Fixes: 177685929

Test: manual
Change-Id: I4cd2daa18f6d3fed42a9b666063e0b1c1c46e5d9
(cherry picked from commit b8cab8d878)
2021-01-29 01:00:07 +00: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
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 d75c1da9c7 Allow synchronous modification of update listeners list
We create a copy of the listeners before notifying update, so that
the original list can be changed

Bug: 154879110
Change-Id: If9de06682b189d199a40a9171d7d3cfb23eea062
2020-04-29 23:36:54 -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 b6fe161f58 Adding additional logs to debug synchronous modification of update listeners
Bug: 151665474
Change-Id: I6f2d900852bd8dc76249781ab15cb6c269dd7a7a
2020-03-18 14:03:49 -07:00
Vadim Tryshev 29a8f130fb Merge "Not freezing All Apps during user interactions" into ub-launcher3-qt-qpr1-dev
am: 94dcb3b5bf

Change-Id: I110730f8abb1d63c363aba9939799570bea69f07
2019-08-22 17:32:16 -07:00
vadimt 2b3303c744 Not freezing All Apps during user interactions
Extremely rarely, All Apps will get stuck in a non-updating state even
after the interaction ends.

It would be impractical to try drilling to the root cause of this,
so it's better to just allow All Apps updates while the user interacts
with it.

Bug: 139384936
Change-Id: I2ed7fb052da77a9e47ef9b9aa7800499071b98c3
2019-08-22 22:34:17 +00:00
Sunny Goyal 9275c820e0 Merge "Fix DEFER_UPDATES_NEXT_DRAW flag is not unset when binging happens twice" into ub-launcher3-qt-r1-dev am: 0a9e91b6e4
am: 2c848d029c

Change-Id: I827430185fbab9433f74f402f382cb004ab744c3
2019-08-05 17:45:45 -07:00
Sunny Goyal 6b6d0a3972 Fix DEFER_UPDATES_NEXT_DRAW flag is not unset when binging happens twice
Bug: 138646754
Change-Id: I76eccdb812013299e18f197ba17ff858a01a6338
2019-08-05 17:20:10 -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
vadimt d4c90e12e9 Freezing all apps updates during certain tests
This CL adds a very low risk because most (but not all) changes affect
only Launcher behavior during the test.

This should fix a lab-only flake when all apps keeps changing while
the test is working with it.

Example: test figures out which icon to click, by the moment it clicks
there, there is another icon there, or the icon is under the search box,
and clicking opens IME.

Switching test devices to airplane mode didn't help. The earlier change
that prevents popup menu cancellation is not general enough.

Now the tests are given an API to explicitly freeze and unfreeze
all-apps, which should be a final solution.

Bug: 132900132
Bug: 133765434
Change-Id: I8b81cc9be004482beb6cdcdd05406e2d9b4c7629
2019-06-06 11:10:56 -07:00
Sunny Goyal aae6fbb903 Moving some utility methods around
Change-Id: I8abca49a0dbf656212b21e0552502036a1619164
2019-01-31 16:07:40 -08:00
Sunny Goyal 8c48d8bea6 Changing min sdk to 25
Change-Id: I0d28069967854357ca755bf25dec19d4979bdecf
2019-01-29 11:29:52 -08:00
Tony Wickham f34bee819c Rename "badges" to "dots" where appropriate
This will reduce confusion with the other "badging" concept we use for,
e.g. work profiles. It is also consistent with the external name
"notification dots".

Change-Id: I2a2c9d96dc0d6284eb0c48adc78a856271caad4d
2018-12-04 10:46:40 -08:00
Sunny Goyal 60180b049e Deferring all app updates until the pending executor is complete.
We were only deferring full apps binds and not partial updates which could cause
the model to go out of sync with Launcher.

Bug: 72051234
Change-Id: I20db0e86aadd1e6a518237026f6dfb03e469eb87
2018-02-07 15:55:58 -08:00
Sunny Goyal b1d222e9a7 Removing support for app prediction from Launcher3
Derivative projects can extend the FloatingHeader to add support
to custom content in all-apps screen.

Change-Id: I4e29221a72e5a077a756713a6774cda7ecde8f1b
2018-01-30 20:53:11 -08:00
Sunny Goyal 426345bfc4 Adding AppsStore for handling various app updates
Change-Id: Ia2242ce583576ace0924ef7142793ba37f4adcb9
2018-01-25 15:19:29 -08:00