Merge "Add SystemApi and NonNull annotation"
am: 79ca88e3b5

Change-Id: Id11ab9f5b4d0ad2623bfa09aea47c2628c133b03
diff --git a/api/system-current.txt b/api/system-current.txt
index a135f55..465bfb5 100644
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -6428,6 +6428,32 @@
     field public static final int VOLUME_HUSH_VIBRATE = 1; // 0x1
   }
 
+  public static interface Telephony.CarrierColumns extends android.provider.BaseColumns {
+    field @NonNull public static final android.net.Uri CONTENT_URI;
+    field public static final String EXPIRATION_TIME = "expiration_time";
+    field public static final String KEY_IDENTIFIER = "key_identifier";
+    field public static final String KEY_TYPE = "key_type";
+    field public static final String LAST_MODIFIED = "last_modified";
+    field public static final String MCC = "mcc";
+    field public static final String MNC = "mnc";
+    field public static final String MVNO_MATCH_DATA = "mvno_match_data";
+    field public static final String MVNO_TYPE = "mvno_type";
+    field public static final String PUBLIC_KEY = "public_key";
+  }
+
+  public static final class Telephony.CarrierId.All implements android.provider.BaseColumns {
+    field public static final String APN = "apn";
+    field @NonNull public static final android.net.Uri CONTENT_URI;
+    field public static final String GID1 = "gid1";
+    field public static final String GID2 = "gid2";
+    field public static final String ICCID_PREFIX = "iccid_prefix";
+    field public static final String IMSI_PREFIX_XPATTERN = "imsi_prefix_xpattern";
+    field public static final String MCCMNC = "mccmnc";
+    field public static final String PLMN = "plmn";
+    field public static final String PRIVILEGE_ACCESS_RULE = "privilege_access_rule";
+    field public static final String SPN = "spn";
+  }
+
   public static final class Telephony.Carriers implements android.provider.BaseColumns {
     field public static final String APN_SET_ID = "apn_set_id";
     field public static final int CARRIER_EDITED = 4; // 0x4
diff --git a/telephony/java/android/provider/Telephony.java b/telephony/java/android/provider/Telephony.java
index 087937d..5063b2c 100644
--- a/telephony/java/android/provider/Telephony.java
+++ b/telephony/java/android/provider/Telephony.java
@@ -1366,22 +1366,76 @@
      * Base column for the table that contain Carrier Public key.
      * @hide
      */
+    @SystemApi
     public interface CarrierColumns extends BaseColumns {
 
+        /**
+         * Mobile Country Code (MCC).
+         * <P> Type: TEXT </P>
+         */
         public static final String MCC = "mcc";
+
+        /**
+         * Mobile Network Code (MNC).
+         * <P> Type: TEXT </P>
+         */
         public static final String MNC = "mnc";
+
+        /**
+         * KeyType whether the key is being used for WLAN or ePDG.
+         * <P> Type: INTEGER </P>
+         */
         public static final String KEY_TYPE = "key_type";
+
+        /**
+         * MVNO type:
+         * {@code SPN (Service Provider Name), IMSI, GID (Group Identifier Level 1)}.
+         * <P> Type: TEXT </P>
+         */
         public static final String MVNO_TYPE = "mvno_type";
+
+        /**
+         * MVNO data.
+         * Use the following examples.
+         * <ul>
+         *     <li>SPN: A MOBILE, BEN NL, ...</li>
+         *     <li>IMSI: 302720x94, 2060188, ...</li>
+         *     <li>GID: 4E, 33, ...</li>
+         * </ul>
+         * <P> Type: TEXT </P>
+         */
         public static final String MVNO_MATCH_DATA = "mvno_match_data";
+
+        /**
+         * The carrier public key that is used for the IMSI encryption.
+         * <P> Type: TEXT </P>
+         */
         public static final String PUBLIC_KEY = "public_key";
+
+        /**
+         * The key identifier Attribute value pair that helps a server locate
+         * the private key to decrypt the permanent identity.
+         * <P> Type: TEXT </P>
+         */
         public static final String KEY_IDENTIFIER = "key_identifier";
+
+        /**
+         * Date-Time in UTC when the key will expire.
+         * <P> Type: INTEGER (long) </P>
+         */
         public static final String EXPIRATION_TIME = "expiration_time";
+
+        /**
+         * Timestamp when this table was last modified, in milliseconds since
+         * January 1, 1970 00:00:00.0 UTC.
+         * <P> Type: INTEGER (long) </P>
+         */
         public static final String LAST_MODIFIED = "last_modified";
 
         /**
          * The {@code content://} style URL for this table.
-         * @hide
          */
+        @NonNull
         public static final Uri CONTENT_URI = Uri.parse("content://carrier_information/carrier");
     }
 
@@ -4688,7 +4742,16 @@
          * Contains mappings between matching rules with carrier id for all carriers.
          * @hide
          */
+        @SystemApi
         public static final class All implements BaseColumns {
+
+            /**
+             * Not instantiable.
+             * @hide
+             */
+            private All() {
+            }
+
             /**
              * Numeric operator ID (as String). {@code MCC + MNC}
              * <P>Type: TEXT </P>
@@ -4746,6 +4809,7 @@
             /**
              * The {@code content://} URI for this table.
              */
+            @NonNull
             public static final Uri CONTENT_URI = Uri.parse("content://carrier_id/all");
         }
     }