Add metric for battery defender
Bug: 188384887 Test: make SettingsRoboTests Change-Id: Ida96deb6efe94a98cf6837b9f82758467a4d1300
This commit is contained in:
@@ -132,7 +132,6 @@ public class BatteryChartPreferenceController extends AbstractPreferenceControll
|
|||||||
savedInstanceState.getBoolean(KEY_EXPAND_SYSTEM_INFO, mIsExpanded);
|
savedInstanceState.getBoolean(KEY_EXPAND_SYSTEM_INFO, mIsExpanded);
|
||||||
Log.d(TAG, String.format("onCreate() slotIndex=%d isExpanded=%b",
|
Log.d(TAG, String.format("onCreate() slotIndex=%d isExpanded=%b",
|
||||||
mTrapezoidIndex, mIsExpanded));
|
mTrapezoidIndex, mIsExpanded));
|
||||||
mMetricsFeatureProvider.action(mPrefContext, SettingsEnums.OPEN_BATTERY_USAGE);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -145,6 +144,7 @@ public class BatteryChartPreferenceController extends AbstractPreferenceControll
|
|||||||
BatteryDiffEntry.clearCache();
|
BatteryDiffEntry.clearCache();
|
||||||
Log.d(TAG, "clear icon and label cache since uiMode is changed");
|
Log.d(TAG, "clear icon and label cache since uiMode is changed");
|
||||||
}
|
}
|
||||||
|
mMetricsFeatureProvider.action(mPrefContext, SettingsEnums.OPEN_BATTERY_USAGE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -41,7 +41,7 @@ public class SmartBatterySettings extends DashboardFragment {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getMetricsCategory() {
|
public int getMetricsCategory() {
|
||||||
return SettingsEnums.FUELGAUGE_SMART_BATTERY;
|
return SettingsEnums.OPEN_BATTERY_ADAPTIVE_PREFERENCES;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -54,7 +54,7 @@ public class BatterySaverSettings extends DashboardFragment {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getMetricsCategory() {
|
public int getMetricsCategory() {
|
||||||
return SettingsEnums.FUELGAUGE_BATTERY_SAVER;
|
return SettingsEnums.OPEN_BATTERY_SAVER;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
package com.android.settings.fuelgauge.batterytip.actions;
|
package com.android.settings.fuelgauge.batterytip.actions;
|
||||||
|
|
||||||
|
import android.app.settings.SettingsEnums;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
@@ -38,6 +39,8 @@ public class BatteryDefenderAction extends BatteryTipAction {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void handlePositiveAction(int metricsKey) {
|
public void handlePositiveAction(int metricsKey) {
|
||||||
|
mMetricsFeatureProvider.action(mContext,
|
||||||
|
SettingsEnums.ACTION_TIP_BATTERY_DEFENDER, metricsKey);
|
||||||
final Intent intent = HelpUtils.getHelpIntent(
|
final Intent intent = HelpUtils.getHelpIntent(
|
||||||
mContext,
|
mContext,
|
||||||
mContext.getString(R.string.help_url_battery_defender),
|
mContext.getString(R.string.help_url_battery_defender),
|
||||||
@@ -45,6 +48,5 @@ public class BatteryDefenderAction extends BatteryTipAction {
|
|||||||
if (intent != null) {
|
if (intent != null) {
|
||||||
mSettingsActivity.startActivityForResult(intent, 0);
|
mSettingsActivity.startActivityForResult(intent, 0);
|
||||||
}
|
}
|
||||||
// TODO(b/173985153): Add logging enums for Battery Defender.
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
package com.android.settings.fuelgauge.batterytip.tips;
|
package com.android.settings.fuelgauge.batterytip.tips;
|
||||||
|
|
||||||
|
import android.app.settings.SettingsEnums;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.os.Parcel;
|
import android.os.Parcel;
|
||||||
|
|
||||||
@@ -57,7 +58,8 @@ public class BatteryDefenderTip extends BatteryTip {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void log(Context context, MetricsFeatureProvider metricsFeatureProvider) {
|
public void log(Context context, MetricsFeatureProvider metricsFeatureProvider) {
|
||||||
// TODO(b/173985153): Add logging enums for Battery Defender.
|
metricsFeatureProvider.action(context, SettingsEnums.ACTION_BATTERY_DEFENDER_TIP,
|
||||||
|
mState);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static final Creator CREATOR = new Creator() {
|
public static final Creator CREATOR = new Creator() {
|
||||||
|
@@ -139,6 +139,8 @@ public final class BatteryChartPreferenceControllerTest {
|
|||||||
|
|
||||||
mBatteryChartPreferenceController.onResume();
|
mBatteryChartPreferenceController.onResume();
|
||||||
assertThat(BatteryDiffEntry.sResourceCache).isNotEmpty();
|
assertThat(BatteryDiffEntry.sResourceCache).isNotEmpty();
|
||||||
|
verify(mMetricsFeatureProvider)
|
||||||
|
.action(mContext, SettingsEnums.OPEN_BATTERY_USAGE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -658,8 +660,6 @@ public final class BatteryChartPreferenceControllerTest {
|
|||||||
assertThat(mBatteryChartPreferenceController.mTrapezoidIndex)
|
assertThat(mBatteryChartPreferenceController.mTrapezoidIndex)
|
||||||
.isEqualTo(expectedIndex);
|
.isEqualTo(expectedIndex);
|
||||||
assertThat(mBatteryChartPreferenceController.mIsExpanded).isTrue();
|
assertThat(mBatteryChartPreferenceController.mIsExpanded).isTrue();
|
||||||
verify(mMetricsFeatureProvider)
|
|
||||||
.action(mContext, SettingsEnums.OPEN_BATTERY_USAGE);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@@ -0,0 +1,70 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2021 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.batterytip.actions;
|
||||||
|
|
||||||
|
|
||||||
|
import static com.google.common.truth.Truth.assertThat;
|
||||||
|
|
||||||
|
import static org.mockito.Mockito.doReturn;
|
||||||
|
import static org.mockito.Mockito.spy;
|
||||||
|
import static org.mockito.Mockito.verify;
|
||||||
|
|
||||||
|
import android.app.settings.SettingsEnums;
|
||||||
|
import android.content.Context;
|
||||||
|
|
||||||
|
import com.android.settings.R;
|
||||||
|
import com.android.settings.SettingsActivity;
|
||||||
|
import com.android.settings.testutils.FakeFeatureFactory;
|
||||||
|
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
|
||||||
|
|
||||||
|
import org.junit.Before;
|
||||||
|
import org.junit.Test;
|
||||||
|
import org.junit.runner.RunWith;
|
||||||
|
import org.mockito.Mock;
|
||||||
|
import org.mockito.MockitoAnnotations;
|
||||||
|
import org.robolectric.RobolectricTestRunner;
|
||||||
|
import org.robolectric.RuntimeEnvironment;
|
||||||
|
|
||||||
|
@RunWith(RobolectricTestRunner.class)
|
||||||
|
public final class BatteryDefenderActionTest {
|
||||||
|
|
||||||
|
private Context mContext;
|
||||||
|
private FakeFeatureFactory mFeatureFactory;
|
||||||
|
private BatteryDefenderAction mBatteryDefenderAction;
|
||||||
|
private MetricsFeatureProvider mMetricsFeatureProvider;
|
||||||
|
|
||||||
|
@Mock private SettingsActivity mSettingsActivity;
|
||||||
|
|
||||||
|
@Before
|
||||||
|
public void setUp() {
|
||||||
|
MockitoAnnotations.initMocks(this);
|
||||||
|
|
||||||
|
mFeatureFactory = FakeFeatureFactory.setupForTest();
|
||||||
|
mMetricsFeatureProvider = mFeatureFactory.metricsFeatureProvider;
|
||||||
|
mContext = spy(RuntimeEnvironment.application);
|
||||||
|
doReturn(mContext).when(mSettingsActivity).getApplicationContext();
|
||||||
|
mBatteryDefenderAction = new BatteryDefenderAction(mSettingsActivity);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testHandlePositiveAction_logMetric() {
|
||||||
|
final int metricKey = 10;
|
||||||
|
mBatteryDefenderAction.handlePositiveAction(metricKey);
|
||||||
|
|
||||||
|
verify(mMetricsFeatureProvider).action(mContext,
|
||||||
|
SettingsEnums.ACTION_TIP_BATTERY_DEFENDER, metricKey);
|
||||||
|
}
|
||||||
|
}
|
@@ -17,13 +17,19 @@ package com.android.settings.fuelgauge.batterytip.tips;
|
|||||||
|
|
||||||
import static com.google.common.truth.Truth.assertThat;
|
import static com.google.common.truth.Truth.assertThat;
|
||||||
|
|
||||||
|
import static org.mockito.Mockito.verify;
|
||||||
|
|
||||||
|
import android.app.settings.SettingsEnums;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
|
import com.android.settings.testutils.FakeFeatureFactory;
|
||||||
|
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
|
||||||
|
|
||||||
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.Mock;
|
||||||
import org.mockito.MockitoAnnotations;
|
import org.mockito.MockitoAnnotations;
|
||||||
import org.robolectric.RobolectricTestRunner;
|
import org.robolectric.RobolectricTestRunner;
|
||||||
import org.robolectric.RuntimeEnvironment;
|
import org.robolectric.RuntimeEnvironment;
|
||||||
@@ -32,12 +38,18 @@ import org.robolectric.RuntimeEnvironment;
|
|||||||
public class BatteryDefenderTipTest {
|
public class BatteryDefenderTipTest {
|
||||||
|
|
||||||
private Context mContext;
|
private Context mContext;
|
||||||
|
private FakeFeatureFactory mFeatureFactory;
|
||||||
private BatteryDefenderTip mBatteryDefenderTip;
|
private BatteryDefenderTip mBatteryDefenderTip;
|
||||||
|
private MetricsFeatureProvider mMetricsFeatureProvider;
|
||||||
|
|
||||||
|
@Mock private BatteryTip mBatteryTip;
|
||||||
|
|
||||||
@Before
|
@Before
|
||||||
public void setUp() {
|
public void setUp() {
|
||||||
MockitoAnnotations.initMocks(this);
|
MockitoAnnotations.initMocks(this);
|
||||||
|
|
||||||
|
mFeatureFactory = FakeFeatureFactory.setupForTest();
|
||||||
|
mMetricsFeatureProvider = mFeatureFactory.metricsFeatureProvider;
|
||||||
mContext = RuntimeEnvironment.application;
|
mContext = RuntimeEnvironment.application;
|
||||||
mBatteryDefenderTip = new BatteryDefenderTip(BatteryTip.StateType.NEW);
|
mBatteryDefenderTip = new BatteryDefenderTip(BatteryTip.StateType.NEW);
|
||||||
}
|
}
|
||||||
@@ -59,4 +71,13 @@ public class BatteryDefenderTipTest {
|
|||||||
assertThat(mBatteryDefenderTip.getIconId())
|
assertThat(mBatteryDefenderTip.getIconId())
|
||||||
.isEqualTo(R.drawable.ic_battery_status_good_24dp);
|
.isEqualTo(R.drawable.ic_battery_status_good_24dp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testLog_logMetric() {
|
||||||
|
mBatteryDefenderTip.updateState(mBatteryTip);
|
||||||
|
mBatteryDefenderTip.log(mContext, mMetricsFeatureProvider);
|
||||||
|
|
||||||
|
verify(mMetricsFeatureProvider).action(mContext,
|
||||||
|
SettingsEnums.ACTION_BATTERY_DEFENDER_TIP, mBatteryTip.mState);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user