Loading Android.bp +1 −5 Original line number Diff line number Diff line Loading @@ -94,15 +94,11 @@ android_library { "SettingsLibActivityEmbedding", "aconfig_settings_flags_lib", "accessibility_settings_flags_lib", "app-usage-event-protos-lite", "battery-event-protos-lite", "battery-usage-slot-protos-lite", "contextualcards", "development_settings_flag_lib", "factory_reset_flags_lib", "fuelgauge-log-protos-lite", "fuelgauge-usage-state-protos-lite", "power-anomaly-event-protos-lite", "fuelgauge-protos-lite", "settings-contextual-card-protos-lite", "settings-log-bridge-protos-lite", "settings-logtags", Loading src/com/android/settings/fuelgauge/PowerUsageFeatureProvider.java +15 −0 Original line number Diff line number Diff line Loading @@ -22,11 +22,16 @@ import android.os.Bundle; import android.util.ArrayMap; import android.util.SparseIntArray; import androidx.annotation.NonNull; import com.android.settings.fuelgauge.batteryusage.BatteryDiffData; import com.android.settings.fuelgauge.batteryusage.BatteryEvent; import com.android.settings.fuelgauge.batteryusage.DetectRequestSourceType; import com.android.settings.fuelgauge.batteryusage.PowerAnomalyEventList; import com.android.settingslib.fuelgauge.Estimate; import java.util.List; import java.util.Map; import java.util.Set; /** Feature Provider used in power usage */ Loading Loading @@ -146,4 +151,14 @@ public interface PowerUsageFeatureProvider { /** Whether the app optimization mode is valid to restore */ boolean isValidToRestoreOptimizationMode(ArrayMap<String, String> deviceInfoMap); /** Whether the battery usage reattribute is eabled or not. */ boolean isBatteryUsageReattributeEnabled(); /** Collect and process battery reattribute data if needed. */ boolean processBatteryReattributeData( @NonNull Context context, @NonNull Map<Long, BatteryDiffData> batteryDiffDataMap, @NonNull List<BatteryEvent> batteryEventList, final boolean isFromPeriodJob); } src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImpl.java +20 −0 Original line number Diff line number Diff line Loading @@ -26,13 +26,19 @@ import android.util.ArrayMap; import android.util.ArraySet; import android.util.SparseIntArray; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import com.android.internal.util.ArrayUtils; import com.android.settings.fuelgauge.batteryusage.BatteryDiffData; import com.android.settings.fuelgauge.batteryusage.BatteryEvent; import com.android.settings.fuelgauge.batteryusage.DetectRequestSourceType; import com.android.settings.fuelgauge.batteryusage.PowerAnomalyEventList; import com.android.settingslib.fuelgauge.Estimate; import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Set; /** Implementation of {@code PowerUsageFeatureProvider} */ Loading Loading @@ -228,4 +234,18 @@ public class PowerUsageFeatureProviderImpl implements PowerUsageFeatureProvider public boolean isValidToRestoreOptimizationMode(ArrayMap<String, String> deviceInfoMap) { return false; } @Override public boolean isBatteryUsageReattributeEnabled() { return false; } @Override public boolean processBatteryReattributeData( @NonNull Context context, @NonNull Map<Long, BatteryDiffData> batteryDiffDataMap, @NonNull List<BatteryEvent> batteryEventList, final boolean isFromPeriodJob) { return false; } } src/com/android/settings/fuelgauge/batteryusage/BatteryDiffData.java +7 −5 Original line number Diff line number Diff line Loading @@ -77,11 +77,13 @@ public class BatteryDiffData { processAndSortEntries(mSystemEntries); } long getStartTimestamp() { /** Gets the start timestamp. */ public long getStartTimestamp() { return mStartTimestamp; } long getEndTimestamp() { /** Gets the end timestamp. */ public long getEndTimestamp() { return mEndTimestamp; } Loading @@ -97,7 +99,8 @@ public class BatteryDiffData { return mScreenOnTime; } List<BatteryDiffEntry> getAppDiffEntryList() { /** Gets the {@link BatteryDiffEntry} list for apps. */ public List<BatteryDiffEntry> getAppDiffEntryList() { return mAppEntries; } Loading Loading @@ -293,8 +296,7 @@ public class BatteryDiffData { * Sets total consume power, and adjusts the percentages to ensure the total round percentage * could be 100%, and then sorts entries based on the sorting key. */ @VisibleForTesting static void processAndSortEntries(final List<BatteryDiffEntry> batteryDiffEntries) { public static void processAndSortEntries(final List<BatteryDiffEntry> batteryDiffEntries) { if (batteryDiffEntries.isEmpty()) { return; } Loading src/com/android/settings/fuelgauge/batteryusage/ConvertUtils.java +14 −0 Original line number Diff line number Diff line Loading @@ -201,6 +201,20 @@ public final class ConvertUtils { return defaultInstance; } /** Gets the encoded string from {@link BatteryReattribute} instance. */ @NonNull public static String encodeBatteryReattribute( @NonNull BatteryReattribute batteryReattribute) { return Base64.encodeToString(batteryReattribute.toByteArray(), Base64.DEFAULT); } /** Gets the decoded {@link BatteryReattribute} instance from string. */ @NonNull public static BatteryReattribute decodeBatteryReattribute(@NonNull String content) { return BatteryUtils.parseProtoFromString( content, BatteryReattribute.getDefaultInstance()); } /** Converts to {@link BatteryHistEntry} */ public static BatteryHistEntry convertToBatteryHistEntry( BatteryEntry entry, BatteryUsageStats batteryUsageStats) { Loading Loading
Android.bp +1 −5 Original line number Diff line number Diff line Loading @@ -94,15 +94,11 @@ android_library { "SettingsLibActivityEmbedding", "aconfig_settings_flags_lib", "accessibility_settings_flags_lib", "app-usage-event-protos-lite", "battery-event-protos-lite", "battery-usage-slot-protos-lite", "contextualcards", "development_settings_flag_lib", "factory_reset_flags_lib", "fuelgauge-log-protos-lite", "fuelgauge-usage-state-protos-lite", "power-anomaly-event-protos-lite", "fuelgauge-protos-lite", "settings-contextual-card-protos-lite", "settings-log-bridge-protos-lite", "settings-logtags", Loading
src/com/android/settings/fuelgauge/PowerUsageFeatureProvider.java +15 −0 Original line number Diff line number Diff line Loading @@ -22,11 +22,16 @@ import android.os.Bundle; import android.util.ArrayMap; import android.util.SparseIntArray; import androidx.annotation.NonNull; import com.android.settings.fuelgauge.batteryusage.BatteryDiffData; import com.android.settings.fuelgauge.batteryusage.BatteryEvent; import com.android.settings.fuelgauge.batteryusage.DetectRequestSourceType; import com.android.settings.fuelgauge.batteryusage.PowerAnomalyEventList; import com.android.settingslib.fuelgauge.Estimate; import java.util.List; import java.util.Map; import java.util.Set; /** Feature Provider used in power usage */ Loading Loading @@ -146,4 +151,14 @@ public interface PowerUsageFeatureProvider { /** Whether the app optimization mode is valid to restore */ boolean isValidToRestoreOptimizationMode(ArrayMap<String, String> deviceInfoMap); /** Whether the battery usage reattribute is eabled or not. */ boolean isBatteryUsageReattributeEnabled(); /** Collect and process battery reattribute data if needed. */ boolean processBatteryReattributeData( @NonNull Context context, @NonNull Map<Long, BatteryDiffData> batteryDiffDataMap, @NonNull List<BatteryEvent> batteryEventList, final boolean isFromPeriodJob); }
src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImpl.java +20 −0 Original line number Diff line number Diff line Loading @@ -26,13 +26,19 @@ import android.util.ArrayMap; import android.util.ArraySet; import android.util.SparseIntArray; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import com.android.internal.util.ArrayUtils; import com.android.settings.fuelgauge.batteryusage.BatteryDiffData; import com.android.settings.fuelgauge.batteryusage.BatteryEvent; import com.android.settings.fuelgauge.batteryusage.DetectRequestSourceType; import com.android.settings.fuelgauge.batteryusage.PowerAnomalyEventList; import com.android.settingslib.fuelgauge.Estimate; import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Set; /** Implementation of {@code PowerUsageFeatureProvider} */ Loading Loading @@ -228,4 +234,18 @@ public class PowerUsageFeatureProviderImpl implements PowerUsageFeatureProvider public boolean isValidToRestoreOptimizationMode(ArrayMap<String, String> deviceInfoMap) { return false; } @Override public boolean isBatteryUsageReattributeEnabled() { return false; } @Override public boolean processBatteryReattributeData( @NonNull Context context, @NonNull Map<Long, BatteryDiffData> batteryDiffDataMap, @NonNull List<BatteryEvent> batteryEventList, final boolean isFromPeriodJob) { return false; } }
src/com/android/settings/fuelgauge/batteryusage/BatteryDiffData.java +7 −5 Original line number Diff line number Diff line Loading @@ -77,11 +77,13 @@ public class BatteryDiffData { processAndSortEntries(mSystemEntries); } long getStartTimestamp() { /** Gets the start timestamp. */ public long getStartTimestamp() { return mStartTimestamp; } long getEndTimestamp() { /** Gets the end timestamp. */ public long getEndTimestamp() { return mEndTimestamp; } Loading @@ -97,7 +99,8 @@ public class BatteryDiffData { return mScreenOnTime; } List<BatteryDiffEntry> getAppDiffEntryList() { /** Gets the {@link BatteryDiffEntry} list for apps. */ public List<BatteryDiffEntry> getAppDiffEntryList() { return mAppEntries; } Loading Loading @@ -293,8 +296,7 @@ public class BatteryDiffData { * Sets total consume power, and adjusts the percentages to ensure the total round percentage * could be 100%, and then sorts entries based on the sorting key. */ @VisibleForTesting static void processAndSortEntries(final List<BatteryDiffEntry> batteryDiffEntries) { public static void processAndSortEntries(final List<BatteryDiffEntry> batteryDiffEntries) { if (batteryDiffEntries.isEmpty()) { return; } Loading
src/com/android/settings/fuelgauge/batteryusage/ConvertUtils.java +14 −0 Original line number Diff line number Diff line Loading @@ -201,6 +201,20 @@ public final class ConvertUtils { return defaultInstance; } /** Gets the encoded string from {@link BatteryReattribute} instance. */ @NonNull public static String encodeBatteryReattribute( @NonNull BatteryReattribute batteryReattribute) { return Base64.encodeToString(batteryReattribute.toByteArray(), Base64.DEFAULT); } /** Gets the decoded {@link BatteryReattribute} instance from string. */ @NonNull public static BatteryReattribute decodeBatteryReattribute(@NonNull String content) { return BatteryUtils.parseProtoFromString( content, BatteryReattribute.getDefaultInstance()); } /** Converts to {@link BatteryHistEntry} */ public static BatteryHistEntry convertToBatteryHistEntry( BatteryEntry entry, BatteryUsageStats batteryUsageStats) { Loading