summaryrefslogtreecommitdiff
path: root/core/java/android/util/SparseSetArray.java
diff options
context:
space:
mode:
authorSongchun Fan <schfan@google.com>2022-04-07 15:25:07 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2022-04-07 15:25:07 +0000
commit6346fb8aa230bc6f2cf01279adaf33b045706931 (patch)
treef4a74363d35b23ce15bd69477d3bd312df815948 /core/java/android/util/SparseSetArray.java
parent6a6305969f70bf83f133c7d661ca73d453c35415 (diff)
parent3def2802db726dc078a5e359b71aa814293aee04 (diff)
Merge "Revert "Revert "[AppsFilter] read-only interface for snapshots""" into tm-dev
Diffstat (limited to 'core/java/android/util/SparseSetArray.java')
-rw-r--r--core/java/android/util/SparseSetArray.java21
1 files changed, 20 insertions, 1 deletions
diff --git a/core/java/android/util/SparseSetArray.java b/core/java/android/util/SparseSetArray.java
index f5025f7a9e99..f85280f0264b 100644
--- a/core/java/android/util/SparseSetArray.java
+++ b/core/java/android/util/SparseSetArray.java
@@ -15,15 +15,34 @@
*/
package android.util;
+import android.annotation.NonNull;
+
/**
* A sparse array of ArraySets, which is suitable to hold userid->packages association.
*
* @hide
*/
public class SparseSetArray<T> {
- private final SparseArray<ArraySet<T>> mData = new SparseArray<>();
+ private final SparseArray<ArraySet<T>> mData;
public SparseSetArray() {
+ mData = new SparseArray<>();
+ }
+
+ /**
+ * Copy constructor
+ */
+ public SparseSetArray(@NonNull SparseSetArray<T> src) {
+ final int arraySize = src.size();
+ mData = new SparseArray<>(arraySize);
+ for (int i = 0; i < arraySize; i++) {
+ final int key = src.keyAt(i);
+ final ArraySet<T> set = src.get(key);
+ final int setSize = set.size();
+ for (int j = 0; j < setSize; j++) {
+ add(key, set.valueAt(j));
+ }
+ }
}
/**