[DataStore] Migrate BatteryBackupHelper to BackupRestoreStorage

Bug: 325144964
Test: Manual tests
Change-Id: I19f7c78969d70648d1e45f1627827d98b1fdd1e0
This commit is contained in:
Jacky Wang
2024-02-29 11:10:53 +08:00
parent bec4c9573e
commit 006bf17c4f
8 changed files with 399 additions and 20 deletions

View File

@@ -33,7 +33,6 @@ import static org.mockito.Mockito.verifyNoInteractions;
import static org.mockito.Mockito.when;
import android.app.AppOpsManager;
import android.app.backup.BackupManager;
import android.app.settings.SettingsEnums;
import android.content.Context;
import android.content.Intent;
@@ -61,8 +60,12 @@ import com.android.settingslib.applications.AppUtils;
import com.android.settingslib.applications.ApplicationsState;
import com.android.settingslib.applications.instantapps.InstantAppDataProvider;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
import com.android.settingslib.datastore.ChangeReason;
import com.android.settingslib.datastore.Observer;
import com.android.settingslib.widget.LayoutPreference;
import com.google.common.util.concurrent.MoreExecutors;
import org.junit.After;
import org.junit.Before;
import org.junit.Rule;
@@ -116,9 +119,10 @@ public class AdvancedPowerUsageDetailTest {
@Mock private AppOpsManager mAppOpsManager;
@Mock private LoaderManager mLoaderManager;
@Mock private BatteryOptimizeUtils mBatteryOptimizeUtils;
@Mock private BackupManager mBackupManager;
@Mock private Observer mObserver;
private Context mContext;
private BatterySettingsStorage mBatterySettingsStorage;
private PrimarySwitchPreference mAllowBackgroundUsagePreference;
private AdvancedPowerUsageDetail mFragment;
private SettingsActivity mTestActivity;
@@ -130,6 +134,7 @@ public class AdvancedPowerUsageDetailTest {
@Before
public void setUp() {
mContext = spy(ApplicationProvider.getApplicationContext());
mBatterySettingsStorage = BatterySettingsStorage.get(mContext);
when(mContext.getPackageName()).thenReturn("foo");
mFeatureFactory = FakeFeatureFactory.setupForTest();
mMetricsFeatureProvider = mFeatureFactory.metricsFeatureProvider;
@@ -200,7 +205,6 @@ public class AdvancedPowerUsageDetailTest {
mFragment.mHeaderPreference = mHeaderPreference;
mFragment.mState = mState;
mFragment.mBatteryOptimizeUtils = mBatteryOptimizeUtils;
mFragment.mBackupManager = mBackupManager;
mFragment.mLogStringBuilder = new StringBuilder();
mAppEntry.info = mock(ApplicationInfo.class);
@@ -447,23 +451,25 @@ public class AdvancedPowerUsageDetailTest {
@Test
public void notifyBackupManager_optimizationModeIsNotChanged_notInvokeDataChanged() {
mBatterySettingsStorage.addObserver(mObserver, MoreExecutors.directExecutor());
final int mode = BatteryOptimizeUtils.MODE_RESTRICTED;
mFragment.mOptimizationMode = mode;
when(mBatteryOptimizeUtils.getAppOptimizationMode()).thenReturn(mode);
mFragment.notifyBackupManager();
verifyNoInteractions(mBackupManager);
verifyNoInteractions(mObserver);
}
@Test
public void notifyBackupManager_optimizationModeIsChanged_invokeDataChanged() {
mBatterySettingsStorage.addObserver(mObserver, MoreExecutors.directExecutor());
mFragment.mOptimizationMode = BatteryOptimizeUtils.MODE_RESTRICTED;
when(mBatteryOptimizeUtils.getAppOptimizationMode())
.thenReturn(BatteryOptimizeUtils.MODE_UNRESTRICTED);
mFragment.notifyBackupManager();
verify(mBackupManager).dataChanged();
verify(mObserver).onChanged(ChangeReason.UPDATE);
}
}

View File

@@ -33,7 +33,6 @@ import static org.mockito.Mockito.verifyNoInteractions;
import static org.mockito.Mockito.when;
import android.app.AppOpsManager;
import android.app.backup.BackupManager;
import android.app.settings.SettingsEnums;
import android.content.Context;
import android.content.Intent;
@@ -119,7 +118,6 @@ public class PowerBackgroundUsageDetailTest {
@Mock private LoaderManager mLoaderManager;
@Mock private ApplicationsState.AppEntry mAppEntry;
@Mock private BatteryEntry mBatteryEntry;
@Mock private BackupManager mBackupManager;
@Mock private PackageManager mPackageManager;
@Mock private AppOpsManager mAppOpsManager;
@Mock private CompoundButton mMockSwitch;
@@ -174,7 +172,6 @@ public class PowerBackgroundUsageDetailTest {
mFragment.mHeaderPreference = mHeaderPreference;
mFragment.mState = mState;
mFragment.mBatteryOptimizeUtils = mBatteryOptimizeUtils;
mFragment.mBackupManager = mBackupManager;
mAppEntry.info = mock(ApplicationInfo.class);
mTestActivity = spy(new SettingsActivity());