Commit Graph

72 Commits

Author SHA1 Message Date
Sunny Goyal 869b20cb27 Adding repository for AppsList data
Flag: com.android.launcher3.model_repository
Test: atest AppsListRepositoryTest
Bug: 390572144
Change-Id: I6e5993c91f77ed8f0b6f2c12c9d743c87a497134
2025-05-14 21:19:18 -07:00
Andy Wickham 16a024df71 Adds Blur and BlurFallback styles for All Apps.
Technically these styles can be used throughout Launcher, e.g.
Widget Picker and Folders, but this CL only applies it to All Apps.

At a high level, views wishing to apply transparency to show blur
should use these new attr values rather than colors directly.

When blur changes, e.g. starting or stopping battery saver, the
style is re-applied and revelant views are invalidated. For
Launcher, this is handled by DepthController, and for Taskbar it's
handled by a CrossWindowBlurListener.

Also updated the Private Space animation slightly to account for
the translucent decorators (specifically, we can't use the mask
view to cover them when blur is enabled).

Screenshots: https://drive.google.com/drive/folders/1tU472KHotgEBpT-Ec9VOBWPBf_YdVqv2?resourcekey=0-ebf7W8O6iDJ4UVMtRzTABg&usp=sharing
Private Space animations: https://drive.google.com/file/d/1h5pn8Xb17TPcbujr7uSAJNTq8kwNZoIp/view?usp=drive_link&resourcekey=0-TzpaJ16Gg8_QJctBx4oiIg
Private Space QS Tile animations: https://drive.google.com/file/d/1dCuqnqd5z2kSBEakGobMlEkMwFDBWRbJ/view?usp=drive_link&resourcekey=0-qRVFPb-a6OzaZQOf4x86Jw

Bug: 371343636
Test: Manual
Flag: com.android.launcher3.all_apps_blur
Change-Id: Ia9f581f50d1adc0830569656bdeb751deb710a9c
2025-04-15 16:42:56 -07:00
Brandon Dayauon 7bd0749070 Override PS app icon title to Add
The psApp icon will have an original title "Private Space" but should
only be "Add" in the container.

bug: 360313403
Test: manually:
Before: https://hsv.googleplex.com/6348079987949568
After: https://hsv.googleplex.com/6126091247812608
Flag: android.multiuser.enable_moving_content_into_private_space
Change-Id: Ifcb599cdb5f4a97e2da68cafa81f23b387a2beb6
2025-03-28 17:31:43 +00:00
Brandon Dayauon 59ed963a06 Let psApp change according to theme.
Since psApp is supposedly a system app, private space team requests that
the icon changes according to theme like previous "install" icon. To do
so Launcher can apply the same treatment to the bitmapInfo as for
the private space app.

bug: 360313403
Test: manually video in bug
Flag: android.multiuser.enable_moving_content_into_private_space
Change-Id: I78f0d0dbb12d5cfba2cac7e7b53714e424a49660
2025-03-13 21:20:22 +00:00
Brandon Dayauon 0e3de56211 Change private space app content description
bug: 360313403
Test: manually
Flag: android.multiuser.enable_moving_content_into_private_space
Change-Id: I3fb779e5217285c6d6b059f021c6d5f965aed531
2025-03-13 01:01:44 +00:00
Brandon Dayauon 519be86c57 Merge "Add perfetto traces to privateProfile CUJs" into main 2024-11-18 06:41:43 +00:00
Himanshu Gupta dad333da84 Merge "Handle Quiet Mode for Work Profile gracefully when Pixel Launcher is not default." into main 2024-11-17 16:57:15 +00:00
Brandon Dayauon fc61ab973b Add perfetto traces to privateProfile CUJs
These traces cover onBind() and animation calls.

