Merge "Unrestrict SMS/PHONE app if it been set active"
This commit is contained in:
committed by
Android (Google) Code Review
commit
ad2e828f57
@@ -28,6 +28,7 @@ import android.util.Pair;
|
||||
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
|
||||
import com.android.settings.fuelgauge.BatteryUtils;
|
||||
import com.android.settings.widget.RadioButtonPickerFragment;
|
||||
import com.android.settings.widget.RadioButtonPreference;
|
||||
import com.android.settingslib.applications.DefaultAppInfo;
|
||||
@@ -43,11 +44,13 @@ import androidx.fragment.app.FragmentActivity;
|
||||
public abstract class DefaultAppPickerFragment extends RadioButtonPickerFragment {
|
||||
|
||||
protected PackageManager mPm;
|
||||
protected BatteryUtils mBatteryUtils;
|
||||
|
||||
@Override
|
||||
public void onAttach(Context context) {
|
||||
super.onAttach(context);
|
||||
mPm = context.getPackageManager();
|
||||
mBatteryUtils = BatteryUtils.getInstance(context);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -80,6 +80,7 @@ public class DefaultPhonePicker extends DefaultAppPickerFragment {
|
||||
@Override
|
||||
protected boolean setDefaultKey(String key) {
|
||||
if (!TextUtils.isEmpty(key) && !TextUtils.equals(key, getDefaultKey())) {
|
||||
mBatteryUtils.clearForceAppStandby(key);
|
||||
return mDefaultKeyUpdater.setDefaultDialerApplication(getContext(), key, mUserId);
|
||||
}
|
||||
return false;
|
||||
|
@@ -16,6 +16,7 @@
|
||||
|
||||
package com.android.settings.applications.defaultapps;
|
||||
|
||||
import android.app.AppOpsManager;
|
||||
import android.content.ComponentName;
|
||||
import android.content.Context;
|
||||
import android.content.pm.PackageManager;
|
||||
@@ -25,6 +26,7 @@ import com.android.internal.logging.nano.MetricsProto;
|
||||
import com.android.internal.telephony.SmsApplication;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.Utils;
|
||||
import com.android.settings.fuelgauge.BatteryUtils;
|
||||
import com.android.settingslib.applications.DefaultAppInfo;
|
||||
import com.android.settingslib.widget.CandidateInfo;
|
||||
|
||||
@@ -74,6 +76,7 @@ public class DefaultSmsPicker extends DefaultAppPickerFragment {
|
||||
protected boolean setDefaultKey(String key) {
|
||||
if (!TextUtils.isEmpty(key) && !TextUtils.equals(key, getDefaultKey())) {
|
||||
mDefaultKeyUpdater.setDefaultApplication(getContext(), key);
|
||||
mBatteryUtils.clearForceAppStandby(key);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
@@ -455,10 +455,7 @@ public class DeviceAdminAdd extends Activity {
|
||||
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);
|
||||
}
|
||||
batteryUtils.clearForceAppStandby(packageName);
|
||||
}
|
||||
|
||||
void continueRemoveAction(CharSequence msg) {
|
||||
|
@@ -407,6 +407,16 @@ public class BatteryUtils {
|
||||
packageName) == AppOpsManager.MODE_IGNORED;
|
||||
}
|
||||
|
||||
public boolean clearForceAppStandby(String packageName) {
|
||||
final int uid = getPackageUid(packageName);
|
||||
if (uid != UID_NULL && isForceAppStandbyEnabled(uid, packageName)) {
|
||||
setForceAppStandby(uid, packageName, AppOpsManager.MODE_ALLOWED);
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public void initBatteryStatsHelper(BatteryStatsHelper statsHelper, Bundle bundle,
|
||||
UserManager userManager) {
|
||||
statsHelper.create(bundle);
|
||||
|
Reference in New Issue
Block a user