Add metric enums for menu in battery settings page.
Bug: 35063415 Test: RunSettingsRoboTests Change-Id: I23f58a73f7e17da56796687209610165dd688aa6
This commit is contained in:
@@ -53,6 +53,7 @@ import com.android.settings.Utils;
|
|||||||
import com.android.settings.applications.LayoutPreference;
|
import com.android.settings.applications.LayoutPreference;
|
||||||
import com.android.settings.applications.ManageApplications;
|
import com.android.settings.applications.ManageApplications;
|
||||||
import com.android.settings.core.PreferenceController;
|
import com.android.settings.core.PreferenceController;
|
||||||
|
import com.android.settings.core.instrumentation.MetricsFeatureProvider;
|
||||||
import com.android.settings.dashboard.SummaryLoader;
|
import com.android.settings.dashboard.SummaryLoader;
|
||||||
import com.android.settings.display.AutoBrightnessPreferenceController;
|
import com.android.settings.display.AutoBrightnessPreferenceController;
|
||||||
import com.android.settings.display.TimeoutPreferenceController;
|
import com.android.settings.display.TimeoutPreferenceController;
|
||||||
@@ -90,7 +91,8 @@ public class PowerUsageSummary extends PowerUsageBase {
|
|||||||
|
|
||||||
|
|
||||||
private static final int MENU_STATS_TYPE = Menu.FIRST;
|
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
|
@VisibleForTesting
|
||||||
static final int MENU_ADDITIONAL_BATTERY_INFO = Menu.FIRST + 4;
|
static final int MENU_ADDITIONAL_BATTERY_INFO = Menu.FIRST + 4;
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
@@ -216,6 +218,10 @@ public class PowerUsageSummary extends PowerUsageBase {
|
|||||||
@Override
|
@Override
|
||||||
public boolean onOptionsItemSelected(MenuItem item) {
|
public boolean onOptionsItemSelected(MenuItem item) {
|
||||||
final SettingsActivity sa = (SettingsActivity) getActivity();
|
final SettingsActivity sa = (SettingsActivity) getActivity();
|
||||||
|
final Context context = getContext();
|
||||||
|
final MetricsFeatureProvider metricsFeatureProvider =
|
||||||
|
FeatureFactory.getFactory(context).getMetricsFeatureProvider();
|
||||||
|
|
||||||
switch (item.getItemId()) {
|
switch (item.getItemId()) {
|
||||||
case MENU_STATS_TYPE:
|
case MENU_STATS_TYPE:
|
||||||
if (mStatsType == BatteryStats.STATS_SINCE_CHARGED) {
|
if (mStatsType == BatteryStats.STATS_SINCE_CHARGED) {
|
||||||
@@ -231,15 +237,21 @@ public class PowerUsageSummary extends PowerUsageBase {
|
|||||||
HighPowerApplicationsActivity.class.getName());
|
HighPowerApplicationsActivity.class.getName());
|
||||||
sa.startPreferencePanel(this, ManageApplications.class.getName(), args,
|
sa.startPreferencePanel(this, ManageApplications.class.getName(), args,
|
||||||
R.string.high_power_apps, null, null, 0);
|
R.string.high_power_apps, null, null, 0);
|
||||||
|
metricsFeatureProvider.action(context,
|
||||||
|
MetricsEvent.ACTION_SETTINGS_MENU_BATTERY_OPTIMIZATION);
|
||||||
return true;
|
return true;
|
||||||
case MENU_ADDITIONAL_BATTERY_INFO:
|
case MENU_ADDITIONAL_BATTERY_INFO:
|
||||||
startActivity(FeatureFactory.getFactory(getContext())
|
startActivity(FeatureFactory.getFactory(getContext())
|
||||||
.getPowerUsageFeatureProvider(getContext())
|
.getPowerUsageFeatureProvider(getContext())
|
||||||
.getAdditionalBatteryInfoIntent());
|
.getAdditionalBatteryInfoIntent());
|
||||||
|
metricsFeatureProvider.action(context,
|
||||||
|
MetricsEvent.ACTION_SETTINGS_MENU_BATTERY_USAGE_ALERTS);
|
||||||
return true;
|
return true;
|
||||||
case MENU_TOGGLE_APPS:
|
case MENU_TOGGLE_APPS:
|
||||||
mShowAllApps = !mShowAllApps;
|
mShowAllApps = !mShowAllApps;
|
||||||
item.setTitle(mShowAllApps ? R.string.hide_extra_apps : R.string.show_all_apps);
|
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();
|
refreshStats();
|
||||||
return true;
|
return true;
|
||||||
default:
|
default:
|
||||||
|
@@ -15,6 +15,7 @@
|
|||||||
*/
|
*/
|
||||||
package com.android.settings.fuelgauge;
|
package com.android.settings.fuelgauge;
|
||||||
|
|
||||||
|
import android.app.Activity;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.os.PowerManager;
|
import android.os.PowerManager;
|
||||||
@@ -27,10 +28,12 @@ import android.view.MenuInflater;
|
|||||||
import android.view.MenuItem;
|
import android.view.MenuItem;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
import com.android.internal.logging.nano.MetricsProto;
|
||||||
import com.android.internal.os.BatterySipper;
|
import com.android.internal.os.BatterySipper;
|
||||||
import com.android.internal.os.BatteryStatsHelper;
|
import com.android.internal.os.BatteryStatsHelper;
|
||||||
import com.android.internal.os.BatteryStatsImpl;
|
import com.android.internal.os.BatteryStatsImpl;
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
|
import com.android.settings.SettingsActivity;
|
||||||
import com.android.settings.SettingsRobolectricTestRunner;
|
import com.android.settings.SettingsRobolectricTestRunner;
|
||||||
import com.android.settings.TestConfig;
|
import com.android.settings.TestConfig;
|
||||||
import com.android.settings.Utils;
|
import com.android.settings.Utils;
|
||||||
@@ -52,6 +55,7 @@ import java.util.List;
|
|||||||
|
|
||||||
import static com.android.settings.fuelgauge.PowerUsageBase.MENU_STATS_REFRESH;
|
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_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.android.settings.fuelgauge.PowerUsageSummary.MENU_TOGGLE_APPS;
|
||||||
import static com.google.common.truth.Truth.assertThat;
|
import static com.google.common.truth.Truth.assertThat;
|
||||||
import static org.mockito.Matchers.anyInt;
|
import static org.mockito.Matchers.anyInt;
|
||||||
@@ -95,6 +99,8 @@ public class PowerUsageSummaryTest {
|
|||||||
@Mock
|
@Mock
|
||||||
private MenuItem mToggleAppsMenu;
|
private MenuItem mToggleAppsMenu;
|
||||||
@Mock
|
@Mock
|
||||||
|
private MenuItem mHighPowerMenu;
|
||||||
|
@Mock
|
||||||
private MenuInflater mMenuInflater;
|
private MenuInflater mMenuInflater;
|
||||||
@Mock
|
@Mock
|
||||||
private BatterySipper mNormalBatterySipper;
|
private BatterySipper mNormalBatterySipper;
|
||||||
@@ -128,6 +134,8 @@ public class PowerUsageSummaryTest {
|
|||||||
private BatteryStatsHelper mBatteryHelper;
|
private BatteryStatsHelper mBatteryHelper;
|
||||||
@Mock
|
@Mock
|
||||||
private PowerManager mPowerManager;
|
private PowerManager mPowerManager;
|
||||||
|
@Mock
|
||||||
|
private SettingsActivity mSettingsActivity;
|
||||||
|
|
||||||
private List<BatterySipper> mUsageList;
|
private List<BatterySipper> mUsageList;
|
||||||
private Context mRealContext;
|
private Context mRealContext;
|
||||||
@@ -145,10 +153,12 @@ public class PowerUsageSummaryTest {
|
|||||||
|
|
||||||
mFragment = spy(new TestFragment(mContext));
|
mFragment = spy(new TestFragment(mContext));
|
||||||
mFragment.initFeatureProvider();
|
mFragment.initFeatureProvider();
|
||||||
|
|
||||||
|
when(mFragment.getActivity()).thenReturn(mSettingsActivity);
|
||||||
when(mAdditionalBatteryInfoMenu.getItemId())
|
when(mAdditionalBatteryInfoMenu.getItemId())
|
||||||
.thenReturn(MENU_ADDITIONAL_BATTERY_INFO);
|
.thenReturn(MENU_ADDITIONAL_BATTERY_INFO);
|
||||||
when(mToggleAppsMenu.getItemId()).thenReturn(MENU_TOGGLE_APPS);
|
when(mToggleAppsMenu.getItemId()).thenReturn(MENU_TOGGLE_APPS);
|
||||||
|
when(mHighPowerMenu.getItemId()).thenReturn(MENU_HIGH_POWER_APPS);
|
||||||
when(mFeatureFactory.powerUsageFeatureProvider.getAdditionalBatteryInfoIntent())
|
when(mFeatureFactory.powerUsageFeatureProvider.getAdditionalBatteryInfoIntent())
|
||||||
.thenReturn(ADDITIONAL_BATTERY_INFO_INTENT);
|
.thenReturn(ADDITIONAL_BATTERY_INFO_INTENT);
|
||||||
when(mBatteryHelper.getTotalPower()).thenReturn(TOTAL_POWER);
|
when(mBatteryHelper.getTotalPower()).thenReturn(TOTAL_POWER);
|
||||||
@@ -215,6 +225,31 @@ public class PowerUsageSummaryTest {
|
|||||||
Menu.NONE, R.string.additional_battery_info);
|
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
|
@Test
|
||||||
public void testOptionsMenu_ToggleAppsEnabled() {
|
public void testOptionsMenu_ToggleAppsEnabled() {
|
||||||
when(mFeatureFactory.powerUsageFeatureProvider.isPowerAccountingToggleEnabled())
|
when(mFeatureFactory.powerUsageFeatureProvider.isPowerAccountingToggleEnabled())
|
||||||
|
Reference in New Issue
Block a user