Merge "Revert "API tweaks"" am: c61bb461b6 am: 8230f428e4
am: fdc3dc5670

Change-Id: I53aba1bcac7bc5aabba152dcb9f6510befba4f69
diff --git a/api/current.txt b/api/current.txt
index 7f07d09..7b05726 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -43830,7 +43830,6 @@
   }
 
   public final class PhoneAccountSuggestion implements android.os.Parcelable {
-    ctor public PhoneAccountSuggestion(@NonNull android.telecom.PhoneAccountHandle, int, boolean);
     method public int describeContents();
     method @NonNull public android.telecom.PhoneAccountHandle getPhoneAccountHandle();
     method public int getReason();
diff --git a/api/system-current.txt b/api/system-current.txt
index 9b552e2..98464d8 100644
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -7002,6 +7002,10 @@
     field public static final int CAPABILITY_MULTI_USER = 32; // 0x20
   }
 
+  public final class PhoneAccountSuggestion implements android.os.Parcelable {
+    ctor public PhoneAccountSuggestion(@NonNull android.telecom.PhoneAccountHandle, int, boolean);
+  }
+
   public class PhoneAccountSuggestionService extends android.app.Service {
     ctor public PhoneAccountSuggestionService();
     method public void onAccountSuggestionRequest(@NonNull String);
diff --git a/api/test-current.txt b/api/test-current.txt
index 6f8e0fa..b220325 100644
--- a/api/test-current.txt
+++ b/api/test-current.txt
@@ -2355,6 +2355,10 @@
     method public android.telecom.Connection getPrimaryConnection();
   }
 
+  public final class PhoneAccountSuggestion implements android.os.Parcelable {
+    ctor public PhoneAccountSuggestion(@NonNull android.telecom.PhoneAccountHandle, int, boolean);
+  }
+
   public class PhoneAccountSuggestionService extends android.app.Service {
     ctor public PhoneAccountSuggestionService();
     method public void onAccountSuggestionRequest(@NonNull String);
diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml
index ccfbde5..4c4393d 100644
--- a/core/res/AndroidManifest.xml
+++ b/core/res/AndroidManifest.xml
@@ -2002,12 +2002,12 @@
 
     <!-- Must be required by a {@link android.telecom.PhoneAccountSuggestionService},
          to ensure that only the system can bind to it.
-         <p>Protection level: signature
+         <p>Protection level: signature|privileged
          @SystemApi
          @hide
     -->
     <permission android:name="android.permission.BIND_PHONE_ACCOUNT_SUGGESTION_SERVICE"
-        android:protectionLevel="signature" />
+        android:protectionLevel="signature|privileged" />
 
     <!-- Must be required by a {@link android.telecom.CallRedirectionService},
          to ensure that only the system can bind to it.
diff --git a/telecomm/java/android/telecom/PhoneAccountSuggestion.java b/telecomm/java/android/telecom/PhoneAccountSuggestion.java
index 2589d95..3799cf3 100644
--- a/telecomm/java/android/telecom/PhoneAccountSuggestion.java
+++ b/telecomm/java/android/telecom/PhoneAccountSuggestion.java
@@ -18,6 +18,8 @@
 
 import android.annotation.IntDef;
 import android.annotation.NonNull;
+import android.annotation.SystemApi;
+import android.annotation.TestApi;
 import android.os.Parcel;
 import android.os.Parcelable;
 
@@ -67,15 +69,10 @@
     private boolean mShouldAutoSelect;
 
     /**
-     * Creates a new instance of {@link PhoneAccountSuggestion}. This constructor is intended for
-     * use by apps implementing a {@link PhoneAccountSuggestionService}, and generally should not be
-     * used by dialer apps other than for testing purposes.
-     *
-     * @param handle The {@link PhoneAccountHandle} for this suggestion.
-     * @param reason The reason for this suggestion
-     * @param shouldAutoSelect Whether the dialer should automatically place the call using this
-     *                         account. See {@link #shouldAutoSelect()}.
+     * @hide
      */
+    @SystemApi
+    @TestApi
     public PhoneAccountSuggestion(@NonNull PhoneAccountHandle handle, @SuggestionReason int reason,
             boolean shouldAutoSelect) {
         this.mHandle = handle;