LawnchairLauncher / lawnchair

No clever tagline needed.
https://lawnchair.app
Other
9.42k stars 1.22k forks source link

[BUG] force closing on 14 (AP2A.240605.024) #4495

Closed Digitalbullits closed 2 months ago

Digitalbullits commented 4 months ago

Describe the bug

Launcher force closes when trying to change grids or icons on latest android builds when used as a system app. I fixed it by adding this in the manifest to work with androids newest media picker:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="29" />

Steps to reproduce

Steps to reproduce the behavior:

  1. Go to settings/home screen/
  2. Click on home screen grids
  3. Scroll down to '....'
  4. See error

Expected behavior

Launcher should open grid selection screen and ask for all files access and then allow grid selection with no issues

Screenshots

Lawnchair bug report Jun 20, 2024 3:29:41 PM version: 14.0.0 (a799c52) (14000000) commit: a799c52 build.brand: google build.device: panther build.display: AP2A.240605.024 build.fingerprint: google/panther/panther:14/AP2A.240605.024/11860263:user/release-keys build.hardware: panther build.id: AP2A.240605.024 build.manufacturer: Google build.model: Pixel 7 build.security.level: 2024-06-05 build.product: panther build.type: user version.codename: REL version.incremental: 11860263 version.release: 14 version.sdk_int: 34 display.density_dpi: 397 isRecentsEnabled: true

error: Uncaught exception

java.lang.SecurityException: Op READ_MEDIA_IMAGES ignore for package app.lawnchair at android.os.Parcel.createExceptionOrNull(Parcel.java:3183) at android.os.Parcel.createException(Parcel.java:3167) at android.os.Parcel.readException(Parcel.java:3150) at android.os.Parcel.readException(Parcel.java:3092) at android.app.IWallpaperManager$Stub$Proxy.getWallpaperWithFeature(IWallpaperManager.java:1043) at android.app.WallpaperManager$Globals.getCurrentWallpaperLocked(WallpaperManager.java:829) at android.app.WallpaperManager$Globals.peekWallpaperBitmap(WallpaperManager.java:723) at android.app.WallpaperManager$Globals.peekWallpaperBitmap(WallpaperManager.java:686) at android.app.WallpaperManager.getDrawable(WallpaperManager.java:1046) at android.app.WallpaperManager.getDrawable(WallpaperManager.java:1008) at w7.z0.invokeSuspend(Unknown Source:7) at mc.a.resumeWith(Unknown Source:8) at id.k0.run(Unknown Source:112) at d4.a.run(Unknown Source:140) at pd.k.run(Unknown Source:2) at pd.c.k(Unknown Source:0) at pd.a.run(Unknown Source:97) Suppressed: nd.h: [l2.f2@12cb7b3, y0.h@774f170, w1{Cancelling}@afb1ce9, b1@4f07d6e] Caused by: android.os.RemoteException: Remote stack trace: at android.os.storage.StorageManager.noteAppOpAllowingLegacy(StorageManager.java:1882) at android.os.storage.StorageManager.checkPermissionReadImages(StorageManager.java:1911) at com.android.server.wallpaper.WallpaperManagerService.getWallpaperWithFeature(WallpaperManagerService.java:2171) at android.app.IWallpaperManager$Stub.onTransact(IWallpaperManager.java:541) at android.os.Binder.execTransactInternal(Binder.java:1500)

Device information

  • Device: Google Pixel 7
  • OS: stock 14 (AP2A.240605.024)
  • App version: lastest dev builds as well as Goolers latest build from the last 12 hours and unofficial life's build

Additional context

Lawnchair bug report Jun 20, 2024 32941 PM.txt

Digitalbullits commented 4 months ago

This added to the manifest fixes it

https://developer.android.com/training/data-storage/shared/media

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="29" />

Digitalbullits commented 4 months ago

Thanks@ UnofficialLife. Works great now in your build labeled A15. Now grids, icons work and live wallpaper can be set without breaking launcher. Hopefully this gets pushed to stable soon. Lots of people don't know where to get these updated builds and can't use lawnchair on QPR3 without this

MrSluffy commented 2 months ago

done : d20ef2a164f40ab756372ecdc93cfa5583625b93