Merge "Add @UnsupportedAppUsage annotations for greylist." am: be1393d695
am: c5178397df

Change-Id: I9f884f482e4622b3588488a97662f7e205fca9c3
diff --git a/src/java/com/android/internal/telephony/Call.java b/src/java/com/android/internal/telephony/Call.java
index 37fefd9..cce5ee7 100644
--- a/src/java/com/android/internal/telephony/Call.java
+++ b/src/java/com/android/internal/telephony/Call.java
@@ -16,25 +16,43 @@
 
 package com.android.internal.telephony;
 
+import android.annotation.UnsupportedAppUsage;
 import android.telecom.ConferenceParticipant;
+import android.telephony.Rlog;
 
 import java.util.ArrayList;
 import java.util.List;
 
-import android.annotation.UnsupportedAppUsage;
-import android.telephony.Rlog;
-
 /**
  * {@hide}
  */
 public abstract class Call {
     protected final String LOG_TAG = "Call";
 
-    /* Enums */
+    @UnsupportedAppUsage
+    public Call() {
+    }
 
+    /* Enums */
+    @UnsupportedAppUsage(implicitMember = "values()[Lcom/android/internal/telephony/Call$State;")
     public enum State {
         @UnsupportedAppUsage
-        IDLE, ACTIVE, HOLDING, DIALING, ALERTING, INCOMING, WAITING, DISCONNECTED, DISCONNECTING;
+        IDLE,
+        ACTIVE,
+        @UnsupportedAppUsage
+        HOLDING,
+        @UnsupportedAppUsage
+        DIALING,
+        @UnsupportedAppUsage
+        ALERTING,
+        @UnsupportedAppUsage
+        INCOMING,
+        @UnsupportedAppUsage
+        WAITING,
+        @UnsupportedAppUsage
+        DISCONNECTED,
+        @UnsupportedAppUsage
+        DISCONNECTING;
 
         @UnsupportedAppUsage
         public boolean isAlive() {
diff --git a/src/java/com/android/internal/telephony/CallForwardInfo.java b/src/java/com/android/internal/telephony/CallForwardInfo.java
index ea3ba27..d9967ad 100644
--- a/src/java/com/android/internal/telephony/CallForwardInfo.java
+++ b/src/java/com/android/internal/telephony/CallForwardInfo.java
@@ -28,6 +28,10 @@
     private static final String TAG = "CallForwardInfo";
 
     @UnsupportedAppUsage
+    public CallForwardInfo() {
+    }
+
+    @UnsupportedAppUsage
     public int             status;      /*1 = active, 0 = not active */
     @UnsupportedAppUsage
     public int             reason;      /* from TS 27.007 7.11 "reason" */
diff --git a/src/java/com/android/internal/telephony/CallTracker.java b/src/java/com/android/internal/telephony/CallTracker.java
index 002e082..f24b3c8 100644
--- a/src/java/com/android/internal/telephony/CallTracker.java
+++ b/src/java/com/android/internal/telephony/CallTracker.java
@@ -75,6 +75,10 @@
     protected static final int EVENT_THREE_WAY_DIAL_L2_RESULT_CDMA = 16;
     protected static final int EVENT_THREE_WAY_DIAL_BLANK_FLASH    = 20;
 
+    @UnsupportedAppUsage
+    public CallTracker() {
+    }
+
     protected void pollCallsWhenSafe() {
         mNeedsPoll = true;
 
diff --git a/src/java/com/android/internal/telephony/DriverCall.java b/src/java/com/android/internal/telephony/DriverCall.java
index 8c2c3db..3a7947d 100644
--- a/src/java/com/android/internal/telephony/DriverCall.java
+++ b/src/java/com/android/internal/telephony/DriverCall.java
@@ -17,9 +17,8 @@
 package com.android.internal.telephony;
 
 import android.annotation.UnsupportedAppUsage;
-import android.telephony.Rlog;
-import java.lang.Comparable;
 import android.telephony.PhoneNumberUtils;
+import android.telephony.Rlog;
 
 /**
  * {@hide}
@@ -27,6 +26,8 @@
 public class DriverCall implements Comparable<DriverCall> {
     static final String LOG_TAG = "DriverCall";
 
+    @UnsupportedAppUsage(implicitMember =
+            "values()[Lcom/android/internal/telephony/DriverCall$State;")
     public enum State {
         @UnsupportedAppUsage
         ACTIVE,
diff --git a/src/java/com/android/internal/telephony/IIccPhoneBook.aidl b/src/java/com/android/internal/telephony/IIccPhoneBook.aidl
index fbbdee2..dc990de 100644
--- a/src/java/com/android/internal/telephony/IIccPhoneBook.aidl
+++ b/src/java/com/android/internal/telephony/IIccPhoneBook.aidl
@@ -30,6 +30,7 @@
      * @param efid the EF id of a ADN-like SIM
      * @return List of AdnRecord
      */
+    @UnsupportedAppUsage
     List<AdnRecord> getAdnRecordsInEf(int efid);
 
     /**
@@ -40,6 +41,7 @@
      * @param subId user preferred subId
      * @return List of AdnRecord
      */
+    @UnsupportedAppUsage
     List<AdnRecord> getAdnRecordsInEfForSubscriber(int subId, int efid);
 
     /**
@@ -60,6 +62,7 @@
      * @param pin2 required to update EF_FDN, otherwise must be null
      * @return true for success
      */
+    @UnsupportedAppUsage
     boolean updateAdnRecordsInEfBySearch(int efid,
             String oldTag, String oldPhoneNumber,
             String newTag, String newPhoneNumber,
@@ -138,6 +141,7 @@
      *            recordSizes[1]  is the total length of the EF file
      *            recordSizes[2]  is the number of records in the EF file
      */
+    @UnsupportedAppUsage
     int[] getAdnRecordsSize(int efid);
 
     /**
@@ -150,6 +154,7 @@
      *            recordSizes[1]  is the total length of the EF file
      *            recordSizes[2]  is the number of records in the EF file
      */
+    @UnsupportedAppUsage
     int[] getAdnRecordsSizeForSubscriber(int subId, int efid);
 
 }
diff --git a/src/java/com/android/internal/telephony/IccProvider.java b/src/java/com/android/internal/telephony/IccProvider.java
index 3ac4027..ae5cd7b 100644
--- a/src/java/com/android/internal/telephony/IccProvider.java
+++ b/src/java/com/android/internal/telephony/IccProvider.java
@@ -81,6 +81,10 @@
 
     private SubscriptionManager mSubscriptionManager;
 
+    @UnsupportedAppUsage
+    public IccProvider() {
+    }
+
     @Override
     public boolean onCreate() {
         mSubscriptionManager = SubscriptionManager.from(getContext());
diff --git a/src/java/com/android/internal/telephony/cat/AppInterface.java b/src/java/com/android/internal/telephony/cat/AppInterface.java
index 14de438..4f6ca86 100755
--- a/src/java/com/android/internal/telephony/cat/AppInterface.java
+++ b/src/java/com/android/internal/telephony/cat/AppInterface.java
@@ -73,7 +73,9 @@
      * implementation should support those.
      * Refer to ETSI TS 102.223 section 9.4
      */
-    public static enum CommandType {
+    @UnsupportedAppUsage(implicitMember =
+            "values()[Lcom/android/internal/telephony/cat/AppInterface$CommandType;")
+    enum CommandType {
         @UnsupportedAppUsage
         DISPLAY_TEXT(0x21),
         @UnsupportedAppUsage
diff --git a/src/java/com/android/internal/telephony/cat/ResponseData.java b/src/java/com/android/internal/telephony/cat/ResponseData.java
index 600514f..4d0a2d2 100644
--- a/src/java/com/android/internal/telephony/cat/ResponseData.java
+++ b/src/java/com/android/internal/telephony/cat/ResponseData.java
@@ -16,20 +16,25 @@
 
 package com.android.internal.telephony.cat;
 
-import com.android.internal.telephony.EncodeException;
-import com.android.internal.telephony.GsmAlphabet;
-import java.util.Calendar;
-import java.util.TimeZone;
+import android.annotation.UnsupportedAppUsage;
 import android.os.SystemProperties;
 import android.text.TextUtils;
 
+import com.android.internal.telephony.EncodeException;
+import com.android.internal.telephony.GsmAlphabet;
 import com.android.internal.telephony.cat.AppInterface.CommandType;
 
-import android.annotation.UnsupportedAppUsage;
 import java.io.ByteArrayOutputStream;
 import java.io.UnsupportedEncodingException;
+import java.util.Calendar;
+import java.util.TimeZone;
 
 abstract class ResponseData {
+
+    @UnsupportedAppUsage
+    ResponseData() {
+    }
+
     /**
      * Format the data appropriate for TERMINAL RESPONSE and write it into
      * the ByteArrayOutputStream object.
diff --git a/src/java/com/android/internal/telephony/cat/ResultCode.java b/src/java/com/android/internal/telephony/cat/ResultCode.java
index 346d74a..adcf53e 100644
--- a/src/java/com/android/internal/telephony/cat/ResultCode.java
+++ b/src/java/com/android/internal/telephony/cat/ResultCode.java
@@ -26,6 +26,7 @@
  *
  * {@hide}
  */
+@UnsupportedAppUsage(implicitMember = "values()[Lcom/android/internal/telephony/cat/ResultCode;")
 public enum ResultCode {
 
     /*
diff --git a/src/java/com/android/internal/telephony/cat/RilMessageDecoder.java b/src/java/com/android/internal/telephony/cat/RilMessageDecoder.java
index 508908e..eeb9dd4 100755
--- a/src/java/com/android/internal/telephony/cat/RilMessageDecoder.java
+++ b/src/java/com/android/internal/telephony/cat/RilMessageDecoder.java
@@ -22,7 +22,6 @@
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
 
-import com.android.internal.telephony.PhoneConstants;
 import com.android.internal.telephony.uicc.IccFileHandler;
 import com.android.internal.telephony.uicc.IccUtils;
 import com.android.internal.util.State;
@@ -41,6 +40,7 @@
     // members
     @UnsupportedAppUsage
     private CommandParamsFactory mCmdParamsFactory = null;
+    @UnsupportedAppUsage
     private RilMessage mCurrentRilMessage = null;
     private Handler mCaller = null;
     private static int mSimCount = 0;
@@ -88,6 +88,7 @@
      *
      * @param rilMsg
      */
+    @UnsupportedAppUsage
     public void sendStartDecodingMessageParams(RilMessage rilMsg) {
         Message msg = obtainMessage(CMD_START);
         msg.obj = rilMsg;
@@ -107,6 +108,7 @@
         sendMessage(msg);
     }
 
+    @UnsupportedAppUsage
     private void sendCmdForExecution(RilMessage rilMsg) {
         Message msg = mCaller.obtainMessage(CatService.MSG_ID_RIL_MSG_DECODED,
                 new RilMessage(rilMsg));
diff --git a/src/java/com/android/internal/telephony/cat/ValueParser.java b/src/java/com/android/internal/telephony/cat/ValueParser.java
index 4e528b6..03d7f67 100644
--- a/src/java/com/android/internal/telephony/cat/ValueParser.java
+++ b/src/java/com/android/internal/telephony/cat/ValueParser.java
@@ -16,13 +16,14 @@
 
 package com.android.internal.telephony.cat;
 
+import android.annotation.UnsupportedAppUsage;
+import android.content.res.Resources;
+import android.content.res.Resources.NotFoundException;
+
 import com.android.internal.telephony.GsmAlphabet;
 import com.android.internal.telephony.cat.Duration.TimeUnit;
 import com.android.internal.telephony.uicc.IccUtils;
 
-import android.annotation.UnsupportedAppUsage;
-import android.content.res.Resources;
-import android.content.res.Resources.NotFoundException;
 import java.io.UnsupportedEncodingException;
 import java.util.ArrayList;
 import java.util.List;
@@ -62,6 +63,7 @@
      *         Command Details object is found, ResultException is thrown.
      * @throws ResultException
      */
+    @UnsupportedAppUsage
     static DeviceIdentities retrieveDeviceIdentities(ComprehensionTlv ctlv)
             throws ResultException {
 
diff --git a/src/java/com/android/internal/telephony/gsm/GsmCellBroadcastHandler.java b/src/java/com/android/internal/telephony/gsm/GsmCellBroadcastHandler.java
index b9d4171..052d89c 100644
--- a/src/java/com/android/internal/telephony/gsm/GsmCellBroadcastHandler.java
+++ b/src/java/com/android/internal/telephony/gsm/GsmCellBroadcastHandler.java
@@ -39,6 +39,8 @@
 import com.android.internal.telephony.gsm.GsmSmsCbMessage.GeoFencingTriggerMessage;
 import com.android.internal.telephony.gsm.GsmSmsCbMessage.GeoFencingTriggerMessage.CellBroadcastIdentity;
 
+import dalvik.annotation.compat.UnsupportedAppUsage;
+
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.Iterator;
@@ -54,6 +56,7 @@
     private static final String MESSAGE_NOT_BROADCASTED = "0";
 
     /** This map holds incomplete concatenated messages waiting for assembly. */
+    @UnsupportedAppUsage
     private final HashMap<SmsCbConcatInfo, byte[][]> mSmsCbPageMap =
             new HashMap<SmsCbConcatInfo, byte[][]>(4);
 
@@ -334,6 +337,7 @@
         private final SmsCbHeader mHeader;
         private final SmsCbLocation mLocation;
 
+        @UnsupportedAppUsage
         SmsCbConcatInfo(SmsCbHeader header, SmsCbLocation location) {
             mHeader = header;
             mLocation = location;
@@ -369,6 +373,7 @@
          * @param cid the current Cell ID
          * @return true if this message is valid for the current location; false otherwise
          */
+        @UnsupportedAppUsage
         public boolean matchesLocation(String plmn, int lac, int cid) {
             return mLocation.isInLocationArea(plmn, lac, cid);
         }
diff --git a/src/java/com/android/internal/telephony/gsm/GsmInboundSmsHandler.java b/src/java/com/android/internal/telephony/gsm/GsmInboundSmsHandler.java
index 0420e47..7b5dd0c 100644
--- a/src/java/com/android/internal/telephony/gsm/GsmInboundSmsHandler.java
+++ b/src/java/com/android/internal/telephony/gsm/GsmInboundSmsHandler.java
@@ -36,6 +36,8 @@
 import com.android.internal.telephony.VisualVoicemailSmsFilter;
 import com.android.internal.telephony.uicc.UsimServiceTable;
 
+import dalvik.annotation.compat.UnsupportedAppUsage;
+
 /**
  * This class broadcasts incoming SMS messages to interested apps after storing them in
  * the SmsProvider "raw" table and ACKing them to the SMSC. After each message has been
@@ -265,6 +267,7 @@
      * @param result result code indicating any error
      * @param response callback message sent when operation completes.
      */
+    @UnsupportedAppUsage
     @Override
     protected void acknowledgeLastIncomingSms(boolean success, int result, Message response) {
         mPhone.mCi.acknowledgeLastIncomingGsmSms(success, resultToCause(result), response);
diff --git a/src/java/com/android/internal/telephony/gsm/GsmMmiCode.java b/src/java/com/android/internal/telephony/gsm/GsmMmiCode.java
index 6e96e25a..01ba6ad 100644
--- a/src/java/com/android/internal/telephony/gsm/GsmMmiCode.java
+++ b/src/java/com/android/internal/telephony/gsm/GsmMmiCode.java
@@ -55,6 +55,8 @@
 import com.android.internal.telephony.uicc.UiccCardApplication;
 import com.android.internal.util.ArrayUtils;
 
+import dalvik.annotation.compat.UnsupportedAppUsage;
+
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
@@ -136,15 +138,25 @@
 
     //***** Instance Variables
 
+    @UnsupportedAppUsage
     GsmCdmaPhone mPhone;
+    @UnsupportedAppUsage
     Context mContext;
     UiccCardApplication mUiccApplication;
+    @UnsupportedAppUsage
     IccRecords mIccRecords;
 
     String mAction;              // One of ACTION_*
+    @UnsupportedAppUsage
     String mSc;                  // Service Code
-    String mSia, mSib, mSic;       // Service Info a,b,c
+    @UnsupportedAppUsage
+    String mSia;                 // Service Info a
+    @UnsupportedAppUsage
+    String  mSib;                // Service Info b
+    @UnsupportedAppUsage
+    String mSic;                 // Service Info c
     String mPoundString;         // Entire MMI string up to and including #
+    @UnsupportedAppUsage
     public String mDialingNumber;
     String mPwd;                 // For password registration
 
@@ -165,6 +177,7 @@
 
     // See TS 22.030 6.5.2 "Structure of the MMI"
 
+    @UnsupportedAppUsage
     static Pattern sPatternSuppService = Pattern.compile(
         "((\\*|#|\\*#|\\*\\*|##)(\\d{2,3})(\\*([^*#]*)(\\*([^*#]*)(\\*([^*#]*)(\\*([^*#]*))?)?)?)?#)(.*)");
 /*       1  2                    3          4  5       6   7         8    9     10  11             12
@@ -205,6 +218,7 @@
      *
      * Please see flow chart in TS 22.030 6.5.3.2
      */
+    @UnsupportedAppUsage
     public static GsmMmiCode newFromDialString(String dialString, GsmCdmaPhone phone,
             UiccCardApplication app) {
         return newFromDialString(dialString, phone, app, null);
@@ -461,6 +475,7 @@
     /** make empty strings be null.
      *  Regexp returns empty strings for empty groups
      */
+    @UnsupportedAppUsage
     private static String
     makeEmptyNull (String s) {
         if (s != null && s.length() == 0) return null;
@@ -498,6 +513,7 @@
         }
     }
 
+    @UnsupportedAppUsage
     private static int
     siToServiceClass(String si) {
         if (si == null || si.length() == 0) {
@@ -547,6 +563,7 @@
         }
     }
 
+    @UnsupportedAppUsage
     static boolean
     isServiceCodeCallForwarding(String sc) {
         return sc != null &&
@@ -556,6 +573,7 @@
                 || sc.equals(SC_CF_All_Conditional));
     }
 
+    @UnsupportedAppUsage
     static boolean
     isServiceCodeCallBarring(String sc) {
         Resources resource = Resources.getSystem();
@@ -600,6 +618,7 @@
 
     //***** Constructor
 
+    @UnsupportedAppUsage
     public GsmMmiCode(GsmCdmaPhone phone, UiccCardApplication app) {
         // The telephony unit-test cases may create GsmMmiCode's
         // in secondary threads
@@ -782,6 +801,7 @@
      *  In temporary mode, to invoke CLIR for a single call enter:
      *       " # 31 # [called number] SEND "
      */
+    @UnsupportedAppUsage
     public boolean
     isTemporaryModeCLIR() {
         return mSc != null && mSc.equals(SC_CLIR) && mDialingNumber != null
@@ -792,6 +812,7 @@
      * returns CommandsInterface.CLIR_*
      * See also isTemporaryModeCLIR()
      */
+    @UnsupportedAppUsage
     public int
     getCLIRMode() {
         if (mSc != null && mSc.equals(SC_CLIR)) {
@@ -829,22 +850,27 @@
         return false;
     }
 
+    @UnsupportedAppUsage
     boolean isActivate() {
         return mAction != null && mAction.equals(ACTION_ACTIVATE);
     }
 
+    @UnsupportedAppUsage
     boolean isDeactivate() {
         return mAction != null && mAction.equals(ACTION_DEACTIVATE);
     }
 
+    @UnsupportedAppUsage
     boolean isInterrogate() {
         return mAction != null && mAction.equals(ACTION_INTERROGATE);
     }
 
+    @UnsupportedAppUsage
     boolean isRegister() {
         return mAction != null && mAction.equals(ACTION_REGISTER);
     }
 
+    @UnsupportedAppUsage
     boolean isErasure() {
         return mAction != null && mAction.equals(ACTION_ERASURE);
     }
@@ -874,6 +900,7 @@
     }
 
     /** Process a MMI code or short code...anything that isn't a dialing number */
+    @UnsupportedAppUsage
     public void
     processCode() throws CallStateException {
         try {
@@ -1264,6 +1291,7 @@
         return mContext.getText(com.android.internal.R.string.mmiError);
     }
 
+    @UnsupportedAppUsage
     private CharSequence getScString() {
         if (mSc != null) {
             if (isServiceCodeCallBarring(mSc)) {
diff --git a/src/java/com/android/internal/telephony/gsm/GsmSMSDispatcher.java b/src/java/com/android/internal/telephony/gsm/GsmSMSDispatcher.java
index e9c5403..0e5d83f 100644
--- a/src/java/com/android/internal/telephony/gsm/GsmSMSDispatcher.java
+++ b/src/java/com/android/internal/telephony/gsm/GsmSMSDispatcher.java
@@ -28,9 +28,9 @@
 import com.android.internal.telephony.GsmAlphabet.TextEncodingDetails;
 import com.android.internal.telephony.InboundSmsHandler;
 import com.android.internal.telephony.Phone;
+import com.android.internal.telephony.SMSDispatcher;
 import com.android.internal.telephony.SmsConstants;
 import com.android.internal.telephony.SmsDispatchersController;
-import com.android.internal.telephony.SMSDispatcher;
 import com.android.internal.telephony.SmsHeader;
 import com.android.internal.telephony.SmsMessageBase;
 import com.android.internal.telephony.uicc.IccRecords;
@@ -39,6 +39,8 @@
 import com.android.internal.telephony.uicc.UiccController;
 import com.android.internal.telephony.util.SMSDispatcherUtil;
 
+import dalvik.annotation.compat.UnsupportedAppUsage;
+
 import java.util.HashMap;
 import java.util.concurrent.atomic.AtomicReference;
 
@@ -48,6 +50,7 @@
     private AtomicReference<IccRecords> mIccRecords = new AtomicReference<IccRecords>();
     private AtomicReference<UiccCardApplication> mUiccApplication =
             new AtomicReference<UiccCardApplication>();
+    @UnsupportedAppUsage
     private GsmInboundSmsHandler mGsmInboundSmsHandler;
 
     /** Status report received */
@@ -70,6 +73,7 @@
         mUiccController.unregisterForIccChanged(this);
     }
 
+    @UnsupportedAppUsage
     @Override
     protected String getFormat() {
         return SmsConstants.FORMAT_3GPP;
@@ -166,6 +170,7 @@
     }
 
     /** {@inheritDoc} */
+    @UnsupportedAppUsage
     @Override
     protected void sendSms(SmsTracker tracker) {
         int ss = mPhone.getServiceState().getState();
diff --git a/src/java/com/android/internal/telephony/gsm/SimTlv.java b/src/java/com/android/internal/telephony/gsm/SimTlv.java
index c98b9a1..7df1f96 100644
--- a/src/java/com/android/internal/telephony/gsm/SimTlv.java
+++ b/src/java/com/android/internal/telephony/gsm/SimTlv.java
@@ -16,6 +16,8 @@
 
 package com.android.internal.telephony.gsm;
 
+import dalvik.annotation.compat.UnsupportedAppUsage;
+
 /**
  * SIM Tag-Length-Value record
  * TS 102 223 Annex C
@@ -33,8 +35,10 @@
     int mCurOffset;
     int mCurDataOffset;
     int mCurDataLength;
+    @UnsupportedAppUsage
     boolean mHasValidTlvObject;
 
+    @UnsupportedAppUsage
     public SimTlv(byte[] record, int offset, int length) {
         mRecord = record;
 
@@ -45,6 +49,7 @@
         mHasValidTlvObject = parseCurrentTlvObject();
     }
 
+    @UnsupportedAppUsage
     public boolean nextObject() {
         if (!mHasValidTlvObject) return false;
         mCurOffset = mCurDataOffset + mCurDataLength;
@@ -52,6 +57,7 @@
         return mHasValidTlvObject;
     }
 
+    @UnsupportedAppUsage
     public boolean isValidObject() {
         return mHasValidTlvObject;
     }
@@ -62,6 +68,7 @@
      * 0 and 0xff are invalid tag values
      * valid tags range from 1 - 0xfe
      */
+    @UnsupportedAppUsage
     public int getTag() {
         if (!mHasValidTlvObject) return 0;
         return mRecord[mCurOffset] & 0xff;
@@ -72,6 +79,7 @@
      * returns null if !isValidObject()
      */
 
+    @UnsupportedAppUsage
     public byte[] getData() {
         if (!mHasValidTlvObject) return null;
 
diff --git a/src/java/com/android/internal/telephony/gsm/UsimPhoneBookManager.java b/src/java/com/android/internal/telephony/gsm/UsimPhoneBookManager.java
index 6489014..a541459 100755
--- a/src/java/com/android/internal/telephony/gsm/UsimPhoneBookManager.java
+++ b/src/java/com/android/internal/telephony/gsm/UsimPhoneBookManager.java
@@ -28,6 +28,9 @@
 import com.android.internal.telephony.uicc.IccConstants;
 import com.android.internal.telephony.uicc.IccFileHandler;
 import com.android.internal.telephony.uicc.IccUtils;
+
+import dalvik.annotation.compat.UnsupportedAppUsage;
+
 import java.util.ArrayList;
 
 /**
@@ -41,9 +44,12 @@
     private static final boolean DBG = true;
     private ArrayList<PbrRecord> mPbrRecords;
     private Boolean mIsPbrPresent;
+    @UnsupportedAppUsage
     private IccFileHandler mFh;
     private AdnRecordCache mAdnCache;
+    @UnsupportedAppUsage
     private Object mLock = new Object();
+    @UnsupportedAppUsage
     private ArrayList<AdnRecord> mPhoneBookRecords;
     private ArrayList<byte[]> mIapFileRecord;
     private ArrayList<byte[]> mEmailFileRecord;
@@ -119,6 +125,7 @@
         mSfiEfidTable = new SparseIntArray();
     }
 
+    @UnsupportedAppUsage
     public void reset() {
         mPhoneBookRecords.clear();
         mIapFileRecord = null;
@@ -131,6 +138,7 @@
     }
 
     // Load all phonebook related EFs from the SIM.
+    @UnsupportedAppUsage
     public ArrayList<AdnRecord> loadEfFilesFromUsim() {
         synchronized (mLock) {
             if (!mPhoneBookRecords.isEmpty()) {
@@ -660,6 +668,7 @@
         }
     }
 
+    @UnsupportedAppUsage
     private void log(String msg) {
         if(DBG) Rlog.d(LOG_TAG, msg);
     }
diff --git a/src/java/com/android/internal/telephony/imsphone/ImsPhone.java b/src/java/com/android/internal/telephony/imsphone/ImsPhone.java
index e0e1a23..7a863d0 100644
--- a/src/java/com/android/internal/telephony/imsphone/ImsPhone.java
+++ b/src/java/com/android/internal/telephony/imsphone/ImsPhone.java
@@ -237,6 +237,18 @@
         this.mCurrentSubscriberUris = currentSubscriberUris;
     }
 
+    @UnsupportedAppUsage
+    @Override
+    public void notifyCallForwardingIndicator() {
+        super.notifyCallForwardingIndicator();
+    }
+
+    @UnsupportedAppUsage
+    @Override
+    public void notifyPreciseCallStateChanged() {
+        super.notifyPreciseCallStateChanged();
+    }
+
     @Override
     public Uri[] getCurrentSubscriberUris() {
         return mCurrentSubscriberUris;
diff --git a/src/java/com/android/internal/telephony/imsphone/ImsPhoneCall.java b/src/java/com/android/internal/telephony/imsphone/ImsPhoneCall.java
index eb01a34..f2fb779 100644
--- a/src/java/com/android/internal/telephony/imsphone/ImsPhoneCall.java
+++ b/src/java/com/android/internal/telephony/imsphone/ImsPhoneCall.java
@@ -18,18 +18,18 @@
 
 import android.annotation.UnsupportedAppUsage;
 import android.telecom.ConferenceParticipant;
-import android.telephony.Rlog;
 import android.telephony.DisconnectCause;
+import android.telephony.Rlog;
+import android.telephony.ims.ImsStreamMediaProfile;
 import android.util.Log;
 
+import com.android.ims.ImsCall;
+import com.android.ims.ImsException;
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.telephony.Call;
 import com.android.internal.telephony.CallStateException;
 import com.android.internal.telephony.Connection;
 import com.android.internal.telephony.Phone;
-import com.android.ims.ImsCall;
-import com.android.ims.ImsException;
-import android.telephony.ims.ImsStreamMediaProfile;
 
 import java.util.List;
 
@@ -300,6 +300,7 @@
      * @return The {@link ImsCall}.
      */
     @VisibleForTesting
+    @UnsupportedAppUsage
     public ImsCall
     getImsCall() {
         return (getFirstConnection() == null) ? null : getFirstConnection().getImsCall();
diff --git a/src/java/com/android/internal/telephony/imsphone/ImsPhoneCallTracker.java b/src/java/com/android/internal/telephony/imsphone/ImsPhoneCallTracker.java
index 9c5202c..ec3f324 100644
--- a/src/java/com/android/internal/telephony/imsphone/ImsPhoneCallTracker.java
+++ b/src/java/com/android/internal/telephony/imsphone/ImsPhoneCallTracker.java
@@ -399,7 +399,7 @@
     private int mClirMode = CommandsInterface.CLIR_DEFAULT;
     @UnsupportedAppUsage
     private Object mSyncHold = new Object();
-
+    @UnsupportedAppUsage
     private ImsCall mUssdSession = null;
     @UnsupportedAppUsage
     private Message mPendingUssd = null;
@@ -415,6 +415,7 @@
 
     private PhoneConstants.State mState = PhoneConstants.State.IDLE;
 
+    @UnsupportedAppUsage
     private ImsManager mImsManager;
     private ImsUtInterface mUtInterface;
 
@@ -429,6 +430,7 @@
     private boolean pendingCallInEcm = false;
     @UnsupportedAppUsage
     private boolean mSwitchingFgAndBgCalls = false;
+    @UnsupportedAppUsage
     private ImsCall mCallExpectedToResume = null;
     @UnsupportedAppUsage
     private boolean mAllowEmergencyVideoCalls = false;
@@ -1898,6 +1900,7 @@
         mUssdSession.terminate(ImsReasonInfo.CODE_USER_TERMINATED);
     }
 
+    @UnsupportedAppUsage
     private synchronized ImsPhoneConnection findConnection(final ImsCall imsCall) {
         for (ImsPhoneConnection conn : mConnections) {
             if (conn.getImsCall() == imsCall) {
@@ -1937,6 +1940,7 @@
         }
     }
 
+    @UnsupportedAppUsage
     private void processCallStateChange(ImsCall imsCall, ImsPhoneCall.State state, int cause) {
         if (DBG) log("processCallStateChange " + imsCall + " state=" + state + " cause=" + cause);
         // This method is called on onCallUpdate() where there is not necessarily a call state
@@ -1946,6 +1950,7 @@
         processCallStateChange(imsCall, state, cause, false /* do not ignore state update */);
     }
 
+    @UnsupportedAppUsage
     private void processCallStateChange(ImsCall imsCall, ImsPhoneCall.State state, int cause,
             boolean ignoreState) {
         if (DBG) {
@@ -2260,6 +2265,7 @@
     /**
      * Listen to the IMS call state change
      */
+    @UnsupportedAppUsage
     private ImsCall.Listener mImsCallListener = new ImsCall.Listener() {
         @Override
         public void onCallProgressing(ImsCall imsCall) {
@@ -3728,6 +3734,7 @@
     }
 
     /* package */
+    @UnsupportedAppUsage
     ImsEcbm getEcbmInterface() throws ImsException {
         if (mImsManager == null) {
             throw getImsManagerIsNullException();
@@ -3814,6 +3821,7 @@
         mImsManagerConnector.connect();
     }
 
+    @UnsupportedAppUsage
     private void setVideoCallProvider(ImsPhoneConnection conn, ImsCall imsCall)
             throws RemoteException {
         IImsVideoCallProvider imsVideoCallProvider =
diff --git a/src/java/com/android/internal/telephony/imsphone/ImsPhoneConnection.java b/src/java/com/android/internal/telephony/imsphone/ImsPhoneConnection.java
index e086f16..f98fc40 100644
--- a/src/java/com/android/internal/telephony/imsphone/ImsPhoneConnection.java
+++ b/src/java/com/android/internal/telephony/imsphone/ImsPhoneConnection.java
@@ -66,6 +66,7 @@
     private ImsPhoneCallTracker mOwner;
     @UnsupportedAppUsage
     private ImsPhoneCall mParent;
+    @UnsupportedAppUsage
     private ImsCall mImsCall;
     private Bundle mExtras = new Bundle();
     private TelephonyMetrics mMetrics = TelephonyMetrics.getInstance();
@@ -727,6 +728,7 @@
      * @return {@code true} if the {@link ImsPhoneConnection} or its media capabilities have been
      *     changed, and {@code false} otherwise.
      */
+    @UnsupportedAppUsage
     public boolean update(ImsCall imsCall, ImsPhoneCall.State state) {
         if (state == ImsPhoneCall.State.ACTIVE) {
             // If the state of the call is active, but there is a pending request to the RIL to hold
diff --git a/src/java/com/android/internal/telephony/sip/SipPhone.java b/src/java/com/android/internal/telephony/sip/SipPhone.java
index 82a3287..7fcaf96 100644
--- a/src/java/com/android/internal/telephony/sip/SipPhone.java
+++ b/src/java/com/android/internal/telephony/sip/SipPhone.java
@@ -29,9 +29,9 @@
 import android.os.Message;
 import android.telephony.DisconnectCause;
 import android.telephony.PhoneNumberUtils;
+import android.telephony.Rlog;
 import android.telephony.ServiceState;
 import android.text.TextUtils;
-import android.telephony.Rlog;
 
 import com.android.internal.telephony.Call;
 import com.android.internal.telephony.CallStateException;
@@ -40,6 +40,8 @@
 import com.android.internal.telephony.PhoneConstants;
 import com.android.internal.telephony.PhoneNotifier;
 
+import dalvik.annotation.compat.UnsupportedAppUsage;
+
 import java.text.ParseException;
 import java.util.List;
 import java.util.regex.Pattern;
@@ -59,7 +61,9 @@
 
     // A call that is ringing or (call) waiting
     private SipCall mRingingCall = new SipCall();
+    @UnsupportedAppUsage
     private SipCall mForegroundCall = new SipCall();
+    @UnsupportedAppUsage
     private SipCall mBackgroundCall = new SipCall();
 
     private SipManager mSipManager;
@@ -431,6 +435,7 @@
         return false;
     }
 
+    @UnsupportedAppUsage
     private void log(String s) {
         Rlog.d(LOG_TAG, s);
     }
@@ -439,6 +444,7 @@
         Rlog.d(LOG_TAG, s);
     }
 
+    @UnsupportedAppUsage
     private void loge(String s) {
         Rlog.e(LOG_TAG, s);
     }
@@ -458,6 +464,7 @@
             setState(Call.State.IDLE);
         }
 
+        @UnsupportedAppUsage
         void switchWith(SipCall that) {
             if (SC_DBG) log("switchWith");
             synchronized (SipPhone.class) {
@@ -594,6 +601,7 @@
                     audioGroup.getMode()));
         }
 
+        @UnsupportedAppUsage
         void hold() throws CallStateException {
             if (SC_DBG) log("hold:");
             setState(State.HOLDING);
@@ -601,6 +609,7 @@
             setAudioGroupMode();
         }
 
+        @UnsupportedAppUsage
         void unhold() throws CallStateException {
             if (SC_DBG) log("unhold:");
             setState(State.ACTIVE);
diff --git a/src/java/com/android/internal/telephony/test/ModelInterpreter.java b/src/java/com/android/internal/telephony/test/ModelInterpreter.java
index 7930b56..2a046d9 100644
--- a/src/java/com/android/internal/telephony/test/ModelInterpreter.java
+++ b/src/java/com/android/internal/telephony/test/ModelInterpreter.java
@@ -20,6 +20,8 @@
 import android.os.Looper;
 import android.telephony.Rlog;
 
+import dalvik.annotation.compat.UnsupportedAppUsage;
+
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
@@ -121,6 +123,7 @@
 
 class InterpreterEx extends Exception
 {
+    @UnsupportedAppUsage
     public
     InterpreterEx (String result)
     {
diff --git a/src/java/com/android/internal/telephony/test/SimulatedCommands.java b/src/java/com/android/internal/telephony/test/SimulatedCommands.java
index 965d559..db581b2 100644
--- a/src/java/com/android/internal/telephony/test/SimulatedCommands.java
+++ b/src/java/com/android/internal/telephony/test/SimulatedCommands.java
@@ -69,6 +69,8 @@
 import com.android.internal.telephony.uicc.IccIoResult;
 import com.android.internal.telephony.uicc.IccSlotStatus;
 
+import dalvik.annotation.compat.UnsupportedAppUsage;
+
 import java.util.ArrayList;
 import java.util.List;
 import java.util.concurrent.atomic.AtomicBoolean;
@@ -113,6 +115,7 @@
 
     //***** Instance Variables
 
+    @UnsupportedAppUsage
     SimulatedGsmCallState simulatedCallState;
     HandlerThread mHandlerThread;
     SimLockState mSimLockedState;
@@ -153,6 +156,7 @@
 
     int mNextCallFailCause = CallFailCause.NORMAL_CLEARING;
 
+    @UnsupportedAppUsage
     private boolean mDcSuccess = true;
     private SetupDataCallResult mSetupDataCallResult;
     private boolean mIsRadioPowerFailResponse = false;
@@ -801,6 +805,7 @@
      *  ar.userObject contains the original value of result.obj
      *  ar.result is null on success and failure
      */
+    @UnsupportedAppUsage
     @Override
     public void acceptCall (Message result) {
         boolean success;
@@ -1654,6 +1659,7 @@
 
     //***** Private Methods
 
+    @UnsupportedAppUsage
     private void unimplemented(Message result) {
         if (result != null) {
             AsyncResult.forMessage(result).exception
@@ -1667,6 +1673,7 @@
         }
     }
 
+    @UnsupportedAppUsage
     private void resultSuccess(Message result, Object ret) {
         if (result != null) {
             AsyncResult.forMessage(result).result = ret;
@@ -1678,6 +1685,7 @@
         }
     }
 
+    @UnsupportedAppUsage
     private void resultFail(Message result, Object ret, Throwable tr) {
         if (result != null) {
             AsyncResult.forMessage(result, ret, tr);
diff --git a/src/java/com/android/internal/telephony/test/SimulatedCommandsVerifier.java b/src/java/com/android/internal/telephony/test/SimulatedCommandsVerifier.java
index 13d8a9b..c550f2c 100644
--- a/src/java/com/android/internal/telephony/test/SimulatedCommandsVerifier.java
+++ b/src/java/com/android/internal/telephony/test/SimulatedCommandsVerifier.java
@@ -32,6 +32,8 @@
 import com.android.internal.telephony.cdma.CdmaSmsBroadcastConfigInfo;
 import com.android.internal.telephony.gsm.SmsBroadcastConfigInfo;
 
+import dalvik.annotation.compat.UnsupportedAppUsage;
+
 public class SimulatedCommandsVerifier implements CommandsInterface {
     private static SimulatedCommandsVerifier sInstance;
 
@@ -39,6 +41,7 @@
 
     }
 
+    @UnsupportedAppUsage
     public static SimulatedCommandsVerifier getInstance() {
         if (sInstance == null) {
             sInstance = new SimulatedCommandsVerifier();
@@ -926,6 +929,7 @@
 
     }
 
+    @UnsupportedAppUsage
     @Override
     public void setCallForward(int action, int cfReason, int serviceClass, String number,
                                int timeSeconds, Message response) {
diff --git a/src/java/com/android/internal/telephony/test/SimulatedGsmCallState.java b/src/java/com/android/internal/telephony/test/SimulatedGsmCallState.java
index 75e84c4..72e2d93 100644
--- a/src/java/com/android/internal/telephony/test/SimulatedGsmCallState.java
+++ b/src/java/com/android/internal/telephony/test/SimulatedGsmCallState.java
@@ -16,16 +16,19 @@
 
 package com.android.internal.telephony.test;
 
+import android.os.Handler;
 import android.os.Looper;
 import android.os.Message;
-import android.os.Handler;
 import android.telephony.PhoneNumberUtils;
+import android.telephony.Rlog;
+
 import com.android.internal.telephony.ATParseEx;
 import com.android.internal.telephony.DriverCall;
-import java.util.List;
-import java.util.ArrayList;
 
-import android.telephony.Rlog;
+import dalvik.annotation.compat.UnsupportedAppUsage;
+
+import java.util.ArrayList;
+import java.util.List;
 
 class CallInfo {
     enum State {
@@ -388,6 +391,7 @@
         return found;
     }
 
+    @UnsupportedAppUsage
     public boolean
     onChld(char c0, char c1) {
         boolean ret;
@@ -444,6 +448,7 @@
         return ret;
     }
 
+    @UnsupportedAppUsage
     public boolean
     releaseHeldOrUDUB() {
         boolean found = false;
@@ -474,6 +479,7 @@
     }
 
 
+    @UnsupportedAppUsage
     public boolean
     releaseActiveAcceptHeldOrWaiting() {
         boolean foundHeld = false;
@@ -529,6 +535,7 @@
         return true;
     }
 
+    @UnsupportedAppUsage
     public boolean
     switchActiveAndHeldOrWaiting() {
         boolean hasHeld = false;
@@ -562,6 +569,7 @@
     }
 
 
+    @UnsupportedAppUsage
     public boolean
     separateCall(int index) {
         try {
@@ -603,6 +611,7 @@
 
 
 
+    @UnsupportedAppUsage
     public boolean
     conference() {
         int countCalls = 0;
diff --git a/src/java/com/android/internal/telephony/uicc/IccCardApplicationStatus.java b/src/java/com/android/internal/telephony/uicc/IccCardApplicationStatus.java
index 76242c4..87bbc69 100644
--- a/src/java/com/android/internal/telephony/uicc/IccCardApplicationStatus.java
+++ b/src/java/com/android/internal/telephony/uicc/IccCardApplicationStatus.java
@@ -28,7 +28,14 @@
  * {@hide}
  */
 public class IccCardApplicationStatus {
+
+    @UnsupportedAppUsage
+    public IccCardApplicationStatus() {
+    }
+
     // TODO: Replace with constants from PhoneConstants.APPTYPE_xxx
+    @UnsupportedAppUsage(implicitMember =
+            "values()[Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$AppType;")
     public enum AppType{
         @UnsupportedAppUsage
         APPTYPE_UNKNOWN,
@@ -44,6 +51,8 @@
         APPTYPE_ISIM
     }
 
+    @UnsupportedAppUsage(implicitMember =
+            "values()[Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$AppState;")
     public enum AppState{
         @UnsupportedAppUsage
         APPSTATE_UNKNOWN,
@@ -80,6 +89,8 @@
         }
     }
 
+    @UnsupportedAppUsage(implicitMember =
+            "values()[Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$PersoSubState;")
     public enum PersoSubState{
         @UnsupportedAppUsage
         PERSOSUBSTATE_UNKNOWN,
diff --git a/src/java/com/android/internal/telephony/uicc/IccRefreshResponse.java b/src/java/com/android/internal/telephony/uicc/IccRefreshResponse.java
index 7d0f845..ccb6f98 100644
--- a/src/java/com/android/internal/telephony/uicc/IccRefreshResponse.java
+++ b/src/java/com/android/internal/telephony/uicc/IccRefreshResponse.java
@@ -40,6 +40,10 @@
                                                   0x30, 0x30, 0x30 */
                                                /* Example: a0000000871002f310ffff89080000ff */
 
+    @UnsupportedAppUsage
+    public IccRefreshResponse() {
+    }
+
     @Override
     public String toString() {
         return "{" + refreshResult + ", " + aid +", " + efId + "}";
diff --git a/src/java/com/android/internal/telephony/uicc/SIMRecords.java b/src/java/com/android/internal/telephony/uicc/SIMRecords.java
index 6917563..663ebd6 100644
--- a/src/java/com/android/internal/telephony/uicc/SIMRecords.java
+++ b/src/java/com/android/internal/telephony/uicc/SIMRecords.java
@@ -1690,6 +1690,8 @@
     /**
      * States of Get SPN Finite State Machine which only used by getSpnFsm()
      */
+    @UnsupportedAppUsage(implicitMember =
+            "values()[Lcom/android/internal/telephony/uicc/SIMRecords$GetSpnFsmState;")
     private enum GetSpnFsmState {
         IDLE,               // No initialized
         @UnsupportedAppUsage