summaryrefslogtreecommitdiff
path: root/src/com/android/launcher3/util/IntArray.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/launcher3/util/IntArray.java')
-rw-r--r--src/com/android/launcher3/util/IntArray.java29
1 files changed, 28 insertions, 1 deletions
diff --git a/src/com/android/launcher3/util/IntArray.java b/src/com/android/launcher3/util/IntArray.java
index 7252f7ac1d..1c787959e4 100644
--- a/src/com/android/launcher3/util/IntArray.java
+++ b/src/com/android/launcher3/util/IntArray.java
@@ -17,13 +17,14 @@
package com.android.launcher3.util;
import java.util.Arrays;
+import java.util.Iterator;
import java.util.StringTokenizer;
/**
* Copy of the platform hidden implementation of android.util.IntArray.
* Implements a growing array of int primitives.
*/
-public class IntArray implements Cloneable {
+public class IntArray implements Cloneable, Iterable<Integer> {
private static final int MIN_CAPACITY_INCREMENT = 12;
private static final int[] EMPTY_INT = new int[0];
@@ -272,4 +273,30 @@ public class IntArray implements Cloneable {
throw new ArrayIndexOutOfBoundsException("length=" + len + "; index=" + index);
}
}
+
+ @Override
+ public Iterator<Integer> iterator() {
+ return new ValueIterator();
+ }
+
+ @Thunk
+ class ValueIterator implements Iterator<Integer> {
+
+ private int mNextIndex = 0;
+
+ @Override
+ public boolean hasNext() {
+ return mNextIndex < size();
+ }
+
+ @Override
+ public Integer next() {
+ return get(mNextIndex++);
+ }
+
+ @Override
+ public void remove() {
+ removeIndex(--mNextIndex);
+ }
+ }
} \ No newline at end of file