From a0007490e79608338c8754b34c54a3a92c128e87 Mon Sep 17 00:00:00 2001 From: chen xu Date: Tue, 2 Oct 2018 19:34:10 -0700 Subject: Create URI for individual user settings in SIMINFO Bug: 112700925 Test: TelephonyProviderTest#testUpdateWfcEnabled Change-Id: I85639c50c2b3abb27b9a87823726d080a817ed6f --- api/system-current.txt | 2 + .../android/telephony/SubscriptionManager.java | 48 ++++++++++++++++++++++ 2 files changed, 50 insertions(+) diff --git a/api/system-current.txt b/api/system-current.txt index fd5aa7b59741..72a5c3e7b030 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -5182,6 +5182,8 @@ package android.telephony { method public void setSubscriptionPlans(int, java.util.List); field public static final java.lang.String ACTION_MANAGE_SUBSCRIPTION_PLANS = "android.telephony.action.MANAGE_SUBSCRIPTION_PLANS"; field public static final java.lang.String ACTION_REFRESH_SUBSCRIPTION_PLANS = "android.telephony.action.REFRESH_SUBSCRIPTION_PLANS"; + field public static final android.net.Uri ENHANCED_4G_ENABLED_CONTENT_URI; + field public static final android.net.Uri WFC_ENABLED_CONTENT_URI; } public final class SubscriptionPlan implements android.os.Parcelable { diff --git a/telephony/java/android/telephony/SubscriptionManager.java b/telephony/java/android/telephony/SubscriptionManager.java index 3ef80c2efcb5..1394898ef2b1 100644 --- a/telephony/java/android/telephony/SubscriptionManager.java +++ b/telephony/java/android/telephony/SubscriptionManager.java @@ -32,12 +32,14 @@ import android.annotation.SystemService; import android.annotation.UnsupportedAppUsage; import android.app.BroadcastOptions; import android.app.PendingIntent; +import android.app.job.JobService; import android.content.Context; import android.content.Intent; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.content.res.Configuration; import android.content.res.Resources; +import android.database.ContentObserver; import android.net.INetworkPolicyManager; import android.net.NetworkCapabilities; import android.net.Uri; @@ -117,6 +119,52 @@ public class SubscriptionManager { @UnsupportedAppUsage public static final Uri CONTENT_URI = Uri.parse("content://telephony/siminfo"); + + /** + * Generates a content {@link Uri} used to receive updates on simInfo change + * on the given subscriptionId + * @param subscriptionId the subscriptionId to receive updates on + * @return the Uri used to observe carrier identity changes + * @hide + */ + public static Uri getUriForSubscriptionId(int subscriptionId) { + return Uri.withAppendedPath(CONTENT_URI, String.valueOf(subscriptionId)); + } + + /** + * A content {@link Uri} used to receive updates on wfc enabled user setting. + *

+ * Use this {@link Uri} with a {@link ContentObserver} to be notified of changes to the + * subscription wfc enabled {@link SubscriptionManager#WFC_IMS_ENABLED} + * while your app is running. You can also use a {@link JobService} to ensure your app + * is notified of changes to the {@link Uri} even when it is not running. + * Note, however, that using a {@link JobService} does not guarantee timely delivery of + * updates to the {@link Uri}. + * To be notified of changes to a specific subId, append subId to the URI + * {@link Uri#withAppendedPath(Uri, String)}. + * @hide + */ + @SystemApi + public static final Uri WFC_ENABLED_CONTENT_URI = Uri.withAppendedPath(CONTENT_URI, "wfc"); + + /** + * A content {@link Uri} used to receive updates on enhanced 4g user setting. + *

+ * Use this {@link Uri} with a {@link ContentObserver} to be notified of changes to the + * subscription enhanced 4G enabled {@link SubscriptionManager#ENHANCED_4G_MODE_ENABLED} + * while your app is running. You can also use a {@link JobService} to ensure your app + * is notified of changes to the {@link Uri} even when it is not running. + * Note, however, that using a {@link JobService} does not guarantee timely delivery of + * updates to the {@link Uri}. + * To be notified of changes to a specific subId, append subId to the URI + * {@link Uri#withAppendedPath(Uri, String)}. + * @hide + */ + @SystemApi + public static final Uri ENHANCED_4G_ENABLED_CONTENT_URI = Uri.withAppendedPath( + CONTENT_URI, "enhanced_4g"); + + /** * TelephonyProvider unique key column name is the subscription id. *

Type: TEXT (String)

-- cgit v1.2.3-59-g8ed1b