Commit Graph

5852 Commits

Author SHA1 Message Date
LibXZR 6fc64ce9b7 Launcher3: Introduce overview scrolling scale animation
This vivid animation enables users to perceive more clearly
about the switching of the task cards.

Note that live tile feature is disabled because it is not
compatible with this animation. Also live tile is causing
notable performance regression, which is not worth relative
to its function.

Change-Id: Ie1350d6bda2d311f70f9be7cff47b0abe7e00cad
Signed-off-by: LibXZR <i@xzr.moe>

Fix discontinuous animation when dismissing taskcards on
 the right side

Cards should never be scale down in this animation.

Change-Id: I759492390eb8f1a2b9023c2d264f0e7191b17108
Signed-off-by: LibXZR <i@xzr.moe>

Recalculate scroll scale on layout

Edge case exist that when there's only one task,
onScrollChanged() won't be called so the last scale
from the recycled view is showed, leading to wrong
display size.

Change-Id: If8a189ba6b854ed486283d43b8a0ac3e4bb4e9f2
Signed-off-by: LibXZR <i@xzr.moe>

Change-Id: I5056c51f823788a45683c23fa710975d9ae7fe7e
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: Adithya R <gh0strider.2k18.reborn@gmail.com>
Signed-off-by: chrisl7 <wandersonrodriguesf1@gmail.com>
2024-01-26 06:25:56 +08:00
Yasan Ghaffarian cb3b3364c0 Add monochrome (themed) icon support 2024-01-10 22:19:11 +01:00
Goooler 20c884d972 Merge tag 'android-14.0.0_r21' into 14-dev-merge-launcher3
https://android.googlesource.com/platform/packages/apps/Launcher3/+/refs/tags/android-14.0.0_r21

Android 14.0.0 release 21
2024-01-08 14:45:36 +08:00
Suphon T fc72c0ccb7 Move search adapter back to search ui delegate (#3889)
* Move search adapter back to search ui delegate

* Run spotless
2023-12-19 19:43:17 +07:00
Suphon Thanakornpakapong 6bc1e0fadc Add more margin below drawer search bar 2023-12-17 15:40:24 +07:00
MrSluffy fd4b794c3d Improve search result ui 2023-12-17 11:23:15 +08:00
MrSluffy 0f1c17c0d7 Fixed Unsupported error in A10
Lawnchair (Debug) bug report Dec 16, 2023 9:21:19 PM
version: 14 Dev (4276067) (13)
commit: 4276067
build.brand: Xiaomi
build.device: vince
build.display: QQ3A.200805.001
build.fingerprint: google/angler/angler:7.1.2/N2G47H/3783593:user/release-keys
build.hardware: qcom
build.id: QQ3A.200805.001
build.manufacturer: Xiaomi
build.model: Redmi 5 Plus
build.security.level: 2023-04-05
build.product: qassa_vince
build.type: user
version.codename: REL
version.incremental: 92d526381b
version.release: 10
version.sdk_int: 29
display.density_dpi: 440
isRecentsEnabled: false

error: Uncaught exception

android.view.InflateException: Binary XML file line #45 in app.lawnchair.debug:layout/work_mode_fab: Binary XML file line #45 in app.lawnchair.debug:layout/work_mode_fab: Error inflating class TextView
Caused by: android.view.InflateException: Binary XML file line #45 in app.lawnchair.debug:layout/work_mode_fab: Error inflating class TextView
Caused by: java.lang.UnsupportedOperationException: Failed to resolve attribute at index 5: TypedValue{t=0x2/d=0x7f0403cd a=4 r=0x7f06042e}
	at android.content.res.TypedArray.getColorStateList(TypedArray.java:597)
	at android.widget.TextView.readTextAppearance(TextView.java:3966)
	at android.widget.TextView.<init>(TextView.java:1069)
	at android.widget.TextView.<init>(TextView.java:970)
	at android.widget.TextView.<init>(TextView.java:966)
	at app.lawnchair.LawnchairLayoutFactory$constructorMap$2.invoke(LawnchairLayoutFactory.kt:18)
	at app.lawnchair.LawnchairLayoutFactory$constructorMap$2.invoke(LawnchairLayoutFactory.kt:18)
	at app.lawnchair.LawnchairLayoutFactory.onCreateView(LawnchairLayoutFactory.kt:29)
	at android.view.LayoutInflater.tryCreateView(LayoutInflater.java:1069)
	at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:1005)
	at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:969)
	at android.view.LayoutInflater.rInflate(LayoutInflater.java:1131)
	at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1092)
	at android.view.LayoutInflater.inflate(LayoutInflater.java:682)
	at android.view.LayoutInflater.inflate(LayoutInflater.java:534)
	at com.android.launcher3.allapps.WorkProfileManager.attachWorkModeSwitch(WorkProfileManager.java:174)
	at com.android.launcher3.allapps.WorkProfileManager.updateCurrentState(WorkProfileManager.java:158)
	at com.android.launcher3.allapps.WorkProfileManager.reset(WorkProfileManager.java:141)
	at com.android.launcher3.allapps.ActivityAllAppsContainerView.reset(ActivityAllAppsContainerView.java:502)
	at com.android.launcher3.allapps.ActivityAllAppsContainerView.reset(ActivityAllAppsContainerView.java:468)
	at com.android.launcher3.Launcher.onStateSetEnd(Launcher.java:1280)
	at com.android.launcher3.uioverrides.QuickstepLauncher.onStateSetEnd(QuickstepLauncher.java:484)
	at com.android.launcher3.uioverrides.QuickstepLauncher.onStateSetEnd(QuickstepLauncher.java:189)
	at com.android.launcher3.statemanager.StateManager.onStateTransitionEnd(StateManager.java:400)
	at com.android.launcher3.statemanager.StateManager.-$$Nest$monStateTransitionEnd(Unknown Source:0)
	at com.android.launcher3.statemanager.StateManager$1.onAnimationSuccess(StateManager.java:377)
	at com.android.launcher3.anim.AnimationSuccessListener.onAnimationEnd(AnimationSuccessListener.java:40)
	at android.animation.Animator$AnimatorListener.onAnimationEnd(Animator.java:554)
	at android.animation.AnimatorSet.endAnimation(AnimatorSet.java:1301)
	at android.animation.AnimatorSet.doAnimationFrame(AnimatorSet.java:1086)
	at android.animation.AnimationHandler.doAnimationFrame(AnimationHandler.java:146)
	at android.animation.AnimationHandler.access$100(AnimationHandler.java:37)
	at android.animation.AnimationHandler$1.doFrame(AnimationHandler.java:54)
	at android.view.Choreographer$CallbackRecord.run(Choreographer.java:965)
	at android.view.Choreographer.doCallbacks(Choreographer.java:791)
	at android.view.Choreographer.doFrame(Choreographer.java:722)
	at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:952)
	at android.os.Handler.handleCallback(Handler.java:883)
	at android.os.Handler.dispatchMessage(Handler.java:100)
	at android.os.Looper.loop(Looper.java:214)
	at android.app.ActivityThread.main(ActivityThread.java:7396)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
