Infeasible
Status Update
Comments
mm...@gmail.com <mm...@gmail.com> #2
ma...@google.com <ma...@google.com> #3
> We accept pull requests! :)
Is there a public repo somewhere? I don't see any obvious repo for it inhttps://android.googlesource.com , and it doesn't seem to be inside https://android.googlesource.com/platform/frameworks/support .
Room supports final fields (yay!), which probably will suffice for many people with respect to this feature request.
Is there a public repo somewhere? I don't see any obvious repo for it in
Room supports final fields (yay!), which probably will suffice for many people with respect to this feature request.
mm...@gmail.com <mm...@gmail.com> #4
Room supports immutability (it can use arg constructors) but does not directly support AutoValue. It is in the schedule but not high priority :/. Idk much about its internals at this stage so I'm not sure how we would implement it but should be totally doable.
Sorry we don't have the source release yet :/.
Sorry we don't have the source release yet :/.
ma...@google.com <ma...@google.com> #5
"It is in the schedule but not high priority" -- completely understandable.
"Sorry we don't have the source release yet :/." -- ah, OK, I thought perhaps with the pull request comment, that meant that there was a repo somewhere that I had overlooked.
Thanks!
"Sorry we don't have the source release yet :/." -- ah, OK, I thought perhaps with the pull request comment, that meant that there was a repo somewhere that I had overlooked.
Thanks!
ma...@google.com <ma...@google.com> #6
Add autovalue support also means you can easily achieve parcelable by https://github.com/rharter/auto-value-parcel . Please consider support this.
co...@gmail.com <co...@gmail.com> #7
AutoValue is really a handy way to ensure data integrity.
co...@gmail.com <co...@gmail.com> #8
Please add AutoValue support. AutoValue is a Google library with really good benefits such as toString() , hashCode() , AutoValue.Builder , checks at creation time if @NonNull values are null, etc.
co...@gmail.com <co...@gmail.com> #9
FWIW, issue 64206877 is not publicly accessible.
ap...@google.com <ap...@google.com> #10
@Yigit: That appears to be a private ticket. Any way we can have access to keep up with it?
ap...@google.com <ap...@google.com> #11
Have any updates?
ap...@google.com <ap...@google.com> #12
news?
ap...@google.com <ap...@google.com> #13
Is there any update? This is huge for app that absolutely enforces immutable entities.
Description
Version used: 27.1.0
Theme used: Theme.AppCompat.Light.NoActionBar
Devices/Android versions reproduced on: Nexus 6, API 27
StaggeredGridLayoutManager.LazySpanLookup.invalidateAfter(position) doesn't check condition (position == RecyclerView.NO_POSITION) thus causing the call to Array.fill(...) to throw an ArrayIndexOutOfBoundsException since the array start position (which is position = NO_POSITION = -1) is less than 0. Unfortunately, I haven't managed to reproduce the issue reliably to get into this state to begin with.
Stacktrace:
java.lang.ArrayIndexOutOfBoundsException: Array index out of range: -1
at java.util.Arrays.rangeCheck(Arrays.java:120)
at java.util.Arrays.fill(Arrays.java:2831)
at android.support.v7.widget.StaggeredGridLayoutManager$LazySpanLookup.invalidateAfter(StaggeredGridLayoutManager.java:2876)
at android.support.v7.widget.StaggeredGridLayoutManager.handleUpdate(StaggeredGridLayoutManager.java:1552)
at android.support.v7.widget.StaggeredGridLayoutManager.onItemsUpdated(StaggeredGridLayoutManager.java:1528)
at android.support.v7.widget.RecyclerView$6.dispatchUpdate(RecyclerView.java:943)
at android.support.v7.widget.RecyclerView$6.onDispatchFirstPass(RecyclerView.java:931)
at android.support.v7.widget.AdapterHelper.dispatchFirstPassAndUpdateViewHolders(AdapterHelper.java:314)
at android.support.v7.widget.AdapterHelper.dispatchAndUpdateViewHolders(AdapterHelper.java:300)
at android.support.v7.widget.AdapterHelper.applyUpdate(AdapterHelper.java:220)
at android.support.v7.widget.AdapterHelper.preProcess(AdapterHelper.java:104)
at android.support.v7.widget.RecyclerView.processAdapterUpdatesAndSetAnimationFlags(RecyclerView.java:3471)
at android.support.v7.widget.RecyclerView.dispatchLayoutStep1(RecyclerView.java:3717)
at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:3527)
at android.support.v7.widget.RecyclerView.consumePendingUpdateOperations(RecyclerView.java:1767)
at android.support.v7.widget.RecyclerView$ViewFlinger.run(RecyclerView.java:4928)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:911)
at android.view.Choreographer.doCallbacks(Choreographer.java:723)
at android.view.Choreographer.doFrame(Choreographer.java:655)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:897)
at android.os.Handler.handleCallback(Handler.java:790)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6494)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:440)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)