Commit Graph

18923 Commits

Author SHA1 Message Date
John Andrew Camu 2623e42dad feat : initial implementation icon gesture support (#5266)
- closes : #2787
- closes : #5259
2025-02-17 11:45:04 +08:00
MrSluffy a0b5a17ca8 fixed : label disappear in workspace
- closes : #5256
2025-02-15 07:33:33 +08:00
MrSluffy 473121ad53 feat : add option toggle label in dock
- closes : #4457
2025-02-14 19:47:15 +08:00
John Andrew Camu dd3725c30d feat : initial implementation of LawnDeck (#5255)
Introducing the home screen layout feature! Now, users have the ability to personalize their experience by disabling the app drawer and arranging apps directly on their home screen.

- closes : #4323
2025-02-14 14:46:44 +08:00
MrSluffy 210a4b564c feat : re-impliment AccentColorExtractor
- closes : #5243
2025-02-12 19:08:37 +08:00
MrSluffy da5edb9015 fixed : crashes in A15 qpr1 2025-02-12 16:21:25 +08:00
MrSluffy 10ec24ca9e enh : restore split configuration
- only tested in pixel fold emulator
2025-02-01 12:16:20 +08:00
MrSluffy 8630ae61aa fixed : remove duplicate condition 2025-01-23 11:42:56 +08:00
John Andrew Camu 95b87da6bd feat: initial implementation of custom app drawer folder (#5189)
- Implemented basic CRUD operations for app drawer folders.
- Moved wallpaper database to preference database for better organization.

closes :
- #4674
- #4710
- #4475
- #3481
2025-01-21 16:15:27 +08:00
MrSluffy 65954e0498 enh: fix themed preview folder for home-only 2025-01-15 17:57:07 +08:00
Yaksh Bariya 9d19ded3ec Fix upstream bug with dots enabled (#5167)
https://github.com/GrapheneOS/os-issue-tracker/issues/2601

I did not find any issue reported upstream, but I can confirm that this
bug exists on Moto App Launcher (the launcher on Motorola's devices),
which seems to imply this is a bug in AOSP itself. I had asked
@agnostic-apollo about this is a bug, and he said that this is a bug in
Android's libraries itself
2025-01-15 15:36:26 +08:00
MrSluffy dc9adb7a12 enh : add DISPLAY_DRAWER_FOLDER in condition 2025-01-15 13:51:19 +08:00
John Andrew Camu 448d718e6a feat : Initial implementation Caddy (#5166)
- Introduced "Caddy" functionality to organize apps within the app drawer.
- Allows grouping of applications for better accessibility and user experience.
- Serves as a foundational feature for enhancing app drawer usability.
2025-01-15 13:01:51 +08:00
MrSluffy 28a01a979e enable ENABLE_WIDGET_HOST_IN_BACKGROUND by default 2025-01-10 08:07:30 +08:00
MrSluffy 7a822b0ce5 enh : don't show carousel in smartspace/atglance
- tweak ui enhancement
- closes : #5152
2025-01-10 07:51:02 +08:00
John Andrew Camu 3a1e1389a2 feat : wallpaper pop-up carousel (#5143) 2025-01-08 19:04:28 +08:00
MrSluffy 66928cc74d feat : App drawer color 2025-01-07 14:29:00 +08:00
MrSluffy 134c2193d2 feat : hotseat bg configuration
- bg transparency, color
2025-01-07 13:31:11 +08:00
SuperDragonXD c2665df04f Allow re-arranging popup menu items (#5112)
* feat: Allow re-arranging popup menu items

* Refactor draggable preferences

* Refactor options pop-up drag and drop view

- Move to new screen
- Separate preview and options
2025-01-05 08:30:36 +08:00
MrSluffy 38934f824f feat : Adjust page-indicator height to space workspace and hotseat
closes : #4836
2025-01-03 13:17:19 +08:00
MrSluffy bd119f5b4b fixed saved scroll position 2025-01-03 08:05:49 +08:00
MrSluffy b684505009 fixed 3p themed icons not applying
- closes : #4799
- closes : #4752
- closes : #4267
- closes : #4248
- closes : #4179
- closes : #4157
- closes : #3960
- closes : #3943
- closes : #3408
- closes : #2882
2025-01-01 09:56:15 +08:00
MrSluffy eb536c182b fixed adaptive-icon not applying 2024-12-30 12:07:17 +08:00
MrSluffy aa8dd44d6a Fix widget configuration for two-step process
- closes : #5124

Bug: java.lang.IllegalArgumentException: Bad widget id 2367
2024-12-30 08:32:28 +08:00
MrSluffy 4ad2e73075 Fix NullPointerException in WidgetSizes.updateWidgetSizeRangesAsync
This commit addresses a NullPointerException that occurs when updating
widget options in the WidgetSizes class. The fix includes:

- Adding null checks for sizeOptions and currentOptions
- Comparing new sizes with current sizes before updating
- Catching and logging exceptions during widget option updates
- Returning null from getWidgetSizeOptions if it fails to create a valid Bundle

These changes should resolve the "Attempt to invoke virtual method 'void
android.os.Bundle.putAll(android.os.Bundle)' on a null object reference" error
and improve the robustness of widget size updates.

java.lang.NullPointerException: Attempt to invoke virtual method 'void android.os.Bundle.putAll(android.os.Bundle)' on a null object reference
at android.os.Parcel.createExceptionOrNull(Parcel.java:3075)
at android.os.Parcel.createException(Parcel.java:3053)
at android.os.Parcel.readException(Parcel.java:3036)
at android.os.Parcel.readException(Parcel.java:2978)
at com.android.internal.appwidget.IAppWidgetService$Stub$Proxy.updateAppWidgetOptions(IAppWidgetService.java:1017)
at android.appwidget.AppWidgetManager.updateAppWidgetOptions(AppWidgetManager.java:727)
at com.android.launcher3.widget.util.WidgetSizes.lambda$updateWidgetSizeRangesAsync$0(Unknown Source:31)
at com.android.launcher3.widget.util.WidgetSizes.a(Unknown Source:0)
at ba.a.run(Unknown Source:10)
at android.os.Handler.handleCallback(Handler.java:958)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:230)
at android.os.Looper.loop(Looper.java:319)
at android.os.HandlerThread.run(HandlerThread.java:67)
Caused by: android.os.RemoteException: Remote stack trace:
at com.android.server.appwidget.AppWidgetServiceImpl.updateAppWidgetOptions(AppWidgetServiceImpl.java:2193)
at com.android.internal.appwidget.IAppWidgetService$Stub.onTransact(IAppWidgetService.java:500)
at android.os.Binder.execTransactInternal(Binder.java:1375)
at android.os.Binder.execTransact(Binder.java:1311)
2024-12-28 09:31:58 +08:00
MrSluffy d401ba32fd Fix widget-related crash in LauncherWidgetHolder
- Adding null checks before calling methods on mWidgetHost
- Ensuring the listening flag is always updated, even if an exception occurs

This should resolve the "java.lang.NullPointerException: Attempt to read from
field 'com.android.server.appwidget.AppWidgetServiceImpl$ProviderId'" error
and improve overall stability when dealing with widgets

error: Uncaught exception

java.lang.RuntimeException: Unable to stop activity {app.lawnchair.nightly/app.lawnchair.LawnchairLauncher}: java.lang.NullPointerException: Attempt to read from field 'com.android.server.appwidget.AppWidgetServiceImpl$ProviderId com.android.server.appwidget.AppWidgetServiceImpl$Provider.id' on a null object reference in method 'android.util.SparseArray com.android.server.appwidget.AppWidgetServiceImpl$Host.getWidgetUids()'
at android.app.ActivityThread.callActivityOnStop(ActivityThread.java:5484)
at android.app.ActivityThread.performStopActivityInner(ActivityThread.java:5456)
at android.app.ActivityThread.handleStopActivity(ActivityThread.java:5525)
at android.app.servertransaction.StopActivityItem.execute(StopActivityItem.java:43)
at android.app.servertransaction.ActivityTransactionItem.execute(ActivityTransactionItem.java:45)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:176)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2423)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:233)
at android.os.Looper.loop(Looper.java:334)
at android.app.ActivityThread.main(ActivityThread.java:8348)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:582)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1065)
Caused by: java.lang.NullPointerException: Attempt to read from field 'com.android.server.appwidget.AppWidgetServiceImpl$ProviderId com.android.server.appwidget.AppWidgetServiceImpl$Provider.id' on a null object reference in method 'android.util.SparseArray com.android.server.appwidget.AppWidgetServiceImpl$Host.getWidgetUids()'
at android.os.Parcel.createExceptionOrNull(Parcel.java:2446)
at android.os.Parcel.createException(Parcel.java:2424)
at android.os.Parcel.readException(Parcel.java:2407)
at android.os.Parcel.readException(Parcel.java:2349)
at com.android.internal.appwidget.IAppWidgetService$Stub$Proxy.stopListening(IAppWidgetService.java:792)
at android.appwidget.AppWidgetHost.stopListening(AppWidgetHost.java:274)
at com.android.launcher3.widget.LauncherWidgetHolder.stopListening(Unknown Source:2)
at com.android.launcher3.widget.LauncherWidgetHolder.setShouldListenFlag(Unknown Source:40)
at com.android.launcher3.widget.LauncherWidgetHolder.setActivityStarted(Unknown Source:1)
at com.android.launcher3.Launcher.onStop(Unknown Source:25)
at android.app.Instrumentation.callActivityOnStop(Instrumentation.java:1496)
at android.app.Activity.performStop(Activity.java:8599)
at android.app.ActivityThread.callActivityOnStop(ActivityThread.java:5476)
... 14 more
Caused by: android.os.RemoteException: Remote stack trace:
at com.android.server.appwidget.AppWidgetServiceImpl$Host.getWidgetUids(AppWidgetServiceImpl.java:4444)
at com.android.server.appwidget.AppWidgetServiceImpl.stopListening(AppWidgetServiceImpl.java:866)
at com.android.internal.appwidget.IAppWidgetService$Stub.onTransact(IAppWidgetService.java:311)
at android.os.Binder.execTransactInternal(Binder.java:1179)
at android.os.Binder.execTransact(Binder.java:1143)
2024-12-28 09:24:35 +08:00
MrSluffy 99b65be3c2 Fixed crashes on android 8 2024-12-27 15:46:16 +08:00
MrSluffy 7169349f02 properly check for archiving support 2024-12-27 10:44:48 +08:00
MrSluffy 6033863bf8 Fixed possible crashes below U 2024-12-27 09:40:06 +08:00
MrSluffy 1bc5b0459c Fixed java.lang.NoSuchMethodError: No virtual method getLauncherUserInfo 2024-12-27 09:31:06 +08:00
MrSluffy 73969618ba Fixed crashes private space in some rom
- closes : #5119
2024-12-27 06:51:35 +08:00
MrSluffy ce2e59f2af Fix widget restoration in LawnchairBackup
- closes : #3729
2024-12-26 19:39:04 +08:00
MrSluffy 1a84e8105a feat : re-implement private space
- closes : #4745
2024-12-26 18:15:22 +08:00
MrSluffy 1c45a7505d fixed icon get bigger when tapped
- closes : #5074
2024-12-26 13:19:09 +08:00
MrSluffy c41eb8ac8f Fixed app shortcut widget
- closes : #5101
- closes : #5056
- closes : #5055
2024-12-26 10:48:38 +08:00
MrSluffy eb6e45d7ca Fix RuntimeException when toggling At A Glance option
Resolves issue: "Screen id 0 already exists" error
2024-12-26 07:53:01 +08:00
MrSluffy 689d250d4b feat : hotseat background 2024-12-24 16:29:57 +08:00
John Andrew Camu 4530fc8c8e Fixed grid migration to keep item positions (#5114)
- Revised migrate method to process each screen independently, preventing
  merging of items from different screens
- Implemented dynamic item placement logic to maintain relative positions
  when changing grid sizes

These changes address issues with item positioning, screen merging, and
maintain a more intuitive layout when changing grid sizes. The migration
now respects the original screen structure and preserves relative item
positions as much as possible

- closes : #5016
- closes : #5003
- closes : #4809
2024-12-23 21:39:36 +08:00
MrSluffy 91971a7a0b fixed crashes in motorola a12
- closes : #5110
2024-12-22 12:04:22 +08:00
MrSluffy 29d3ad8891 feat : allow placing widget in hotseat 2024-12-21 13:42:03 +08:00
MrSluffy 491429c70e fixes in at glance
- closes : #5103
- closes : #5057
- closes : #5066
2024-12-21 12:12:04 +08:00
MrSluffy 2ca9e36c65 properly toggle dynamic hide statbar clock 2024-12-20 14:38:11 +08:00
MrSluffy 335b684bd0 add check and request storage permission 2024-12-20 09:48:49 +08:00
MrSluffy 4a5f397cb0 enhancement blur wallpaper and fixes
- closes : #4999
- closes : #4885
- closes : #4827
- closes : #4187
- closes : #4614
- closes : #4308
- closes : #4757
2024-12-20 08:37:46 +08:00
MrSluffy b2de03076a re-implement widget overlap option 2024-12-19 16:03:10 +08:00
MrSluffy f1a292495c clean-up migrated back to collect to list for lower v 2024-12-18 11:47:38 +08:00
MrSluffy 9d387bb310 fixed NPE's below R when close folder 2024-12-17 10:22:06 +08:00
MrSluffy 5dc8be9206 fixed custom pop up not closing
- closes : #5092
2024-12-17 07:30:35 +08:00
MrSluffy 91ed72f801 fix const value in bitwise shift for TYPE_COMPOSE_VIEW 2024-12-16 13:54:43 +08:00
MrSluffy c61dadd732 fixed disappearing folder app in folder to home 2024-12-16 13:49:39 +08:00