Fixed
Status Update
Comments
hd...@google.com <hd...@google.com> #2
Same here. I have links in a local html file referencing file:///android_res/drawable/ and on all gradle build flavors using another applicationId (added suffix) the Webview only shows broken links.
This behaviour seems not to be connected solely to Android 5.0 since it occurs on Android 4.4.4 too (tested with current cyanogenmod 11 build).
This behaviour seems not to be connected solely to Android 5.0 since it occurs on Android 4.4.4 too (tested with current cyanogenmod 11 build).
Description
Version used: 23.3.0
Theme used: N/A
Devices/Android versions reproduced on: Android 4.4 (Nexus 10)
The Support Library's MediaSessionCompat and related classes pass the MediaMetadataCompat info to RemoteControlClient when running on KitKat so that the system can display its built-in lockscreen media controls. The bug is that when a RatingCompat object is included, via:
.putRating(MediaMetadataCompat.METADATA_KEY_RATING, RatingCompat.newHeartRating(isFavorite))
this object is automatically passed down by MediaSessionCompatApi19 to RemoteControlClient, i.e.
if (metadata.containsKey(METADATA_KEY_RATING)) {
editor.putObject(MediaMetadataEditor.RATING_KEY_BY_OTHERS,
metadata.getParcelable(METADATA_KEY_RATING));
}
but then the lockscreen is unable to unparcel it, which causes a crash.
04-21 19:10:26.509 17612-17612/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.android.systemui, PID: 17612
android.os.BadParcelableException: ClassNotFoundException when unmarshalling: android.support.v4.media.RatingCompat
A workaround is to use a custom key to pass the rating, but then it will only be available to MediaSession clients that know where to look for it, obviously.
I would think that this key should NOT be passed to RemoteControlClient (unless there is a way to parcel it in a format that the lockscreen can understand, which I don't know if there is).