OSDN Git Service

Guard against index out of bounds exception in lock pattern widget.
authorKarl Rosaen <krosaen@google.com>
Tue, 4 Aug 2009 20:18:47 +0000 (13:18 -0700)
committerKarl Rosaen <krosaen@google.com>
Tue, 4 Aug 2009 20:23:36 +0000 (13:23 -0700)
Fixes bug 2027516.

core/java/com/android/internal/widget/LockPatternView.java

index 53be891..cfcf111 100644 (file)
@@ -581,14 +581,14 @@ public class LockPatternView extends View {
                     mInProgressX = x;
                     mInProgressY = y;
 
-                    if (mPatternInProgress) {
+                    if (mPatternInProgress && patternSize > 0) {
                         final ArrayList<Cell> pattern = mPattern;
                         final float radius = mSquareWidth * mDiameterFactor * 0.5f;
 
-                        Cell cell = pattern.get(patternSize - 1);
+                        final Cell lastCell = pattern.get(patternSize - 1);
 
-                        float startX = getCenterXForColumn(cell.column);
-                        float startY = getCenterYForRow(cell.row);
+                        float startX = getCenterXForColumn(lastCell.column);
+                        float startY = getCenterYForRow(lastCell.row);
 
                         float left;
                         float top;