Loading src/com/android/settings/fuelgauge/PowerUsageSummary.java +13 −1 Original line number Diff line number Diff line Loading @@ -53,6 +53,7 @@ import com.android.settings.Utils; import com.android.settings.applications.LayoutPreference; import com.android.settings.applications.ManageApplications; import com.android.settings.core.PreferenceController; import com.android.settings.core.instrumentation.MetricsFeatureProvider; import com.android.settings.dashboard.SummaryLoader; import com.android.settings.display.AutoBrightnessPreferenceController; import com.android.settings.display.TimeoutPreferenceController; Loading Loading @@ -90,7 +91,8 @@ public class PowerUsageSummary extends PowerUsageBase { private static final int MENU_STATS_TYPE = Menu.FIRST; private static final int MENU_HIGH_POWER_APPS = Menu.FIRST + 3; @VisibleForTesting static final int MENU_HIGH_POWER_APPS = Menu.FIRST + 3; @VisibleForTesting static final int MENU_ADDITIONAL_BATTERY_INFO = Menu.FIRST + 4; @VisibleForTesting Loading Loading @@ -216,6 +218,10 @@ public class PowerUsageSummary extends PowerUsageBase { @Override public boolean onOptionsItemSelected(MenuItem item) { final SettingsActivity sa = (SettingsActivity) getActivity(); final Context context = getContext(); final MetricsFeatureProvider metricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider(); switch (item.getItemId()) { case MENU_STATS_TYPE: if (mStatsType == BatteryStats.STATS_SINCE_CHARGED) { Loading @@ -231,15 +237,21 @@ public class PowerUsageSummary extends PowerUsageBase { HighPowerApplicationsActivity.class.getName()); sa.startPreferencePanel(this, ManageApplications.class.getName(), args, R.string.high_power_apps, null, null, 0); metricsFeatureProvider.action(context, MetricsEvent.ACTION_SETTINGS_MENU_BATTERY_OPTIMIZATION); return true; case MENU_ADDITIONAL_BATTERY_INFO: startActivity(FeatureFactory.getFactory(getContext()) .getPowerUsageFeatureProvider(getContext()) .getAdditionalBatteryInfoIntent()); metricsFeatureProvider.action(context, MetricsEvent.ACTION_SETTINGS_MENU_BATTERY_USAGE_ALERTS); return true; case MENU_TOGGLE_APPS: mShowAllApps = !mShowAllApps; item.setTitle(mShowAllApps ? R.string.hide_extra_apps : R.string.show_all_apps); metricsFeatureProvider.action(context, MetricsEvent.ACTION_SETTINGS_MENU_BATTERY_APPS_TOGGLE, mShowAllApps); refreshStats(); return true; default: Loading tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java +36 −1 Original line number Diff line number Diff line Loading @@ -15,6 +15,7 @@ */ package com.android.settings.fuelgauge; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.os.PowerManager; Loading @@ -27,10 +28,12 @@ import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.widget.TextView; import com.android.internal.logging.nano.MetricsProto; import com.android.internal.os.BatterySipper; import com.android.internal.os.BatteryStatsHelper; import com.android.internal.os.BatteryStatsImpl; import com.android.settings.R; import com.android.settings.SettingsActivity; import com.android.settings.SettingsRobolectricTestRunner; import com.android.settings.TestConfig; import com.android.settings.Utils; Loading @@ -52,6 +55,7 @@ import java.util.List; import static com.android.settings.fuelgauge.PowerUsageBase.MENU_STATS_REFRESH; import static com.android.settings.fuelgauge.PowerUsageSummary.MENU_ADDITIONAL_BATTERY_INFO; import static com.android.settings.fuelgauge.PowerUsageSummary.MENU_HIGH_POWER_APPS; import static com.android.settings.fuelgauge.PowerUsageSummary.MENU_TOGGLE_APPS; import static com.google.common.truth.Truth.assertThat; import static org.mockito.Matchers.anyInt; Loading Loading @@ -95,6 +99,8 @@ public class PowerUsageSummaryTest { @Mock private MenuItem mToggleAppsMenu; @Mock private MenuItem mHighPowerMenu; @Mock private MenuInflater mMenuInflater; @Mock private BatterySipper mNormalBatterySipper; Loading Loading @@ -128,6 +134,8 @@ public class PowerUsageSummaryTest { private BatteryStatsHelper mBatteryHelper; @Mock private PowerManager mPowerManager; @Mock private SettingsActivity mSettingsActivity; private List<BatterySipper> mUsageList; private Context mRealContext; Loading @@ -146,9 +154,11 @@ public class PowerUsageSummaryTest { mFragment = spy(new TestFragment(mContext)); mFragment.initFeatureProvider(); when(mFragment.getActivity()).thenReturn(mSettingsActivity); when(mAdditionalBatteryInfoMenu.getItemId()) .thenReturn(MENU_ADDITIONAL_BATTERY_INFO); when(mToggleAppsMenu.getItemId()).thenReturn(MENU_TOGGLE_APPS); when(mHighPowerMenu.getItemId()).thenReturn(MENU_HIGH_POWER_APPS); when(mFeatureFactory.powerUsageFeatureProvider.getAdditionalBatteryInfoIntent()) .thenReturn(ADDITIONAL_BATTERY_INFO_INTENT); when(mBatteryHelper.getTotalPower()).thenReturn(TOTAL_POWER); Loading Loading @@ -215,6 +225,31 @@ public class PowerUsageSummaryTest { Menu.NONE, R.string.additional_battery_info); } @Test public void testOptionsMenu_MenuHighPower_MetricEventInvoked() { mFragment.onOptionsItemSelected(mHighPowerMenu); verify(mFeatureFactory.metricsFeatureProvider).action(mContext, MetricsProto.MetricsEvent.ACTION_SETTINGS_MENU_BATTERY_OPTIMIZATION); } @Test public void testOptionsMenu_MenuAdditionalBattery_MetricEventInvoked() { mFragment.onOptionsItemSelected(mAdditionalBatteryInfoMenu); verify(mFeatureFactory.metricsFeatureProvider).action(mContext, MetricsProto.MetricsEvent.ACTION_SETTINGS_MENU_BATTERY_USAGE_ALERTS); } @Test public void testOptionsMenu_MenuAppToggle_MetricEventInvoked() { mFragment.onOptionsItemSelected(mToggleAppsMenu); mFragment.mShowAllApps = false; verify(mFeatureFactory.metricsFeatureProvider).action(mContext, MetricsProto.MetricsEvent.ACTION_SETTINGS_MENU_BATTERY_APPS_TOGGLE, true); } @Test public void testOptionsMenu_ToggleAppsEnabled() { when(mFeatureFactory.powerUsageFeatureProvider.isPowerAccountingToggleEnabled()) Loading Loading
src/com/android/settings/fuelgauge/PowerUsageSummary.java +13 −1 Original line number Diff line number Diff line Loading @@ -53,6 +53,7 @@ import com.android.settings.Utils; import com.android.settings.applications.LayoutPreference; import com.android.settings.applications.ManageApplications; import com.android.settings.core.PreferenceController; import com.android.settings.core.instrumentation.MetricsFeatureProvider; import com.android.settings.dashboard.SummaryLoader; import com.android.settings.display.AutoBrightnessPreferenceController; import com.android.settings.display.TimeoutPreferenceController; Loading Loading @@ -90,7 +91,8 @@ public class PowerUsageSummary extends PowerUsageBase { private static final int MENU_STATS_TYPE = Menu.FIRST; private static final int MENU_HIGH_POWER_APPS = Menu.FIRST + 3; @VisibleForTesting static final int MENU_HIGH_POWER_APPS = Menu.FIRST + 3; @VisibleForTesting static final int MENU_ADDITIONAL_BATTERY_INFO = Menu.FIRST + 4; @VisibleForTesting Loading Loading @@ -216,6 +218,10 @@ public class PowerUsageSummary extends PowerUsageBase { @Override public boolean onOptionsItemSelected(MenuItem item) { final SettingsActivity sa = (SettingsActivity) getActivity(); final Context context = getContext(); final MetricsFeatureProvider metricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider(); switch (item.getItemId()) { case MENU_STATS_TYPE: if (mStatsType == BatteryStats.STATS_SINCE_CHARGED) { Loading @@ -231,15 +237,21 @@ public class PowerUsageSummary extends PowerUsageBase { HighPowerApplicationsActivity.class.getName()); sa.startPreferencePanel(this, ManageApplications.class.getName(), args, R.string.high_power_apps, null, null, 0); metricsFeatureProvider.action(context, MetricsEvent.ACTION_SETTINGS_MENU_BATTERY_OPTIMIZATION); return true; case MENU_ADDITIONAL_BATTERY_INFO: startActivity(FeatureFactory.getFactory(getContext()) .getPowerUsageFeatureProvider(getContext()) .getAdditionalBatteryInfoIntent()); metricsFeatureProvider.action(context, MetricsEvent.ACTION_SETTINGS_MENU_BATTERY_USAGE_ALERTS); return true; case MENU_TOGGLE_APPS: mShowAllApps = !mShowAllApps; item.setTitle(mShowAllApps ? R.string.hide_extra_apps : R.string.show_all_apps); metricsFeatureProvider.action(context, MetricsEvent.ACTION_SETTINGS_MENU_BATTERY_APPS_TOGGLE, mShowAllApps); refreshStats(); return true; default: Loading
tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java +36 −1 Original line number Diff line number Diff line Loading @@ -15,6 +15,7 @@ */ package com.android.settings.fuelgauge; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.os.PowerManager; Loading @@ -27,10 +28,12 @@ import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.widget.TextView; import com.android.internal.logging.nano.MetricsProto; import com.android.internal.os.BatterySipper; import com.android.internal.os.BatteryStatsHelper; import com.android.internal.os.BatteryStatsImpl; import com.android.settings.R; import com.android.settings.SettingsActivity; import com.android.settings.SettingsRobolectricTestRunner; import com.android.settings.TestConfig; import com.android.settings.Utils; Loading @@ -52,6 +55,7 @@ import java.util.List; import static com.android.settings.fuelgauge.PowerUsageBase.MENU_STATS_REFRESH; import static com.android.settings.fuelgauge.PowerUsageSummary.MENU_ADDITIONAL_BATTERY_INFO; import static com.android.settings.fuelgauge.PowerUsageSummary.MENU_HIGH_POWER_APPS; import static com.android.settings.fuelgauge.PowerUsageSummary.MENU_TOGGLE_APPS; import static com.google.common.truth.Truth.assertThat; import static org.mockito.Matchers.anyInt; Loading Loading @@ -95,6 +99,8 @@ public class PowerUsageSummaryTest { @Mock private MenuItem mToggleAppsMenu; @Mock private MenuItem mHighPowerMenu; @Mock private MenuInflater mMenuInflater; @Mock private BatterySipper mNormalBatterySipper; Loading Loading @@ -128,6 +134,8 @@ public class PowerUsageSummaryTest { private BatteryStatsHelper mBatteryHelper; @Mock private PowerManager mPowerManager; @Mock private SettingsActivity mSettingsActivity; private List<BatterySipper> mUsageList; private Context mRealContext; Loading @@ -146,9 +154,11 @@ public class PowerUsageSummaryTest { mFragment = spy(new TestFragment(mContext)); mFragment.initFeatureProvider(); when(mFragment.getActivity()).thenReturn(mSettingsActivity); when(mAdditionalBatteryInfoMenu.getItemId()) .thenReturn(MENU_ADDITIONAL_BATTERY_INFO); when(mToggleAppsMenu.getItemId()).thenReturn(MENU_TOGGLE_APPS); when(mHighPowerMenu.getItemId()).thenReturn(MENU_HIGH_POWER_APPS); when(mFeatureFactory.powerUsageFeatureProvider.getAdditionalBatteryInfoIntent()) .thenReturn(ADDITIONAL_BATTERY_INFO_INTENT); when(mBatteryHelper.getTotalPower()).thenReturn(TOTAL_POWER); Loading Loading @@ -215,6 +225,31 @@ public class PowerUsageSummaryTest { Menu.NONE, R.string.additional_battery_info); } @Test public void testOptionsMenu_MenuHighPower_MetricEventInvoked() { mFragment.onOptionsItemSelected(mHighPowerMenu); verify(mFeatureFactory.metricsFeatureProvider).action(mContext, MetricsProto.MetricsEvent.ACTION_SETTINGS_MENU_BATTERY_OPTIMIZATION); } @Test public void testOptionsMenu_MenuAdditionalBattery_MetricEventInvoked() { mFragment.onOptionsItemSelected(mAdditionalBatteryInfoMenu); verify(mFeatureFactory.metricsFeatureProvider).action(mContext, MetricsProto.MetricsEvent.ACTION_SETTINGS_MENU_BATTERY_USAGE_ALERTS); } @Test public void testOptionsMenu_MenuAppToggle_MetricEventInvoked() { mFragment.onOptionsItemSelected(mToggleAppsMenu); mFragment.mShowAllApps = false; verify(mFeatureFactory.metricsFeatureProvider).action(mContext, MetricsProto.MetricsEvent.ACTION_SETTINGS_MENU_BATTERY_APPS_TOGGLE, true); } @Test public void testOptionsMenu_ToggleAppsEnabled() { when(mFeatureFactory.powerUsageFeatureProvider.isPowerAccountingToggleEnabled()) Loading