Expose RoleManager#getDefaultSmsPackage

Expose this method for module libraries. It's needed to support a public
method in TelephonyProvider that doesn't require any permissions.

Test: atest RoleManagerTest#smsRoleHolderAvailableWithoutObserveRoleHolders
Fixes: 169350676
Change-Id: Ia2725dc5aa0de74b2cf67ecd0666917ae27adda9
diff --git a/api/module-lib-current.txt b/api/module-lib-current.txt
index d27f5a5..f5bf787 100644
--- a/api/module-lib-current.txt
+++ b/api/module-lib-current.txt
@@ -16,6 +16,14 @@
 
 }
 
+package android.app.role {
+
+  public final class RoleManager {
+    method @Nullable public String getDefaultSmsPackage(int);
+  }
+
+}
+
 package android.content.rollback {
 
   public class RollbackManagerFrameworkInitializer {
diff --git a/api/test-current.txt b/api/test-current.txt
index 5082c57..3a96618 100644
--- a/api/test-current.txt
+++ b/api/test-current.txt
@@ -765,6 +765,7 @@
     method @RequiresPermission("android.permission.MANAGE_ROLE_HOLDERS") public void addRoleHolderAsUser(@NonNull String, @NonNull String, int, @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
     method @RequiresPermission("com.android.permissioncontroller.permission.MANAGE_ROLES_FROM_CONTROLLER") public boolean addRoleHolderFromController(@NonNull String, @NonNull String);
     method @RequiresPermission("android.permission.MANAGE_ROLE_HOLDERS") public void clearRoleHoldersAsUser(@NonNull String, int, @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
+    method @Nullable public String getDefaultSmsPackage(int);
     method @NonNull @RequiresPermission("com.android.permissioncontroller.permission.MANAGE_ROLES_FROM_CONTROLLER") public java.util.List<java.lang.String> getHeldRolesFromController(@NonNull String);
     method @NonNull @RequiresPermission("android.permission.MANAGE_ROLE_HOLDERS") public java.util.List<java.lang.String> getRoleHolders(@NonNull String);
     method @NonNull @RequiresPermission("android.permission.MANAGE_ROLE_HOLDERS") public java.util.List<java.lang.String> getRoleHoldersAsUser(@NonNull String, @NonNull android.os.UserHandle);
diff --git a/core/java/android/app/role/RoleManager.java b/core/java/android/app/role/RoleManager.java
index 253c73796..26edba3 100644
--- a/core/java/android/app/role/RoleManager.java
+++ b/core/java/android/app/role/RoleManager.java
@@ -634,6 +634,8 @@
      * @hide
      */
     @Nullable
+    @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES)
+    @TestApi
     public String getDefaultSmsPackage(@UserIdInt int userId) {
         try {
             return mService.getDefaultSmsPackage(userId);
diff --git a/non-updatable-api/module-lib-current.txt b/non-updatable-api/module-lib-current.txt
index 85136df..bcab49b 100644
--- a/non-updatable-api/module-lib-current.txt
+++ b/non-updatable-api/module-lib-current.txt
@@ -16,6 +16,14 @@
 
 }
 
+package android.app.role {
+
+  public final class RoleManager {
+    method @Nullable public String getDefaultSmsPackage(int);
+  }
+
+}
+
 package android.content.rollback {
 
   public class RollbackManagerFrameworkInitializer {