RippleDrawable icon indicating copy to clipboard operation
RippleDrawable copied to clipboard

Fix NoSuchMethodError on super.getDirtyBounds()

Open ypresto opened this issue 8 years ago • 3 comments

RippleDrawable#getDirtyBounds() calls super. It is API >= 21 method but is missing from LollipopDrawable. This exception only happens on pre-lollipop Androids.

ypresto avatar Aug 08 '16 09:08 ypresto

+1 Faced with same issue.

kovalevsky avatar Aug 11 '16 13:08 kovalevsky

+1. Thank you @ypresto for solution.

 java.lang.NoSuchMethodError: codetail.graphics.drawables.LayerDrawable.getDirtyBounds
                                                                   at codetail.graphics.drawables.RippleDrawable.getDirtyBounds(RippleDrawable.java:865)
                                                                   at codetail.graphics.drawables.RippleDrawable.draw(RippleDrawable.java:610)
                                                                   at android.widget.FrameLayout.draw(FrameLayout.java:498)
                                                                   at android.view.View.getDisplayList(View.java:13362)
                                                                   at android.view.View.getDisplayList(View.java:13404)
                                                                   at android.view.View.draw(View.java:14182)
                                                                   at android.view.ViewGroup.drawChild(ViewGroup.java:3103)
                                                                   at android.support.v7.widget.RecyclerView.drawChild(RecyclerView.java:4184)
                                                                   at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2940)
                                                                   at android.view.View.draw(View.java:14468)
                                                                   at android.support.v7.widget.RecyclerView.draw(RecyclerView.java:3593)
                                                                   at android.view.View.getDisplayList(View.java:13362)
                                                                   at android.view.View.getDisplayList(View.java:13404)
                                                                   at android.view.View.draw(View.java:14182)
                                                                   at android.view.ViewGroup.drawChild(ViewGroup.java:3103)
                                                                   at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2940)
                                                                   at android.view.View.getDisplayList(View.java:13357)
                                                                   at android.view.View.getDisplayList(View.java:13404)
                                                                   at android.view.View.draw(View.java:14182)
                                                                   at android.view.ViewGroup.drawChild(ViewGroup.java:3103)
                                                                   at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2947)
                                                                   at android.view.View.draw(View.java:14468)
                                                                   at android.view.View.getDisplayList(View.java:13362)
                                                                   at android.view.View.getDisplayList(View.java:13404)
                                                                   at android.view.View.draw(View.java:14182)
                                                                   at android.view.ViewGroup.drawChild(ViewGroup.java:3103)
                                                                   at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2940)
                                                                   at android.view.View.getDisplayList(View.java:13357)
                                                                   at android.view.View.getDisplayList(View.java:13404)
                                                                   at android.view.View.draw(View.java:14182)
                                                                   at android.view.ViewGroup.drawChild(ViewGroup.java:3103)
                                                                   at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2940)
                                                                   at android.view.View.getDisplayList(View.java:13357)
                                                                   at android.view.View.getDisplayList(View.java:13404)
                                                                   at android.view.View.draw(View.java:14182)
                                                                   at android.view.ViewGroup.drawChild(ViewGroup.java:3103)
                                                                   at android.support.design.widget.CoordinatorLayout.drawChild(CoordinatorLayout.java:1192)
                                                                   at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2940)
                                                                   at android.view.View.getDisplayList(View.java:13357)
                                                                   at android.view.View.getDisplayList(View.java:13404)
                                                                   at android.view.View.draw(View.java:14182)
                                                                   at android.view.ViewGroup.drawChild(ViewGroup.java:3103)
                                                                   at android.support.v4.widget.DrawerLayout.drawChild(DrawerLayout.java:1383)
                                                                   at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2940)
                                                                   at android.view.View.getDisplayList(View.java:13357)
                                                                   at android.view.View.getDisplayList(View.java:13404)
                                                                   at android.view.View.draw(View.java:14182)
                                                                   at android.view.ViewGroup.drawChild(ViewGroup.java:3103)
                                                                   at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2940)
                                                                   at android.view.View.draw(View.java:14468)
                                                                   at android.widget.FrameLayout.draw(FrameLayout.java:472)
                                                                   at android.view.View.getDisplayList(View.java:13362)
                                                                   at android.view.View.getDisplayList(View.java:13404)
                                                                   at android.view.View.draw(View.java:14182)
                                                                   at android.view.ViewGroup.drawChild(ViewGroup.java:3103)
                                                                   at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2940)
                                                                   at android.view.View.getDisplayList(View.java:13357)
                                                                   at android.view.View.getDisplayList(View.java:13404)
                                                                   at android.view.View.draw(View.java:14182)
                                                                   at android.view.ViewGroup.drawChild(ViewGroup.java:3103)
                                                                   at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2940)
                                                                   at android.view.View.getDisplayList(View.java:13357)
                                                                   at android.view.View.getDisplayList(View.java:13404)
                                                                   at android.view.View.draw(View.java:14182)
                                                                   at android.view.ViewGroup.drawChild(ViewGroup.java:3103)
                                                                   at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2940)
                                                                   at android.view.View.getDisplayList(View.java:13357)
                                                                   at android.view.View.getDisplayList(View.java:13404)
                                                                   at android.view.View.draw(View.java:14182)
                                                                at android.view.ViewGroup.drawChild(ViewGroup.java:31

e16din avatar Oct 01 '16 17:10 e16din

Hate to bring up a dead topic, but I ran into this issue and I wanted to share my thoughts in case it helps someone else.

Since there hasn't been much activity on this repository, I created a fork and cleaned up the code. My library can be found here, I hope to keep it up-to-date and maintained: https://github.com/addisonElliott/RippleDrawable

Check out the README for instructions on installing.

addisonElliott avatar Feb 10 '19 06:02 addisonElliott