* Toggleable new bouncy consolidated popup (MATERIAL_U_POPUP)
* Fix typo in calling PreferenceManager2
* Import FeatureFlags
* Get ctx in SDL
* Get ctx instead of this
* Correct type for context
* Import Context
* insert commit message here!
* I forgot I can just apply this neatly trick after looking at the code for 5 secounds
* Move to appropriate category
Co-authored-by: MrSluffy <werdna.jac@gmail.com>
Lawnchair (Debug) bug report Jan 26, 2024 08:39:37
version: 14 Dev (#397) (14)
commit: 0312589
build.brand: samsung
build.device: a13
build.display: TP1A.220624.014.A135FXXS5CWJ1
build.fingerprint: samsung/a13nnxx/a13:13/TP1A.220624.014/A135FXXS5CWJ1:user/release-keys
build.hardware: exynos850
build.id: TP1A.220624.014
build.manufacturer: samsung
build.model: SM-A135F
build.security.level: 2023-10-01
build.product: a13nnxx
build.type: user
version.codename: REL
version.incremental: A135FXXS5CWJ1
version.release: 13
version.sdk_int: 33
display.density_dpi: 420
isRecentsEnabled: true
error: Uncaught exception
java.lang.NullPointerException: Attempt to read from field 'android.content.ComponentName android.appwidget.AppWidgetProviderInfo.provider' on a null object reference in method 'void com.android.launcher3.Launcher.completeAddAppWidget(int, com.android.launcher3.model.data.ItemInfo, android.appwidget.AppWidgetHostView, com.android.launcher3.widget.LauncherAppWidgetProviderInfo)'
at com.android.launcher3.Launcher.completeAddAppWidget(Launcher.java:1540)
at com.android.launcher3.Launcher.lambda$completeTwoStageWidgetDrop$4(Launcher.java:1076)
at com.android.launcher3.Launcher.$r8$lambda$HrxqTqYL9MXyAX5QkHjDnruo6Sc(Unknown Source:0)
at com.android.launcher3.Launcher$$ExternalSyntheticLambda9.run(Unknown Source:8)
at com.android.launcher3.Workspace$5.run(Workspace.java:3199)
at com.android.launcher3.anim.AnimatorListeners$1.onAnimationEnd(AnimatorListeners.java:54)
at android.animation.Animator$AnimatorListener.onAnimationEnd(Animator.java:600)
at android.animation.AnimatorSet.endAnimation(AnimatorSet.java:1301)
at android.animation.AnimatorSet.doAnimationFrame(AnimatorSet.java:1086)
at android.animation.AnimationHandler.doAnimationFrame(AnimationHandler.java:307)
at android.animation.AnimationHandler.-$$Nest$mdoAnimationFrame(Unknown Source:0)
at android.animation.AnimationHandler$1.doFrame(AnimationHandler.java:86)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1299)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1309)
at android.view.Choreographer.doCallbacks(Choreographer.java:923)
at android.view.Choreographer.doFrame(Choreographer.java:847)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1283)
at android.os.Handler.handleCallback(Handler.java:942)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:226)
at android.os.Looper.loop(Looper.java:313)
at android.app.ActivityThread.main(ActivityThread.java:8757)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:571)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1067)
Lawnchair (Debug) bug report Jan 28, 2024 4:43:00 PM
version: 14 Dev (b585d3f) (14)
commit: b585d3f
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: true
error: Uncaught exception
java.lang.NoSuchMethodError: No virtual method setPendingIntentBackgroundActivityStartMode(I)Landroid/app/ActivityOptions; in class Landroid/app/ActivityOptions; or its super classes (declaration of 'android.app.ActivityOptions' appears in /system/framework/framework.jar)
at com.android.launcher3.widget.LauncherWidgetHolder.getConfigurationActivityOptions(LauncherWidgetHolder.java:299)
at com.android.launcher3.widget.LauncherWidgetHolder.startConfigActivity(LauncherWidgetHolder.java:261)
at com.android.launcher3.AppWidgetResizeFrame.lambda$setupForWidget$1(AppWidgetResizeFrame.java:255)
at com.android.launcher3.AppWidgetResizeFrame.$r8$lambda$Qz8LgkHxjFnttBxFiB7ge472N5c(Unknown Source:0)
at com.android.launcher3.AppWidgetResizeFrame$$ExternalSyntheticLambda3.onClick(Unknown Source:2)
at android.view.View.performClick(View.java:7266)
at android.view.View.performClickInternal(View.java:7243)
at android.view.View.access$3600(View.java:801)
at android.view.View$PerformClick.run(View.java:27904)
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)
Fix crashing:
```
Process: ch.deletescape.lawnchair.plah, PID: 26755
java.lang.NullPointerException: Attempt to invoke virtual method 'void com.android.launcher3.dragndrop.DragView.animateShift(int, int)' on a null object reference
at com.android.launcher3.popup.PopupContainerWithArrow$LauncherPopupItemDragHandler.onLongClick(PopupContainerWithArrow.java:827)
at android.view.View.performLongClickInternal(View.java:7586)
at android.view.View.performLongClick(View.java:7544)
at android.widget.TextView.performLongClick(TextView.java:12974)
at android.view.View.performLongClick(View.java:7562)
at android.view.View$CheckForLongPress.run(View.java:29292)
at android.os.Handler.handleCallback(Handler.java:942)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:201)
at android.os.Looper.loop(Looper.java:288)
at android.app.ActivityThread.main(ActivityThread.java:7872)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)
```
* Entering and leaving search now takes effect right away.
* Should fix race in which tapping an app while search results are
loading causes a tap on the previous app in the position, rather
than on the search result.
* Helps prevent the scrollbar from appearing to be scrolled down
somewhat when leaving search with floating header rows present;
still happens sometimes, though (on stock OS launcher, too).
Change-Id: I67bc59456eb2e57e13b1b99509d3313ff0243b88
Description:
Compute a child location by recursion, it
may not have parent view.
When the child doesn't have parent, should
break the recursive.
Change-Id: I8707712b85c10bf1c1d3860c5b8323aefd455cf2
CRs-Fixed: 1104931
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: Mohammad Hasan Keramat J <ikeramat@protonmail.com>
It will appear a null object crash in quickstep launch
when monkey test. Althoough the 'View v' is declared as NonNull,
but there is a probability that it will return a null object
after the 'isTaskViewVisible' judgement in 'findTaskViewToLaunch',
Make a judgement before use to avoid crash.
Change-Id: I4606853325641feaf26a79791cce2514cee80d4c
Signed-off-by: Anle Pan <anle.pan@nxp.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Press recent key and quickly click recent screen background, then
Recent List task doesn't disappear and overlaps on Homescreen.
When there is no time for Background State to change to Overview State, and gotoState(Normal) API is called, then let Background State transition to Normal state, and force Normal state to not transition to Overview state.
Bug: 287897684
Test: manually
1. Launch any app
2. Press Recent key
3. Click on same app task on recent list
4. Press Recent key
5. As soon as recent list appears, quickly click on background of Recent screen
Change-Id: I21f71a49cafe83bb8c916eb240d8db9246a13487
Signed-off-by: Dmitrii <bankersenator@gmail.com>
Background activity launch (BAL) hardening in Android 14 prevents the
creation of widgets if background launching isn't explicitly allowed
for the widget configuration activity.
Issue: calyxos#1917
Change-Id: Ic8696154bab49de78d1554d61a64b634766ae469
For notification background. Telegram does it for example.
Just assume contrast is fine in this case.
Log:
E AndroidRuntime: FATAL EXCEPTION: main
E AndroidRuntime: Process: com.android.launcher3, PID: 2885
E AndroidRuntime: java.lang.IllegalArgumentException: background can not be translucent: #0
E AndroidRuntime: at androidx.core.graphics.ColorUtils.calculateContrast(ColorUtils.java:161)
E AndroidRuntime: at com.android.launcher3.graphics.IconPalette.findContrastColor(IconPalette.java:126)
E AndroidRuntime: at com.android.launcher3.graphics.IconPalette.ensureTextContrast(IconPalette.java:112)
E AndroidRuntime: at com.android.launcher3.graphics.IconPalette.resolveContrastColor(IconPalette.java:71)
E AndroidRuntime: at com.android.launcher3.notification.NotificationInfo.getIconForBackground(NotificationInfo.java:124)
E AndroidRuntime: at com.android.launcher3.notification.NotificationMainView.applyNotificationInfo(NotificationMainView.java:207)
E AndroidRuntime: at com.android.launcher3.notification.NotificationContainer.applyNotificationInfos(NotificationContainer.java:156)
E AndroidRuntime: at com.android.launcher3.popup.PopupContainerWithArrow.applyNotificationInfos(PopupContainerWithArrow.java:353)
E AndroidRuntime: at com.android.launcher3.popup.PopupPopulator.lambda$createUpdateRunnable$1(PopupPopulator.java:150)
E AndroidRuntime: at com.android.launcher3.popup.PopupPopulator$$ExternalSyntheticLambda0.run(Unknown Source:4)
...
Signed-off-by: Omkar Chandorkar <gotenksIN@aosip.dev>
Change-Id: I15e61c0610d2676467b57e636454b36aa628007e
Method as per Google commit 25399db1e7
("[DO NOT MERGE] Disable live tile in split mode for S").
Live tile has a LOT of bugs even in AOSP and Pixel stock ROMs:
* Alpha animation randomly not applying causing app to get stuck
* X/Y translation not applying causing app to get stuck
* Causes extreme jank (enable HWUI bars and swipe in recents...)
* Sidescroll tile minimization cuts off content instead of shrinking it.
* Screenshotting a sidescolled live tile causes it to become invisible.
Combined with our blur/transparency changes:
* The tile doesn't actually shrink because Google just draws background
over the tile instead of shrinking it...
* The tile gets blurred which has to be fixed in very hacky ways,
because it is on a very low layer, which is below the blur
...the end result is a total mess.
Kill this feature, and revisit fixing our issues once Google gets their
own shit together.
Change-Id: I33e6dab845b2147fd72fe0fb4c151e78035560ec
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
This fixes a bug, which became obvious thanks to disabled live tile, but
has already existed before, where recents jumps to using last snapshot
instead of the correct/current one once you fling, because thumbnails
were cached but the cache had not been updated in this codepath.
Change-Id: Ie7afe56b6e0aecaae2510248c5887873800a0b51
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Adapt it for Live Tile support + fix landscape handling
Change-Id: I1cf5d79aa6373e836d33bc7ddb15c0c5258a63d7
Signed-off-by: Adithya R <gh0strider.2k18.reborn@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>
Initial support quickstep, Android versions from Q to U, ensuring a smooth and efficient user experience. Enjoy effortless navigation and swift app switching on your Android device with QuickSwitch's compatibility across the Q, R, S, T, and U.
Co-authored-by: Goooler <wangzongler@gmail.com>
Co-authored-by: 无言 <57122860+liu-wanshun@users.noreply.github.com>