bug: 356777068
Test: screenshot of perfetto trace https://screenshot.googleplex.com/43tbo8fJrvTMUft
Flag: NONE adding traces
Change-Id: I06c322266ccb7ee9d940969f952aaaeb1b53c78b
2024-11-14 15:34:09 -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
Brandon Dayauon 8cc4cd1d86 Merge "Call invalidate() during updateView() for updating the header." into main 2024-10-23 15:27:49 +00:00
Brandon Dayauon d633368465 Call invalidate() during updateView() for updating the header.
This issue is triggered due to onAppsUpdated() randomly due to app installing/uninstalling/updating/archiving. Eventually
onBind() is called but logs shows evidence that the state is correct (even though it doesn't reflect that), hence invalidating will fix this issue.
We can't call notifyItemChange() in updateView() since updateView() can be part of onBind() in which case means this is part of a scrolling gesture. notifyItemChange()
via adapter index will also not work in reset() since doing so will mess up upon animation.

bug: 373345958
Test: manual/presubmit
Flag: NONE invalidating when updateView() is called
Change-Id: Ibc99cc70562575cadf035136e50e9e5eec1e70ea
2024-10-22 17:02:50 -07:00
Brandon Dayauon 134bd12153 Merge "Set psDivider to gone in collapse due to updateAdapterItem suppression in test." into main 2024-10-17 17:09:12 +00:00
Brandon Dayauon 33902557ec Set psDivider to gone in collapse due to updateAdapterItem suppression in test.
Set PSDivider to gone during collapse animation. This is to help with https://android-build.corp.google.com/test_hub/search/?filter=&invfilter=unhealthyInvocations&invfilter=staleInvocations&query=test%3Acom.android.quickstep.TaplPrivateSpaceTest%23testPrivateSpaceLockingBehaviour&tab=clusterView&clusterId=12644122704855694316 tapl issue saying divider is there. This is because we suppress updateAdapterItem call and ps container contents aren't completely refreshed.
This change is safe to do so anyways since floatingMaskView and decorator takes care of how the end result looks like.

bug: 373427348
test: presubmit/tapl/manually
Flag: NONE bugfixing for test flakiness
Change-Id: Ia422096e022ab8de6745071707620192f03661a5
2024-10-14 12:05:41 -07:00
Himanshu Gupta 45fe132a48 Handle Quiet Mode for Work Profile gracefully when Pixel Launcher is not default.
Bug: 364759351
Change-Id: I997af16e2756ddfdd964916cce4ac98e39b86917
Test: Manual
Flag: NONE Bug fix tweak.
2024-10-10 12:54:42 +00:00
Brandon Dayauon 32007e05cd Don't call onAppsUpdated() when in testHarness
Suspect that the jump in these flakes where it cannot find the private space container is due to this calculateDiff call when onAppsUpdate() is called

bug: 355466672
Test: tapl presubmit and vid: https://drive.google.com/file/d/1hshI6g7oqvi45EiO92Rl4e-gaXfDVe_b/view?usp=sharing
Flag: NONE trying to fix flake
Change-Id: I0bff416624c5b9e2cb7a4fe32834f9d521507922
2024-10-01 09:32:50 -07:00
Brandon Dayauon b6528c92ba Merge "Make settings/text alpha animation happen in parallelSet instead of when headerSetter starts." into main 2024-07-25 05:00:00 +00:00
Brandon Dayauon 1fe2da0d5d Make settings/text alpha animation happen in parallelSet instead of when headerSetter starts.
With the addition of floating mask views, settingsAlpha and textAlpha animation shouldn't be played in the beginning when animatorSet starts but more so during the parallel set. Otherwise, the text/settings alpha will start first before/same time as translationView. You can see this if you were to look at the video at the bottom of this commit message, specifically during the collapse case.

bug:355042924
Test manually -
before:https://drive.google.com/file/d/1BoCA5rlr9m3QDVfF5zfp9G12Ldst3kn0/view?usp=sharing
after:https://drive.google.com/file/d/1y84uxmAfJ7_SNh26jT2O-m2xOFWCMkJm/view?usp=sharing
Flag: com.android.launcher3.enable_private_space

Change-Id: I98248f4b9aa2a4e1287183710ffdc66093cef022
2024-07-24 15:18:57 -07:00
Brandon Dayauon da9520355f Don't let settings button clickable during animation.
Otherwise the user will open settings instead of unlocking the container like normal.

bug: 349115995
Test:
before: https://drive.google.com/file/d/1jmd9Pxp6d0aGSC5Sp7efrlY6JLCPvKLR/view?usp=sharing
after: https://drive.google.com/file/d/1xyKPd_hT9ut10r5B1PHxLO9gE3zh9vxK/view?usp=sharing
Flag: com.android.launcher3.enable_private_space
Change-Id: Icefaf7de72678ccf0b976039f4a3ee88c6712167
2024-07-24 14:02:54 -07:00
Brandon Dayauon 1710cbeb6e Don't add floatingMaskView if it will not fit.
See this screenshot for math explanation: https://screenshot.googleplex.com/9x256x5uk7qNZDg
We use the Y values of the views to determine if the header will be clipped by the
floating mask view.

Also added logs for private space.

bug:343478928
Test manually before: see bug.
after: https://drive.google.com/file/d/1FZXDQG-hV-V3wErVR0-nVCMgjUDk910Z/view?usp=sharing
Flag: com.android.launcher3.enable_private_space

Change-Id: I025e4e62f9ba60e8493d2aceb139d2c4ed6a84dd
2024-07-17 17:12:34 -07:00
Brandon Dayauon 0e5640376e Remove enableLayoutTransitions for private space.
Get rid of layoutTransitions as they are not reliable, see here: https://docs.google.com/document/d/1ExSemBvzzVv-I9tUCVzdLeN-lDb2hTSOM886UYSH-Qk/edit?usp=sharing&resourcekey=0-aBCCLnrB7KtkhIeyUOkKyw
Instead use actual animatorSet to do the animating.
- This also fixes the timings so that the pill transition happens at the same time of the icon alpha animation.
Made member variable for lockText and settingButton.

bug:346298256
Test:
before: See bug
after manually- video: https://drive.google.com/file/d/1B7PIgrGWMJTphc1b5CvCkyg-QYx3TTN3/view?usp=sharing
Flag: com.android.launcher3.enable_private_space

Change-Id: I049b84dbe1279a0becb090db8660975dc5c5961e
2024-07-17 10:35:53 -07:00
Brandon Dayauon 46c542e5b7 Adding logs to Privateprofile animation.
Provide logs at the end state to see if alpha/visibility is showing or not to indicate any reasons the issue may happen
because of the animation.

bug: 341053089
Test: N/A
Flag: com.android.launcher3.enable_private_space
Change-Id: Ib94bc955e2d061d1799040ac6180d150b24118fe
2024-06-27 20:24:27 -07:00
Himanshu Gupta 261a62219b Prompting the user to set Pixel/Quickstep as default Home app.
requestQuietMode API throws SecurityException in case its called
from a non-default Launcher app.
To mitigate this, we catch the exception and prompt the user
to set their default launcher to the current app.

Video(Pixel): https://photos.app.goo.gl/ni5X1c6vBbYW2JMJ9
Video(Pixel-aosp): https://photos.app.goo.gl/cYLJpTYW76Jnbonc9

Bug: 320446272
Test: Manual
Flag: NONE Bug fix tweak.
Change-Id: I6afb2ae85cabc038e1503e9c34eebd974c4f7a50
2024-06-11 19:11:21 +01:00
Brandon Dayauon 2c40b8366d Consolidate the header views updating into a single method
Call this updateView() in reset to ensure states are correct before animating.

bug: 341053089
Test: manually - video: https://drive.google.com/file/d/18ZSAEplL1Lk5ij3IHlwtRh1GQ6GhrXX1/view?usp=sharing
Flag: Aconfig com.android.launcher3.enable_private_space Nextfood
Change-Id: I2c825a7fd7d9a5faad8fbbb70d0f40294f715a42
2024-06-04 10:09:40 -07:00
Brandon Dayauon f839b1121d Merge "Create a bug fix flag for the FloatingMaskView." into main 2024-06-03 18:18:05 +00:00
Brandon Dayauon 6b65956a5c Merge "Make PrivateSpaceSettingsButton instead of having just the imageView." into main 2024-06-03 15:02:59 +00:00
Brandon Dayauon 6f1ca642ee Merge "Rename add* to update* and call setQuietMode() itself" into main 2024-06-01 00:09:52 +00:00
Brandon Dayauon 736527a127 Make PrivateSpaceSettingsButton instead of having just the imageView.
This way we can keep the click listener in this PrivateSpaceSettingsButton.java class.
- Moved itemInfo creation to PrivateSpaceSettingsButton and created a test class

bug: 341053089
Test: manually - presubmit video: https://drive.google.com/file/d/1_TCGrILvwmMpxbgIcbOcpB2AxeBJbyNf/view?usp=sharing
Flag: Aconfig com.android.launcher3.enable_private_space Nextfood
Change-Id: I79cd319274f4445dd00bc257be81728360d09684
2024-05-31 17:05:13 -07:00
Himanshu Gupta af724fcea5 Fading PS container on hide.
This change adds a fading effect to the PS
container when Space is locked with
"hide when locked" toggle enabled.

Video: https://photos.app.goo.gl/pqhsvhfBqkTcbHXa9
GPU Profile Video: https://photos.app.goo.gl/V9yLYDH4EtAZZNrt8
before: https://drive.google.com/file/d/1bThcu34w2kgiJhgeGSmeZY_lVnMgCdsQ/view?usp=sharing
after: https://drive.google.com/file/d/1ceI3A8UXyx7GYDfHGRkN8Wkzoi-01OVh/view?usp=sharing

Bug: 299294792
Test: Manual Flash
Flag: None Animation tweak.
Change-Id: I742036f43605ca9a64f0d0a22c86b3fd69223456
2024-05-30 17:06:39 -07:00
Brandon Dayauon 16cb3efa1f Rename add* to update* and call setQuietMode() itself
bug: 341053089
Test: manually - presubmit
Flag: Aconfig com.android.launcher3.enable_private_space Nextfood
Change-Id: I7d88f18e08f45fc731f3122c55986a12e754d56a
2024-05-30 11:02:01 -07:00
Brandon Dayauon e2d42c617f Merge "Fix private space icons disappearing from search state." into main 2024-05-30 07:19:45 +00:00
Brandon Dayauon 987efd6ea4 Fix private space icons disappearing from search state.
This is because during onBind() that the icon alpha should be set to 0 ONLY in the case
when animation + scroll is happening.

The repro cuj is this:
user has private space unlocked -> goes to toast and clicks qs tile -> onBind() happens
and animationScrolling = true -> icon alpha is now 0. Instead we should check getAnimate() && scrolling()
&& isStateTransitioning()

bug: 340836439
Test: manually -
before: https://drive.google.com/file/d/1WLZRPsz-hm1d3fVRNGXs_Ps_AcdJhkPs/view?usp=sharing
after: https://drive.google.com/file/d/1LidDKhx2ijOXmX_tcPAmng5P56WNPyyx/view?usp=sharing
Flag: ACONFIG com.android.launcher3.Flags.private_space_animation NEXTFOOD
Change-Id: I10b8ee5d8449acdb3d2c64e0e311f7dde89a464a
2024-05-29 22:41:57 -07:00
Brandon Dayauon 3f5437e14e Remove animatorSet's duration
Setting this animationDuration slows down the individual animations.
This is fine as the individual animations already has the timings that will add up to spec.

bug: 343493101
Test: before: https://drive.google.com/file/d/1nuS1c143HUosaVdhde3GW8Ryz04gUW7x/view?usp=sharing
after: https://drive.google.com/file/d/1yNcYLqBFD0di-YISNMUpryzBhqNZdncm/view?usp=sharing
Flag: None Animation tweak.
Change-Id: I5f10388fdecd934801ca208a46cc6ba93094c56f
2024-05-29 11:51:19 -07:00
Brandon Dayauon e16a2725d2 Create a bug fix flag for the FloatingMaskView.
Need to create a bug-fix flag since feature flags can't reach nextfood in time for V. We do this by renaming
the current flag.

According to https://g3doc.corp.google.com/company/teams/android-core-experiments/trunk-stable/gantry-stages/bug-fix.md?cl=head

After a flag declaration has been merged, it's no longer possible to change its purpose. If the purpose of a flag changes over time, simply rename the flag; this will create a new workflow and invalidate the previous workflow.
In cases where renaming is not possible, please file a bug for the ACE oncall. Even when re-using the name of a flag for a new purpose, please note that all the progress in the pre-existing workflow will be lost; the new bug-fix workflow will start from scratch.

bug: 339850589
Test: Presubmit/locally adb shell device_config put launcher_search com.android.launcher3.private_space_add_floating_mask_view true
Flag: ACONFIG com.android.launcher3.private_space_add_floating_mask_view STAGING
Change-Id: Iffbc6a93c4ef6bbe121e0c8fb83250174f367b9d
2024-05-28 15:49:58 -07:00
Brandon Dayauon e369bd6502 Merge changes I7c303e66,Idc03b9d3 into main
* changes:
  Add floatingMaskView when animating to mimic bottom container.
  Add private_space_floating_mask_view flag.
2024-05-14 23:15:40 +00:00
Brandon Dayauon 1d3ddb877d Add floatingMaskView when animating to mimic bottom container.
- On expand, we add the floating mask view and translate it out at the end.
- On collapse, we translate off the mask view in the beginning once the floating mask view is added
so that we can translate it in before the actual collapsing part of the animation

bug:339850589
Test manually:
https://drive.google.com/file/d/1YNc3vq9Cb5BcbcPOHp8H3lhe6KmYBdLI/view?usp=sharing
Flag:ACONFIG com.android.launcher3.private_space_floating_mask_view STAGING

Change-Id: I7c303e6629d83408bd314886fe10113246e44dcb
2024-05-13 11:08:05 -07:00
Anna Zhuravleva 9f3bca37e6 Merge "Log animation jank" into main 2024-05-08 08:22:57 +00:00
Brandon Dayauon c2ce6254c3 Use ValueAnimator instead of property setter
Referencing the view by ID animates correctly. Passed in views are supposedly not the same
and therefore, not animating the correct thing. (fixes on the device that can repro issue).

Bug:339179262
Bug:299294792
Test manually verified on device that can repro:https://drive.google.com/file/d/16L4wEroGEDsp_BIkmoARg9vR43upF6_8/view?usp=sharing
Flag: aconfig com.android.launcher3.enable_private_space nextfood

Change-Id: I20b06cc50928c35afa3dc1e8800b3a5bff0769be
2024-05-07 10:30:18 -07:00
Brandon Dayauon ecc04b9f39 Update private space animation timings
The entire animation is 800ms where there are differences between lock/unlock.
Unlock 1.0:
   app Opacity: time = 400 -> 800ms Linear
   text opacity: time = 500 -> 800ms Linear
   settingsAndLockGroup "size": time = 400 -> 800ms Standard
   settingsGear: time = 400 -> 800ms Linear
Lock 2.0:
   app Opacity: time = 0 -> 400ms Linear
   text opacity: time = 0 -> 50ms Linear
   settingsAndLockGroup "size": time = 0 -> 400ms Standard
   settingsGear: time = 0 -> 400 Linear

bug:299294792
Test manually video:
after: https://drive.google.com/file/d/1_Y5I7vQhDHPX8DLM_rSM3mV9DrVN0v-q/view?usp=sharing
after 10x: https://drive.google.com/file/d/1_WLz2ijLs19qE1vYA9zdXF9YZB_CqMns/view?usp=sharing

Flag: aconfig com.android.launcher3.enable_private_space nextfood
Change-Id: I8a578e70bb834f403075824785fa9b4d8825858c
2024-05-01 11:48:50 -07:00
Himanshu Gupta 42e3196011 Fix Accessbility bugs for PS.
This Cl contains:
1. Alt text for Lock/Unlock button as per state.
2. Alt text for Header when Locked.
3. Removing Header from accessibility target when unlocked.

Bug: 328024119
Test: Manual
Flag: NA
Change-Id: I791176afdae4fc6eb9387080aa036c1aed2a03a9
2024-04-25 11:57:53 +01:00
Anna Zhuravleva fefb36b9dc Log animation jank
Log jank for lock/unlock private space animation.

Bug: 328613852
Test: https://buganizer.corp.google.com/issues/328613852#comment4
Flag: ACONFIG com.android.launcher3.private_space_animation TRUNKFOOD
Change-Id: Ib8d78d9aa63554ce6ac132530f3ac45b94f92d47
2024-04-24 13:33:20 +00:00
Himanshu Gupta ae4631e6a3 Move PreInstalled App List to UserCache.
Bug: 333543006
Test: atest PrivateSpaceHeaderViewTest, AlphabeticalAppsListTest
Flag: NA
Change-Id: I84233c5a6406325d9e641b72ea8455911b46f65f
2024-04-23 15:28:01 +01:00
Brandon Dayauon 715059a1e3 Merge "Make settings cog animate back to original button" into main 2024-04-19 10:07:36 +00:00
Brandon Dayauon 120838b04d Make settings cog animate back to original button
Provide the appropriate itemInfo so that launcherBackAnimation would play correctly.

bug:324569690
Test manual video: https://drive.google.com/file/d/1GfjL4PhdGOxs2KfDpieTNiFiKQ61aCgh/view?usp=sharing
Flag: ACONFIG com.android.launcher3.Flags.enable_private_space trunkfood

Change-Id: I1a9458643e932b279bf4ba4ea33e3dc0a2c121c2
2024-04-18 14:32:33 -07:00
Brandon Dayauon fe791d11aa Fix install apps button
- Setting the button's user via iteminfo to the privateprofile user
doesn't let the user to go into the play store. This was initially done so that
we can check the itemInfo to see if item is private space instead of just checking
if the item has a decorationInfo for collapse animation.
- The itemInfo change is reverted and we can check that case by checking with instanceOf PrivateSpaceInstallAppButtonInfo

bug:335600922
Test manually video: https://drive.google.com/file/d/1N2zOHvPmBptBaBf8SCqjBAM6UhV0lQBI/view?usp=sharing
Flag: ACONFIG com.android.launcher3.enable_private_space TRUNKFOOD

Change-Id: I09f22c9df5b4f9408eea6995eafea83e30c93a0d
2024-04-18 16:59:49 +00:00
Brandon Dayauon 14ec21748b Fix views being visible after closing private space.
Its possible views are still being binded before the app list is refreshed.
So instead make the views gone in that case (by making sure private profile is disabled).

Fixes:
- install app icon still showing because it is not identified as a private space item
- Divider still containing a decorator when collapsing before app list is refreshed.

bug: 334868779
Test video manualy:
before:https://drive.google.com/file/d/1IWdGsTSq7-xRZKOJso-5p9g-j7RTEkas/view?usp=sharing
after:https://drive.google.com/file/d/1IVNTksryFi5o4uHzZtzNC0Yz7-rxrje3/view?usp=sharing
Flag: ACONFIG com.android.launcher3.Flags.private_space_animation trunkfood

Change-Id: If93e39753352741fb6f0728f717a67b7f9315d0b
2024-04-15 14:40:58 -07:00
Brandon Dayauon a271511240 Set attach consumer after animation finished
Its possible after the animation that attached view's alpha can still be stuck at 0 and never change.
This only happens when the view isn't in range to animate and after onBind() is already called.

Also added flag guarding to the animation as it seems to be forgotten since the big CL change moving
everything to privateProfileManager.

bug: 333506236
Test locally: https://screenshot.googleplex.com/8Kk6rLaczMPwr49 and https://screenshot.googleplex.com/9wXHeNuiCVFEMp6
manually: before https://drive.google.com/file/d/15hSqaUVjwE-lLp6IIv_mqwYbn_ITzR7s/view?usp=sharing
after: https://drive.google.com/file/d/15m7Al5H3vldFgIaQfFyulm1h92_Mgd0H/view?usp=sharing
Flag: ACONFIG com.android.launcher3.Flags.private_space_animation trunkfood

Change-Id: Ifed45f065b536bca5e8878b1bb95d16caf136ed6
2024-04-15 10:12:08 -07:00
Brandon Dayauon c1de065650 Merge "Fix stale header height being used in scroll to header calculation" into main 2024-04-12 17:00:40 +00:00
Brandon Dayauon 5da04b231f Fix stale header height being used in scroll to header calculation
- This fixes the inconsistency of how far down is needed to scroll to since
the values used to calculate the header during drawOnScrimWithScaleAndBottomOffset() is faulty.
- Tweaked the row to scroll to when there are tabs vs no tabs. When there are no tabs, its possible the
header gets cut off most of the time hence subtracting by 1 will help this problem.

bug:332543940
Test locally: https://screenshot.googleplex.com/5y4vYiQcnSMKcA6
manual - before: https://drive.google.com/file/d/14Zj_FyO-3bVfXwuxaqgG_DXMELYS5bQn/view?usp=sharing
after with tabs:
after 5x5: https://drive.google.com/file/d/16rjaut6VqBMxG6uLQSnVTLRhUQnAANZ5/view?usp=sharing
after 4x5: https://drive.google.com/file/d/16jCPN8BewwuIQobt0t6tdVouUKpp1CdI/view?usp=sharing
after 4x4: https://drive.google.com/file/d/16VFQb5s6IfrpjRU9PmLlAJWjh1zIo77o/view?usp=sharing
after 3x3: https://drive.google.com/file/d/16VFQb5s6IfrpjRU9PmLlAJWjh1zIo77o/view?usp=sharing
after 2x2: https://drive.google.com/file/d/16N6Myuv9VtXgI1p4sIuV23iupea7jYLQ/view?usp=sharing

after no tabs:
after 5x5: https://drive.google.com/file/d/17H1oF_9fJnrtSqmJJqQyyn4upuM2CsoG/view?usp=sharing
after 4x5: https://drive.google.com/file/d/178Vu3SvnvSPODIfaR0oz6-jPVYDDNMaA/view?usp=sharing
after 4x4: https://drive.google.com/file/d/16yt_5ePPR7kwSrZlo5Sj3x0DqHoQKqYP/view?usp=sharing
after 3x3: https://drive.google.com/file/d/17HqebtHWcEHg-i9AfqHEVdl4YnQhX06P/view?usp=sharing
after 2x2: https://drive.google.com/file/d/17HqebtHWcEHg-i9AfqHEVdl4YnQhX06P/view?usp=sharing

after tablet:
landscape: https://drive.google.com/file/d/16JQGs0A3ifKpgqrpQwIzssrXbH-OC0Ej/view?usp=sharing
portrait: https://drive.google.com/file/d/16LmLnOEB6XkuAkAcgvP2mKHe5QQqG1oh/view?usp=sharing

Flag: ACONFIG com.android.launcher3.Flags.private_space_animation TRUNKFOOD

Change-Id: If8a70cc71e9cff4a7f8d3b648e3e59c414e40ee5
2024-04-11 16:22:11 -07:00
Sunny Goyal 11117d9b2a Using resource override instead of code-swap for ApiWrapper
Bug: 330920490
Flag: None
Test: Presubmit
Change-Id: Iac19f32e64d2c76ed5b4f8592943ee4ae7af51b5
2024-04-09 11:14:44 -07:00