diff --git a/src/com/android/settings/fuelgauge/PowerUsageAdvanced.java b/src/com/android/settings/fuelgauge/PowerUsageAdvanced.java index c5974259e72..0727e48ebc9 100644 --- a/src/com/android/settings/fuelgauge/PowerUsageAdvanced.java +++ b/src/com/android/settings/fuelgauge/PowerUsageAdvanced.java @@ -17,14 +17,9 @@ import static com.android.settings.fuelgauge.BatteryBroadcastReceiver.BatteryUpd import android.app.settings.SettingsEnums; import android.content.Context; -import android.content.Intent; -import android.content.IntentFilter; import android.os.BatteryManager; import android.os.Bundle; import android.provider.SearchIndexableResource; -import android.view.Menu; -import android.view.MenuInflater; -import android.view.MenuItem; import androidx.annotation.VisibleForTesting; @@ -44,16 +39,11 @@ public class PowerUsageAdvanced extends PowerUsageBase { private static final String TAG = "AdvancedBatteryUsage"; private static final String KEY_BATTERY_GRAPH = "battery_graph"; private static final String KEY_APP_LIST = "app_list"; - private static final String KEY_SHOW_ALL_APPS = "show_all_apps"; - @VisibleForTesting - static final int MENU_TOGGLE_APPS = Menu.FIRST + 1; @VisibleForTesting BatteryHistoryPreference mHistPref; private PowerUsageFeatureProvider mPowerUsageFeatureProvider; private BatteryAppListPreferenceController mBatteryAppListPreferenceController; - @VisibleForTesting - boolean mShowAllApps = false; @Override public void onCreate(Bundle icicle) { @@ -63,7 +53,6 @@ public class PowerUsageAdvanced extends PowerUsageBase { mHistPref = (BatteryHistoryPreference) findPreference(KEY_BATTERY_GRAPH); mPowerUsageFeatureProvider = FeatureFactory.getFactory(context) .getPowerUsageFeatureProvider(context); - restoreSavedInstance(icicle); } @Override @@ -89,42 +78,6 @@ public class PowerUsageAdvanced extends PowerUsageBase { return R.xml.power_usage_advanced; } - @Override - public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { - menu.add(Menu.NONE, MENU_TOGGLE_APPS, Menu.NONE, - mShowAllApps ? R.string.hide_extra_apps : R.string.show_all_apps); - super.onCreateOptionsMenu(menu, inflater); - } - - @Override - public boolean onOptionsItemSelected(MenuItem item) { - switch (item.getItemId()) { - case MENU_TOGGLE_APPS: - mShowAllApps = !mShowAllApps; - item.setTitle(mShowAllApps ? R.string.hide_extra_apps : R.string.show_all_apps); - mMetricsFeatureProvider.action(getContext(), - SettingsEnums.ACTION_SETTINGS_MENU_BATTERY_APPS_TOGGLE, - mShowAllApps); - restartBatteryStatsLoader(BatteryUpdateType.MANUAL); - return true; - default: - return super.onOptionsItemSelected(item); - } - } - - @VisibleForTesting - void restoreSavedInstance(Bundle savedInstance) { - if (savedInstance != null) { - mShowAllApps = savedInstance.getBoolean(KEY_SHOW_ALL_APPS, false); - } - } - - @Override - public void onSaveInstanceState(Bundle outState) { - super.onSaveInstanceState(outState); - outState.putBoolean(KEY_SHOW_ALL_APPS, mShowAllApps); - } - @Override protected List createPreferenceControllers(Context context) { final List controllers = new ArrayList<>(); @@ -148,7 +101,7 @@ public class PowerUsageAdvanced extends PowerUsageBase { return; } updatePreference(mHistPref); - mBatteryAppListPreferenceController.refreshAppListGroup(mBatteryUsageStats, mShowAllApps); + mBatteryAppListPreferenceController.refreshAppListGroup(mBatteryUsageStats, true); } public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER = diff --git a/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageAdvancedTest.java b/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageAdvancedTest.java deleted file mode 100644 index c9b1a00bbf5..00000000000 --- a/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageAdvancedTest.java +++ /dev/null @@ -1,118 +0,0 @@ -/* - * Copyright (C) 2017 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.android.settings.fuelgauge; - -import static com.google.common.truth.Truth.assertThat; - -import static org.mockito.ArgumentMatchers.anyInt; -import static org.mockito.ArgumentMatchers.eq; -import static org.mockito.ArgumentMatchers.nullable; -import static org.mockito.Mockito.doNothing; -import static org.mockito.Mockito.doReturn; -import static org.mockito.Mockito.spy; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; - -import android.content.Context; -import android.os.Bundle; -import android.view.Menu; -import android.view.MenuInflater; -import android.view.MenuItem; - -import androidx.preference.PreferenceScreen; - -import com.android.internal.logging.nano.MetricsProto; -import com.android.settings.R; -import com.android.settings.testutils.FakeFeatureFactory; - -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Answers; -import org.mockito.Mock; -import org.mockito.MockitoAnnotations; -import org.robolectric.RobolectricTestRunner; -import org.robolectric.RuntimeEnvironment; - -@RunWith(RobolectricTestRunner.class) -public class PowerUsageAdvancedTest { - @Mock - private PreferenceScreen mPreferenceScreen; - @Mock(answer = Answers.RETURNS_DEEP_STUBS) - private Menu mMenu; - @Mock - private MenuInflater mMenuInflater; - @Mock - private MenuItem mToggleAppsMenu; - private Context mContext; - private PowerUsageAdvanced mFragment; - private FakeFeatureFactory mFeatureFactory; - - @Before - public void setUp() { - MockitoAnnotations.initMocks(this); - - mContext = RuntimeEnvironment.application; - mFeatureFactory = FakeFeatureFactory.setupForTest(); - when(mToggleAppsMenu.getItemId()).thenReturn(PowerUsageAdvanced.MENU_TOGGLE_APPS); - - BatteryAppListPreferenceController.sConfig = - new BatteryAppListPreferenceController.Config() { - @Override - public boolean shouldShowBatteryAttributionList(Context context) { - return true; - } - }; - - mFragment = spy(new PowerUsageAdvanced()); - mFragment.onAttach(mContext); - } - - @Test - public void testSaveInstanceState_showAllAppsRestored() { - Bundle bundle = new Bundle(); - mFragment.mShowAllApps = true; - doReturn(mPreferenceScreen).when(mFragment).getPreferenceScreen(); - - mFragment.onSaveInstanceState(bundle); - mFragment.restoreSavedInstance(bundle); - - assertThat(mFragment.mShowAllApps).isTrue(); - } - - @Test - public void testOptionsMenu_menuAppToggle_metricEventInvoked() { - mFragment.mShowAllApps = false; - doNothing().when(mFragment).restartBatteryStatsLoader(anyInt()); - - mFragment.onOptionsItemSelected(mToggleAppsMenu); - - verify(mFeatureFactory.metricsFeatureProvider).action(nullable(Context.class), - eq(MetricsProto.MetricsEvent.ACTION_SETTINGS_MENU_BATTERY_APPS_TOGGLE), eq(true)); - } - - @Test - public void testOptionsMenu_toggleAppsEnabled() { - when(mFeatureFactory.powerUsageFeatureProvider.isPowerAccountingToggleEnabled()) - .thenReturn(true); - mFragment.mShowAllApps = false; - - mFragment.onCreateOptionsMenu(mMenu, mMenuInflater); - - verify(mMenu).add(Menu.NONE, PowerUsageAdvanced.MENU_TOGGLE_APPS, Menu.NONE, - R.string.show_all_apps); - } -}