Fix Android O: AccountManager API not working in managed profile.
Bug: 64577509 Test: NONE Change-Id: I25650b2002d392ef9b7f4f4732106b22bc0eaae2
This commit is contained in:
@@ -5289,25 +5289,25 @@ public class AccountManagerService
|
|||||||
long identityToken = Binder.clearCallingIdentity();
|
long identityToken = Binder.clearCallingIdentity();
|
||||||
try {
|
try {
|
||||||
packages = mPackageManager.getPackagesForUid(callingUid);
|
packages = mPackageManager.getPackagesForUid(callingUid);
|
||||||
} finally {
|
if (packages == null) {
|
||||||
Binder.restoreCallingIdentity(identityToken);
|
Log.d(TAG, "No packages for callingUid " + callingUid);
|
||||||
}
|
|
||||||
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());
|
|
||||||
return false;
|
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;
|
return false;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user