Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 513ddb14 authored by jackqdyulei's avatar jackqdyulei Committed by Lei Yu
Browse files

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
parent 7caecd36
Loading
Loading
Loading
Loading
+1 −3
Original line number Diff line number Diff line
@@ -104,9 +104,7 @@ public class BatteryTipPreferenceController extends BasePreferenceController {
                final Preference preference = batteryTip.buildPreference(mPrefContext);
                mBatteryTipMap.put(preference.getKey(), batteryTip);
                mPreferenceGroup.addPreference(preference);
                mMetricsFeatureProvider.action(mContext,
                        MetricsProto.MetricsEvent.ACTION_BATTERY_TIP_SHOWN,
                        batteryTip.getType());
                batteryTip.log(mContext, mMetricsFeatureProvider);
                break;
            }
        }
+7 −0
Original line number Diff line number Diff line
@@ -25,6 +25,8 @@ import android.support.annotation.VisibleForTesting;
import android.support.v7.preference.Preference;
import android.util.SparseIntArray;

import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;

@@ -123,6 +125,11 @@ public abstract class BatteryTip implements Comparable<BatteryTip>, Parcelable {
     */
    public abstract void updateState(BatteryTip tip);

    /**
     * Log the battery tip
     */
    public abstract void log(Context context, MetricsFeatureProvider metricsFeatureProvider);

    public Preference buildPreference(Context context) {
        Preference preference = new Preference(context);

+8 −0
Original line number Diff line number Diff line
@@ -19,7 +19,9 @@ package com.android.settings.fuelgauge.batterytip.tips;
import android.content.Context;
import android.os.Parcel;

import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.R;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;

/**
 * Tip to show early warning if battery couldn't make to usual charging time
@@ -75,6 +77,12 @@ public class EarlyWarningTip extends BatteryTip {
        mPowerSaveModeOn = earlyWarningTip.mPowerSaveModeOn;
    }

    @Override
    public void log(Context context, MetricsFeatureProvider metricsFeatureProvider) {
        metricsFeatureProvider.action(context, MetricsProto.MetricsEvent.ACTION_EARLY_WARNING_TIP,
                mState);
    }

    @Override
    public void writeToParcel(Parcel dest, int flags) {
        super.writeToParcel(dest, flags);
+14 −0
Original line number Diff line number Diff line
@@ -21,9 +21,11 @@ import android.os.Parcel;
import android.os.Parcelable;
import android.support.annotation.VisibleForTesting;

import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.R;
import com.android.settings.fuelgauge.batterytip.AppInfo;

import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
import com.android.settingslib.utils.StringUtil;
import java.util.List;

@@ -78,6 +80,18 @@ public class HighUsageTip extends BatteryTip {
        mState = tip.mState;
    }

    @Override
    public void log(Context context, MetricsFeatureProvider metricsFeatureProvider) {
        metricsFeatureProvider.action(context, MetricsProto.MetricsEvent.ACTION_HIGH_USAGE_TIP,
                mState);
        for (int i = 0, size = mHighUsageAppList.size(); i < size; i++) {
            final AppInfo appInfo = mHighUsageAppList.get(i);
            metricsFeatureProvider.action(context,
                    MetricsProto.MetricsEvent.ACTION_HIGH_USAGE_TIP_LIST,
                    appInfo.packageName);
        }
    }

    public long getScreenTimeMs() {
        return mScreenTimeMs;
    }
+8 −0
Original line number Diff line number Diff line
@@ -20,7 +20,9 @@ import android.content.Context;
import android.os.Parcel;
import android.os.Parcelable;

import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.R;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;

/**
 * Tip to show current battery life is short
@@ -55,6 +57,12 @@ public class LowBatteryTip extends BatteryTip {
        mState = tip.mState;
    }

    @Override
    public void log(Context context, MetricsFeatureProvider metricsFeatureProvider) {
        metricsFeatureProvider.action(context, MetricsProto.MetricsEvent.ACTION_LOW_BATTERY_TIP,
                mState);
    }

    public static final Parcelable.Creator CREATOR = new Parcelable.Creator() {
        public BatteryTip createFromParcel(Parcel in) {
            return new LowBatteryTip(in);
Loading