Optimize battery optimize page control flow
- Post the setup logic into background and setup once only when leaving this page, this can improve the performance since we won't setup every time when switching preference Bug: 195306545 Bug: 199892006 Test: make SettingsRoboTests Change-Id: I1c3ee4673cf5cdba0abe39f208dfb1412082c579
This commit is contained in:
@@ -20,6 +20,7 @@ import static com.android.settings.fuelgauge.BatteryBackupHelper.DELIMITER;
|
||||
import static com.android.settings.fuelgauge.BatteryBackupHelper.DELIMITER_MODE;
|
||||
import static com.android.settings.fuelgauge.BatteryOptimizeUtils.MODE_RESTRICTED;
|
||||
import static com.android.settings.fuelgauge.BatteryOptimizeUtils.MODE_UNRESTRICTED;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
@@ -33,7 +34,6 @@ import static org.mockito.Mockito.never;
|
||||
import static org.mockito.Mockito.spy;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.verifyZeroInteractions;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import android.app.AppOpsManager;
|
||||
import android.app.backup.BackupDataInputStream;
|
||||
@@ -51,9 +51,6 @@ import android.os.UserManager;
|
||||
|
||||
import com.android.settingslib.fuelgauge.PowerAllowlistBackend;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
import org.junit.After;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
@@ -69,6 +66,10 @@ import org.robolectric.annotation.Implementation;
|
||||
import org.robolectric.annotation.Implements;
|
||||
import org.robolectric.annotation.Resetter;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
@Config(shadows = {BatteryBackupHelperTest.ShadowUserHandle.class})
|
||||
public final class BatteryBackupHelperTest {
|
||||
@@ -305,10 +306,11 @@ public final class BatteryBackupHelperTest {
|
||||
PACKAGE_NAME2 + DELIMITER_MODE + invalidNumberFormat;
|
||||
|
||||
mBatteryBackupHelper.restoreOptimizationMode(packageModes.getBytes());
|
||||
TimeUnit.SECONDS.sleep(1);
|
||||
|
||||
final InOrder inOrder = inOrder(mBatteryOptimizeUtils);
|
||||
inOrder.verify(mBatteryOptimizeUtils).setAppOptimizationMode(MODE_RESTRICTED);
|
||||
inOrder.verify(mBatteryOptimizeUtils, never()).setAppOptimizationMode(anyInt());
|
||||
inOrder.verify(mBatteryOptimizeUtils).setAppUsageState(MODE_RESTRICTED);
|
||||
inOrder.verify(mBatteryOptimizeUtils, never()).setAppUsageState(anyInt());
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -319,11 +321,12 @@ public final class BatteryBackupHelperTest {
|
||||
PACKAGE_NAME3 + DELIMITER_MODE + MODE_RESTRICTED + DELIMITER;
|
||||
|
||||
mBatteryBackupHelper.restoreOptimizationMode(packageModes.getBytes());
|
||||
TimeUnit.SECONDS.sleep(1);
|
||||
|
||||
final InOrder inOrder = inOrder(mBatteryOptimizeUtils);
|
||||
inOrder.verify(mBatteryOptimizeUtils).setAppOptimizationMode(MODE_RESTRICTED);
|
||||
inOrder.verify(mBatteryOptimizeUtils).setAppOptimizationMode(MODE_UNRESTRICTED);
|
||||
inOrder.verify(mBatteryOptimizeUtils, never()).setAppOptimizationMode(MODE_RESTRICTED);
|
||||
inOrder.verify(mBatteryOptimizeUtils).setAppUsageState(MODE_RESTRICTED);
|
||||
inOrder.verify(mBatteryOptimizeUtils).setAppUsageState(MODE_UNRESTRICTED);
|
||||
inOrder.verify(mBatteryOptimizeUtils, never()).setAppUsageState(MODE_RESTRICTED);
|
||||
}
|
||||
|
||||
private void mockUid(int uid, String packageName) throws Exception {
|
||||
|
Reference in New Issue
Block a user