Index: base/android/java/src/org/chromium/base/CollectionUtil.java |
diff --git a/base/android/java/src/org/chromium/base/JavaHandlerThread.java b/base/android/java/src/org/chromium/base/CollectionUtil.java |
similarity index 18% |
copy from base/android/java/src/org/chromium/base/JavaHandlerThread.java |
copy to base/android/java/src/org/chromium/base/CollectionUtil.java |
index 5f9960e53ce3245ba92b5ff22f1bbbb977343000..c0f6b1c46ecf8a4244f69da929543eaf10ac949f 100644 |
--- a/base/android/java/src/org/chromium/base/JavaHandlerThread.java |
+++ b/base/android/java/src/org/chromium/base/CollectionUtil.java |
@@ -4,38 +4,35 @@ |
package org.chromium.base; |
-import android.os.Handler; |
-import android.os.HandlerThread; |
-import android.os.Looper; |
-import android.os.Message; |
+import java.util.ArrayList; |
+import java.util.Collections; |
+import java.util.HashSet; |
/** |
- * This class is an internal detail of the native counterpart. |
- * It is instantiated and owned by the native object. |
+ * Functions used for easier initialization of Java collections. Inspired by |
+ * functionality in com.google.common.collect in Guava but cherry-picked to |
+ * bare-minimum functionality to avoid bloat. (http://crbug.com/272790 provides |
+ * further details) |
*/ |
-@JNINamespace("base::android") |
-class JavaHandlerThread { |
- final HandlerThread mThread; |
+public final class CollectionUtil { |
+ private CollectionUtil() {} |
- private JavaHandlerThread(String name) { |
- mThread = new HandlerThread(name); |
+ public static <E> HashSet<E> newHashSet(E... elements) { |
+ HashSet<E> set = new HashSet<E>(elements.length); |
+ Collections.addAll(set, elements); |
+ return set; |
} |
- @CalledByNative |
- private static JavaHandlerThread create(String name) { |
- return new JavaHandlerThread(name); |
+ public static <E> ArrayList<E> newArrayList(E... elements) { |
+ ArrayList<E> list = new ArrayList<E>(elements.length); |
+ Collections.addAll(list, elements); |
+ return list; |
} |
- @CalledByNative |
- private void start(final int nativeThread, final int nativeEvent) { |
- mThread.start(); |
- new Handler(mThread.getLooper()).post(new Runnable() { |
- @Override |
- public void run() { |
- nativeInitializeThread(nativeThread, nativeEvent); |
- } |
- }); |
+ public static <E> ArrayList<E> newArrayList(Iterable<E> iterable) { |
+ ArrayList<E> list = new ArrayList<E>(); |
+ for (E element : iterable) |
+ list.add(element); |
+ return list; |
} |
- |
- private native void nativeInitializeThread(int nativeJavaHandlerThread, int nativeEvent); |
} |