Status Update
Comments
ha...@reddit.com <ha...@reddit.com> #2
Please attach a sample project that reproduces your issue.
ma...@google.com <ma...@google.com> #3
ry...@google.com <ry...@google.com> #4
Project: platform/frameworks/support
Branch: androidx-master-dev
commit bd065925676170c8453321e970d455fac06b8d3d
Author: Ian Lake <ilake@google.com>
Date: Mon Jan 28 15:47:16 2019
Add ProGuard rules for DrawerArrowDrawable.setProgress()
setProgress() is called via an ObjectAnimator and
therefore needs to be specifically kept when
obfuscating with ProGuard.
Test: tested in sample project attached to bug
Change-Id: I9c420ce728c5cb887d29df9f856bfd31f5bdbcdf
Fixes: 123449431
M navigation/ui/build.gradle
A navigation/ui/proguard-rules.pro
https://android-review.googlesource.com/887876
https://goto.google.com/android-sha1/bd065925676170c8453321e970d455fac06b8d3d
Branch: androidx-master-dev
commit bd065925676170c8453321e970d455fac06b8d3d
Author: Ian Lake <ilake@google.com>
Date: Mon Jan 28 15:47:16 2019
Add ProGuard rules for DrawerArrowDrawable.setProgress()
setProgress() is called via an ObjectAnimator and
therefore needs to be specifically kept when
obfuscating with ProGuard.
Test: tested in sample project attached to bug
Change-Id: I9c420ce728c5cb887d29df9f856bfd31f5bdbcdf
Fixes: 123449431
M navigation/ui/build.gradle
A navigation/ui/proguard-rules.pro
ry...@google.com <ry...@google.com> #5
We've added the appropriate ProGuard configuration and it'll be available in the next release.
As a workaround, you can add the following to your ProGuard configuration:
-keepclassmembers class android.support.v7.graphics.drawable.DrawerArrowDrawable {
void setProgress(float);
}
As a workaround, you can add the following to your ProGuard configuration:
-keepclassmembers class android.support.v7.graphics.drawable.DrawerArrowDrawable {
void setProgress(float);
}
ha...@reddit.com <ha...@reddit.com> #6
Sure, thanks for the quick fix.
Description
Steps to Reproduce or Code Sample to Reproduce:
See MainActivity in attached sample project, or:
Note: RV refers to
RecyclerView
RecyclerView
RecyclerView
are emptyFrameLayout
sonBindViewHolder
of the RV adapter, createComposeView
and add it as a child to theFrameLayout
. CallsetContent
on theComposeView
with arbitrary layout (e.g. coloredBox
)notifyItemChanged(0, Any())
Behavior:
What I would expect to happen: No crash happens
What actually happens:
onBindViewHolder
call, theparent
field of theRecyclerView
item view will benull
, but itsmAttachInfo
will not benull
ComposeView
is added to the item view, itsisAttachedToWindow
will be true, and it will try to create a composition.ViewTreeLifecycleOwner
usingView.findViewTreeLifecycleOwner()
which tries walking up the view hierarchy to obtain the owner from the root view.parent
,View.findViewTreeLifecycleOwner()
returns null, andView.createLifecycleAwareWindowRecomposer()
throws and crashes the app.Stack trace (if applicable):