2023-12-17 07:20:21 +08:00
MrSluffy cc8f9828ab Merge branch 'heads/android-14.0.0_r18' into 14-dev 2023-12-16 17:18:13 +08:00
MrSluffy 32700b0100 Merge branch 'android14-release' into 14-dev 2023-12-13 18:47:55 +08:00
Suphon T a97b1e853c Implement custom popup for Smartspacer (#3716)
* Disable minify for debug

* Show launcher popup when long pressing smartspacer

* Add shortcut to smartspacer settings

* Add missing Smartspacer Popup Options + fixes (#3725)

* - Update Smartspacer client SDK to 1.0.4 (contains fixes for popup handling)
- Added options for dismiss, about & feedback, make them all optional and use the provided launchIntent method as it provides a fallback for invalid intents
- Use original Customise option as fallback if provided options are empty

* Reorder items to match Pixel Launcher

---------

Co-authored-by: Kieron Quinn <quinny898@gmail.com>
2023-11-16 09:35:19 +07:00
Kieron Quinn d96a511efe Implement Smartspacer as an alternative At a Glance provider (#3684) 2023-11-13 10:17:21 +01:00
MrSluffy 19bf26dd5a Merge branch 'aosp-13' into 13-wip 2023-10-21 09:52:01 +08:00
Bill Yi 5986dfe2d5 Import translations. DO NOT MERGE ANYWHERE
Auto-generated-cl: translation import
Change-Id: I6f49d0428e6d8fcb22ac648dbe81c039b1a80013
2023-09-27 13:17:02 -07:00
Treehugger Robot 87f7cd7bf2 Merge "Import translations. DO NOT MERGE ANYWHERE" into udc-qpr-dev 2023-09-25 19:00:16 +00:00
Brandon Dayauon 28ae77df37 Merge "Fix big icon when dragging Toast by isolating the previous QL fix display to SEARCH_RESULT_APP_ROW" into udc-qpr-dev 2023-09-22 14:36:45 +00:00
Bill Yi 145f1213bd Import translations. DO NOT MERGE ANYWHERE
Auto-generated-cl: translation import
Change-Id: I0d22c898118c9fd6bb50049265baab7385aee8e8
2023-09-22 03:49:12 -07:00
Brandon Dayauon 47000ae6e6 Fix big icon when dragging Toast by isolating the previous QL fix display to SEARCH_RESULT_APP_ROW
- Create another icon, "all_apps_predicted_row_icon" that will be the mDisplay for the predicted app row
in AllAppsList

Bug:299171695
Test: video
Before: https://drive.google.com/file/d/1HxNW0015nQHCc7eQiySf-gwsHrLs_JjR/view?usp=sharing
after: https://drive.google.com/file/d/1HyEwKI-yumILTCjglKcqovhTlRVjNGxg/view?usp=sharing - making sure that QL is fine and dragging regular Toast results are normal
Flag: N/a
Change-Id: Ie002cacb168396dbea39f79679bd6a04b80e374b
2023-09-20 14:21:10 -07:00
Bill Yi 902c080b06 Import translations. DO NOT MERGE ANYWHERE
Auto-generated-cl: translation import
Change-Id: I1e5a9958e68122e5c138301126f915f27f1341b6
2023-09-13 04:51:49 -07:00
Bill Yi 1e1ab4e7e4 Import translations. DO NOT MERGE ANYWHERE
Auto-generated-cl: translation import
Change-Id: Ib5508c6ec154dcad7e0247518986b59cc019af1a
2023-09-07 04:03:48 -07:00
Treehugger Robot 4dc9893028 Merge "Remove Change Navigation Mode option for Taskbar Divider Popup Menu" into udc-qpr-dev 2023-08-21 19:41:19 +00:00
Brandon Dayauon 7f347e93d2 Merge "Change inactive button to surfaceBright and headerProtection to scHighest on LT and scLow on DT" into udc-qpr-dev 2023-08-21 16:17:19 +00:00
Brandon Dayauon e8efd38e9a Fix work paused text padding.
This is causing an issue for keyboard up by default users who can't see the button due to the keyboard blocking it.
The reason this is happening is because there is a layoutMargin of 40dp that is on the work_apps_paused_title text.
But it should be 16dp from the tabs and the and work_apps_paused_title text. Due to the floatingHeaderView having 8dp already,
just add another 8dp padding to the workPausedCard for the 16dp distance between the tabs and the text.

bug: 294948106
flag: n/a
test: manual -photos:
before:https://screenshot.googleplex.com/8awNqhWLkW3mF2w
after: https://screenshot.googleplex.com/8qUJAwH5Qzd6d3L

Change-Id: I4468e2fec6f05919323e27b1c4296d0239b2d044
2023-08-18 15:01:48 -07:00
Jagrut Desai 8d326473a6 Remove Change Navigation Mode option for Taskbar Divider Popup Menu
- Breakout CL part 3
- This is a breakout cl from ag/24272821 to make it more readable and atomic.
- This cl consist removal of an option from taskbar divider popup meu which is no longer required and other changes regarding the removal like ripple.

Test: Manual, Visual
Bug: 265170176
Flag: ENABLE_TASKBAR_PINNING
Merged-In: I3664df7a134cc0eb5b4ed856c7e0730ef1b75dea
Change-Id: I3664df7a134cc0eb5b4ed856c7e0730ef1b75dea
2023-08-17 21:35:09 -07:00
Brandon Dayauon 157f2d8c1f Change inactive button to surfaceBright and headerProtection to scHighest on LT and scLow on DT
bug:294291021
bug:275087095
flag: n/a
test: Manual photos:
before: https://screenshot.googleplex.com/5sDvwGUebY3BtLo
before: https://screenshot.googleplex.com/BSmjETXYbBqXXxG
after: https://screenshot.googleplex.com/8nGCqHEuxQKKpiQ
after: https://screenshot.googleplex.com/AWALHXZAsuLq8b6

Change-Id: I2dd8eff2c56618a143c10fa4e7533265dde3f0b8
2023-08-17 15:09:42 -07:00
Thales Lima f8bfb036ba Create specs for hotseat
Some attributes of hotseat change depending on the size of the device. In the future more attributes could be moved to the spec, e.g. hotseat icons.

Fix: 292204436
Test: CalculatedHotseatSpecTest
Test: HotseatSpecsTest
Test: SizeSpecTest
Test: DeviceProfileResponsiveDumpTest
Test: DeviceProfileResponsiveAlternativeDisplaysDumpTest
Flag: ENABLE_RESPONSIVE_WORKSPACE
Change-Id: I6a4e05d75af819dbf1444a5ca45c2080f55dc203
2023-08-10 10:23:23 +00:00
Andy Wickham c15fd5c248 Merge "Revert^3 "Change Overview Actions to round buttons."" into udc-qpr-dev 2023-08-08 20:58:04 +00:00
Andy Wickham bc3bac4113 Revert^3 "Change Overview Actions to round buttons."
Awaiting UX alignment.

Test: N/A
Flag: N/A
Change-Id: I05e9627d8b44ea16d29445e005534af2a1abd439
2023-08-08 12:09:59 -07:00
Jeremy Sim 6390654526 Merge "App Pairs: Implement save, inflate, launch, and delete" into udc-qpr-dev 2023-08-08 00:56:04 +00:00
Jeremy Sim 94fd07e5da App Pairs: Implement save, inflate, launch, and delete
This is the third of several patches implementing the App Pairs feature behind a flag.

This patch includes:
- AppPairIcon and associated XML. Actual icon asset is placeholder for now
- Ability to launch split pair on click
- Icon can be moved around, incl. to Taskbar
- App pair can be deleted by dragging to "Remove" drop zone
- Icon persists on Launcher reload

Change-Id: I88aec6fbc814be98f9ef048bbc5af889d0797970
Flag: ENABLE_APP_PAIRS (set to false)
Bug: 274835596
Test: Not included in this CL, but will follow
2023-08-02 12:08:41 -07:00
Johannes Gallmann 19721d5e28 Merge "Extract Launcher resource interpolators to Animation Library" into udc-qpr-dev 2023-07-31 12:36:43 +00:00
Andy Wickham fd35baa3f8 Merge "Revert^2 "Change Overview Actions to round buttons."" into udc-qpr-dev 2023-07-28 21:57:54 +00:00
Andy Wickham be8981442a Revert^2 "Change Overview Actions to round buttons."
f849f2856f

Fix: 293081298

Change-Id: Iaf1553770329ec3a6c6d8a2d9d81b60203e79ed8
2023-07-26 20:56:05 +00:00
Bill Yi 0aa222932a Import translations. DO NOT MERGE ANYWHERE
Auto-generated-cl: translation import
Change-Id: I7b62446d097c5c0cf9b0d627661f71f7b7e1ca02
2023-07-26 13:42:51 -07:00
Greg Kaiser b095594afd Merge "Revert "Change Overview Actions to round buttons."" into udc-qpr-dev 2023-07-25 16:44:28 +00:00
Greg Kaiser f849f2856f Revert "Change Overview Actions to round buttons."
Revert submission 23784078-overview-actions

Reason for revert: b/293081298

Reverted changes: /q/submissionid:23784078-overview-actions

Change-Id: I185cfc6baf8dd2243f6fb5a585c926f9df3b3934
2023-07-25 14:27:28 +00:00
Thales Lima d9f4d93cbf Merge "Add twoPanelId attribute for responsive grid in device profile" into udc-qpr-dev 2023-07-24 21:24:00 +00:00
Johannes Gallmann a82eebd286 Extract Launcher resource interpolators to Animation Library
Bug: 292080029
Test: atest InterpolatorResourcesTest
Change-Id: I65dba4eb3f96844d4f9a4d0af608c0bd8e77ccc2
2023-07-22 09:52:53 +02:00
Andy Wickham f98949cac3 Change Overview Actions to round buttons.
If floating search is active in Overview (flag enabled and we are
the active Launcher), these buttons will be aligned to the search
bar relative to the bottom of the screen. Otherwise, the buttons
will be aligned below the active task like before.

Demo for Launcher3 build:
https://drive.google.com/file/d/1fVzRRnW5AFDMPkW-E8_w4BOCzTAOURQ_/view?usp=drive_link&resourcekey=0-6-EbFZXkBqcu0rw7uuEzjw

Bug: 292000892
Test: Manual with floating enabled/disabled and
SEPARATE_RECENTS_ACTIVITY enabled/disabled (simulating not being
the active Launcher). Also tested with a 3P Launcher, Nova.
Flag: N/A; this change is enabled by default, but also verified
UI looks correct with ENABLE_FLOATING_SEARCH_BAR.

Change-Id: Ia45f88d2c691c4525b1e73cca4707498d058a917
2023-07-22 07:43:17 +00:00
Jordan Silva 575c3bddec Add twoPanelId attribute for responsive grid in device profile
Three new attributes were created to be used in device profile. These attributes will provide the responsive specs for two panel devices.

Fix: 292204121
Flag: ENABLE_RESPONSIVE_WORKSPACE
Test: DeviceProfileDumpTest
Test: DeviceProfileResponsiveDumpTest
Test: DeviceProfileResponsiveAlternativeDisplaysDumpTest
Change-Id: I35c93e16dde043b0fd611b81bf2de74e3621818e
2023-07-21 12:00:43 +01:00
Vinit Nayak 306c6e843f Merge "Change split toast exit asset to "X"" into udc-qpr-dev 2023-07-20 22:58:17 +00:00
Jordan Silva 8bd7af2b3f Improving responsive grid xml parser
Refactors AllAppsSpecs, FolderSpecs and WorkspaceSpecs initialization to use the same code to parse the xml with different map function. This CL improves the readability of the code and remove code duplication.

Fix: 286538013
Flag: ENABLE_RESPONSIVE_WORKSPACE
Test: AllAppsSpecsTes
Test: CalculatedAllAppsSpecTest
Test: CalculatedFolderSpecsTest
Test: CalculatedWorkspaceSpecTest
Test: FolderSpecsTest
Test: WorkspaceSpecsTest
Test: DeviceProfileResponsiveDumpTest
Test: DeviceProfileResponsiveAlternativeDisplaysDumpTest
Change-Id: Iec5863619399efd2e80f3db46b75c4d785e1656f
2023-07-18 18:03:16 +01:00
Vinit Nayak 78207fd80b Change split toast exit asset to "X"
* TODO: Probably need to change tint based on theme

Bug: 276361926
Flag: ENABLE_SPLIT_FROM_WORKSPACE_TO_WORKSPACE
Test: Shows up as expected
Change-Id: I28a2eefa115cb15aab560d750103c7946639c18b
2023-07-17 20:19:16 -07:00
Vinit Nayak b9a5c4551f Merge "Show split select instructions toast when starting split on workspace" into udc-qpr-dev 2023-07-17 22:11:36 +00:00
Pat Manning f351e515f7 Merge "Show tooltips on cursor hover of taskbar icons." into udc-qpr-dev 2023-07-17 10:15:46 +00:00
Vinit Nayak 5f09091583 Show split select instructions toast when starting split on workspace
* Used same animation properties that RecentsView uses to
show the instructions view unfolding
* TODOs:
  * UI polish (correct asset, animation timings, etc)
  * Hook into existing animations (if possible)
  * Migrate recentsView splitInstructionsView to use same/similar code path;
    remove RecentsView#safeRemoveDragLayerView

Bug: 276361926
Test: Create split w/ and w/o flag, works as expected
Flag: ENABLE_SPLIT_FROM_WORKSPACE_TO_WORKSPACE
Change-Id: I7a51b71c358902399ad73b650287cdbf1dad07c6
2023-07-14 17:49:42 -07:00
Pat Manning da69661add Show tooltips on cursor hover of taskbar icons.
Fix: 250092437
Test: TaskbarHoverToolTipControllerTest
Flag: ENABLE_CURSOR_HOVER_STATES
Change-Id: Ia0463518d13b313b354328078685930215fb7636
2023-07-14 13:42:30 +01:00
Bill Yi 686e14eaf4 Import translations. DO NOT MERGE ANYWHERE
Auto-generated-cl: translation import
Change-Id: I87e585d21fc93b5c397c49fb04ebdf8c9f987f21
2023-07-14 02:25:32 -07:00
Anushree Ganjam 5730f03c9f Introduce Default Ime height.
Assume IME_DEFAULT_HEIGHT_DP = 300.
When ime is yet to be shown but the UI is ready, then use
IME_DEFAULT_HEIGHT_DP.

For the 2nd time onwards save the actual ime height and use it when the
keyboard is not shown yet.

Bug: 285166099
Test: Manual
Change-Id: I33e38cbd5c2910f4a6dc4cc83c8dc4b6d94fbcff
2023-07-12 17:21:40 +00:00
Bill Yi b2f9564e83 Import translations. DO NOT MERGE ANYWHERE
Auto-generated-cl: translation import
Change-Id: I1909e37e82176edd16be4cb12dfd78b68393f92b
2023-07-07 04:33:59 -07:00
Andrew Cole fe0a3b41d8 Updating materialColorSurfaceContainerHighest color access
For any view files applying the WidgetConatinerTheme via widgetsTheme they were incorrectly inheriting themes and skipping the AppTheme provided but only in light mode. In dark mode the WidgetContainerTheme.Dark was correctly inheriting the theme.

To avoid a risky theme update for all widgetsThemes we just modify the color accessor to use @color instead of ?attr as these colors should not be attributes AFAIKT

Bug: b/289305591
Test: Follow repro steps on the bug for smartspace
Change-Id: I26cc3239763f8eac3dfe5f094c6757692f46d1bc
2023-07-06 12:21:21 -07:00