[Telephony Mainline] Use the new SystemApi for mainline

Bug: 144478274
Test: make
Change-Id: I644ea6f9ac0e2c7e3222a07a6eff59d6b38831a2
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index dbd5436..d8565eb 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -31,6 +31,8 @@
 
     <!-- This permission is only used to send the ACTION_EXTERNAL_PROVIDER_CHANGE intent. -->
     <uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
+    <!-- Allows accessing the messages on ICC -->
+    <uses-permission android:name="android.permission.ACCESS_MESSAGES_ON_ICC" />
 
     <application android:process="com.android.phone"
                  android:allowClearUserData="false"
diff --git a/src/com/android/providers/telephony/SmsProvider.java b/src/com/android/providers/telephony/SmsProvider.java
index 24c610e..d5b9559 100644
--- a/src/com/android/providers/telephony/SmsProvider.java
+++ b/src/com/android/providers/telephony/SmsProvider.java
@@ -47,7 +47,7 @@
 
 import com.android.internal.annotations.VisibleForTesting;
 
-import java.util.ArrayList;
+import java.util.List;
 import java.util.HashMap;
 
 public class SmsProvider extends ContentProvider {
@@ -351,12 +351,12 @@
         } catch (NumberFormatException exception) {
             throw new IllegalArgumentException("Bad SMS ICC ID: " + messageIndexString);
         }
-        ArrayList<SmsMessage> messages;
+        List<SmsMessage> messages;
         final SmsManager smsManager = SmsManager.getDefault();
         // Use phone id to avoid AppOps uid mismatch in telephony
         long token = Binder.clearCallingIdentity();
         try {
-            messages = smsManager.getAllMessagesFromIcc();
+            messages = smsManager.getMessagesFromIcc();
         } finally {
             Binder.restoreCallingIdentity(token);
         }
@@ -378,12 +378,12 @@
      */
     private Cursor getAllMessagesFromIcc() {
         SmsManager smsManager = SmsManager.getDefault();
-        ArrayList<SmsMessage> messages;
+        List<SmsMessage> messages;
 
         // use phone app permissions to avoid UID mismatch in AppOpsManager.noteOp() call
         long token = Binder.clearCallingIdentity();
         try {
-            messages = smsManager.getAllMessagesFromIcc();
+            messages = smsManager.getMessagesFromIcc();
         } finally {
             Binder.restoreCallingIdentity(token);
         }