Add feature flag to control battery app list.
If feature flag is on, then display the app list. Otherwise disable it. Bug: 70234293 Test: RunSettingsRoboTests Change-Id: I1663f925abf95e0e4c1a46d98ca165303a76e979
This commit is contained in:
@@ -26,4 +26,5 @@ public class FeatureFlags {
|
||||
public static final String APP_INFO_V2 = "settings_app_info_v2";
|
||||
public static final String CONNECTED_DEVICE_V2 = "settings_connected_device_v2";
|
||||
public static final String BATTERY_SETTINGS_V2 = "settings_battery_v2";
|
||||
public static final String BATTERY_DISPLAY_APP_LIST = "settings_battery_display_app_list";
|
||||
}
|
||||
|
@@ -36,6 +36,7 @@ import android.support.v7.preference.PreferenceScreen;
|
||||
import android.text.TextUtils;
|
||||
import android.text.format.DateUtils;
|
||||
import android.util.ArrayMap;
|
||||
import android.util.FeatureFlagUtils;
|
||||
import android.util.Log;
|
||||
import android.util.SparseArray;
|
||||
|
||||
@@ -45,6 +46,7 @@ import com.android.internal.os.BatteryStatsHelper;
|
||||
import com.android.internal.os.PowerProfile;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.SettingsActivity;
|
||||
import com.android.settings.core.FeatureFlags;
|
||||
import com.android.settings.core.PreferenceControllerMixin;
|
||||
import com.android.settings.Utils;
|
||||
import com.android.settings.core.instrumentation.MetricsFeatureProvider;
|
||||
@@ -149,7 +151,7 @@ public class BatteryAppListPreferenceController extends AbstractPreferenceContro
|
||||
|
||||
@Override
|
||||
public boolean isAvailable() {
|
||||
return false;
|
||||
return FeatureFlagUtils.isEnabled(mContext, FeatureFlags.BATTERY_DISPLAY_APP_LIST);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -27,6 +27,7 @@ import android.support.v14.preference.PreferenceFragment;
|
||||
import android.support.v7.preference.PreferenceGroup;
|
||||
import android.text.TextUtils;
|
||||
import android.text.format.DateUtils;
|
||||
import android.util.FeatureFlagUtils;
|
||||
import android.util.SparseArray;
|
||||
|
||||
import com.android.internal.os.BatterySipper;
|
||||
@@ -34,8 +35,10 @@ import com.android.internal.os.BatteryStatsImpl;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.SettingsActivity;
|
||||
import com.android.settings.TestConfig;
|
||||
import com.android.settings.core.FeatureFlags;
|
||||
import com.android.settings.fuelgauge.anomaly.Anomaly;
|
||||
import com.android.settings.testutils.FakeFeatureFactory;
|
||||
import com.android.settings.testutils.shadow.SettingsShadowSystemProperties;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
@@ -49,7 +52,8 @@ import org.robolectric.annotation.Config;
|
||||
import java.util.List;
|
||||
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
|
||||
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION, shadows =
|
||||
SettingsShadowSystemProperties.class)
|
||||
public class BatteryAppListPreferenceControllerTest {
|
||||
private static final String[] PACKAGE_NAMES = {"com.app1", "com.app2"};
|
||||
private static final String KEY_APP_LIST = "app_list";
|
||||
@@ -169,6 +173,7 @@ public class BatteryAppListPreferenceControllerTest {
|
||||
|
||||
@Test
|
||||
public void testRefreshAnomalyIcon_containsAnomaly_showAnomalyIcon() {
|
||||
FeatureFlagUtils.setEnabled(mContext, FeatureFlags.BATTERY_DISPLAY_APP_LIST, true);
|
||||
PowerGaugePreference preference = new PowerGaugePreference(mContext);
|
||||
final String key = mPreferenceController.extractKeyFromUid(UID);
|
||||
final SparseArray<List<Anomaly>> anomalySparseArray = new SparseArray<>();
|
||||
@@ -201,4 +206,18 @@ public class BatteryAppListPreferenceControllerTest {
|
||||
|
||||
assertThat(mPreferenceController.shouldHideSipper(mNormalBatterySipper)).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testIsAvailable_featureOn_returnTrue() {
|
||||
FeatureFlagUtils.setEnabled(mContext, FeatureFlags.BATTERY_DISPLAY_APP_LIST, true);
|
||||
|
||||
assertThat(mPreferenceController.isAvailable()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testIsAvailable_featureOff_returnFalse() {
|
||||
FeatureFlagUtils.setEnabled(mContext, FeatureFlags.BATTERY_DISPLAY_APP_LIST, false);
|
||||
|
||||
assertThat(mPreferenceController.isAvailable()).isFalse();
|
||||
}
|
||||
}
|
||||
|
@@ -83,7 +83,7 @@ import java.util.List;
|
||||
// TODO: Improve this test class so that it starts up the real activity and fragment.
|
||||
@RunWith(SettingsRobolectricTestRunner.class)
|
||||
@Config(manifest = TestConfig.MANIFEST_PATH,
|
||||
sdk = TestConfig.SDK_VERSION_O,
|
||||
sdk = TestConfig.SDK_VERSION,
|
||||
shadows = {
|
||||
SettingsShadowResources.class,
|
||||
SettingsShadowResources.SettingsShadowTheme.class,
|
||||
|
Reference in New Issue
Block a user