Don't verify the scrollbar drawable
Avoids infinite invalidations caused by re-use of scrollbar drawable during a single draw() pass. Does not address the general problem of drawable reuse causing unnecessary invalidations as a result of calls to setBounds() invoking invalidateSelf(). Bug: 26533725 Change-Id: I99e9c2dfe4ddfc833569e40e7268dcb03e931fc9
This commit is contained in:
@@ -16937,8 +16937,10 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
|
||||
*/
|
||||
@CallSuper
|
||||
protected boolean verifyDrawable(Drawable who) {
|
||||
return who == mBackground || (mScrollCache != null && mScrollCache.scrollBar == who)
|
||||
|| (mForegroundInfo != null && mForegroundInfo.mDrawable == who);
|
||||
// Avoid verifying the scroll bar drawable so that we don't end up in
|
||||
// an invalidation loop. This effectively prevents the scroll bar
|
||||
// drawable from triggering invalidations and scheduling runnables.
|
||||
return who == mBackground || (mForegroundInfo != null && mForegroundInfo.mDrawable == who);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user