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
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
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
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
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
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
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
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
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
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
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
- 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
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)
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
We create a copy of the listeners before notifying update, so that
the original list can be changed
Bug: 154879110
Change-Id: If9de06682b189d199a40a9171d7d3cfb23eea062
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
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
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
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
Derivative projects can extend the FloatingHeader to add support
to custom content in all-apps screen.
Change-Id: I4e29221a72e5a077a756713a6774cda7ecde8f1b