Add extra log for battery tip.

For each visible battery tip, logs its type and state. For battery tip
with app list, also log that list:

1. HighUsageTip: apps that used too much battery
2. RestrictAppTip: apps with anomaly, also logs the anomaly type

Bug: 73888115
Test: RunSettingsRoboTests
Change-Id: I1b61eb1d793d979baab4864d2d652e12260b590d
This commit is contained in:
jackqdyulei
2018-03-02 16:33:59 -08:00
committed by Lei Yu
parent 7caecd36f7
commit 513ddb14a6
16 changed files with 231 additions and 17 deletions

View File

@@ -19,11 +19,14 @@ package com.android.settings.fuelgauge.batterytip.tips;
import android.content.Context;
import android.content.res.Resources;
import android.os.Parcel;
import android.util.Pair;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.R;
import com.android.settings.Utils;
import com.android.settings.fuelgauge.batterytip.AppInfo;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
import java.util.ArrayList;
import java.util.List;
@@ -93,6 +96,24 @@ public class RestrictAppTip extends BatteryTip {
}
}
@Override
public void log(Context context, MetricsFeatureProvider metricsFeatureProvider) {
metricsFeatureProvider.action(context, MetricsProto.MetricsEvent.ACTION_APP_RESTRICTION_TIP,
mState);
if (mState == StateType.NEW) {
for (int i = 0, size = mRestrictAppList.size(); i < size; i++) {
final AppInfo appInfo = mRestrictAppList.get(i);
for (Integer anomalyType : appInfo.anomalyTypes) {
metricsFeatureProvider.action(context,
MetricsProto.MetricsEvent.ACTION_APP_RESTRICTION_TIP_LIST,
appInfo.packageName,
Pair.create(MetricsProto.MetricsEvent.FIELD_CONTEXT, anomalyType));
}
}
}
}
public List<AppInfo> getRestrictAppList() {
return mRestrictAppList;
}