Merge "Add device/profile app check in background check" into oc-mr1-dev am: f5d7db2cfa

am: ec8007b426

Change-Id: I118fee2b974a0815d21d422358250281da9804f0
This commit is contained in:
Lei Yu
2017-08-30 17:21:30 +00:00
committed by android-build-merger
8 changed files with 95 additions and 40 deletions

View File

@@ -383,7 +383,7 @@ public class AppButtonsPreferenceController extends AbstractPreferenceController
// We don't allow uninstalling DO/PO on *any* users, because if it's a system app,
// "uninstall" is actually "downgrade to the system version + disable", and "downgrade"
// will clear data on all users.
if (isProfileOrDeviceOwner(mPackageInfo.packageName)) {
if (Utils.isProfileOrDeviceOwner(mUserManager, mDpm, mPackageInfo.packageName)) {
enabled = false;
}
@@ -582,21 +582,6 @@ public class AppButtonsPreferenceController extends AbstractPreferenceController
|| (mUserManager.isSplitSystemUser() && userCount == 2);
}
/** Returns if the supplied package is device owner or profile owner of at least one user */
private boolean isProfileOrDeviceOwner(String packageName) {
List<UserInfo> userInfos = mUserManager.getUsers();
if (mDpm.isDeviceOwnerAppOnAnyUser(packageName)) {
return true;
}
for (int i = 0, size = userInfos.size(); i < size; i++) {
ComponentName cn = mDpm.getProfileOwnerAsUser(userInfos.get(i).id);
if (cn != null && cn.getPackageName().equals(packageName)) {
return true;
}
}
return false;
}
private final BroadcastReceiver mCheckKillProcessesReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {