Merge "Add usage percentage and battery level into app relative metric" into sc-dev
This commit is contained in:
@@ -29,6 +29,7 @@ import android.text.Html;
|
||||
import android.text.TextUtils;
|
||||
import android.text.format.DateUtils;
|
||||
import android.util.Log;
|
||||
import android.util.Pair;
|
||||
import android.view.View;
|
||||
|
||||
import androidx.annotation.VisibleForTesting;
|
||||
@@ -49,7 +50,6 @@ import com.android.settings.widget.EntityHeaderController;
|
||||
import com.android.settingslib.applications.AppUtils;
|
||||
import com.android.settingslib.applications.ApplicationsState;
|
||||
import com.android.settingslib.core.AbstractPreferenceController;
|
||||
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
|
||||
import com.android.settingslib.utils.StringUtil;
|
||||
import com.android.settingslib.widget.LayoutPreference;
|
||||
import com.android.settingslib.widget.RadioButtonPreference;
|
||||
@@ -114,7 +114,6 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements
|
||||
@VisibleForTesting
|
||||
boolean enableTriState = true;
|
||||
|
||||
private MetricsFeatureProvider mMetricsFeatureProvider;
|
||||
private AppButtonsPreferenceController mAppButtonsPreferenceController;
|
||||
private BackgroundActivityPreferenceController mBackgroundActivityPreferenceController;
|
||||
|
||||
@@ -242,8 +241,6 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements
|
||||
@Override
|
||||
public void onCreate(Bundle icicle) {
|
||||
super.onCreate(icicle);
|
||||
mMetricsFeatureProvider = FeatureFactory.getFactory(getContext())
|
||||
.getMetricsFeatureProvider();
|
||||
|
||||
final String packageName = getArguments().getString(EXTRA_PACKAGE_NAME);
|
||||
if (enableTriState) {
|
||||
@@ -267,8 +264,11 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements
|
||||
if (enableTriState) {
|
||||
initPreferenceForTriState(getContext());
|
||||
final String packageName = mBatteryOptimizeUtils.getPackageName();
|
||||
mMetricsFeatureProvider.action(getContext(),
|
||||
SettingsEnums.OPEN_APP_BATTERY_USAGE, packageName);
|
||||
FeatureFactory.getFactory(getContext()).getMetricsFeatureProvider()
|
||||
.action(
|
||||
getContext(),
|
||||
SettingsEnums.OPEN_APP_BATTERY_USAGE,
|
||||
packageName);
|
||||
} else {
|
||||
initPreference(getContext());
|
||||
}
|
||||
@@ -433,8 +433,14 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements
|
||||
metricCategory = SettingsEnums.ACTION_APP_BATTERY_USAGE_RESTRICTED;
|
||||
}
|
||||
if (metricCategory != 0) {
|
||||
mMetricsFeatureProvider.action(getContext(),
|
||||
metricCategory, mBatteryOptimizeUtils.getPackageName());
|
||||
FeatureFactory.getFactory(getContext()).getMetricsFeatureProvider()
|
||||
.action(
|
||||
getContext(),
|
||||
metricCategory,
|
||||
new Pair(ConvertUtils.METRIC_KEY_PACKAGE,
|
||||
mBatteryOptimizeUtils.getPackageName()),
|
||||
new Pair(ConvertUtils.METRIC_KEY_BATTERY_USAGE,
|
||||
getArguments().getString(EXTRA_POWER_USAGE_PERCENT)));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -27,6 +27,7 @@ import android.text.TextUtils;
|
||||
import android.text.format.DateFormat;
|
||||
import android.text.format.DateUtils;
|
||||
import android.util.Log;
|
||||
import android.util.Pair;
|
||||
|
||||
import androidx.annotation.VisibleForTesting;
|
||||
import androidx.preference.Preference;
|
||||
@@ -216,7 +217,9 @@ public class BatteryChartPreferenceController extends AbstractPreferenceControll
|
||||
isAppEntry
|
||||
? SettingsEnums.ACTION_BATTERY_USAGE_APP_ITEM
|
||||
: SettingsEnums.ACTION_BATTERY_USAGE_SYSTEM_ITEM,
|
||||
packageName);
|
||||
new Pair(ConvertUtils.METRIC_KEY_PACKAGE, packageName),
|
||||
new Pair(ConvertUtils.METRIC_KEY_BATTERY_LEVEL, histEntry.mBatteryLevel),
|
||||
new Pair(ConvertUtils.METRIC_KEY_BATTERY_USAGE, powerPref.getPercent()));
|
||||
Log.d(TAG, String.format("handleClick() label=%s key=%s isValid:%b\n%s",
|
||||
diffEntry.getAppLabel(), histEntry.getKey(), isValidPackage, histEntry));
|
||||
if (isValidPackage) {
|
||||
|
||||
@@ -258,7 +258,7 @@ public class BatteryDiffEntry {
|
||||
public String toString() {
|
||||
final StringBuilder builder = new StringBuilder()
|
||||
.append("BatteryDiffEntry{")
|
||||
.append("\n\tname=" + getAppLabel())
|
||||
.append("\n\tname=" + mAppLabel)
|
||||
.append(String.format("\n\tconsume=%.2f%% %f/%f",
|
||||
mPercentOfTotal, mConsumePower, mTotalConsumePower))
|
||||
.append(String.format("\n\tforeground:%s background:%s",
|
||||
@@ -266,9 +266,9 @@ public class BatteryDiffEntry {
|
||||
/*withSeconds=*/ true, /*collapseTimeUnit=*/ false),
|
||||
StringUtil.formatElapsedTime(mContext, mBackgroundUsageTimeInMs,
|
||||
/*withSeconds=*/ true, /*collapseTimeUnit=*/ false)))
|
||||
.append(String.format("\n\tpackage:%s|%s uid:%d userId:%d",
|
||||
mBatteryHistEntry.mPackageName, getPackageName(),
|
||||
mBatteryHistEntry.mUid, mBatteryHistEntry.mUserId));
|
||||
.append(String.format("\n\tpackage:%s uid:%d userId:%d",
|
||||
mBatteryHistEntry.mPackageName, mBatteryHistEntry.mUid,
|
||||
mBatteryHistEntry.mUserId));
|
||||
return builder.toString();
|
||||
}
|
||||
|
||||
|
||||
@@ -47,6 +47,11 @@ public final class ConvertUtils {
|
||||
// Maximum total time value for each slot cumulative data at most 2 hours.
|
||||
private static final float TOTAL_TIME_THRESHOLD = DateUtils.HOUR_IN_MILLIS * 2;
|
||||
|
||||
// Keys for metric metadata.
|
||||
static final int METRIC_KEY_PACKAGE = 1;
|
||||
static final int METRIC_KEY_BATTERY_LEVEL = 2;
|
||||
static final int METRIC_KEY_BATTERY_USAGE = 3;
|
||||
|
||||
@VisibleForTesting
|
||||
static double PERCENTAGE_OF_TOTAL_THRESHOLD = 1f;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user