* Enable automatic per-app language support
This will send list of available localisation to Android for then user
to change the languages in Settings. The default language for Lawnchair
is set to English American (en-us)
Signed-off-by: GitHub <noreply@github.com>
* Enable pseudolocales for Debug variant
* Move pseudoLocalesEnabled into all block
---------
Signed-off-by: GitHub <noreply@github.com>
Co-authored-by: Goooler <wangzongler@gmail.com>
There were some themes that were remove during the 14 and 13 merge. This commit attempt to fix it.
---------
Co-authored-by: John Andrew Camu <werdna.jac@gmail.com>
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>
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)
* 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>
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
- 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
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
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
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
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