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";
}
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 {
field public static final java.lang.String APN = "apn";
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.SmsMessage;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
import android.text.TextUtils;
import android.util.Patterns;
@@ -3345,73 +3346,118 @@ public final class Telephony {
}
/**
* Contains carrier identification information.
* @hide
* Contains carrier identification information for the current subscriptions.
* @see SubscriptionManager#getActiveSubscriptionIdList()
*/
public static final class CarrierIdentification implements BaseColumns {
/**
* Numeric operator ID (as String). {@code MCC + MNC}
* <P>Type: TEXT </P>
* Not instantiable.
* @hide
*/
public static final String MCCMNC = "mccmnc";
private CarrierIdentification() {}
/**
* Group id level 1 (as String).
* <P>Type: TEXT </P>
* The {@code content://} style URI for this provider.
*/
public static final String GID1 = "gid1";
public static final Uri CONTENT_URI = Uri.parse("content://carrier_identification");
/**
* Group id level 2 (as String).
* <P>Type: TEXT </P>
* The authority string for the CarrierIdentification Provider
* @hide
*/
public static final String GID2 = "gid2";
public static final String AUTHORITY = "carrier_identification";
/**
* Public Land Mobile Network name.
* <P>Type: TEXT </P>
* 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 final String PLMN = "plmn";
public static Uri getUriForSubscriptionId(int subscriptionId) {
return CONTENT_URI.buildUpon().appendEncodedPath(
String.valueOf(subscriptionId)).build();
}
/**
* Prefix xpattern of IMSI (International Mobile Subscriber Identity).
* <P>Type: TEXT </P>
*/
public static final String IMSI_PREFIX_XPATTERN = "imsi_prefix_xpattern";
/**
* Service Provider Name.
* <P>Type: TEXT </P>
*/
public static final String SPN = "spn";
/**
* Prefer APN name.
* <P>Type: TEXT </P>
*/
public static final String APN = "apn";
/**
* Prefix of Integrated Circuit Card Identifier.
* <P>Type: TEXT </P>
*/
public static final String ICCID_PREFIX = "iccid_prefix";
/**
* User facing carrier name.
* 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";
/**
* The {@code content://} URI for this table.
* Contains mappings between matching rules with carrier id for all carriers.
* @hide
*/
public static final Uri CONTENT_URI = Uri.parse("content://carrier_identification");
public static final class All implements BaseColumns {
/**
* Numeric operator ID (as String). {@code MCC + MNC}
* <P>Type: TEXT </P>
*/
public static final String MCCMNC = "mccmnc";
/**
* Group id level 1 (as String).
* <P>Type: TEXT </P>
*/
public static final String GID1 = "gid1";
/**
* Group id level 2 (as String).
* <P>Type: TEXT </P>
*/
public static final String GID2 = "gid2";
/**
* Public Land Mobile Network name.
* <P>Type: TEXT </P>
*/
public static final String PLMN = "plmn";
/**
* Prefix xpattern of IMSI (International Mobile Subscriber Identity).
* <P>Type: TEXT </P>
*/
public static final String IMSI_PREFIX_XPATTERN = "imsi_prefix_xpattern";
/**
* Service Provider Name.
* <P>Type: TEXT </P>
*/
public static final String SPN = "spn";
/**
* Prefer APN name.
* <P>Type: TEXT </P>
*/
public static final String APN = "apn";
/**
* Prefix of Integrated Circuit Card Identifier.
* <P>Type: TEXT </P>
*/
public static final String ICCID_PREFIX = "iccid_prefix";
/**
* The {@code content://} URI for this table.
*/
public static final Uri CONTENT_URI = Uri.parse("content://carrier_identification/all");
}
}
}