Remove Battery Settings page default tips

- Remove SummaryTips from default tips
 - Clean up test file import
 Screenshot: https://screenshot.googleplex.com/6rYrnMvoTbeCS7m.png

Bug: 183079415
Test: make RunSettingsRoboTests -j40
Change-Id: I1001d75235a6d8d5947b974939884103eb0834da
This commit is contained in:
Wesley.CW Wang
2021-03-19 19:34:49 +08:00
committed by Wesley Wang
parent f732a95ffd
commit 3a52e335be
6 changed files with 22 additions and 19 deletions

View File

@@ -28,7 +28,6 @@ import com.android.settings.fuelgauge.batterytip.detectors.EarlyWarningDetector;
import com.android.settings.fuelgauge.batterytip.detectors.HighUsageDetector; import com.android.settings.fuelgauge.batterytip.detectors.HighUsageDetector;
import com.android.settings.fuelgauge.batterytip.detectors.LowBatteryDetector; import com.android.settings.fuelgauge.batterytip.detectors.LowBatteryDetector;
import com.android.settings.fuelgauge.batterytip.detectors.SmartBatteryDetector; import com.android.settings.fuelgauge.batterytip.detectors.SmartBatteryDetector;
import com.android.settings.fuelgauge.batterytip.detectors.SummaryDetector;
import com.android.settings.fuelgauge.batterytip.tips.BatteryTip; import com.android.settings.fuelgauge.batterytip.tips.BatteryTip;
import com.android.settings.fuelgauge.batterytip.tips.LowBatteryTip; import com.android.settings.fuelgauge.batterytip.tips.LowBatteryTip;
import com.android.settings.fuelgauge.batterytip.tips.SummaryTip; import com.android.settings.fuelgauge.batterytip.tips.SummaryTip;
@@ -73,7 +72,6 @@ public class BatteryTipLoader extends AsyncLoaderCompat<List<BatteryTip>> {
tips.add(new SmartBatteryDetector(policy, context.getContentResolver()).detect()); tips.add(new SmartBatteryDetector(policy, context.getContentResolver()).detect());
tips.add(new EarlyWarningDetector(policy, context).detect()); tips.add(new EarlyWarningDetector(policy, context).detect());
tips.add(new BatteryDefenderDetector(batteryInfo).detect()); tips.add(new BatteryDefenderDetector(batteryInfo).detect());
tips.add(new SummaryDetector(policy, batteryInfo.averageTimeToDischarge).detect());
// Disable this feature now since it introduces false positive cases. We will try to improve // Disable this feature now since it introduces false positive cases. We will try to improve
// it in the future. // it in the future.
// tips.add(new RestrictAppDetector(context, policy).detect()); // tips.add(new RestrictAppDetector(context, policy).detect());

View File

@@ -230,7 +230,7 @@ public class BatteryTipPolicy {
} }
batteryTipEnabled = mParser.getBoolean(KEY_BATTERY_TIP_ENABLED, true); batteryTipEnabled = mParser.getBoolean(KEY_BATTERY_TIP_ENABLED, true);
summaryEnabled = mParser.getBoolean(KEY_SUMMARY_ENABLED, true); summaryEnabled = mParser.getBoolean(KEY_SUMMARY_ENABLED, false);
batterySaverTipEnabled = mParser.getBoolean(KEY_BATTERY_SAVER_TIP_ENABLED, true); batterySaverTipEnabled = mParser.getBoolean(KEY_BATTERY_SAVER_TIP_ENABLED, true);
highUsageEnabled = mParser.getBoolean(KEY_HIGH_USAGE_ENABLED, true); highUsageEnabled = mParser.getBoolean(KEY_HIGH_USAGE_ENABLED, true);
highUsageAppCount = mParser.getInt(KEY_HIGH_USAGE_APP_COUNT, 3); highUsageAppCount = mParser.getInt(KEY_HIGH_USAGE_APP_COUNT, 3);

View File

