Add logging for battery tip
When it is triggered, we log the type of battery tip. Bug: 3662211 Test: RunSettingsRoboTests Change-Id: Iab1034008796b6b21eee53297b2e574199693f7e
This commit is contained in:
@@ -23,12 +23,15 @@ import android.support.v7.preference.Preference;
|
|||||||
import android.support.v7.preference.PreferenceGroup;
|
import android.support.v7.preference.PreferenceGroup;
|
||||||
import android.support.v7.preference.PreferenceScreen;
|
import android.support.v7.preference.PreferenceScreen;
|
||||||
|
|
||||||
|
import com.android.internal.logging.nano.MetricsProto;
|
||||||
import com.android.settings.SettingsActivity;
|
import com.android.settings.SettingsActivity;
|
||||||
import com.android.settings.core.BasePreferenceController;
|
import com.android.settings.core.BasePreferenceController;
|
||||||
import com.android.settings.core.InstrumentedPreferenceFragment;
|
import com.android.settings.core.InstrumentedPreferenceFragment;
|
||||||
import com.android.settings.fuelgauge.batterytip.actions.BatteryTipAction;
|
import com.android.settings.fuelgauge.batterytip.actions.BatteryTipAction;
|
||||||
import com.android.settings.fuelgauge.batterytip.tips.BatteryTip;
|
import com.android.settings.fuelgauge.batterytip.tips.BatteryTip;
|
||||||
import com.android.settings.fuelgauge.batterytip.tips.SummaryTip;
|
import com.android.settings.fuelgauge.batterytip.tips.SummaryTip;
|
||||||
|
import com.android.settings.overlay.FeatureFactory;
|
||||||
|
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -45,6 +48,7 @@ public class BatteryTipPreferenceController extends BasePreferenceController {
|
|||||||
private List<BatteryTip> mBatteryTips;
|
private List<BatteryTip> mBatteryTips;
|
||||||
private Map<String, BatteryTip> mBatteryTipMap;
|
private Map<String, BatteryTip> mBatteryTipMap;
|
||||||
private SettingsActivity mSettingsActivity;
|
private SettingsActivity mSettingsActivity;
|
||||||
|
private MetricsFeatureProvider mMetricsFeatureProvider;
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
PreferenceGroup mPreferenceGroup;
|
PreferenceGroup mPreferenceGroup;
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
@@ -63,6 +67,7 @@ public class BatteryTipPreferenceController extends BasePreferenceController {
|
|||||||
mBatteryTipMap = new HashMap<>();
|
mBatteryTipMap = new HashMap<>();
|
||||||
mFragment = fragment;
|
mFragment = fragment;
|
||||||
mSettingsActivity = settingsActivity;
|
mSettingsActivity = settingsActivity;
|
||||||
|
mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -99,6 +104,9 @@ public class BatteryTipPreferenceController extends BasePreferenceController {
|
|||||||
final Preference preference = batteryTip.buildPreference(mPrefContext);
|
final Preference preference = batteryTip.buildPreference(mPrefContext);
|
||||||
mBatteryTipMap.put(preference.getKey(), batteryTip);
|
mBatteryTipMap.put(preference.getKey(), batteryTip);
|
||||||
mPreferenceGroup.addPreference(preference);
|
mPreferenceGroup.addPreference(preference);
|
||||||
|
mMetricsFeatureProvider.action(mContext,
|
||||||
|
MetricsProto.MetricsEvent.ACTION_BATTERY_TIP_SHOWN,
|
||||||
|
batteryTip.getType());
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -21,6 +21,7 @@ import static com.android.settings.fuelgauge.batterytip.tips.BatteryTip.TipType
|
|||||||
import static com.google.common.truth.Truth.assertThat;
|
import static com.google.common.truth.Truth.assertThat;
|
||||||
|
|
||||||
import static org.mockito.Matchers.any;
|
import static org.mockito.Matchers.any;
|
||||||
|
import static org.mockito.Matchers.eq;
|
||||||
import static org.mockito.Mockito.doReturn;
|
import static org.mockito.Mockito.doReturn;
|
||||||
import static org.mockito.Mockito.spy;
|
import static org.mockito.Mockito.spy;
|
||||||
import static org.mockito.Mockito.verify;
|
import static org.mockito.Mockito.verify;
|
||||||
@@ -32,10 +33,12 @@ import android.support.v7.preference.PreferenceGroup;
|
|||||||
import android.support.v7.preference.PreferenceManager;
|
import android.support.v7.preference.PreferenceManager;
|
||||||
import android.support.v7.preference.PreferenceScreen;
|
import android.support.v7.preference.PreferenceScreen;
|
||||||
|
|
||||||
|
import com.android.internal.logging.nano.MetricsProto;
|
||||||
import com.android.settings.SettingsActivity;
|
import com.android.settings.SettingsActivity;
|
||||||
import com.android.settings.TestConfig;
|
import com.android.settings.TestConfig;
|
||||||
import com.android.settings.fuelgauge.batterytip.tips.BatteryTip;
|
import com.android.settings.fuelgauge.batterytip.tips.BatteryTip;
|
||||||
import com.android.settings.fuelgauge.batterytip.tips.SummaryTip;
|
import com.android.settings.fuelgauge.batterytip.tips.SummaryTip;
|
||||||
|
import com.android.settings.testutils.FakeFeatureFactory;
|
||||||
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
||||||
|
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
@@ -72,6 +75,7 @@ public class BatteryTipPreferenceControllerTest {
|
|||||||
private List<BatteryTip> mOldBatteryTips;
|
private List<BatteryTip> mOldBatteryTips;
|
||||||
private List<BatteryTip> mNewBatteryTips;
|
private List<BatteryTip> mNewBatteryTips;
|
||||||
private Preference mPreference;
|
private Preference mPreference;
|
||||||
|
private FakeFeatureFactory mFeatureFactory;
|
||||||
|
|
||||||
@Before
|
@Before
|
||||||
public void setUp() {
|
public void setUp() {
|
||||||
@@ -84,6 +88,7 @@ public class BatteryTipPreferenceControllerTest {
|
|||||||
doReturn(mPreferenceGroup).when(mPreferenceScreen).findPreference(KEY_PREF);
|
doReturn(mPreferenceGroup).when(mPreferenceScreen).findPreference(KEY_PREF);
|
||||||
mPreference = new Preference(mContext);
|
mPreference = new Preference(mContext);
|
||||||
mPreference.setKey(KEY_TIP);
|
mPreference.setKey(KEY_TIP);
|
||||||
|
mFeatureFactory = FakeFeatureFactory.setupForTest();
|
||||||
|
|
||||||
mOldBatteryTips = new ArrayList<>();
|
mOldBatteryTips = new ArrayList<>();
|
||||||
mOldBatteryTips.add(new SummaryTip(BatteryTip.StateType.NEW));
|
mOldBatteryTips.add(new SummaryTip(BatteryTip.StateType.NEW));
|
||||||
@@ -104,7 +109,7 @@ public class BatteryTipPreferenceControllerTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void updateBatteryTips_updateTwice_firstShowSummaryTipThenRemoveIt() {
|
public void testUpdateBatteryTips_updateTwice_firstShowSummaryTipThenRemoveIt() {
|
||||||
// Display summary tip because its state is new
|
// Display summary tip because its state is new
|
||||||
mBatteryTipPreferenceController.updateBatteryTips(mOldBatteryTips);
|
mBatteryTipPreferenceController.updateBatteryTips(mOldBatteryTips);
|
||||||
assertOnlyContainsSummaryTip(mPreferenceGroup);
|
assertOnlyContainsSummaryTip(mPreferenceGroup);
|
||||||
@@ -114,6 +119,15 @@ public class BatteryTipPreferenceControllerTest {
|
|||||||
assertThat(mPreferenceGroup.getPreferenceCount()).isEqualTo(0);
|
assertThat(mPreferenceGroup.getPreferenceCount()).isEqualTo(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testUpdateBatteryTips_logBatteryTip() {
|
||||||
|
mBatteryTipPreferenceController.updateBatteryTips(mOldBatteryTips);
|
||||||
|
|
||||||
|
verify(mFeatureFactory.metricsFeatureProvider).action(any(Context.class),
|
||||||
|
eq(MetricsProto.MetricsEvent.ACTION_BATTERY_TIP_SHOWN),
|
||||||
|
eq(BatteryTip.TipType.SUMMARY));
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testHandlePreferenceTreeClick_noDialog_invokeCallback() {
|
public void testHandlePreferenceTreeClick_noDialog_invokeCallback() {
|
||||||
doReturn(SMART_BATTERY_MANAGER).when(mBatteryTip).getType();
|
doReturn(SMART_BATTERY_MANAGER).when(mBatteryTip).getType();
|
||||||
|
Reference in New Issue
Block a user