summaryrefslogtreecommitdiffstats
path: root/mobile/android/geckoview/src/main/java/org/mozilla/gecko/util/ActivityResultHandlerMap.java
diff options
context:
space:
mode:
Diffstat (limited to 'mobile/android/geckoview/src/main/java/org/mozilla/gecko/util/ActivityResultHandlerMap.java')
-rw-r--r--mobile/android/geckoview/src/main/java/org/mozilla/gecko/util/ActivityResultHandlerMap.java24
1 files changed, 24 insertions, 0 deletions
diff --git a/mobile/android/geckoview/src/main/java/org/mozilla/gecko/util/ActivityResultHandlerMap.java b/mobile/android/geckoview/src/main/java/org/mozilla/gecko/util/ActivityResultHandlerMap.java
new file mode 100644
index 000000000..dc1d26cec
--- /dev/null
+++ b/mobile/android/geckoview/src/main/java/org/mozilla/gecko/util/ActivityResultHandlerMap.java
@@ -0,0 +1,24 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this file,
+ * You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+package org.mozilla.gecko.util;
+
+import android.util.SparseArray;
+
+public final class ActivityResultHandlerMap {
+ private final SparseArray<ActivityResultHandler> mMap = new SparseArray<ActivityResultHandler>();
+ private int mCounter;
+
+ public synchronized int put(ActivityResultHandler handler) {
+ mMap.put(mCounter, handler);
+ return mCounter++;
+ }
+
+ public synchronized ActivityResultHandler getAndRemove(int i) {
+ ActivityResultHandler handler = mMap.get(i);
+ mMap.delete(i);
+
+ return handler;
+ }
+}