[ONE Android Development] adlx.xda:
Hi,

I'm having a problem were I get this message in logcat:

AndroidRuntime: java.lang.SecurityException: External path: /storage/emulated/0/DCIM/.thumbnails/1469972850687.jpg: Neither user 10009 nor current process has android.permission.WRITE_EXTERNAL_STORAGE.

07-31 15:47:30.706 15664 15696 E AndroidRuntime: FATAL EXCEPTION: thumbs thread
07-31 15:47:30.706 15664 15696 E AndroidRuntime: Process: android.process.media, PID: 15664
07-31 15:47:30.706 15664 15696 E AndroidRuntime: Theme: themes:{default=, iconPack:system}
07-31 15:47:30.706 15664 15696 E AndroidRuntime: java.lang.SecurityException: External path: /storage/emulated/0/DCIM/.thumbnails/1469972850687.jpg: Neither user 10009 nor current process has android.permission.WRITE_EXTERNAL_STORAGE.
07-31 15:47:30.706 15664 15696 E AndroidRuntime:	at android.app.ContextImpl.enforce(ContextImpl.java:1448)
07-31 15:47:30.706 15664 15696 E AndroidRuntime:	at android.app.ContextImpl.enforceCallingOrSelfPermission(ContextImpl.java:1480)
07-31 15:47:30.706 15664 15696 E AndroidRuntime:	at android.content.ContextWrapper.enforceCallingOrSelfPermission(ContextWrapper.java:681)
07-31 15:47:30.706 15664 15696 E AndroidRuntime:	at com.android.providers.media.MediaProvider.enforceCallingOrSelfPermissionAndAppOps(MediaProvider.java:5776)
07-31 15:47:30.706 15664 15696 E AndroidRuntime:	at com.android.providers.media.MediaProvider.checkAccess(MediaProvider.java:4753)
07-31 15:47:30.706 15664 15696 E AndroidRuntime:	at com.android.providers.media.MediaProvider.openFileAndEnforcePathPermissionsHelper(MediaProvider.java:4707)
07-31 15:47:30.706 15664 15696 E AndroidRuntime:	at com.android.providers.media.MediaProvider.openFile(MediaProvider.java:4624)
07-31 15:47:30.706 15664 15696 E AndroidRuntime:	at android.content.ContentProvider.openAssetFile(ContentProvider.java:1374)
07-31 15:47:30.706 15664 15696 E AndroidRuntime:	at android.content.ContentProvider.openAssetFile(ContentProvider.java:1437)
07-31 15:47:30.706 15664 15696 E AndroidRuntime:	at android.content.ContentProvider$Transport.openAssetFile(ContentProvider.java:386)
07-31 15:47:30.706 15664 15696 E AndroidRuntime:	at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:962)
07-31 15:47:30.706 15664 15696 E AndroidRuntime:	at android.content.ContentResolver.openOutputStream(ContentResolver.java:704)
07-31 15:47:30.706 15664 15696 E AndroidRuntime:	at android.content.ContentResolver.openOutputStream(ContentResolver.java:680)
07-31 15:47:30.706 15664 15696 E AndroidRuntime:	at com.android.providers.media.MediaThumbRequest.execute(MediaThumbRequest.java:192)
07-31 15:47:30.706 15664 15696 E AndroidRuntime:	at com.android.providers.media.MediaProvider$4.handleMessage(MediaProvider.java:637)
07-31 15:47:30.706 15664 15696 E AndroidRuntime:	at android.os.Handler.dispatchMessage(Handler.java:102)
07-31 15:47:30.706 15664 15696 E AndroidRuntime:	at android.os.Looper.loop(Looper.java:148)
07-31 15:47:30.706 15664 15696 E AndroidRuntime:	at android.os.HandlerThread.run(HandlerThread.java:61)
07-31 15:47:30.711 17051 17116 E MediaStore: couldn't open thumbnail content://media/external/images/thumbnails/14; java.io.FileNotFoundException: No such file or directory
07-31 15:47:30.711 17051 17116 V MediaStore: Create the thumbnail in memory: origId=22999, kind=1, isVideo=false
07-31 15:47:30.785 32597 17122 D OpenGLRenderer: Use EGL_SWAP_BEHAVIOR_PRESERVED: true
07-31 15:47:30.805 32597 32618 W HardwareRenderer: Could not acquire gfx stats buffer
07-31 15:47:30.805 32597 32618 W HardwareRenderer: android.os.RemoteException: Invalid package name
07-31 15:47:30.805 32597 32618 W HardwareRenderer:	at com.android.server.GraphicsStatsService.requestBufferForProcess(GraphicsStatsService.java:97)
07-31 15:47:30.805 32597 32618 W HardwareRenderer:	at android.view.ThreadedRenderer$ProcessInitializer.initGraphicsStats(ThreadedRenderer.java:459)
07-31 15:47:30.805 32597 32618 W HardwareRenderer:	at android.view.ThreadedRenderer$ProcessInitializer.init(ThreadedRenderer.java:447)
07-31 15:47:30.805 32597 32618 W HardwareRenderer:	at android.view.ThreadedRenderer.<init>(ThreadedRenderer.java:126)
07-31 15:47:30.805 32597 32618 W HardwareRenderer:	at android.view.HardwareRenderer.create(HardwareRenderer.java:436)
07-31 15:47:30.805 32597 32618 W HardwareRenderer:	at android.view.ViewRootImpl.enableHardwareAcceleration(ViewRootImpl.java:759)
07-31 15:47:30.805 32597 32618 W HardwareRenderer:	at android.view.ViewRootImpl.setView(ViewRootImpl.java:492)
07-31 15:47:30.805 32597 32618 W HardwareRenderer:	at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:310)
07-31 15:47:30.805 32597 32618 W HardwareRenderer:	at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:86)
07-31 15:47:30.805 32597 32618 W HardwareRenderer:	at android.app.Dialog.show(Dialog.java:319)
07-31 15:47:30.805 32597 32618 W HardwareRenderer:	at com.android.server.am.ActivityManagerService$UiHandler.handleMessage(ActivityManagerService.java:1489)
07-31 15:47:30.805 32597 32618 W HardwareRenderer:	at android.os.Handler.dispatchMessage(Handler.java:102)
07-31 15:47:30.805 32597 32618 W HardwareRenderer:	at android.os.Looper.loop(Looper.java:148)
07-31 15:47:30.805 32597 32618 W HardwareRenderer:	at android.os.HandlerThread.run(HandlerThread.java:61)
07-31 15:47:30.805 32597 32618 W HardwareRenderer:	at com.android.server.ServiceThread.run(ServiceThread.java:46)
07-31 15:47:30.811 17051 17101 D GalleryBuilderService: start building gallery service com.flayvr.doctor.actions.ACTION_ANDROID_CONTENT_CHANGED
07-31 15:47:30.823 32255 16890 D QCameraParameters: update current cct value. old:3600, now:3564
07-31 15:47:30.838 32597 17122 I OpenGLRenderer: Initialized EGL, version 1.4

