summaryrefslogtreecommitdiffstats
path: root/core/java/android/view/View.java
diff options
context:
space:
mode:
authorAdam Powell <adamp@google.com>2011-11-10 22:01:58 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2011-11-10 22:01:58 +0000
commit5d35fd79a78f9e17089ab36096f7b4f2ba7d99b3 (patch)
treeb8ce932506ba4b200624278fcd7b264a0661b04f /core/java/android/view/View.java
parent5a81e795cf9ec89918d667c045cfb2aaa16c204c (diff)
parentba44080d834d23d0bc7d118a4950f837eeaca96a (diff)
downloadframeworks_base-5d35fd79a78f9e17089ab36096f7b4f2ba7d99b3.zip
frameworks_base-5d35fd79a78f9e17089ab36096f7b4f2ba7d99b3.tar.gz
frameworks_base-5d35fd79a78f9e17089ab36096f7b4f2ba7d99b3.tar.bz2
am ba44080d: am 67121fd7: Merge "Fix bug 5581874 - Animated drawables don\'t start as expected" into ics-mr1
* commit 'ba44080d834d23d0bc7d118a4950f837eeaca96a': Fix bug 5581874 - Animated drawables don't start as expected
Diffstat (limited to 'core/java/android/view/View.java')
-rw-r--r--core/java/android/view/View.java16
1 files changed, 12 insertions, 4 deletions
diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java
index feea4ee..2095e91 100644
--- a/core/java/android/view/View.java
+++ b/core/java/android/view/View.java
@@ -11458,8 +11458,12 @@ public class View implements Drawable.Callback, Drawable.Callback2, KeyEvent.Cal
* {@link SystemClock#uptimeMillis} timebase.
*/
public void scheduleDrawable(Drawable who, Runnable what, long when) {
- if (verifyDrawable(who) && what != null && mAttachInfo != null) {
- mAttachInfo.mHandler.postAtTime(what, who, when);
+ if (verifyDrawable(who) && what != null) {
+ if (mAttachInfo != null) {
+ mAttachInfo.mHandler.postAtTime(what, who, when);
+ } else {
+ ViewRootImpl.getRunQueue().postDelayed(what, when - SystemClock.uptimeMillis());
+ }
}
}
@@ -11470,8 +11474,12 @@ public class View implements Drawable.Callback, Drawable.Callback2, KeyEvent.Cal
* @param what the action to cancel
*/
public void unscheduleDrawable(Drawable who, Runnable what) {
- if (verifyDrawable(who) && what != null && mAttachInfo != null) {
- mAttachInfo.mHandler.removeCallbacks(what, who);
+ if (verifyDrawable(who) && what != null) {
+ if (mAttachInfo != null) {
+ mAttachInfo.mHandler.removeCallbacks(what, who);
+ } else {
+ ViewRootImpl.getRunQueue().removeCallbacks(what);
+ }
}
}