diff options
author | Craig Mautner <cmautner@google.com> | 2012-04-09 15:23:59 -0700 |
---|---|---|
committer | Craig Mautner <cmautner@google.com> | 2012-04-10 13:19:35 -0700 |
commit | 93a035cce1a3a3c70cd6f0e0a5f98ac0e4138337 (patch) | |
tree | c3e1186b3f3b9eee2cd2093124f6f36cd6d2a40b /packages | |
parent | 1ade5ae9c812464f086f2151069781db1b27db2f (diff) | |
download | frameworks_base-93a035cce1a3a3c70cd6f0e0a5f98ac0e4138337.zip frameworks_base-93a035cce1a3a3c70cd6f0e0a5f98ac0e4138337.tar.gz frameworks_base-93a035cce1a3a3c70cd6f0e0a5f98ac0e4138337.tar.bz2 |
Fix IndexOutOfBoundsException.
This fix resolves an exception thrown when the snapshot ArrayList has
no entries.
Fixes bug 6311207.
Change-Id: I84383417116a4a62eb2842792ed04096aebc8ee2
Diffstat (limited to 'packages')
-rw-r--r-- | packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java index 5ba72c7..e4a7372 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java @@ -2043,7 +2043,10 @@ public class PhoneStatusBar extends BaseStatusBar { snapshot.add(child); } } - final int N = snapshot.size(); + if (snapshot.isEmpty()) { + animateCollapse(false); + return; + } new Thread(new Runnable() { @Override public void run() { @@ -2059,6 +2062,7 @@ public class PhoneStatusBar extends BaseStatusBar { mPile.setViewRemoval(false); mPostCollapseCleanup = new Runnable() { + @Override public void run() { try { mPile.setViewRemoval(true); @@ -2069,9 +2073,8 @@ public class PhoneStatusBar extends BaseStatusBar { View sampleView = snapshot.get(0); int width = sampleView.getWidth(); - final int velocity = (int)(width * 8); // 1000/8 = 125 ms duration - for (View v : snapshot) { - final View _v = v; + final int velocity = width * 8; // 1000/8 = 125 ms duration + for (final View _v : snapshot) { mHandler.postDelayed(new Runnable() { @Override public void run() { @@ -2087,6 +2090,7 @@ public class PhoneStatusBar extends BaseStatusBar { // synchronize the end of those animations with the start of the collaps // exactly. mHandler.postDelayed(new Runnable() { + @Override public void run() { animateCollapse(false); } |