[B&R] notify BackupManager when app optimization mode is changed am: 935a9321b5
am: 5f3bc01915
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/15667992 Change-Id: I8e422e893bb80e202ed50550c05ea5484b1b2756
This commit is contained in:
@@ -20,6 +20,7 @@ import android.annotation.UserIdInt;
|
||||
import android.app.Activity;
|
||||
import android.app.ActivityManager;
|
||||
import android.app.settings.SettingsEnums;
|
||||
import android.app.backup.BackupManager;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.PackageManager;
|
||||
@@ -114,7 +115,12 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements
|
||||
@VisibleForTesting
|
||||
SelectorWithWidgetPreference mUnrestrictedPreference;
|
||||
@VisibleForTesting
|
||||
boolean enableTriState = true;
|
||||
boolean mEnableTriState = true;
|
||||
@VisibleForTesting
|
||||
@BatteryOptimizeUtils.OptimizationMode
|
||||
int mOptimizationMode = BatteryOptimizeUtils.MODE_UNKNOWN;
|
||||
@VisibleForTesting
|
||||
BackupManager mBackupManager;
|
||||
|
||||
private AppButtonsPreferenceController mAppButtonsPreferenceController;
|
||||
private BackgroundActivityPreferenceController mBackgroundActivityPreferenceController;
|
||||
@@ -246,7 +252,7 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements
|
||||
super.onCreate(icicle);
|
||||
|
||||
final String packageName = getArguments().getString(EXTRA_PACKAGE_NAME);
|
||||
if (enableTriState) {
|
||||
if (mEnableTriState) {
|
||||
onCreateForTriState(packageName);
|
||||
} else {
|
||||
mForegroundPreference = findPreference(KEY_PREF_FOREGROUND);
|
||||
@@ -264,7 +270,7 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements
|
||||
super.onResume();
|
||||
|
||||
initHeader();
|
||||
if (enableTriState) {
|
||||
if (mEnableTriState) {
|
||||
initPreferenceForTriState(getContext());
|
||||
final String packageName = mBatteryOptimizeUtils.getPackageName();
|
||||
FeatureFactory.getFactory(getContext()).getMetricsFeatureProvider()
|
||||
@@ -277,6 +283,22 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroy() {
|
||||
super.onDestroy();
|
||||
notifyBackupManager();
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
void notifyBackupManager() {
|
||||
if (mEnableTriState
|
||||
&& mOptimizationMode != mBatteryOptimizeUtils.getAppOptimizationMode()) {
|
||||
final BackupManager backupManager = mBackupManager != null
|
||||
? mBackupManager : new BackupManager(getContext());
|
||||
backupManager.dataChanged();
|
||||
}
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
void initHeader() {
|
||||
final View appSnippet = mHeaderPreference.findViewById(R.id.entity_header);
|
||||
@@ -304,7 +326,7 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements
|
||||
controller.setIsInstantApp(AppUtils.isInstant(mAppEntry.info));
|
||||
}
|
||||
|
||||
if (enableTriState) {
|
||||
if (mEnableTriState) {
|
||||
final long foregroundTimeMs = bundle.getLong(EXTRA_FOREGROUND_TIME);
|
||||
final long backgroundTimeMs = bundle.getLong(EXTRA_BACKGROUND_TIME);
|
||||
final String slotTime = bundle.getString(EXTRA_SLOT_TIME, null);
|
||||
@@ -375,7 +397,7 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements
|
||||
|
||||
@Override
|
||||
protected int getPreferenceScreenResId() {
|
||||
return enableTriState ? R.xml.power_usage_detail : R.xml.power_usage_detail_legacy;
|
||||
return mEnableTriState ? R.xml.power_usage_detail : R.xml.power_usage_detail_legacy;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -389,7 +411,7 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements
|
||||
(SettingsActivity) getActivity(), this, getSettingsLifecycle(),
|
||||
packageName, mState, REQUEST_UNINSTALL, REQUEST_REMOVE_DEVICE_ADMIN);
|
||||
controllers.add(mAppButtonsPreferenceController);
|
||||
if (enableTriState) {
|
||||
if (mEnableTriState) {
|
||||
controllers.add(new UnrestrictedPreferenceController(context, uid, packageName));
|
||||
controllers.add(new OptimizedPreferenceController(context, uid, packageName));
|
||||
controllers.add(new RestrictedPreferenceController(context, uid, packageName));
|
||||
@@ -469,6 +491,7 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements
|
||||
|
||||
mBatteryOptimizeUtils = new BatteryOptimizeUtils(
|
||||
getContext(), getArguments().getInt(EXTRA_UID), packageName);
|
||||
mOptimizationMode = mBatteryOptimizeUtils.getAppOptimizationMode();
|
||||
}
|
||||
|
||||
private CharSequence getAppActiveTime(
|
||||
|
Reference in New Issue
Block a user