diff options
Diffstat (limited to 'src/com/android/imsserviceentitlement/entitlement/EntitlementConfigurationsDataStore.java')
-rw-r--r-- | src/com/android/imsserviceentitlement/entitlement/EntitlementConfigurationsDataStore.java | 13 |
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); |