summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Treehugger Robot <treehugger-gerrit@google.com> 2023-04-10 17:28:20 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2023-04-10 17:28:20 +0000
commit65f708eec719d25e208568c99a2af3c2308ac83d (patch)
tree15157e73394c3a38d97c5d67c12ffb211e85e413
parent45e4f2bd7f1331163da797e4a89e2a83c069d557 (diff)
parentadfa26b36ea39d447bb2add4c2a6c1bf53702a27 (diff)
Merge "Added flag to enable subscription manager service through adb" am: ff7abf38ad am: adfa26b36e
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2528708 Change-Id: I9f9cae2b41dbeed5d7c9ed7fe9f3b7d6997f6f19 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--telephony/java/android/telephony/SubscriptionManager.java29
-rw-r--r--telephony/java/com/android/internal/telephony/ISub.aidl7
2 files changed, 30 insertions, 6 deletions
diff --git a/telephony/java/android/telephony/SubscriptionManager.java b/telephony/java/android/telephony/SubscriptionManager.java
index d590ce22e9df..45c092e1fb0d 100644
--- a/telephony/java/android/telephony/SubscriptionManager.java
+++ b/telephony/java/android/telephony/SubscriptionManager.java
@@ -160,6 +160,10 @@ public class SubscriptionManager {
private static final String CACHE_KEY_SUBSCRIPTION_MANAGER_SERVICE_PROPERTY =
"cache_key.telephony.subscription_manager_service";
+ /** The temporarily cache key to indicate whether subscription manager service is enabled. */
+ private static final String CACHE_KEY_SUBSCRIPTION_MANAGER_SERVICE_ENABLED_PROPERTY =
+ "cache_key.telephony.subscription_manager_service_enabled";
+
/** @hide */
public static final String GET_SIM_SPECIFIC_SETTINGS_METHOD_NAME = "getSimSpecificSettings";
@@ -317,6 +321,12 @@ public class SubscriptionManager {
CACHE_KEY_SUBSCRIPTION_MANAGER_SERVICE_PROPERTY,
INVALID_PHONE_INDEX);
+ //TODO: Removed before U AOSP public release.
+ private static VoidPropertyInvalidatedCache<Boolean> sIsSubscriptionManagerServiceEnabled =
+ new VoidPropertyInvalidatedCache<>(ISub::isSubscriptionManagerServiceEnabled,
+ CACHE_KEY_SUBSCRIPTION_MANAGER_SERVICE_ENABLED_PROPERTY,
+ false);
+
/**
* Generates a content {@link Uri} used to receive updates on simInfo change
* on the given subscriptionId
@@ -1335,8 +1345,6 @@ public class SubscriptionManager {
private final Context mContext;
- private static boolean sIsSubscriptionManagerServiceEnabled = false;
-
// Cache of Resource that has been created in getResourcesForSubId. Key is a Pair containing
// the Context and subId.
private static final Map<Pair<Context, Integer>, Resources> sResourcesCache =
@@ -1422,9 +1430,6 @@ public class SubscriptionManager {
public SubscriptionManager(Context context) {
if (DBG) logd("SubscriptionManager created");
mContext = context;
-
- sIsSubscriptionManagerServiceEnabled = mContext.getResources().getBoolean(
- com.android.internal.R.bool.config_using_subscription_manager_service);
}
/**
@@ -1433,8 +1438,9 @@ public class SubscriptionManager {
*
* @hide
*/
+ //TODO: Removed before U AOSP public release.
public static boolean isSubscriptionManagerServiceEnabled() {
- return sIsSubscriptionManagerServiceEnabled;
+ return sIsSubscriptionManagerServiceEnabled.query(null);
}
private NetworkPolicyManager getNetworkPolicyManager() {
@@ -3947,6 +3953,13 @@ public class SubscriptionManager {
PropertyInvalidatedCache.invalidateCache(CACHE_KEY_SUBSCRIPTION_MANAGER_SERVICE_PROPERTY);
}
+ /** @hide */
+ //TODO: Removed before U AOSP public release.
+ public static void invalidateSubscriptionManagerServiceEnabledCaches() {
+ PropertyInvalidatedCache.invalidateCache(
+ CACHE_KEY_SUBSCRIPTION_MANAGER_SERVICE_ENABLED_PROPERTY);
+ }
+
/**
* Allows a test process to disable client-side caching operations.
*
@@ -3968,6 +3981,8 @@ public class SubscriptionManager {
sGetSlotIndexCache.disableLocal();
sGetSubIdCache.disableLocal();
sGetPhoneIdCache.disableLocal();
+
+ sIsSubscriptionManagerServiceEnabled.disableLocal();
}
/**
@@ -3990,6 +4005,8 @@ public class SubscriptionManager {
sGetSlotIndexCache.clear();
sGetSubIdCache.clear();
sGetPhoneIdCache.clear();
+
+ sIsSubscriptionManagerServiceEnabled.clear();
}
/**
diff --git a/telephony/java/com/android/internal/telephony/ISub.aidl b/telephony/java/com/android/internal/telephony/ISub.aidl
index 25a714a4bb81..defa046da503 100644
--- a/telephony/java/com/android/internal/telephony/ISub.aidl
+++ b/telephony/java/com/android/internal/telephony/ISub.aidl
@@ -356,4 +356,11 @@ interface ISub {
* @hide
*/
List<SubscriptionInfo> getSubscriptionInfoListAssociatedWithUser(in UserHandle userHandle);
+
+ /**
+ * @return {@code true} if using SubscriptionManagerService instead of
+ * SubscriptionController.
+ */
+ //TODO: Removed before U AOSP public release.
+ boolean isSubscriptionManagerServiceEnabled();
}