Fix Android O: AccountManager API not working in managed profile.
am: 9ae597b6f2
Change-Id: I4c346731e3b85cce5dd6b6c13b1312c420a60b34
This commit is contained in:
@@ -5330,25 +5330,25 @@ public class AccountManagerService
|
||||
long identityToken = Binder.clearCallingIdentity();
|
||||
try {
|
||||
packages = mPackageManager.getPackagesForUid(callingUid);
|
||||
} finally {
|
||||
Binder.restoreCallingIdentity(identityToken);
|
||||
}
|
||||
if (packages == null) {
|
||||
Log.d(TAG, "No packages for callingUid " + callingUid);
|
||||
return false;
|
||||
}
|
||||
for (String name : packages) {
|
||||
try {
|
||||
PackageInfo packageInfo = mPackageManager.getPackageInfo(name, 0 /* flags */);
|
||||
if (packageInfo != null
|
||||
&& (packageInfo.applicationInfo.privateFlags
|
||||
& ApplicationInfo.PRIVATE_FLAG_PRIVILEGED) != 0) {
|
||||
return true;
|
||||
}
|
||||
} catch (PackageManager.NameNotFoundException e) {
|
||||
Log.d(TAG, "Package not found " + e.getMessage());
|
||||
if (packages == null) {
|
||||
Log.d(TAG, "No packages for callingUid " + callingUid);
|
||||
return false;
|
||||
}
|
||||
for (String name : packages) {
|
||||
try {
|
||||
PackageInfo packageInfo =
|
||||
mPackageManager.getPackageInfo(name, 0 /* flags */);
|
||||
if (packageInfo != null
|
||||
&& (packageInfo.applicationInfo.privateFlags
|
||||
& ApplicationInfo.PRIVATE_FLAG_PRIVILEGED) != 0) {
|
||||
return true;
|
||||
}
|
||||
} catch (PackageManager.NameNotFoundException e) {
|
||||
Log.d(TAG, "Package not found " + e.getMessage());
|
||||
}
|
||||
}
|
||||
} finally {
|
||||
Binder.restoreCallingIdentity(identityToken);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user