Corresponding process in question is android.process.media:

shell@bacon:/ $ ps | grep 15664

u0_a9 15664 32252 948844 55676 sys_epoll_ 00000000 S android.process.media

So, I wonder, can anyone that runs a CM13 rom or derivated from CM13 rom tell me what permission do they have in /data/system/packages.xml for shared user android.media, and for package which name="com.android.providers.media" ?

(I don't need the whole file, I'm only interested in the permission section corresponding from that package and that shared user).

It would look like:

<package name="com.android.providers.media" codePath="/system/priv-app/MediaProvider" nativeLibraryPath="/system/priv-app/MediaProvider/lib" publicFlags="944291397" privateFlags="8" ft="11e9134c000" it="11e9134c000" ut="11e9134c000" version="800" sharedUserId="10009">
<perms>
<item name="android.permission.ACCESS_CACHE_FILESYSTEM" granted="true" flags="0" />
[...]
<item name="android.permission.READ_EXTERNAL_STORAGE" granted="true" flags="0" />
</perms>

and

<shared-user name="android.media" userId="10009">
<sigs count="1">
<cert index="14" />
</sigs>
<perms>
<item name="android.permission.ACCESS_CACHE_FILESYSTEM" granted="true" flags="0" />
flags="0" />
[...]
<item name="android.permission.UPDATE_APP_OPS_STATS" granted="true" flags="0" />
</perms>
</shared-user>

I'd like to see what is missing from my file (from some logcat I have found some missing permissions already and adding them manually to the file would fix the FC, but I'd liek to see all the missing permissions at once.

Also, if anyone has any idea about why the packages.xml file would miss some permissions entry, I have no idea why and I'd like to understand what happened here...

Thanks in advance,

Alex