Merge "Load and process the battery reattribute data in the periodic job (3/5)" into main
This commit is contained in:
@@ -23,11 +23,13 @@ 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.BatteryDiffData;
|
||||||
import com.android.settings.fuelgauge.batteryusage.DetectRequestSourceType;
|
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;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
/** Feature Provider used in power usage */
|
/** Feature Provider used in power usage */
|
||||||
@@ -157,4 +159,8 @@ public interface PowerUsageFeatureProvider {
|
|||||||
|
|
||||||
/** Whether the device is under the battery defender mode */
|
/** Whether the device is under the battery defender mode */
|
||||||
boolean isBatteryDefend(BatteryInfo info);
|
boolean isBatteryDefend(BatteryInfo info);
|
||||||
|
|
||||||
|
/** Collect and process battery reattribute data if needed. */
|
||||||
|
boolean processBatteryReattributeData(
|
||||||
|
Context context, Map<Long, BatteryDiffData> batteryDiffDataMap);
|
||||||
}
|
}
|
||||||
|
@@ -28,12 +28,14 @@ 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.BatteryDiffData;
|
||||||
import com.android.settings.fuelgauge.batteryusage.DetectRequestSourceType;
|
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;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
/** Implementation of {@code PowerUsageFeatureProvider} */
|
/** Implementation of {@code PowerUsageFeatureProvider} */
|
||||||
@@ -245,4 +247,10 @@ public class PowerUsageFeatureProviderImpl implements PowerUsageFeatureProvider
|
|||||||
public boolean isBatteryDefend(BatteryInfo info) {
|
public boolean isBatteryDefend(BatteryInfo info) {
|
||||||
return info.isBatteryDefender && !isExtraDefend();
|
return info.isBatteryDefender && !isExtraDefend();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean processBatteryReattributeData(
|
||||||
|
Context context, Map<Long, BatteryDiffData> batteryDiffDataMap) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -77,11 +77,13 @@ public class BatteryDiffData {
|
|||||||
processAndSortEntries(mSystemEntries);
|
processAndSortEntries(mSystemEntries);
|
||||||
}
|
}
|
||||||
|
|
||||||
long getStartTimestamp() {
|
/** Gets the start timestamp. */
|
||||||
|
public long getStartTimestamp() {
|
||||||
return mStartTimestamp;
|
return mStartTimestamp;
|
||||||
}
|
}
|
||||||
|
|
||||||
long getEndTimestamp() {
|
/** Gets the end timestamp. */
|
||||||
|
public long getEndTimestamp() {
|
||||||
return mEndTimestamp;
|
return mEndTimestamp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -128,6 +128,9 @@ public final class BatteryUsageDataLoader {
|
|||||||
final PowerUsageFeatureProvider featureProvider =
|
final PowerUsageFeatureProvider featureProvider =
|
||||||
FeatureFactory.getFeatureFactory()
|
FeatureFactory.getFeatureFactory()
|
||||||
.getPowerUsageFeatureProvider();
|
.getPowerUsageFeatureProvider();
|
||||||
|
// Collect and process battery reattribute data.
|
||||||
|
featureProvider.processBatteryReattributeData(
|
||||||
|
context, batteryDiffDataMap);
|
||||||
DatabaseUtils.sendBatteryUsageSlotData(
|
DatabaseUtils.sendBatteryUsageSlotData(
|
||||||
context,
|
context,
|
||||||
ConvertUtils.convertToBatteryUsageSlotList(
|
ConvertUtils.convertToBatteryUsageSlotList(
|
||||||
|
@@ -55,12 +55,12 @@ public final class BugReportContentProvider extends ContentProvider {
|
|||||||
}
|
}
|
||||||
writer.println("dump BatteryUsage and AppUsage states:");
|
writer.println("dump BatteryUsage and AppUsage states:");
|
||||||
LogUtils.dumpAppOptimizationModeEventHist(context, writer);
|
LogUtils.dumpAppOptimizationModeEventHist(context, writer);
|
||||||
|
LogUtils.dumpBatteryReattributeDatabaseHist(context, writer);
|
||||||
LogUtils.dumpBatteryUsageDatabaseHist(context, writer);
|
LogUtils.dumpBatteryUsageDatabaseHist(context, writer);
|
||||||
LogUtils.dumpAppUsageDatabaseHist(context, writer);
|
LogUtils.dumpAppUsageDatabaseHist(context, writer);
|
||||||
LogUtils.dumpBatteryUsageSlotDatabaseHist(context, writer);
|
LogUtils.dumpBatteryUsageSlotDatabaseHist(context, writer);
|
||||||
LogUtils.dumpBatteryEventDatabaseHist(context, writer);
|
LogUtils.dumpBatteryEventDatabaseHist(context, writer);
|
||||||
LogUtils.dumpBatteryStateDatabaseHist(context, writer);
|
LogUtils.dumpBatteryStateDatabaseHist(context, writer);
|
||||||
LogUtils.dumpBatteryReattributeDatabaseHist(context, writer);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -58,12 +58,16 @@ public class BatteryReattributeEntity {
|
|||||||
@NonNull
|
@NonNull
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
|
final BatteryReattribute batteryReattribute =
|
||||||
|
ConvertUtils.decodeBatteryReattribute(reattributeData);
|
||||||
final StringBuilder builder = new StringBuilder()
|
final StringBuilder builder = new StringBuilder()
|
||||||
.append("\nBatteryReattributeEntity{")
|
.append("\nBatteryReattributeEntity{")
|
||||||
.append("\n\t" + utcToLocalTimeForLogging(timestampStart))
|
.append("\n\t" + utcToLocalTimeForLogging(timestampStart))
|
||||||
.append("\n\t" + utcToLocalTimeForLogging(timestampEnd))
|
.append("\n\t" + utcToLocalTimeForLogging(timestampEnd))
|
||||||
.append("\n\t" + ConvertUtils.decodeBatteryReattribute(reattributeData))
|
.append("\n\t" + batteryReattribute);
|
||||||
.append("\n}");
|
if (batteryReattribute != null) {
|
||||||
return builder.toString();
|
builder.append("\n\t" + batteryReattribute.getReattributeDataMap());
|
||||||
|
}
|
||||||
|
return builder.append("\n}").toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -33,7 +33,7 @@ import androidx.room.RoomDatabase;
|
|||||||
BatteryUsageSlotEntity.class,
|
BatteryUsageSlotEntity.class,
|
||||||
BatteryReattributeEntity.class
|
BatteryReattributeEntity.class
|
||||||
},
|
},
|
||||||
version = 1)
|
version = 2)
|
||||||
public abstract class BatteryStateDatabase extends RoomDatabase {
|
public abstract class BatteryStateDatabase extends RoomDatabase {
|
||||||
private static final String TAG = "BatteryStateDatabase";
|
private static final String TAG = "BatteryStateDatabase";
|
||||||
private static final String DB_FILE_NAME = "battery-usage-db-v10";
|
private static final String DB_FILE_NAME = "battery-usage-db-v10";
|
||||||
|
Reference in New Issue
Block a user