Merge "Add device build information in the backup stage" into udc-dev am: 1d818600a4
am: fad17f0db9
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/23240826 Change-Id: I4d801f3868792744f502d0886f4252b745fea777 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -25,6 +25,7 @@ import android.content.Context;
|
||||
import android.content.SharedPreferences;
|
||||
import android.content.pm.ApplicationInfo;
|
||||
import android.content.pm.IPackageManager;
|
||||
import android.os.Build;
|
||||
import android.os.IDeviceIdleController;
|
||||
import android.os.ParcelFileDescriptor;
|
||||
import android.os.RemoteException;
|
||||
@@ -36,6 +37,7 @@ import android.util.Log;
|
||||
import androidx.annotation.VisibleForTesting;
|
||||
|
||||
import com.android.settings.fuelgauge.BatteryOptimizeHistoricalLogEntry.Action;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
import com.android.settingslib.fuelgauge.PowerAllowlistBackend;
|
||||
|
||||
import java.io.IOException;
|
||||
@@ -56,6 +58,13 @@ public final class BatteryBackupHelper implements BackupHelper {
|
||||
static final String DELIMITER = ",";
|
||||
static final String DELIMITER_MODE = ":";
|
||||
static final String KEY_OPTIMIZATION_LIST = "optimization_mode_list";
|
||||
static final String KEY_BUILD_BRAND = "device_build_brand";
|
||||
static final String KEY_BUILD_PRODUCT = "device_build_product";
|
||||
static final String KEY_BUILD_MANUFACTURER = "device_build_manufacture";
|
||||
static final String KEY_BUILD_FINGERPRINT = "device_build_fingerprint";
|
||||
// Customized fields for device extra information.
|
||||
static final String KEY_BUILD_METADATA_1 = "device_build_metadata_1";
|
||||
static final String KEY_BUILD_METADATA_2 = "device_build_metadata_2";
|
||||
|
||||
@VisibleForTesting
|
||||
ArraySet<ApplicationInfo> mTestApplicationInfoList = null;
|
||||
@@ -83,9 +92,21 @@ public final class BatteryBackupHelper implements BackupHelper {
|
||||
return;
|
||||
}
|
||||
final List<String> allowlistedApps = getFullPowerList();
|
||||
if (allowlistedApps != null) {
|
||||
backupOptimizationMode(data, allowlistedApps);
|
||||
if (allowlistedApps == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
writeBackupData(data, KEY_BUILD_BRAND, Build.BRAND);
|
||||
writeBackupData(data, KEY_BUILD_PRODUCT, Build.PRODUCT);
|
||||
writeBackupData(data, KEY_BUILD_MANUFACTURER, Build.MANUFACTURER);
|
||||
writeBackupData(data, KEY_BUILD_FINGERPRINT, Build.FINGERPRINT);
|
||||
// Add customized device build metadata fields.
|
||||
PowerUsageFeatureProvider provider = FeatureFactory.getFactory(mContext)
|
||||
.getPowerUsageFeatureProvider(mContext);
|
||||
writeBackupData(data, KEY_BUILD_METADATA_1, provider.getBuildMetadata1(mContext));
|
||||
writeBackupData(data, KEY_BUILD_METADATA_2, provider.getBuildMetadata2(mContext));
|
||||
|
||||
backupOptimizationMode(data, allowlistedApps);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -301,6 +322,9 @@ public final class BatteryBackupHelper implements BackupHelper {
|
||||
|
||||
private static void writeBackupData(
|
||||
BackupDataOutput data, String dataKey, String dataContent) {
|
||||
if (dataContent == null || dataContent.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
final byte[] dataContentBytes = dataContent.getBytes();
|
||||
try {
|
||||
data.writeEntityHeader(dataKey, dataContentBytes.length);
|
||||
@@ -308,5 +332,6 @@ public final class BatteryBackupHelper implements BackupHelper {
|
||||
} catch (IOException e) {
|
||||
Log.e(TAG, "writeBackupData() is failed for " + dataKey, e);
|
||||
}
|
||||
Log.d(TAG, String.format("%s:%s", dataKey, dataContent));
|
||||
}
|
||||
}
|
||||
|
@@ -166,4 +166,14 @@ public interface PowerUsageFeatureProvider {
|
||||
* Returns {@link Set} for ignoring task root class names for screen on time
|
||||
*/
|
||||
Set<String> getIgnoreScreenOnTimeTaskRootSet();
|
||||
|
||||
/**
|
||||
* Returns the customized device build information for data backup
|
||||
*/
|
||||
String getBuildMetadata1(Context context);
|
||||
|
||||
/**
|
||||
* Returns the customized device build information for data backup
|
||||
*/
|
||||
String getBuildMetadata2(Context context);
|
||||
}
|
||||
|
@@ -188,4 +188,14 @@ public class PowerUsageFeatureProviderImpl implements PowerUsageFeatureProvider
|
||||
public Set<String> getIgnoreScreenOnTimeTaskRootSet() {
|
||||
return new ArraySet<>();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getBuildMetadata1(Context context) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getBuildMetadata2(Context context) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user