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>
* 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>
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
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>
The logic was reversed. All apps view should dissmiss on back key when
the searchbox is focused but empty and clear when not empty.
Change-Id: Id11c991dae6c159b986966f278f0c792993b6abd
Signed-off-by: Mohammad Hasan Keramat J <ikeramat@protonmail.com>
Lawnchair (Debug) bug report Dec 19, 2023 7:07:10 AM
version: 14 Dev (#171) (14)
commit: 577084d
build.brand: motorola
build.device: rhode
build.display: S1SRS32.38-132-15
build.fingerprint: motorola/rhode_g/rhode:12/S1SRS32.38-132-15/dac4a3-3e3fe:user/release-keys
build.hardware: qcom
build.id: S1SRS32.38-132-15
build.manufacturer: motorola
build.model: moto g52
build.security.level: 2023-09-01
build.product: rhode_g
build.type: user
version.codename: REL
version.incremental: dac4a3-3e3fe
version.release: 12
version.sdk_int: 31
display.density_dpi: 446
isRecentsEnabled: false
error: Uncaught exception
java.lang.NullPointerException: Attempt to invoke virtual method 'int android.view.View.getScrollX()' on a null object reference
at com.android.launcher3.Utilities.mapCoordInSelfToDescendant(Utilities.java:335)
at com.android.launcher3.Workspace.updateIsBeingDraggedOnTouchDown(Workspace.java:1236)
at com.android.launcher3.PagedView.onInterceptTouchEvent(PagedView.java:1081)
at com.android.launcher3.Workspace.onInterceptTouchEvent(Workspace.java:1168)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2652)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3120)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2744)
at com.android.launcher3.views.BaseDragLayer.dispatchTouchEvent(BaseDragLayer.java:303)
at com.android.launcher3.dragndrop.DragLayer.dispatchTouchEvent(DragLayer.java:225)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3120)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2744)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3120)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2744)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3120)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2744)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3120)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2744)
at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:535)
at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1925)
at android.app.Activity.dispatchTouchEvent(Activity.java:4298)
at com.android.launcher3.Launcher.dispatchTouchEvent(Launcher.java:2189)
at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:493)
at android.view.View.dispatchPointerEvent(View.java:14884)
at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:6595)
at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:6396)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5874)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5931)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5897)
at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:6062)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5905)
at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:6119)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5878)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5931)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5897)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5905)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5878)
at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:8891)
at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:8807)
at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:8776)
at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:9027)
at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:266)
at android.os.MessageQueue.nativePollOnce(Native Method)
at android.os.MessageQueue.next(MessageQueue.java:342)
at android.os.Looper.loopOnce(Looper.java:182)
at android.os.Looper.loop(Looper.java:357)
at android.app.ActivityThread.main(ActivityThread.java:8089)
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:1026)
Lawnchair (Debug) bug report Dec 19, 2023 7:07:10 AM
version: 14 Dev (#171) (14)
commit: 577084d
build.brand: motorola
build.device: rhode
build.display: S1SRS32.38-132-15
build.fingerprint: motorola/rhode_g/rhode:12/S1SRS32.38-132-15/dac4a3-3e3fe:user/release-keys
build.hardware: qcom
build.id: S1SRS32.38-132-15
build.manufacturer: motorola
build.model: moto g52
build.security.level: 2023-09-01
build.product: rhode_g
build.type: user
version.codename: REL
version.incremental: dac4a3-3e3fe
version.release: 12
version.sdk_int: 31
display.density_dpi: 446
isRecentsEnabled: false
error: Uncaught exception
java.lang.NullPointerException: Attempt to invoke virtual method 'int android.view.View.getScrollX()' on a null object reference
at com.android.launcher3.Utilities.mapCoordInSelfToDescendant(Utilities.java:335)
at com.android.launcher3.Workspace.updateIsBeingDraggedOnTouchDown(Workspace.java:1236)
at com.android.launcher3.PagedView.onInterceptTouchEvent(PagedView.java:1081)
at com.android.launcher3.Workspace.onInterceptTouchEvent(Workspace.java:1168)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2652)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3120)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2744)
at com.android.launcher3.views.BaseDragLayer.dispatchTouchEvent(BaseDragLayer.java:303)
at com.android.launcher3.dragndrop.DragLayer.dispatchTouchEvent(DragLayer.java:225)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3120)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2744)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3120)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2744)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3120)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2744)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3120)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2744)
at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:535)
at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1925)
at android.app.Activity.dispatchTouchEvent(Activity.java:4298)
at com.android.launcher3.Launcher.dispatchTouchEvent(Launcher.java:2189)
at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:493)
at android.view.View.dispatchPointerEvent(View.java:14884)
at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:6595)
at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:6396)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5874)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5931)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5897)
at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:6062)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5905)
at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:6119)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5878)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5931)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5897)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5905)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5878)
at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:8891)
at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:8807)
at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:8776)
at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:9027)
at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:266)
at android.os.MessageQueue.nativePollOnce(Native Method)
at android.os.MessageQueue.next(MessageQueue.java:342)
at android.os.Looper.loopOnce(Looper.java:182)
at android.os.Looper.loop(Looper.java:357)
at android.app.ActivityThread.main(ActivityThread.java:8089)
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:1026)
* Revert "Fixed App crashes when leaving search in A9 (#3876) (#3877)"
This reverts commit 54ee1a0e92.
* Fix work mode switch inflation on Pie
* Also change the color in dark mode