Skip to content

Commit 2062eef

Browse files
committed
Add a privileged permission to get user accounts
bug:22602794 Change-Id: I6e5429f0eb5f2cb274d4740755070e588735e179
1 parent 81adda2 commit 2062eef

4 files changed

Lines changed: 8 additions & 1 deletion

File tree

api/current.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ package android {
6666
field public static final java.lang.String FACTORY_TEST = "android.permission.FACTORY_TEST";
6767
field public static final java.lang.String FLASHLIGHT = "android.permission.FLASHLIGHT";
6868
field public static final java.lang.String GET_ACCOUNTS = "android.permission.GET_ACCOUNTS";
69+
field public static final java.lang.String GET_ACCOUNTS_PRIVILEGED = "android.permission.GET_ACCOUNTS_PRIVILEGED";
6970
field public static final java.lang.String GET_PACKAGE_SIZE = "android.permission.GET_PACKAGE_SIZE";
7071
field public static final deprecated java.lang.String GET_TASKS = "android.permission.GET_TASKS";
7172
field public static final java.lang.String GLOBAL_SEARCH = "android.permission.GLOBAL_SEARCH";

api/system-current.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,7 @@ package android {
9595
field public static final java.lang.String FORCE_BACK = "android.permission.FORCE_BACK";
9696
field public static final java.lang.String FORCE_STOP_PACKAGES = "android.permission.FORCE_STOP_PACKAGES";
9797
field public static final java.lang.String GET_ACCOUNTS = "android.permission.GET_ACCOUNTS";
98+
field public static final java.lang.String GET_ACCOUNTS_PRIVILEGED = "android.permission.GET_ACCOUNTS_PRIVILEGED";
9899
field public static final java.lang.String GET_APP_OPS_STATS = "android.permission.GET_APP_OPS_STATS";
99100
field public static final java.lang.String GET_PACKAGE_IMPORTANCE = "android.permission.GET_PACKAGE_IMPORTANCE";
100101
field public static final java.lang.String GET_PACKAGE_SIZE = "android.permission.GET_PACKAGE_SIZE";

core/res/AndroidManifest.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1746,6 +1746,10 @@
17461746
<!-- ==================================== -->
17471747
<eat-comment />
17481748

1749+
<!-- @SystemApi Allows access to the list of accounts in the Accounts Service. -->
1750+
<permission android:name="android.permission.GET_ACCOUNTS_PRIVILEGED"
1751+
android:protectionLevel="signature|privileged" />
1752+
17491753
<!-- @SystemApi Allows applications to RW to diagnostic resources.
17501754
<p>Not for use by third-party applications. -->
17511755
<permission android:name="android.permission.DIAGNOSTIC"

services/core/java/com/android/server/accounts/AccountManagerService.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3799,7 +3799,8 @@ private boolean isReadAccountsPermitted(int callingUid, String accountType) {
37993799
* access accounts of the specified account.
38003800
*/
38013801
boolean isPermitted =
3802-
isPermitted(callingUid, Manifest.permission.GET_ACCOUNTS);
3802+
isPermitted(callingUid, Manifest.permission.GET_ACCOUNTS,
3803+
Manifest.permission.GET_ACCOUNTS_PRIVILEGED);
38033804
boolean isAccountManagedByCaller = isAccountManagedByCaller(accountType, callingUid);
38043805
Log.w(TAG, String.format(
38053806
"isReadAccountPermitted: isPermitted: %s, isAM: %s",

0 commit comments

Comments
 (0)