Merge "add a current table in CarrierIdProvider"

This commit is contained in:
Chen Xu
2018-02-14 18:54:06 +00:00
committed by Gerrit Code Review
3 changed files with 133 additions and 41 deletions

View File

@@ -35551,6 +35551,13 @@ package android.provider {
field public static final java.lang.String ADDRESS = "address"; field public static final java.lang.String ADDRESS = "address";
} }
public static final class Telephony.CarrierIdentification implements android.provider.BaseColumns {
method public static android.net.Uri getUriForSubscriptionId(int);
field public static final java.lang.String CID = "carrier_id";
field public static final android.net.Uri CONTENT_URI;
field public static final java.lang.String NAME = "carrier_name";
}
public static final class Telephony.Carriers implements android.provider.BaseColumns { public static final class Telephony.Carriers implements android.provider.BaseColumns {
field public static final java.lang.String APN = "apn"; field public static final java.lang.String APN = "apn";
field public static final java.lang.String AUTH_TYPE = "authtype"; field public static final java.lang.String AUTH_TYPE = "authtype";

View File

@@ -0,0 +1,39 @@
/*
* Copyright (C) 2017 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.server.updates;
import android.content.ContentResolver;
import android.content.ContentValues;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.provider.Telephony;
import android.util.Log;
public class CarrierIdInstallReceiver extends ConfigUpdateInstallReceiver {
public CarrierIdInstallReceiver() {
super("/data/misc/carrierid", "carrier_list.pb", "metadata/", "version");
}
@Override
protected void postInstall(Context context, Intent intent) {
ContentResolver resolver = context.getContentResolver();
resolver.update(Uri.withAppendedPath(Telephony.CarrierIdentification.All.CONTENT_URI,
"update_db"), new ContentValues(), null, null);
}
}

View File

@@ -33,6 +33,7 @@ import android.telephony.Rlog;
import android.telephony.ServiceState; import android.telephony.ServiceState;
import android.telephony.SmsMessage; import android.telephony.SmsMessage;
import android.telephony.SubscriptionManager; import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Patterns; import android.util.Patterns;
@@ -3345,10 +3346,66 @@ public final class Telephony {
} }
/** /**
* Contains carrier identification information. * Contains carrier identification information for the current subscriptions.
* @hide * @see SubscriptionManager#getActiveSubscriptionIdList()
*/ */
public static final class CarrierIdentification implements BaseColumns { public static final class CarrierIdentification implements BaseColumns {
/**
* Not instantiable.
* @hide
*/
private CarrierIdentification() {}
/**
* The {@code content://} style URI for this provider.
*/
public static final Uri CONTENT_URI = Uri.parse("content://carrier_identification");
/**
* The authority string for the CarrierIdentification Provider
* @hide
*/
public static final String AUTHORITY = "carrier_identification";
/**
* Generates a content {@link Uri} used to receive updates on carrier identity change
* on the given subscriptionId
* <p>
* Use this {@link Uri} with a {@link ContentObserver} to be notified of changes to the
* carrier identity {@link TelephonyManager#getAndroidCarrierIdForSubscription()}
* 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}.
*
* @param subscriptionId the subscriptionId to receive updates on
* @return the Uri used to observe carrier identity changes
*/
public static Uri getUriForSubscriptionId(int subscriptionId) {
return CONTENT_URI.buildUpon().appendEncodedPath(
String.valueOf(subscriptionId)).build();
}
/**
* A user facing carrier name.
* @see TelephonyManager#getAndroidCarrierNameForSubscription()
* <P>Type: TEXT </P>
*/
public static final String NAME = "carrier_name";
/**
* A unique carrier id
* @see TelephonyManager#getAndroidCarrierIdForSubscription()
* <P>Type: INTEGER </P>
*/
public static final String CID = "carrier_id";
/**
* Contains mappings between matching rules with carrier id for all carriers.
* @hide
*/
public static final class All implements BaseColumns {
/** /**
* Numeric operator ID (as String). {@code MCC + MNC} * Numeric operator ID (as String). {@code MCC + MNC}
* <P>Type: TEXT </P> * <P>Type: TEXT </P>
@@ -3397,21 +3454,10 @@ public final class Telephony {
*/ */
public static final String ICCID_PREFIX = "iccid_prefix"; public static final String ICCID_PREFIX = "iccid_prefix";
/**
* User facing carrier name.
* <P>Type: TEXT </P>
*/
public static final String NAME = "carrier_name";
/**
* A unique carrier id
* <P>Type: INTEGER </P>
*/
public static final String CID = "carrier_id";
/** /**
* The {@code content://} URI for this table. * The {@code content://} URI for this table.
*/ */
public static final Uri CONTENT_URI = Uri.parse("content://carrier_identification"); public static final Uri CONTENT_URI = Uri.parse("content://carrier_identification/all");
}
} }
} }