@@ -28,11 +28,9 @@ import com.android.settings.core.BasePreferenceController;
import com.android.settings.core.InstrumentedPreferenceFragment; import com.android.settings.core.InstrumentedPreferenceFragment;
import com.android.settings.fuelgauge.batterytip.actions.BatteryTipAction; import com.android.settings.fuelgauge.batterytip.actions.BatteryTipAction;
import com.android.settings.fuelgauge.batterytip.tips.BatteryTip; import com.android.settings.fuelgauge.batterytip.tips.BatteryTip;
import com.android.settings.fuelgauge.batterytip.tips.SummaryTip;
import com.android.settings.overlay.FeatureFactory; import com.android.settings.overlay.FeatureFactory;
import com.android.settings.widget.CardPreference; import com.android.settings.widget.CardPreference;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider; import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
import com.android.settingslib.fuelgauge.EstimateKt;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
@@ -91,10 +89,8 @@ public class BatteryTipPreferenceController extends BasePreferenceController {
mPrefContext = screen.getContext(); mPrefContext = screen.getContext();
mCardPreference = screen.findPreference(getPreferenceKey()); mCardPreference = screen.findPreference(getPreferenceKey());
// Add summary tip in advance to avoid UI flakiness // Set preference as invisible since there is no default tips.
final SummaryTip summaryTip = new SummaryTip(BatteryTip.StateType.NEW, mCardPreference.setVisible(false);
EstimateKt.AVERAGE_TIME_TO_DISCHARGE_UNKNOWN);
summaryTip.updatePreference(mCardPreference);
} }
public void updateBatteryTips(List<BatteryTip> batteryTips) { public void updateBatteryTips(List<BatteryTip> batteryTips) {
@@ -110,10 +106,12 @@ public class BatteryTipPreferenceController extends BasePreferenceController {
} }
} }
mCardPreference.setVisible(false);
for (int i = 0, size = batteryTips.size(); i < size; i++) { for (int i = 0, size = batteryTips.size(); i < size; i++) {
final BatteryTip batteryTip = mBatteryTips.get(i); final BatteryTip batteryTip = mBatteryTips.get(i);
batteryTip.validateCheck(mContext); batteryTip.validateCheck(mContext);
if (batteryTip.getState() != BatteryTip.StateType.INVISIBLE) { if (batteryTip.getState() != BatteryTip.StateType.INVISIBLE) {
mCardPreference.setVisible(true);
batteryTip.updatePreference(mCardPreference); batteryTip.updatePreference(mCardPreference);
mBatteryTipMap.put(mCardPreference.getKey(), batteryTip); mBatteryTipMap.put(mCardPreference.getKey(), batteryTip);
batteryTip.log(mContext, mMetricsFeatureProvider); batteryTip.log(mContext, mMetricsFeatureProvider);

View File

@@ -54,7 +54,6 @@ public class BatteryTipLoaderTest {
BatteryTip.TipType.BATTERY_SAVER, BatteryTip.TipType.BATTERY_SAVER,
BatteryTip.TipType.HIGH_DEVICE_USAGE, BatteryTip.TipType.HIGH_DEVICE_USAGE,
BatteryTip.TipType.LOW_BATTERY, BatteryTip.TipType.LOW_BATTERY,
BatteryTip.TipType.SUMMARY,
BatteryTip.TipType.SMART_BATTERY_MANAGER}; BatteryTip.TipType.SMART_BATTERY_MANAGER};
@Mock(answer = Answers.RETURNS_DEEP_STUBS) @Mock(answer = Answers.RETURNS_DEEP_STUBS)
private BatteryUsageStats mBatteryUsageStats; private BatteryUsageStats mBatteryUsageStats;

View File

@@ -20,7 +20,6 @@ import static com.android.settings.fuelgauge.batterytip.tips.BatteryTip.TipType
import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.spy; import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verify;
@@ -30,10 +29,6 @@ import android.content.Context;
import android.os.Bundle; import android.os.Bundle;
import android.text.format.DateUtils; import android.text.format.DateUtils;
import androidx.preference.Preference;
import androidx.preference.PreferenceCategory;
import androidx.preference.PreferenceGroup;
import androidx.preference.PreferenceManager;
import androidx.preference.PreferenceScreen; import androidx.preference.PreferenceScreen;
import com.android.internal.logging.nano.MetricsProto; import com.android.internal.logging.nano.MetricsProto;
@@ -49,7 +44,6 @@ import com.android.settings.widget.CardPreference;
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;
import org.mockito.Answers;
import org.mockito.Mock; import org.mockito.Mock;
import org.mockito.MockitoAnnotations; import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner; import org.robolectric.RobolectricTestRunner;
@@ -104,10 +98,24 @@ public class BatteryTipPreferenceControllerTest {
} }
@Test @Test
public void testDisplayPreference_addSummaryTip() { public void testDisplayPreference_isInvisible() {
mBatteryTipPreferenceController.displayPreference(mPreferenceScreen); mBatteryTipPreferenceController.displayPreference(mPreferenceScreen);
assertOnlyContainsSummaryTip(mCardPreference); assertThat(mCardPreference.isVisible()).isFalse();
}
@Test
public void testUpdateBatteryTips_tipsStateNew_isVisible() {
mBatteryTipPreferenceController.updateBatteryTips(mOldBatteryTips);
assertThat(mCardPreference.isVisible()).isTrue();
}
@Test
public void testUpdateBatteryTips_tipsStateInvisible_isInvisible() {
mBatteryTipPreferenceController.updateBatteryTips(mNewBatteryTips);
assertThat(mCardPreference.isVisible()).isFalse();
} }
@Test @Test

View File

@@ -94,7 +94,7 @@ public class BatteryTipPolicyTest {
final BatteryTipPolicy batteryTipPolicy = new BatteryTipPolicy(mContext); final BatteryTipPolicy batteryTipPolicy = new BatteryTipPolicy(mContext);
assertThat(batteryTipPolicy.batteryTipEnabled).isTrue(); assertThat(batteryTipPolicy.batteryTipEnabled).isTrue();
assertThat(batteryTipPolicy.summaryEnabled).isTrue(); assertThat(batteryTipPolicy.summaryEnabled).isFalse();
assertThat(batteryTipPolicy.batterySaverTipEnabled).isTrue(); assertThat(batteryTipPolicy.batterySaverTipEnabled).isTrue();
assertThat(batteryTipPolicy.highUsageEnabled).isTrue(); assertThat(batteryTipPolicy.highUsageEnabled).isTrue();
assertThat(batteryTipPolicy.highUsageAppCount).isEqualTo(3); assertThat(batteryTipPolicy.highUsageAppCount).isEqualTo(3);