Merge "Use invalid package names for special keys in AccountManager." into oc-dev
am: e669ae438f
Change-Id: I41c726829585b3628125b17548428b3cc4f3a06e
This commit is contained in:
@@ -3035,8 +3035,8 @@ package android.accounts {
|
||||
field public static final java.lang.String KEY_PASSWORD = "password";
|
||||
field public static final java.lang.String KEY_USERDATA = "userdata";
|
||||
field public static final deprecated java.lang.String LOGIN_ACCOUNTS_CHANGED_ACTION = "android.accounts.LOGIN_ACCOUNTS_CHANGED";
|
||||
field public static final java.lang.String PACKAGE_NAME_KEY_LEGACY_NOT_VISIBLE = "android.accounts.key_legacy_not_visible";
|
||||
field public static final java.lang.String PACKAGE_NAME_KEY_LEGACY_VISIBLE = "android.accounts.key_legacy_visible";
|
||||
field public static final java.lang.String PACKAGE_NAME_KEY_LEGACY_NOT_VISIBLE = "android:accounts:key_legacy_not_visible";
|
||||
field public static final java.lang.String PACKAGE_NAME_KEY_LEGACY_VISIBLE = "android:accounts:key_legacy_visible";
|
||||
field public static final int VISIBILITY_NOT_VISIBLE = 3; // 0x3
|
||||
field public static final int VISIBILITY_UNDEFINED = 0; // 0x0
|
||||
field public static final int VISIBILITY_USER_MANAGED_NOT_VISIBLE = 4; // 0x4
|
||||
|
||||
@@ -3164,8 +3164,8 @@ package android.accounts {
|
||||
field public static final java.lang.String KEY_PASSWORD = "password";
|
||||
field public static final java.lang.String KEY_USERDATA = "userdata";
|
||||
field public static final deprecated java.lang.String LOGIN_ACCOUNTS_CHANGED_ACTION = "android.accounts.LOGIN_ACCOUNTS_CHANGED";
|
||||
field public static final java.lang.String PACKAGE_NAME_KEY_LEGACY_NOT_VISIBLE = "android.accounts.key_legacy_not_visible";
|
||||
field public static final java.lang.String PACKAGE_NAME_KEY_LEGACY_VISIBLE = "android.accounts.key_legacy_visible";
|
||||
field public static final java.lang.String PACKAGE_NAME_KEY_LEGACY_NOT_VISIBLE = "android:accounts:key_legacy_not_visible";
|
||||
field public static final java.lang.String PACKAGE_NAME_KEY_LEGACY_VISIBLE = "android:accounts:key_legacy_visible";
|
||||
field public static final int VISIBILITY_NOT_VISIBLE = 3; // 0x3
|
||||
field public static final int VISIBILITY_UNDEFINED = 0; // 0x0
|
||||
field public static final int VISIBILITY_USER_MANAGED_NOT_VISIBLE = 4; // 0x4
|
||||
|
||||
@@ -3035,8 +3035,8 @@ package android.accounts {
|
||||
field public static final java.lang.String KEY_PASSWORD = "password";
|
||||
field public static final java.lang.String KEY_USERDATA = "userdata";
|
||||
field public static final deprecated java.lang.String LOGIN_ACCOUNTS_CHANGED_ACTION = "android.accounts.LOGIN_ACCOUNTS_CHANGED";
|
||||
field public static final java.lang.String PACKAGE_NAME_KEY_LEGACY_NOT_VISIBLE = "android.accounts.key_legacy_not_visible";
|
||||
field public static final java.lang.String PACKAGE_NAME_KEY_LEGACY_VISIBLE = "android.accounts.key_legacy_visible";
|
||||
field public static final java.lang.String PACKAGE_NAME_KEY_LEGACY_NOT_VISIBLE = "android:accounts:key_legacy_not_visible";
|
||||
field public static final java.lang.String PACKAGE_NAME_KEY_LEGACY_VISIBLE = "android:accounts:key_legacy_visible";
|
||||
field public static final int VISIBILITY_NOT_VISIBLE = 3; // 0x3
|
||||
field public static final int VISIBILITY_UNDEFINED = 0; // 0x0
|
||||
field public static final int VISIBILITY_USER_MANAGED_NOT_VISIBLE = 4; // 0x4
|
||||
|
||||
@@ -376,7 +376,7 @@ public class AccountManager {
|
||||
* {@link #VISIBILITY_USER_MANAGED_NOT_VISIBLE} is used.
|
||||
*/
|
||||
public static final String PACKAGE_NAME_KEY_LEGACY_VISIBLE =
|
||||
"android.accounts.key_legacy_visible";
|
||||
"android:accounts:key_legacy_visible";
|
||||
|
||||
/**
|
||||
* Key to set visibility for applications which satisfy one of the following conditions:
|
||||
@@ -395,7 +395,7 @@ public class AccountManager {
|
||||
* {@link #VISIBILITY_USER_MANAGED_VISIBLE} is used.
|
||||
*/
|
||||
public static final String PACKAGE_NAME_KEY_LEGACY_NOT_VISIBLE =
|
||||
"android.accounts.key_legacy_not_visible";
|
||||
"android:accounts:key_legacy_not_visible";
|
||||
|
||||
/**
|
||||
* @hide
|
||||
|
||||
@@ -576,6 +576,22 @@ public class AccountManagerService
|
||||
long identityToken = clearCallingIdentity();
|
||||
try {
|
||||
UserAccounts accounts = getUserAccounts(userId);
|
||||
if (AccountManager.PACKAGE_NAME_KEY_LEGACY_VISIBLE.equals(packageName)) {
|
||||
int visibility = getAccountVisibilityFromCache(account, packageName, accounts);
|
||||
if (AccountManager.VISIBILITY_UNDEFINED != visibility) {
|
||||
return visibility;
|
||||
} else {
|
||||
return AccountManager.VISIBILITY_USER_MANAGED_VISIBLE;
|
||||
}
|
||||
}
|
||||
if (AccountManager.PACKAGE_NAME_KEY_LEGACY_NOT_VISIBLE.equals(packageName)) {
|
||||
int visibility = getAccountVisibilityFromCache(account, packageName, accounts);
|
||||
if (AccountManager.VISIBILITY_UNDEFINED != visibility) {
|
||||
return visibility;
|
||||
} else {
|
||||
return AccountManager.VISIBILITY_USER_MANAGED_NOT_VISIBLE;
|
||||
}
|
||||
}
|
||||
return resolveAccountVisibility(account, packageName, accounts);
|
||||
} finally {
|
||||
restoreCallingIdentity(identityToken);
|
||||
@@ -641,11 +657,6 @@ public class AccountManagerService
|
||||
return AccountManager.VISIBILITY_VISIBLE; // Authenticator can always see the account
|
||||
}
|
||||
|
||||
if (isSpecialPackageKey(packageName)) {
|
||||
Log.d(TAG, "Package name is forbidden: " + packageName);
|
||||
return AccountManager.VISIBILITY_NOT_VISIBLE;
|
||||
}
|
||||
|
||||
// Return stored value if it was set.
|
||||
int visibility = getAccountVisibilityFromCache(account, packageName, accounts);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user