Unrestrict app if it been set as device admin app

Fix merge conlict in imports area

Bug: 110337989
Test: RunSettingsRoboTests
Change-Id: I8229bee97d970f8b16351193cfd99ca05ff041bf
This commit is contained in:
Lei Yu
2018-06-28 14:08:42 -07:00
committed by jackqdyulei
parent 636cc6caf9
commit 154af9a750
2 changed files with 51 additions and 0 deletions

View File

@@ -61,6 +61,8 @@ import android.widget.TextView;
import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.EventLogTags;
import com.android.settings.R;
import com.android.settings.fuelgauge.BatteryUtils;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.users.UserDialogs;
import com.android.settingslib.RestrictedLockUtils;
@@ -427,6 +429,9 @@ public class DeviceAdminAdd extends Activity {
mDPM.setActiveAdmin(mDeviceAdmin.getComponent(), mRefreshing);
EventLog.writeEvent(EventLogTags.EXP_DET_DEVICE_ADMIN_ACTIVATED_BY_USER,
mDeviceAdmin.getActivityInfo().applicationInfo.uid);
unrestrictAppIfPossible(BatteryUtils.getInstance(this));
setResult(Activity.RESULT_OK);
} catch (RuntimeException e) {
// Something bad happened... could be that it was
@@ -448,6 +453,15 @@ public class DeviceAdminAdd extends Activity {
finish();
}
void unrestrictAppIfPossible(BatteryUtils batteryUtils) {
// Unrestrict admin app if it is already been restricted
final String packageName = mDeviceAdmin.getComponent().getPackageName();
final int uid = batteryUtils.getPackageUid(packageName);
if (batteryUtils.isForceAppStandbyEnabled(uid, packageName)) {
batteryUtils.setForceAppStandby(uid, packageName, AppOpsManager.MODE_ALLOWED);
}
}
void continueRemoveAction(CharSequence msg) {
if (!mWaitingForRemoveMsg) {
return;