19609 Commits

Author SHA1 Message Date
Berke Emin Kabagöz
cb8b206a50 Fix android 14 crashes (#5620) 2025-09-28 09:21:02 +08:00
Pun Butrach
353f563685 feat: Theme predicted slot plate color for monochromatic app (#5604)
* Update PredictedAppIcon.java
* Add PredictedPlateColor tokens to colortokens

---------

Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
2025-09-08 14:44:24 +08:00
Pun Butrach
2fcaf0a5ec Don't call setAccessibilityPaneTitle when device is not at least Android 9 (#5603)
* Update WidgetsTwoPaneSheet.java

Signed-off-by: Pun Butrach <pun.butrach@gmail.com>

* Update PopupContainerWithArrow.java

Signed-off-by: Pun Butrach <pun.butrach@gmail.com>

* Update SplitInstructionsView.java

Signed-off-by: Pun Butrach <pun.butrach@gmail.com>

* Update TaskbarView.java

Signed-off-by: Pun Butrach <pun.butrach@gmail.com>

---------

Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
2025-07-14 14:19:58 +08:00
MrSluffy
da5edb9015 fixed : crashes in A15 qpr1 2025-02-12 16:21:25 +08:00
MrSluffy
7bbd29094f fixed crash abstract method class on A10 2025-02-07 07:49:20 +08:00
MrSluffy
66928cc74d feat : App drawer color 2025-01-07 14:29:00 +08:00
Pun Butrach
45c8552319 Reimplement catch RemoteAnimationTarget.rotationChange (#5126)
* Update QuickstepTransitionManager.java

Signed-off-by: Pun Butrach <pun.butrach@gmail.com>

* Update AbsSwipeUpHandler.java

Signed-off-by: Pun Butrach <pun.butrach@gmail.com>

---------

Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
2024-12-30 03:56:18 +08:00
MrSluffy
99b65be3c2 Fixed crashes on android 8 2024-12-27 15:46:16 +08:00
MrSluffy
4667f30028 Fixed crash on api 28
- closes : #5076
2024-12-27 14:41:11 +08:00
MrSluffy
a7c80d909b fixed method privateSpaceSettingsIntent not found 2024-12-27 09:56:03 +08:00
MrSluffy
6033863bf8 Fixed possible crashes below U 2024-12-27 09:40:06 +08:00
MrSluffy
1a84e8105a feat : re-implement private space
- closes : #4745
2024-12-26 18:15:22 +08:00
MrSluffy
d2325214ec Fixed crashes in one-handed support check 2024-12-26 15:11:02 +08:00
MrSluffy
f1a292495c clean-up migrated back to collect to list for lower v 2024-12-18 11:47:38 +08:00
MrSluffy
6b5e912e10 enhancement folder related issues
- Closing from app to home where weird artifacts shown
- Duplicated icon after adding new icon in the folder
- Stuck icon when moving from app to home

closes the following
- #5084
- #5081
- #5074
2024-12-15 17:20:02 +08:00
MrSluffy
4feac9547f fixed crashes NPE's below 12 2024-12-12 08:41:23 +08:00
MrSluffy
1a9982ad65 fixed issue applying lawnchair as recents provider in A15
- fixed animation app to home
- action buttons in recents
2024-12-11 12:27:09 +08:00
Rafael de Moura Dev
5e20759cc8 fixed NPEs below q(#5048)
* fixed java.lang.NoSuchMethodError: No interface method toList()

´´´
Ljava/util/List; in class Ljava/util/stream/Stream; or its super classes (declaration of 'java.util.stream.Stream' appears in /system/framework/core-oj.jar)
                                                                                                                            	at com.android.launcher3.model.WidgetsModel.getFilteredWidgetsListForPicker(WidgetsModel.java:99)
                                                                                                                            	at com.android.launcher3.model.WidgetsModel.getWidgetsListForPicker(WidgetsModel.java:122)
                                                                                                                            	at com.android.launcher3.model.BaseLauncherBinder.bindWidgets(BaseLauncherBinder.java:204)
                                                                                                                            	at com.android.launcher3.model.LoaderTask.run(LoaderTask.java:338)
                                                                                                                            	at android.os.Handler.handleCallback(Handler.java:873)
                                                                                                                            	at android.os.Handler.dispatchMessage(Handler.java:99)
                                                                                                                            	at android.os.Looper.loop(Looper.java:193)
                                                                                                                            	at android.os.HandlerThread.run(HandlerThread.java:65)

                                                                                                                            	´´´

* fix crashes when trying to customize from folders

* fix NoClassDefFound attempting to create new folder in lower apis

* fix java.lang.NoSuchMethodError: No static method beginAsyncSection(Ljava/lang/String;I)V in class Landroid/os/Trace; or its super classes (declaration of 'android.os.Trace' appears in /system/framework/framework.jar!classes2.dex) when adding widgets below Q

                                                                                                        	at com.android.launcher3.widget.LauncherAppWidgetHostView.setAppWidget(LauncherAppWidgetHostView.java:126)
                                                                                                        	at android.appwidget.AppWidgetHost.createView(AppWidgetHost.java:382)
                                                                                                        	at com.android.launcher3.widget.LauncherWidgetHolder.createViewInternal(LauncherWidgetHolder.java:447)
                                                                                                        	at com.android.launcher3.widget.LauncherWidgetHolder.createView(LauncherWi

* fix java.lang.NoSuchMethodError: No static method beginAsyncSection(Ljava/lang/String;I)V in class Landroid/os/Trace; or its super classes (declaration of 'android.os.Trace' appears in /system/framework/framework.jar!classes2.dex) when adding widgets below Q

                                                                                                        	at com.android.launcher3.widget.LauncherAppWidgetHostView.setAppWidget(LauncherAppWidgetHostView.java:126)
                                                                                                        	at android.appwidget.AppWidgetHost.createView(AppWidgetHost.java:382)
                                                                                                        	at com.android.launcher3.widget.LauncherWidgetHolder.createViewInternal(LauncherWidgetHolder.java:447)
                                                                                                        	at com.android.launcher3.widget.LauncherWidgetHolder.createView(LauncherWi

* fix                                                                                                     java.lang.NoSuchMethodError: No virtual method setSystemGestureExclusionRects(Ljava/util/List;)V in class Lcom/android/launcher3/AppWidgetResizeFrame; or its super classes (declaration of 'com.android.launcher3.AppWidgetResizeFrame' appears in /data/app/app.lawnchair.play.debug-ewPju7gaDxUbh-ipLPLIoA==/base.apk!classes6.dex)

* fix more NoSuchMethodError

* fix NPE´s

* fix: disable showing addButton widget as it not make sense i think

* fix  java.lang.NoSuchMethodError: No virtual method getInstallerUid()I in class Landroid/content/pm/PackageInstaller$SessionInfo; or its super classes (declaration of 'android.content.pm.PackageInstaller$SessionInfo' appears in /system/framework/framework.jar)
                                                                                                        	at com.android.launcher3.pm.InstallSessionHelper.getUserHandle(InstallSessionHelper.java:265)
                                                                                                        	at com.android.launcher3.pm.InstallSessionHelper.verify(InstallSessionHelper.java:164)

* fix  java.lang.NoSuchMethodError: No virtual method getInstallerUid()I in class Landroid/content/pm/PackageInstaller$SessionInfo; or its super classes (declaration of 'android.content.pm.PackageInstaller$SessionInfo' appears in /system/framework/framework.jar)
                                                                                                        	at com.android.launcher3.pm.InstallSessionHelper.getUserHandle(InstallSessionHelper.java:265)
                                                                                                        	at com.android.launcher3.pm.InstallSessionHelper.verify(InstallSessionHelper.java:164)

* Update InstallSessionHelper

* revert changes in BaseWidgetSheet

* apply changes from code review
2024-12-11 05:47:26 +08:00
MrSluffy
1b59c20031 use old collector to list to support later version 2024-12-06 09:37:45 +08:00
Rafael de Moura Dev
a35d1f2a68 some fixes for lower Android versions (#5046)
* fixed java.lang.NoSuchMethodError: No interface method toList()

´´´
Ljava/util/List; in class Ljava/util/stream/Stream; or its super classes (declaration of 'java.util.stream.Stream' appears in /system/framework/core-oj.jar)
                                                                                                                            	at com.android.launcher3.model.WidgetsModel.getFilteredWidgetsListForPicker(WidgetsModel.java:99)
                                                                                                                            	at com.android.launcher3.model.WidgetsModel.getWidgetsListForPicker(WidgetsModel.java:122)
                                                                                                                            	at com.android.launcher3.model.BaseLauncherBinder.bindWidgets(BaseLauncherBinder.java:204)
                                                                                                                            	at com.android.launcher3.model.LoaderTask.run(LoaderTask.java:338)
                                                                                                                            	at android.os.Handler.handleCallback(Handler.java:873)
                                                                                                                            	at android.os.Handler.dispatchMessage(Handler.java:99)
                                                                                                                            	at android.os.Looper.loop(Looper.java:193)
                                                                                                                            	at android.os.HandlerThread.run(HandlerThread.java:65)

                                                                                                                            	´´´

* fix crashes when trying to customize from folders

* fix NoClassDefFound attempting to create new folder in lower apis

* fix java.lang.NoSuchMethodError: No static method beginAsyncSection(Ljava/lang/String;I)V in class Landroid/os/Trace; or its super classes (declaration of 'android.os.Trace' appears in /system/framework/framework.jar!classes2.dex) when adding widgets below Q

                                                                                                        	at com.android.launcher3.widget.LauncherAppWidgetHostView.setAppWidget(LauncherAppWidgetHostView.java:126)
                                                                                                        	at android.appwidget.AppWidgetHost.createView(AppWidgetHost.java:382)
                                                                                                        	at com.android.launcher3.widget.LauncherWidgetHolder.createViewInternal(LauncherWidgetHolder.java:447)
                                                                                                        	at com.android.launcher3.widget.LauncherWidgetHolder.createView(LauncherWi

* fix java.lang.NoSuchMethodError: No static method beginAsyncSection(Ljava/lang/String;I)V in class Landroid/os/Trace; or its super classes (declaration of 'android.os.Trace' appears in /system/framework/framework.jar!classes2.dex) when adding widgets below Q

                                                                                                        	at com.android.launcher3.widget.LauncherAppWidgetHostView.setAppWidget(LauncherAppWidgetHostView.java:126)
                                                                                                        	at android.appwidget.AppWidgetHost.createView(AppWidgetHost.java:382)
                                                                                                        	at com.android.launcher3.widget.LauncherWidgetHolder.createViewInternal(LauncherWidgetHolder.java:447)
                                                                                                        	at com.android.launcher3.widget.LauncherWidgetHolder.createView(LauncherWi

* fix                                                                                                     java.lang.NoSuchMethodError: No virtual method setSystemGestureExclusionRects(Ljava/util/List;)V in class Lcom/android/launcher3/AppWidgetResizeFrame; or its super classes (declaration of 'com.android.launcher3.AppWidgetResizeFrame' appears in /data/app/app.lawnchair.play.debug-ewPju7gaDxUbh-ipLPLIoA==/base.apk!classes6.dex)
2024-12-05 14:40:30 +08:00
MrSluffy
70fcc22f20 rectify crash on crdroid : https://paste.crdroid.net/7fKtss 2024-12-05 14:37:31 +08:00
MrSluffy
8a42a19f3e fixed crash on crdroid : https://paste.crdroid.net/7fKtss 2024-12-05 07:18:42 +08:00
MrSluffy
5f6a23a288 fixed crashes invalidateHomeTaskSnapshot 2024-12-04 14:56:21 +08:00
MrSluffy
d1d2b9042e fixed widget don't load 2024-12-04 12:41:53 +08:00
MrSluffy
884c068133 simplify debug value 2024-12-03 11:22:06 +08:00
MrSluffy
a0ff30bf2a catch CrossWindowBlurListeners.getInstance() no method not found 2024-12-02 08:33:39 +08:00
MrSluffy
2b6e0defc0 fixed conflict com.android.window.flags 2024-11-23 19:25:44 +08:00
MrSluffy
dbf2b9a265 Fixed crashes in A15
- Closes : #5009
2024-11-23 10:44:45 +08:00
Rafael de Moura Dev
795fdb2948 Patch fix for Android 13 and below (#4978)
* Patch fix for Android 13 and below
tested in Android 9, 10 and 13 and works fine.

* fix crash dragging the icons from drawer to home screen

* use LawnchairWindowManagerProxy

---------

Co-authored-by: MrSluffy <werdna.jac@gmail.com>
2024-11-17 09:05:31 +08:00
Pun Butrach
b86b188307 Make early stage of Lawnchair 15 launchable in A14 (#4975)
* Make Lawnchair 15 launchable in current state

* Allow LC to change DP without crash
2024-11-07 07:59:35 +08:00
MrSluffy
f1d5d58e64 fixed more crashes 2024-11-05 23:13:57 +08:00
MrSluffy
95bf5aef9f fixes crashes 2024-11-05 22:11:23 +08:00
Goooler
cce22091ba Merge tag 'android-15.0.0_r3' into merge-aosp15
Android 15.0.0 Release 3 (AP3A.241005.015.A2)

// -----BEGIN PGP SIGNATURE-----
//
// iF0EABECAB0WIQRDQNE1cO+UXoOBCWTorT+BmrEOeAUCZw2BYwAKCRDorT+BmrEO
// eHPtAJ4rLx60T4gWyux/4VDjJi/4Y/6RUACaAvTmhyrPzNXiobu4zTOCi89cu6U=
// =izgM
// -----END PGP SIGNATURE-----
// gpg: Signature made Tue Oct 15 04:38:59 2024 CST
// gpg:                using DSA key 4340D13570EF945E83810964E8AD3F819AB10E78
// gpg: Can't check signature: No public key

// Conflicts:
//	quickstep/src/com/android/quickstep/TaskAnimationManager.java
2024-11-03 21:14:22 +08:00
MrSluffy
4dbc04a53f fixed import 2024-11-03 20:33:38 +08:00
MrSluffy
9f6d6c88cd fix styles 2024-11-03 20:22:03 +08:00
MrSluffy
65c4fe9b32 fixed build 2024-11-03 18:45:48 +08:00
MrSluffy
5081f7e92d fixes more error 2024-11-03 10:04:38 +08:00
MrSluffy
c9ae8049a2 Merge branch '14-dev' into merge-aosp15 2024-11-02 10:59:11 +08:00
Juhyung Park
1aba5ab289 Fix recents not working on NothingOS 2.6 (#4940)
Pull #4417 implemented this incompletely, resulting in breakage in
NothingOS 2.6.

Transaction needs to be applied so that the animation chain can
continue.

Signed-off-by: Juhyung Park <qkrwngud825@gmail.com>
2024-10-28 10:25:06 +08:00
MrSluffy
457841ff5b update compatlib 2024-10-06 17:33:30 +08:00
MrSluffy
f751457b95 update uiunfold 2024-10-06 13:34:50 +08:00
MrSluffy
77e0a795b5 Fix 2024-09-15 08:50:28 +08:00
MrSluffy
eeb7416bfe Merge branch 'android15-release' into merge-aosp15 2024-09-14 17:29:57 +08:00
Riddle Hsu
762c305e24 Let sender permission allow background launch when starting recents
Currently the recents activity is started by a pending intent created
by launcher. And the sender is system server.
(HIERARCHY_OP_TYPE_PENDING_INTENT in WindowOrganizerController)

If the intent creator doesn't have visible windows, e.g. launcher is
occluded by its another embedded of another package, then the background
launch policy will check whether the intent sender is allowed. But
system server also doesn't have visible windows, which causes
BackgroundActivityStartController#
checkBackgroundActivityStartAllowedBySender to return BalVerdict.BLOCK.
Which will set MOVE_TO_FRONT_AVOID_PI_ONLY_CREATOR_ALLOWS to disallow
moving the target task to front.
See I72a6c22a5fb27aeac52a4e5d46c6a16e28ee6757 for the block policy.

Although currently the recents activity can still move to front because
some places miss to check blocking the launch. Then it is like just
using a security hole.

By adding the background launch permission hint to ActivityOptions,
BackgroundActivityStartController#hasBalPermission will check if the
real caller has permission START_ACTIVITIES_FROM_BACKGROUND. Then
it will pass because the intent sender is system server.

Bug: 341618283
Flag: EXEMPT bugfix
Test: atest NexusLauncherTests: \
            com.android.quickstep.TaskAnimationManagerTest
Test: Swipe to minus one screen. Click a news item to Launch chrome.
      Swipe from bottom to return to home. There should not have an
      error log:
      "Without Android 15 BAL hardening this activity would be moved
       to the foreground ... only the creator of the PendingIntent
       allows BAL. realCallingPackage: android.uid.system:1000 ..."
       (from ActivityStarter#logPIOnlyCreatorAllowsBAL)
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:a37161182e76cf445b660d1d4ac138476cfa278e)
Merged-In: I19153f6553c09421bca248d4ff9110d168b34f98
Change-Id: I19153f6553c09421bca248d4ff9110d168b34f98
2024-08-28 22:31:11 +00:00
MrSluffy
b4d45f7a7d Fix crashed on boot in A12
- Closes : #4661
2024-08-18 11:28:23 +08:00
Bill Yi
d2b1d81bd3 Import translations. DO NOT MERGE ANYWHERE
Auto-generated-cl: translation import

Bug: 347053373
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:1a55c4180d907362e090b29ce1f3251be446715f)
Merged-In: I6e6b45e8381a46584fa243216faccb9c3104fb47
Change-Id: I6e6b45e8381a46584fa243216faccb9c3104fb47
2024-08-06 09:21:06 +00:00
Vinit Nayak
4b9ae54e1c Call FallbackRecentsView#init() before setContentView()
* Init sets mSplitSelectStateController which RecentsView
then uses in onAttachedToWindow(). That needs to be set
before it gets attached to the window, which happens in
RecentsActivity#setContentView()

Fixes: 332643607
Test: Only presubmit, issue not reproducible
Flag: EXEMPT bugfix
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:aeecb1e8a5cabe9fc58af69f7b47764a96a08d76)
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:eac1d34438209f266212b1bbe8c9704c2947dbcd)
Merged-In: Icc555cad17b734e2a9c035991c19bbdc6b02de5d
Change-Id: Icc555cad17b734e2a9c035991c19bbdc6b02de5d
2024-08-01 02:46:40 +00:00
Alex Chau
db1da412b8 Revert "Handle uiMode changes in QuickstepLauncher"
Revert submission 27627108-b/339747262

Reason for revert: b/353914086
Fix: 353450667
Fix: 353914086
Bug: 339747262

Reverted changes: /q/submissionid:27627108-b/339747262
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:2676385eb81b7048c8f169ebf3b80b695103e952)
Merged-In: I9a71ee0fa4062b15e68eff41951f42d46ace19d3
Change-Id: I9a71ee0fa4062b15e68eff41951f42d46ace19d3
2024-07-29 23:56:09 +00:00
MrSluffy
90ecc23782 Initial implementation wallpaper blur 2024-07-28 18:46:37 +08:00
Alvin Francis
60e6d50505 Launcher3: quickstep: TouchInteractionService: Do not crash on boot (#4589)
When using a 3rd party launcher most likely

Log:
E AndroidRuntime: Process: com.android.launcher3, PID: 2783
E AndroidRuntime: java.lang.RuntimeException: Error receiving broadcast Intent { act=android.intent.action.USER_UNLOCKED flg=0x50000010 (has extras) } in com.android.launcher3.util.SimpleBroadcastReceiver@89bb61a
E AndroidRuntime:        at android.app.LoadedApk$ReceiverDispatcher$Args.lambda$getRunnable$0(LoadedApk.java:1818)
E AndroidRuntime:        at android.app.LoadedApk$ReceiverDispatcher$Args.$r8$lambda$mcNAAl1SQ4MyJPyDg8TJ2x2h0Rk(Unknown Source:0)
E AndroidRuntime:        at android.app.LoadedApk$ReceiverDispatcher$Args$$ExternalSyntheticLambda0.run(D8$$SyntheticClass:0)
E AndroidRuntime:        at android.os.Handler.handleCallback(Handler.java:959)
E AndroidRuntime:        at android.os.Handler.dispatchMessage(Handler.java:100)
E AndroidRuntime:        at android.os.Looper.loopOnce(Looper.java:232)
E AndroidRuntime:        at android.os.Looper.loop(Looper.java:317)
E AndroidRuntime:        at android.app.ActivityThread.main(ActivityThread.java:8502)
E AndroidRuntime:        at java.lang.reflect.Method.invoke(Native Method)
E AndroidRuntime:        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:554)
E AndroidRuntime:        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:878)
E AndroidRuntime: Caused by: java.lang.IllegalStateException: Existing input consumer found with name: recents_animation_input_consumer, display: 0, user: UserHandle{0}
E AndroidRuntime:        at android.os.Parcel.createExceptionOrNull(Parcel.java:3190)
E AndroidRuntime:        at android.os.Parcel.createException(Parcel.java:3166)
E AndroidRuntime:        at android.os.Parcel.readException(Parcel.java:3149)
E AndroidRuntime:        at android.os.Parcel.readException(Parcel.java:3091)
E AndroidRuntime:        at android.view.IWindowManager$Stub$Proxy.createInputConsumer(IWindowManager.java:4872)
E AndroidRuntime:        at com.android.systemui.shared.system.InputConsumerController.registerInputConsumer(go/retraceme 015d387a8a548af421dcff814eada6998d8d1f185998fc40f30bbeef937dbdc3:24)
E AndroidRuntime:        at com.android.quickstep.TouchInteractionService.onUserUnlocked(go/retraceme 015d387a8a548af421dcff814eada6998d8d1f185998fc40f30bbeef937dbdc3:51)
E AndroidRuntime:        at com.android.quickstep.TouchInteractionService$$ExternalSyntheticLambda0.run(go/retraceme 015d387a8a548af421dcff814eada6998d8d1f185998fc40f30bbeef937dbdc3:12)
E AndroidRuntime:        at com.android.launcher3.util.RunnableList.executeAllAndClear(go/retraceme 015d387a8a548af421dcff814eada6998d8d1f185998fc40f30bbeef937dbdc3:21)
E AndroidRuntime:        at com.android.launcher3.util.RunnableList.executeAllAndDestroy(go/retraceme 015d387a8a548af421dcff814eada6998d8d1f185998fc40f30bbeef937dbdc3:4)
E AndroidRuntime:        at com.android.launcher3.util.LockedUserState.access$notifyUserUnlocked(go/retraceme 015d387a8a548af421dcff814eada6998d8d1f185998fc40f30bbeef937dbdc3:3)
E AndroidRuntime:        at com.android.launcher3.util.LockedUserState$mUserUnlockedReceiver$1.accept(go/retraceme 015d387a8a548af421dcff814eada6998d8d1f185998fc40f30bbeef937dbdc3:22)
E AndroidRuntime:        at com.android.launcher3.util.SimpleBroadcastReceiver.onReceive(go/retraceme 015d387a8a548af421dcff814eada6998d8d1f185998fc40f30bbeef937dbdc3:3)
E AndroidRuntime:        at android.app.LoadedApk$ReceiverDispatcher$Args.lambda$getRunnable$0(LoadedApk.java:1810)
E AndroidRuntime:        ... 10 more
E AndroidRuntime: Caused by: android.os.RemoteException: Remote stack trace:
E AndroidRuntime:        at com.android.server.wm.InputMonitor.createInputConsumer(InputMonitor.java:226)
E AndroidRuntime:        at com.android.server.wm.WindowManagerService.createInputConsumer(WindowManagerService.java:6543)
E AndroidRuntime:        at android.view.IWindowManager$Stub.onTransact(IWindowManager.java:2612)
E AndroidRuntime:        at com.android.server.wm.WindowManagerService.onTransact(WindowManagerService.java:1406)
E AndroidRuntime:        at android.os.Binder.execTransactInternal(Binder.java:1496)

Co-authored-by: Ido Ben-Hur <idoybh2@gmail.com>
2024-07-25 09:44:08 +08:00