Add UI metrics logging for battery tips card.

Bug: 291689623
Test: manual
Change-Id: I925e4d887c3435239aed0aa0fde7cda2c3a95b3c
Merged-In: I925e4d887c3435239aed0aa0fde7cda2c3a95b3c
This commit is contained in:
Zaiyue Xue
2023-08-19 17:30:11 +08:00
committed by mxyyiyi
parent 94f759230a
commit 9f57691d89
5 changed files with 75 additions and 25 deletions

View File

@@ -16,6 +16,7 @@
package com.android.settings.fuelgauge.batteryusage;
import android.app.settings.SettingsEnums;
import android.content.Context;
import android.text.TextUtils;
@@ -26,6 +27,7 @@ import com.android.settings.R;
import com.android.settings.core.BasePreferenceController;
import com.android.settings.fuelgauge.PowerUsageFeatureProvider;
import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
import java.util.function.Function;
@@ -36,19 +38,20 @@ public class BatteryTipsController extends BasePreferenceController {
private static final String ROOT_PREFERENCE_KEY = "battery_tips_category";
private static final String CARD_PREFERENCE_KEY = "battery_tips_card";
private final PowerUsageFeatureProvider mPowerUsageFeatureProvider;
private final MetricsFeatureProvider mMetricsFeatureProvider;
@VisibleForTesting
BatteryTipsCardPreference mCardPreference;
@VisibleForTesting
PowerUsageFeatureProvider mPowerUsageFeatureProvider;
public BatteryTipsController(Context context) {
super(context, ROOT_PREFERENCE_KEY);
mPowerUsageFeatureProvider = FeatureFactory.getFactory(context)
.getPowerUsageFeatureProvider(context);
final FeatureFactory featureFactory = FeatureFactory.getFactory(context);
mPowerUsageFeatureProvider = featureFactory.getPowerUsageFeatureProvider(context);
mMetricsFeatureProvider = featureFactory.getMetricsFeatureProvider();
}
private boolean isTipsCardVisible() {
// TODO: compared with the timestamp of last user dismiss action in sharedPreference.
return mPowerUsageFeatureProvider.isBatteryTipsEnabled();
}
@@ -131,10 +134,14 @@ public class BatteryTipsController extends BasePreferenceController {
WarningItemInfo::getMainButtonSourceMetricsCategory);
// Updated card preference and main button fragment launcher
mCardPreference.setAnomalyEventId(powerAnomalyEvent.getEventId());
mCardPreference.setTitle(titleString);
mCardPreference.setMainButtonLabel(mainBtnString);
mCardPreference.setDismissButtonLabel(dismissBtnString);
mCardPreference.setMainButtonLauncherInfo(destinationClassName, sourceMetricsCategory);
mCardPreference.setVisible(true);
mMetricsFeatureProvider.action(mContext,
SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW, powerAnomalyEvent.getEventId());
}
}