Fixed
Status Update
Comments
[Deleted User] <[Deleted User]> #2
Hi,
We have passed this defect on to the development team and will update this issue with more information as it becomes available.
Thanks
We have passed this defect on to the development team and will update this issue with more information as it becomes available.
Thanks
ar...@google.com <ar...@google.com> #3
Thought I should mention for posterity, a temporary workaround is:
mStaggeredGridLayoutManager.setItemPrefetchEnabled(false);
mStaggeredGridLayoutManager.setItemPrefetchEnabled(false);
[Deleted User] <[Deleted User]> #4
[Comment deleted]
ar...@google.com <ar...@google.com> #5
The bug is reproduced on physical device.
1. RecyclerView with GridLayoutManager (3 column)
2. All items has span = 3 (grid look like simple list)
3. Scrolling up and down is working fine
4. Insert items in the middle of the list (All inserted items has span 3 too)
5. call to notifyDataChanged()
6. Grid is expanded with animation
6. Scrolling up and down is failed.
Problem is found after adding android:animateLayoutChanges="true" into a parent layout.
Bug reproducing is stable.
1. RecyclerView with GridLayoutManager (3 column)
2. All items has span = 3 (grid look like simple list)
3. Scrolling up and down is working fine
4. Insert items in the middle of the list (All inserted items has span 3 too)
5. call to notifyDataChanged()
6. Grid is expanded with animation
6. Scrolling up and down is failed.
Problem is found after adding android:animateLayoutChanges="true" into a parent layout.
Bug reproducing is stable.
dn...@google.com <dn...@google.com> #6
Bug reproduced id add "android:animateLayoutChanges="true" to list item layout:
RecycleView
--Root Item view layout is: RelativeLayout
----LinearLayout
--------ViewPager
----------Page0: is <LinearLayout... "android:animateLayoutChanges="true".../> <-- this attr is the bug reason
RecycleView
--Root Item view layout is: RelativeLayout
----LinearLayout
--------ViewPager
----------Page0: is <LinearLayout... "android:animateLayoutChanges="true".../> <-- this attr is the bug reason
ar...@google.com <ar...@google.com> #7
You cannot use android:animateLayoutChanges with RecyclerView.
It will try to animate children of the RecyclerView and conflict with the ItemAnimator.
You can still use TransitionManager directly (which that attribute uses) but make sure to exclude RecyclerView's children.
It will try to animate children of the RecyclerView and conflict with the ItemAnimator.
You can still use TransitionManager directly (which that attribute uses) but make sure to exclude RecyclerView's children.
ve...@gmail.com <ve...@gmail.com> #8
Hi, original reporter here. I did not use animateLayoutChanges. See example project in original report.
Description
Android: 7.1.2 beta, 7.0
Replication condition:
1. The app A implements MediaBrowserServiceCompat#onSearch.
2. The app B implements calling MediaBrowserCompat#search and its callback.
3. The app A allows B to access A's MediaBrowserServiceCompat.
4. After calling MediaBrowserCompat#search from B and receive a result, BadParcelableException is thrown and app B crashes.
StackTrace in the logcat:
Parcel: Class not found when unmarshalling: android.support.v4.media.MediaBrowserCompat$MediaItem
java.lang.ClassNotFoundException: android.support.v4.media.MediaBrowserCompat$MediaItem
at java.lang.Class.classForName(Native Method)
at java.lang.Class.forName(Class.java:400)
at android.os.Parcel.readParcelableCreator(Parcel.java:2507)
at android.os.Parcel.readParcelable(Parcel.java:2461)
at android.os.Parcel.readParcelableArray(Parcel.java:2569)
at android.os.Parcel.readValue(Parcel.java:2418)
at android.os.Parcel.readArrayMapInternal(Parcel.java:2717)
at android.os.BaseBundle.unparcel(BaseBundle.java:269)
at android.os.BaseBundle.containsKey(BaseBundle.java:341)
at android.support.v4.media.MediaBrowserCompat$SearchResultReceiver.onReceiveResult(MediaBrowserCompat.java:1997)
at android.support.v4.os.ResultReceiver$MyRunnable.run(ResultReceiver.java:60)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6209)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
Caused by: java.lang.ClassNotFoundException: android.support.v4.media.MediaBrowserCompat$MediaItem
at java.lang.Class.classForName(Native Method)
at java.lang.BootClassLoader.findClass(ClassLoader.java:1346)
at java.lang.BootClassLoader.loadClass(ClassLoader.java:1406)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at java.lang.Class.classForName(Native Method)
at java.lang.Class.forName(Class.java:400)
at android.os.Parcel.readParcelableCreator(Parcel.java:2507)
at android.os.Parcel.readParcelable(Parcel.java:2461)
at android.os.Parcel.readParcelableArray(Parcel.java:2569)
at android.os.Parcel.readValue(Parcel.java:2418)
at android.os.Parcel.readArrayMapInternal(Parcel.java:2717)
at android.os.BaseBundle.unparcel(BaseBundle.java:269)
at android.os.BaseBundle.containsKey(BaseBundle.java:341)
at android.support.v4.media.MediaBrowserCompat$SearchResultReceiver.onReceiveResult(MediaBrowserCompat.java:1997)
at android.support.v4.os.ResultReceiver$MyRunnable.run(ResultReceiver.java:60)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6209)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available
AndroidRuntime: Shutting down VM
03-23 17:58:40.531 24380-24380/com.drivemode.mb_poc E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.drivemode.mb_poc, PID: 24380
android.os.BadParcelableException: ClassNotFoundException when unmarshalling: android.support.v4.media.MediaBrowserCompat$MediaItem
at android.os.Parcel.readParcelableCreator(Parcel.java:2535)
at android.os.Parcel.readParcelable(Parcel.java:2461)
at android.os.Parcel.readParcelableArray(Parcel.java:2569)
at android.os.Parcel.readValue(Parcel.java:2418)
at android.os.Parcel.readArrayMapInternal(Parcel.java:2717)
at android.os.BaseBundle.unparcel(BaseBundle.java:269)
at android.os.BaseBundle.containsKey(BaseBundle.java:341)
at android.support.v4.media.MediaBrowserCompat$SearchResultReceiver.onReceiveResult(MediaBrowserCompat.java:1997)
at android.support.v4.os.ResultReceiver$MyRunnable.run(ResultReceiver.java:60)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6209)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
Other comments:
1. MediaBrowserCompat#search works when calling it from app A(same app implementing MediaBrowserServiceCompat)