Commit Graph

54 Commits

Author SHA1 Message Date
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 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
Brandon Dayauon c752dd032c Merge "Ripple to header and button when click happens" into main 2024-04-05 04:20:49 +00:00
Brandon Dayauon 5cbe7605f6 Apply icon alpha animation to expand/collapse private space.
This change is more so to the Alt 3 motion spec:
https://docs.google.com/presentation/d/1zRwJ8cZbwMleXHfC2hX4CJJMGSI954FK0V3ksXl7fyE/edit#slide=id.g2baced0bfd0_1_25

bug: 299294792
bug: 325455879
Test: locally: https://screenshot.googleplex.com/BYCwSH3yRvkkZ3v and https://screenshot.googleplex.com/44byrRx5GUQkncw
manual video:
expand and collapse from header: https://drive.google.com/file/d/1-qRdcbo6lNvUPOx4QWL6wVhTRzl2TVtE/view?usp=sharing
from toast and close container after locking: https://drive.google.com/file/d/1-ix4CcOIzMhsJH3uZdJA1vcV8BvY91T9/view?usp=sharing
Flag: ACONFIG com.android.launcher3.Flags.private_space_animation TRUNKFOOD

Change-Id: I4cde4b8626cf3271880fee697f2fb6bc780eab60
2024-04-04 14:54:28 -07:00
Brandon Dayauon c3281ee18a Ripple to header and button when click happens
bug:320701510
Test: manual video: https://drive.google.com/file/d/11X7vUetuMN1J34Now4zlQZ0WaOnryLpA/view?usp=sharing
Flag: None

Change-Id: Ibe22d02b59da5b1133f02ebd936520b97a63e44a
2024-04-04 14:08:41 -07:00
Brandon Dayauon 136f9d6f8a Move adding views logic to privateProfileManager
- Have the animation happen according to the state of private space.
- Have the transition happen only once by setting the current transition to null at the end of transition and by ensuring
where the transitions are allowed.
- Removing controller class.

- The onClick controls the enablement of the profile. On reset (when getting the transition) is what controls the animation
during expand.

tldr- In the collapse case:  execute() is called -> animation happens  -> addPsHeader
tldr- Expand case: post() is called -> addPsHeader -> animation happens.

Collapse:
onClick() -> AACV.onAppsUpdated() that resets & apply/RUNS runnable because EXECUTE
-> AAList.onAppsUpdated() (which is called at the same time animating happens which we should cancel and do at end callback)
-> AAList.onAppsUpdated() gets called again

Expand:
onCLick() -> AACV.onAppsUpdated() that resets & apply runnable
-> AAList.onAppsUpdated() (no animation running)
-> AAList.onAppsUpdated() (no animation running)
-> addPrivateSpaceHeader
-> then unlockAction() runnable because its posted at this point

bug: 326206132
bug: 330444548
bug: 299294792
Test: manually locally and presubmit: https://screenshot.googleplex.com/9wavvwKQ8hY6oUw & https://screenshot.googleplex.com/BiqmidLFjPwS28j
video: https://drive.google.com/file/d/1XGhmTncdUFtJj188_l7alGyyNz_fhXNw/view?usp=sharing

Scrolling fix before: https://drive.google.com/file/d/1XykDm4UELoCvcwZdj8ZlJ6TszptB8W0W/view?usp=sharing
scrolling fix after when not a lot of apps: https://drive.google.com/file/d/1Y4VY1eX7WE8ShSLXRrT56ieBdAuJo_zn/view?usp=sharing
scrolling fix after with a lot of apps: https://drive.google.com/file/d/1Y58c-Z9xnU1GILp0Ih-oLORXYkMB-jWn/view?usp=sharing
Flag: ACONFIG com.android.launcher3.Flags.private_space_animation

Change-Id: I8d03ae60e2c9fe0ec145c4b0a2e9604b9e6e9017
2024-03-28 17:39:42 -07:00
Holly Jiuyu Sun 5beb2498ac Merge "[PS] Do not use AppInfo and use PrivateSpaceInstallAppButtonInfo instead." into main 2024-03-13 03:48:37 +00:00
Himanshu Gupta 616a1b828d Using LauncherApps API for PS Settings and Setup Flow.
Bug: 310027945
Test: Launcher3 tests
Flag: ACONFIG com.android.launcher3.enable_private_space TRUNKFOOD
Change-Id: I6e04a4b0c33d4526d83b51e512e1e4372ce1cca4
2024-03-11 16:13:08 -07:00
Holly Sun 20c30c9cdc [PS] Do not use AppInfo and use PrivateSpaceInstallAppButtonInfo instead.
BaseAllAppsAdapter.AdapterItem's itemInfo needs to be an AppInfo. Create PrivateSpaceInstallAppButtonInfo extending from AppInfo and use different itemType (AppInfo has default itemType ITEM_TYPE_APPLICATION). In this case, shortcuts is disabled in ShortcutUtil#supportsShortcuts because `isApp` is false (https://source.corp.google.com/h/googleplex-android/platform/superproject/main/+/main:packages/apps/Launcher3/src/com/android/launcher3/util/ShortcutUtil.java;l=30?q=shortcututil&sq=repo:googleplex-android%2Fplatform%2Fsuperproject%2Fmain%20b:main).

After the fix, long click on Install button quits Toast, which is the same with drag action on the button.

Since we have a specific itemType for PS install button now, the previous `FLAG_PRIVATE_SPACE_INSTALL_APP` is no longer needed. Remove it.

Bug: 324211283
Test: manual
Flag: aconfig com.google.android.apps.nexuslauncher.private_space_app_installer_button trunkfood
Change-Id: Ic5d4284afb93cef77f2ad8f0c1588523e0ed3ae3
2024-03-05 17:13:35 -08:00
Himanshu Gupta b12ff142a8 Making Settings Cog open PS Settings page.
Settings Cog action should direct to PS Settings page
instead of PS entry point page in Privacy&Security Center

