summaryrefslogtreecommitdiff
path: root/src/com/android/imsserviceentitlement/entitlement/EntitlementConfigurationsDataStore.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/imsserviceentitlement/entitlement/EntitlementConfigurationsDataStore.java')
-rw-r--r--src/com/android/imsserviceentitlement/entitlement/EntitlementConfigurationsDataStore.java13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/com/android/imsserviceentitlement/entitlement/EntitlementConfigurationsDataStore.java b/src/com/android/imsserviceentitlement/entitlement/EntitlementConfigurationsDataStore.java
index 29ea637..6947e2b 100644
--- a/src/com/android/imsserviceentitlement/entitlement/EntitlementConfigurationsDataStore.java
+++ b/src/com/android/imsserviceentitlement/entitlement/EntitlementConfigurationsDataStore.java
@@ -18,6 +18,7 @@ package com.android.imsserviceentitlement.entitlement;
import android.content.Context;
import android.content.SharedPreferences;
+import android.util.SparseArray;
import java.util.Optional;
@@ -29,7 +30,17 @@ class EntitlementConfigurationsDataStore {
private final SharedPreferences mPreferences;
- EntitlementConfigurationsDataStore(Context context, int subId) {
+ private static final SparseArray<EntitlementConfigurationsDataStore> sInstances =
+ new SparseArray<>();
+
+ public static EntitlementConfigurationsDataStore getInstance(Context context, int subId) {
+ if (sInstances.get(subId) == null) {
+ sInstances.put(subId, new EntitlementConfigurationsDataStore(context, subId));
+ }
+ return sInstances.get(subId);
+ }
+
+ private EntitlementConfigurationsDataStore(Context context, int subId) {
this.mPreferences = context.getSharedPreferences(
PREFERENCE_ENTITLEMENT_CHARACTERISTICS + "_" + subId,
Context.MODE_PRIVATE);