Merge "Fix account filtering for specific package name" into jb-mr2-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
60b4afedbe
@@ -2802,12 +2802,19 @@ public class AccountManagerService
|
||||
if (sharedAccounts == null || sharedAccounts.length == 0) return unfiltered;
|
||||
String requiredAccountType = "";
|
||||
try {
|
||||
for (String packageName : packages) {
|
||||
PackageInfo pi = mPackageManager.getPackageInfo(packageName, 0);
|
||||
// If there's an explicit callingPackage specified, check if that package
|
||||
// opted in to see restricted accounts.
|
||||
if (callingPackage != null) {
|
||||
PackageInfo pi = mPackageManager.getPackageInfo(callingPackage, 0);
|
||||
if (pi != null && pi.restrictedAccountType != null) {
|
||||
requiredAccountType = pi.restrictedAccountType;
|
||||
// If it matches the package name of the original caller, use this choice.
|
||||
if (callingPackage != null && packageName.equals(callingPackage)) {
|
||||
}
|
||||
} else {
|
||||
// Otherwise check if the callingUid has a package that has opted in
|
||||
for (String packageName : packages) {
|
||||
PackageInfo pi = mPackageManager.getPackageInfo(packageName, 0);
|
||||
if (pi != null && pi.restrictedAccountType != null) {
|
||||
requiredAccountType = pi.restrictedAccountType;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user