Bug: 322484516
Flag: ACONFIG com.android.launcher3.Flags.enable_private_space TRUNKFOOD
Flag: ACONFIG com.google.android.apps.nexuslauncher.Flags.enable_inject_private_space_tile TRUNKFOOD
Test: Launcher3 test.
Change-Id: I2bc7a95d591ccedb343909c159c3cbda2814e6bf
2024-02-09 19:38:45 +00:00
Himanshu Gupta 3ec66fb333 Preventing DragAndDrop for PS apps.
This Cl restricts item dragging for PS apps from
all launcher surfaces such as AllApps, AppPredictionRow, etc.

Video: https://photos.app.goo.gl/PKGw8n23hJVJMyUk7

Flag: ACONFIG com.android.launcher3.Flags.private_space_restrict_item_drag DEVELOPMENT
Bug: 289223923
Test: Ran Launcher3 tests
Change-Id: I2c5dbaa325095ec63aedf39b6b2c269f745d58ca
2024-02-01 06:46:25 +00:00
Himanshu Gupta eaeb666e43 Merge "Separating system and user-installed apps in PS container." into main 2024-01-26 14:22:19 +00:00
Himanshu Gupta 0cc11dbcac Separating system and user-installed apps in PS container.
We add a horizontal line separator in PS container which demarcates
user-installed vs system installed apps in private space.
User-installed are shown above the separator, system ones below.

UX Mock: https://www.figma.com/file/K6bIIcG882EiJNjxvSWsFT/V%E2%80%A2-Private-Space?node-id=11546%3A310574&mode=dev
Mock Image: https://photos.app.goo.gl/Wj8sJkS7P7bRbovg8
Demo video: https://photos.app.goo.gl/MBw6HpDnf6PJqUfs8

Bug: 308054233
Flag: ACONFIG com.android.launcher3.Flags.private_space_sys_apps_separation DEVELOPMENT
Test: AlphabeticalAppsListTest
Change-Id: Iad8e289c49a05ac7ef1978bd8e4ebe7aa0add0ca
2024-01-26 11:04:13 +05:30
Holly Sun 70d8ecbcfe [PS] Log event for private space add button click.
Bug: 320702146
Test: manual
Flag: ACONFIG com.android.launcher3.private_space_app_installer_button teamfood
Change-Id: I2ea6b215d4bce93e682c260242a6c3a7cb31922f
2024-01-17 16:09:08 -08:00
Himanshu Gupta ce495f13e3 Adding suport for Private Space QsTile fulfillment.
Adding logic to unlock private space and
scroll to the container after unlock event
is received by Launcher.

This change also moves pieces of Private Space
Animation to different classes, in order to make
it more robust.

Bug: 289024009
Test: atest PrivateProfileManagerTest
Flag: ACONFIG com.google.android.apps.nexuslauncher.inject_private_space_tile TEAMFOOD
Change-Id: Ica2fbc00ff3516ed5aca7fbbfc0bd2aa036a4cee
2024-01-15 18:43:27 +05:30
Holly Sun 97b1bba413 Implement Install Apps button in Private Space.
UX mock: https://www.figma.com/file/K6bIIcG882EiJNjxvSWsFT/V%E2%80%A2-Private-Space?node-id=7246%3A83750&mode=dev
UX icon spec: https://www.figma.com/file/K6bIIcG882EiJNjxvSWsFT/V%E2%80%A2-Private-Space?type=design&node-id=19979-224329&mode=design&t=50SDFdomAtonNU4V-0

Video: https://drive.google.com/file/d/1VtTzxR46dLiaozOo6sOHADv1qTcBOwDP/view?usp=sharing
Screenshot:
https://screenshot.googleplex.com/3ShcUozVrkGMHbc
https://screenshot.googleplex.com/3F4c3yzJ7RUpma7

Reason to use PrivateSpaceInstallAppButtonInfo: reuse `VIEW_TYPE_ICON`, which needs an AppInfo.

Bug: 308064949
Test: manual
Flag: ACONFIG com.android.launcher3.private_space_app_installer_button development
Change-Id: I3fb27fae8324d4b276816b17f9b0a2d9b6f33ed2
2024-01-10 14:28:33 -08:00
Brandon Dayauon 553a2c8775 Merge "Apply the expand animation on Private Space" into main 2023-12-13 00:02:56 +00:00
Brandon Dayauon 98bf9f7532 Apply the expand animation on Private Space
- Using the refactoring that took place in ag/25414154

Bug: 299294792
Test: Verified SearchTransitionController didn't regress by turning off BACKGROUND_DRAWABLES flag.
- Verified QL highlight still works
- video: https://drive.google.com/file/d/15yjBWofebn6m7VgEnLK6kEYqhC_adJQ3/view?usp=sharing

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

Change-Id: Ib6229b404b48616966f3e6ab6884099b6e4b4023
2023-12-11 11:27:31 -08:00
Anna Zhuravleva 63d9cee7b8 Merge "Log taps on PS container buttons" into main 2023-12-07 09:56:10 +00:00
Anna Zhuravleva 2ef6704e61 Log taps on PS container buttons
Log taps on space locked/unlocked, settings
buttons

PDD: https://eldar.corp.google.com/assessments/873128385/revisions/1

Test: logcat StatsLog, output
https://paste.googleplex.com/6250774946906112
Bug: 314933661
Flag: ACONFIG com.android.launcher3.Flags.enable_private_space TEAMFOOD
Change-Id: I528443ba56a0db144ce613ea8d41426b6ede434d
2023-12-05 13:40:00 +00:00