Add record for anomaly detect request source and clean up unused function.

Bug: 315905559
Test: make RunSettingsGoogleRoboTests ROBOTEST_FILTER="com.google.android.settings.fuelgauge.*"
Change-Id: I21a13a7910b21b27aac58143bd41c77e87c71953
This commit is contained in:
mxyyiyi
2023-12-12 13:54:32 +08:00
parent a51097d008
commit ed7ce44f65
5 changed files with 20 additions and 16 deletions

View File

@@ -22,6 +22,7 @@ import android.os.Bundle;
import android.util.ArrayMap; import android.util.ArrayMap;
import android.util.SparseIntArray; import android.util.SparseIntArray;
import com.android.settings.fuelgauge.batteryusage.DetectRequestSourceType;
import com.android.settings.fuelgauge.batteryusage.PowerAnomalyEventList; import com.android.settings.fuelgauge.batteryusage.PowerAnomalyEventList;
import com.android.settingslib.fuelgauge.Estimate; import com.android.settingslib.fuelgauge.Estimate;
@@ -103,11 +104,9 @@ public interface PowerUsageFeatureProvider {
/** Returns {@code true} if delay the hourly job when device is booting */ /** Returns {@code true} if delay the hourly job when device is booting */
boolean delayHourlyJobWhenBooting(); boolean delayHourlyJobWhenBooting();
/** Insert settings configuration data for anomaly detection */
void insertSettingsData(Context context, double displayDrain);
/** Returns {@link Bundle} for settings anomaly detection result */ /** Returns {@link Bundle} for settings anomaly detection result */
PowerAnomalyEventList detectSettingsAnomaly(Context context, double displayDrain); PowerAnomalyEventList detectSettingsAnomaly(
Context context, double displayDrain, DetectRequestSourceType detectRequestSourceType);
/** Gets an intent for one time bypass charge limited to resume charging. */ /** Gets an intent for one time bypass charge limited to resume charging. */
Intent getResumeChargeIntent(boolean isDockDefender); Intent getResumeChargeIntent(boolean isDockDefender);

View File

@@ -27,6 +27,7 @@ import android.util.ArraySet;
import android.util.SparseIntArray; import android.util.SparseIntArray;
import com.android.internal.util.ArrayUtils; import com.android.internal.util.ArrayUtils;
import com.android.settings.fuelgauge.batteryusage.DetectRequestSourceType;
import com.android.settings.fuelgauge.batteryusage.PowerAnomalyEventList; import com.android.settings.fuelgauge.batteryusage.PowerAnomalyEventList;
import com.android.settingslib.fuelgauge.Estimate; import com.android.settingslib.fuelgauge.Estimate;
@@ -168,10 +169,8 @@ public class PowerUsageFeatureProviderImpl implements PowerUsageFeatureProvider
} }
@Override @Override
public void insertSettingsData(Context context, double displayDrain) {} public PowerAnomalyEventList detectSettingsAnomaly(
Context context, double displayDrain, DetectRequestSourceType detectRequestSourceType) {
@Override
public PowerAnomalyEventList detectSettingsAnomaly(Context context, double displayDrain) {
return null; return null;
} }

View File

@@ -135,7 +135,10 @@ public final class BatteryUsageDataLoader {
.isEmpty()))) { .isEmpty()))) {
FeatureFactory.getFeatureFactory() FeatureFactory.getFeatureFactory()
.getPowerUsageFeatureProvider() .getPowerUsageFeatureProvider()
.detectSettingsAnomaly(context, /* displayDrain= */ 0); .detectSettingsAnomaly(
context,
/* displayDrain= */ 0,
DetectRequestSourceType.TYPE_DATA_LOADER);
} }
}); });
if (batteryLevelData == null) { if (batteryLevelData == null) {

View File

@@ -263,7 +263,9 @@ public class PowerUsageAdvanced extends PowerUsageBase {
FeatureFactory.getFeatureFactory().getPowerUsageFeatureProvider(); FeatureFactory.getFeatureFactory().getPowerUsageFeatureProvider();
final PowerAnomalyEventList anomalyEventList = final PowerAnomalyEventList anomalyEventList =
powerUsageFeatureProvider.detectSettingsAnomaly( powerUsageFeatureProvider.detectSettingsAnomaly(
getContext(), /* displayDrain= */ 0); getContext(),
/* displayDrain= */ 0,
DetectRequestSourceType.TYPE_USAGE_UI);
mHandler.post(() -> onAnomalyDetected(anomalyEventList)); mHandler.post(() -> onAnomalyDetected(anomalyEventList));
}); });
} }

View File

@@ -21,18 +21,12 @@ message PowerAnomalyEvent {
optional string dismiss_record_key = 8; optional string dismiss_record_key = 8;
} }
// NOTE: Please DO NOT delete enum items or change enum values. Use [deprecated = true] instead.
// The enum value will be used to decide the tips card style like icons and colors.
//
// Next id: 2 // Next id: 2
enum PowerAnomalyType{ enum PowerAnomalyType{
TYPE_SETTINGS_BANNER = 0; TYPE_SETTINGS_BANNER = 0;
TYPE_APPS_ITEM = 1; TYPE_APPS_ITEM = 1;
} }
// NOTE: Please DO NOT delete enum items or change enum values. Use [deprecated = true] instead.
// The enum value will be used to decide pre-defined title and button labels.
//
// Next id: 8 // Next id: 8
enum PowerAnomalyKey{ enum PowerAnomalyKey{
KEY_BRIGHTNESS = 0; KEY_BRIGHTNESS = 0;
@@ -45,6 +39,13 @@ enum PowerAnomalyKey{
KEY_APP_FOREGROUND_HIGHER_THAN_USUAL = 7; KEY_APP_FOREGROUND_HIGHER_THAN_USUAL = 7;
} }
// Next id: 3
enum DetectRequestSourceType{
TYPE_UNKNOWN_SOURCE = 0;
TYPE_USAGE_UI = 1;
TYPE_DATA_LOADER = 2;
}
message WarningBannerInfo { message WarningBannerInfo {
optional string title_string = 1; optional string title_string = 1;
optional string description_string = 2; optional string description_string = 2;