Remove saver schedule type logging entry from BatterySaverController am: 58ff194380
am: 96c6fcb778
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/16101561 Change-Id: I41807b943a306f55edd24531057d41ef826fb2d6
This commit is contained in:
@@ -15,17 +15,14 @@
|
|||||||
*/
|
*/
|
||||||
package com.android.settings.fuelgauge;
|
package com.android.settings.fuelgauge;
|
||||||
|
|
||||||
import android.app.settings.SettingsEnums;
|
|
||||||
import android.content.ContentResolver;
|
import android.content.ContentResolver;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.database.ContentObserver;
|
import android.database.ContentObserver;
|
||||||
import android.os.AsyncTask;
|
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
import android.os.Looper;
|
import android.os.Looper;
|
||||||
import android.os.PowerManager;
|
import android.os.PowerManager;
|
||||||
import android.provider.Settings;
|
import android.provider.Settings;
|
||||||
import android.provider.Settings.Global;
|
import android.provider.Settings.Global;
|
||||||
import android.util.Pair;
|
|
||||||
|
|
||||||
import androidx.preference.Preference;
|
import androidx.preference.Preference;
|
||||||
import androidx.preference.PreferenceScreen;
|
import androidx.preference.PreferenceScreen;
|
||||||
@@ -33,8 +30,6 @@ import androidx.preference.PreferenceScreen;
|
|||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settings.Utils;
|
import com.android.settings.Utils;
|
||||||
import com.android.settings.core.BasePreferenceController;
|
import com.android.settings.core.BasePreferenceController;
|
||||||
import com.android.settings.overlay.FeatureFactory;
|
|
||||||
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
|
|
||||||
import com.android.settingslib.core.lifecycle.LifecycleObserver;
|
import com.android.settingslib.core.lifecycle.LifecycleObserver;
|
||||||
import com.android.settingslib.core.lifecycle.events.OnStart;
|
import com.android.settingslib.core.lifecycle.events.OnStart;
|
||||||
import com.android.settingslib.core.lifecycle.events.OnStop;
|
import com.android.settingslib.core.lifecycle.events.OnStop;
|
||||||
@@ -49,7 +44,6 @@ public class BatterySaverController extends BasePreferenceController
|
|||||||
private final BatterySaverReceiver mBatteryStateChangeReceiver;
|
private final BatterySaverReceiver mBatteryStateChangeReceiver;
|
||||||
private final PowerManager mPowerManager;
|
private final PowerManager mPowerManager;
|
||||||
private Preference mBatterySaverPref;
|
private Preference mBatterySaverPref;
|
||||||
private final MetricsFeatureProvider mMetricsFeatureProvider;
|
|
||||||
private final ContentObserver mObserver = new ContentObserver(
|
private final ContentObserver mObserver = new ContentObserver(
|
||||||
new Handler(Looper.getMainLooper())) {
|
new Handler(Looper.getMainLooper())) {
|
||||||
@Override
|
@Override
|
||||||
@@ -62,7 +56,6 @@ public class BatterySaverController extends BasePreferenceController
|
|||||||
super(context, KEY_BATTERY_SAVER);
|
super(context, KEY_BATTERY_SAVER);
|
||||||
|
|
||||||
mPowerManager = mContext.getSystemService(PowerManager.class);
|
mPowerManager = mContext.getSystemService(PowerManager.class);
|
||||||
mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
|
|
||||||
mBatteryStateChangeReceiver = new BatterySaverReceiver(context);
|
mBatteryStateChangeReceiver = new BatterySaverReceiver(context);
|
||||||
mBatteryStateChangeReceiver.setBatterySaverListener(this);
|
mBatteryStateChangeReceiver.setBatterySaverListener(this);
|
||||||
BatterySaverUtils.revertScheduleToNoneIfNeeded(context);
|
BatterySaverUtils.revertScheduleToNoneIfNeeded(context);
|
||||||
@@ -128,41 +121,9 @@ public class BatterySaverController extends BasePreferenceController
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void logPowerSaver() {
|
|
||||||
if (!mPowerManager.isPowerSaveMode()) {
|
|
||||||
// Power saver is off, so don't do anything.
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
final ContentResolver resolver = mContext.getContentResolver();
|
|
||||||
final int mode = Global.getInt(resolver, Global.AUTOMATIC_POWER_SAVE_MODE,
|
|
||||||
PowerManager.POWER_SAVE_MODE_TRIGGER_PERCENTAGE);
|
|
||||||
int fuelgaugeScheduleType = SettingsEnums.BATTERY_SAVER_SCHEDULE_TYPE_NO_SCHEDULE;
|
|
||||||
int powerLevelTriggerPercentage = -1;
|
|
||||||
switch (mode) {
|
|
||||||
case PowerManager.POWER_SAVE_MODE_TRIGGER_PERCENTAGE:
|
|
||||||
fuelgaugeScheduleType =
|
|
||||||
SettingsEnums.BATTERY_SAVER_SCHEDULE_TYPE_BASED_ON_PERCENTAGE;
|
|
||||||
powerLevelTriggerPercentage = Global.getInt(resolver,
|
|
||||||
Global.LOW_POWER_MODE_TRIGGER_LEVEL, 0);
|
|
||||||
break;
|
|
||||||
case PowerManager.POWER_SAVE_MODE_TRIGGER_DYNAMIC:
|
|
||||||
fuelgaugeScheduleType = SettingsEnums.BATTERY_SAVER_SCHEDULE_TYPE_BASED_ON_ROUTINE;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
// empty
|
|
||||||
}
|
|
||||||
mMetricsFeatureProvider.action(mContext, SettingsEnums.FUELGAUGE_BATTERY_SAVER,
|
|
||||||
Pair.create(SettingsEnums.FIELD_BATTERY_SAVER_SCHEDULE_TYPE,
|
|
||||||
fuelgaugeScheduleType),
|
|
||||||
Pair.create(SettingsEnums.FIELD_BATTERY_SAVER_PERCENTAGE_VALUE,
|
|
||||||
powerLevelTriggerPercentage));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onPowerSaveModeChanged() {
|
public void onPowerSaveModeChanged() {
|
||||||
updateSummary();
|
updateSummary();
|
||||||
AsyncTask.execute(() -> logPowerSaver());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -29,9 +29,6 @@ import android.util.Pair;
|
|||||||
|
|
||||||
import androidx.preference.Preference;
|
import androidx.preference.Preference;
|
||||||
|
|
||||||
import com.android.settings.testutils.FakeFeatureFactory;
|
|
||||||
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
|
|
||||||
|
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
@@ -51,16 +48,12 @@ public class BatterySaverControllerTest {
|
|||||||
|
|
||||||
private BatterySaverController mBatterySaverController;
|
private BatterySaverController mBatterySaverController;
|
||||||
private Context mContext;
|
private Context mContext;
|
||||||
private FakeFeatureFactory mFeatureFactory;
|
|
||||||
private MetricsFeatureProvider mMetricsFeatureProvider;
|
|
||||||
|
|
||||||
@Before
|
@Before
|
||||||
public void setUp() {
|
public void setUp() {
|
||||||
MockitoAnnotations.initMocks(this);
|
MockitoAnnotations.initMocks(this);
|
||||||
|
|
||||||
mContext = RuntimeEnvironment.application;
|
mContext = RuntimeEnvironment.application;
|
||||||
mFeatureFactory = FakeFeatureFactory.setupForTest();
|
|
||||||
mMetricsFeatureProvider = mFeatureFactory.metricsFeatureProvider;
|
|
||||||
mBatterySaverController = spy(new BatterySaverController(mContext));
|
mBatterySaverController = spy(new BatterySaverController(mContext));
|
||||||
ReflectionHelpers.setField(mBatterySaverController, "mPowerManager", mPowerManager);
|
ReflectionHelpers.setField(mBatterySaverController, "mPowerManager", mPowerManager);
|
||||||
ReflectionHelpers.setField(mBatterySaverController, "mBatterySaverPref", mBatterySaverPref);
|
ReflectionHelpers.setField(mBatterySaverController, "mBatterySaverPref", mBatterySaverPref);
|
||||||
@@ -81,59 +74,6 @@ public class BatterySaverControllerTest {
|
|||||||
verify(mBatterySaverPref).setSummary("Off");
|
verify(mBatterySaverPref).setSummary("Off");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
public void onPreferenceChange_onPowerSaveModeChanged_manualTrigger_logsType() {
|
|
||||||
when(mPowerManager.isPowerSaveMode()).thenReturn(true);
|
|
||||||
Settings.Global.putInt(mContext.getContentResolver(),
|
|
||||||
Settings.Global.AUTOMATIC_POWER_SAVE_MODE, -1);
|
|
||||||
|
|
||||||
mBatterySaverController.onPowerSaveModeChanged();
|
|
||||||
|
|
||||||
waitAWhile();
|
|
||||||
verify(mMetricsFeatureProvider).action(mContext, SettingsEnums.FUELGAUGE_BATTERY_SAVER,
|
|
||||||
Pair.create(SettingsEnums.FIELD_BATTERY_SAVER_SCHEDULE_TYPE,
|
|
||||||
SettingsEnums.BATTERY_SAVER_SCHEDULE_TYPE_NO_SCHEDULE),
|
|
||||||
Pair.create(SettingsEnums.FIELD_BATTERY_SAVER_PERCENTAGE_VALUE,
|
|
||||||
-1));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void onPreferenceChange_onPowerSaveModeChanged_triggerPercent_logsTypeAndPercentage() {
|
|
||||||
when(mPowerManager.isPowerSaveMode()).thenReturn(true);
|
|
||||||
Settings.Global.putInt(mContext.getContentResolver(),
|
|
||||||
Settings.Global.AUTOMATIC_POWER_SAVE_MODE,
|
|
||||||
PowerManager.POWER_SAVE_MODE_TRIGGER_PERCENTAGE);
|
|
||||||
final int percentageVal = 15;
|
|
||||||
Settings.Global.putInt(mContext.getContentResolver(),
|
|
||||||
Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL, percentageVal);
|
|
||||||
|
|
||||||
mBatterySaverController.onPowerSaveModeChanged();
|
|
||||||
|
|
||||||
waitAWhile();
|
|
||||||
verify(mMetricsFeatureProvider).action(mContext, SettingsEnums.FUELGAUGE_BATTERY_SAVER,
|
|
||||||
Pair.create(SettingsEnums.FIELD_BATTERY_SAVER_SCHEDULE_TYPE,
|
|
||||||
SettingsEnums.BATTERY_SAVER_SCHEDULE_TYPE_BASED_ON_PERCENTAGE),
|
|
||||||
Pair.create(SettingsEnums.FIELD_BATTERY_SAVER_PERCENTAGE_VALUE,
|
|
||||||
percentageVal));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void onPreferenceChange_onPowerSaveModeChanged_triggerDynamic_logsType() {
|
|
||||||
when(mPowerManager.isPowerSaveMode()).thenReturn(true);
|
|
||||||
Settings.Global.putInt(mContext.getContentResolver(),
|
|
||||||
Settings.Global.AUTOMATIC_POWER_SAVE_MODE,
|
|
||||||
PowerManager.POWER_SAVE_MODE_TRIGGER_DYNAMIC);
|
|
||||||
|
|
||||||
mBatterySaverController.onPowerSaveModeChanged();
|
|
||||||
|
|
||||||
waitAWhile();
|
|
||||||
verify(mMetricsFeatureProvider).action(mContext, SettingsEnums.FUELGAUGE_BATTERY_SAVER,
|
|
||||||
Pair.create(SettingsEnums.FIELD_BATTERY_SAVER_SCHEDULE_TYPE,
|
|
||||||
SettingsEnums.BATTERY_SAVER_SCHEDULE_TYPE_BASED_ON_ROUTINE),
|
|
||||||
Pair.create(SettingsEnums.FIELD_BATTERY_SAVER_PERCENTAGE_VALUE,
|
|
||||||
-1));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void getSummary_batterySaverOn_showSummaryOn() {
|
public void getSummary_batterySaverOn_showSummaryOn() {
|
||||||
when(mPowerManager.isPowerSaveMode()).thenReturn(true);
|
when(mPowerManager.isPowerSaveMode()).thenReturn(true);
|
||||||
@@ -177,11 +117,4 @@ public class BatterySaverControllerTest {
|
|||||||
|
|
||||||
assertThat(mBatterySaverController.getSummary()).isEqualTo("Off");
|
assertThat(mBatterySaverController.getSummary()).isEqualTo("Off");
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void waitAWhile() {
|
|
||||||
try {
|
|
||||||
Thread.sleep(200);
|
|
||||||
} catch (Exception e) {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user