Merge "Move duplicate operations in the BackupHelper to OptimizeUtils" into udc-dev
This commit is contained in:
@@ -24,7 +24,6 @@ import android.app.backup.BackupHelper;
|
||||
import android.content.Context;
|
||||
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;
|
||||
@@ -48,7 +47,6 @@ public final class BatteryBackupHelper implements BackupHelper {
|
||||
/** An inditifier for {@link BackupHelper}. */
|
||||
public static final String TAG = "BatteryBackupHelper";
|
||||
private static final String DEVICE_IDLE_SERVICE = "deviceidle";
|
||||
private static final boolean DEBUG = Build.TYPE.equals("userdebug");
|
||||
|
||||
static final String DELIMITER = ",";
|
||||
static final String DELIMITER_MODE = ":";
|
||||
@@ -119,7 +117,7 @@ public final class BatteryBackupHelper implements BackupHelper {
|
||||
Log.e(TAG, "backupFullPowerList() failed", e);
|
||||
return null;
|
||||
}
|
||||
// Ignores unexpected emptty result case.
|
||||
// Ignores unexpected empty result case.
|
||||
if (allowlistedApps == null || allowlistedApps.length == 0) {
|
||||
Log.w(TAG, "no data found in the getFullPowerList()");
|
||||
return new ArrayList<>();
|
||||
@@ -145,8 +143,7 @@ public final class BatteryBackupHelper implements BackupHelper {
|
||||
final AppOpsManager appOps = mContext.getSystemService(AppOpsManager.class);
|
||||
// Converts application into the AppUsageState.
|
||||
for (ApplicationInfo info : applications) {
|
||||
final int mode = appOps.checkOpNoThrow(
|
||||
AppOpsManager.OP_RUN_ANY_IN_BACKGROUND, info.uid, info.packageName);
|
||||
final int mode = BatteryOptimizeUtils.getMode(appOps, info.uid, info.packageName);
|
||||
@BatteryOptimizeUtils.OptimizationMode
|
||||
final int optimizationMode = BatteryOptimizeUtils.getAppOptimizationMode(
|
||||
mode, allowlistedApps.contains(info.packageName));
|
||||
@@ -159,7 +156,7 @@ public final class BatteryBackupHelper implements BackupHelper {
|
||||
final String packageOptimizeMode =
|
||||
info.packageName + DELIMITER_MODE + optimizationMode;
|
||||
builder.append(packageOptimizeMode + DELIMITER);
|
||||
debugLog(packageOptimizeMode);
|
||||
Log.d(TAG, "backupOptimizationMode: " + packageOptimizeMode);
|
||||
backupCount++;
|
||||
}
|
||||
|
||||
@@ -255,9 +252,8 @@ public final class BatteryBackupHelper implements BackupHelper {
|
||||
}
|
||||
|
||||
private boolean isSystemOrDefaultApp(String packageName, int uid) {
|
||||
final PowerAllowlistBackend powerAllowlistBackend = getPowerAllowlistBackend();
|
||||
return powerAllowlistBackend.isSysAllowlisted(packageName)
|
||||
|| powerAllowlistBackend.isDefaultActiveApp(packageName, uid);
|
||||
return BatteryOptimizeUtils.isSystemOrDefaultApp(
|
||||
getPowerAllowlistBackend(), packageName, uid);
|
||||
}
|
||||
|
||||
private ArraySet<ApplicationInfo> getInstalledApplications() {
|
||||
@@ -267,10 +263,6 @@ public final class BatteryBackupHelper implements BackupHelper {
|
||||
return BatteryOptimizeUtils.getInstalledApplications(mContext, getIPackageManager());
|
||||
}
|
||||
|
||||
private void debugLog(String debugContent) {
|
||||
if (DEBUG) Log.d(TAG, debugContent);
|
||||
}
|
||||
|
||||
private static void writeBackupData(
|
||||
BackupDataOutput data, String dataKey, String dataContent) {
|
||||
final byte[] dataContentBytes = dataContent.getBytes();
|
||||
@@ -283,6 +275,6 @@ public final class BatteryBackupHelper implements BackupHelper {
|
||||
}
|
||||
|
||||
private static boolean isOwner() {
|
||||
return UserHandle.myUserId() == UserHandle.USER_OWNER;
|
||||
return UserHandle.myUserId() == UserHandle.USER_SYSTEM;
|
||||
}
|
||||
}
|
||||
|
@@ -83,8 +83,7 @@ public class BatteryOptimizeUtils {
|
||||
mAppOpsManager = context.getSystemService(AppOpsManager.class);
|
||||
mBatteryUtils = BatteryUtils.getInstance(context);
|
||||
mPowerAllowListBackend = PowerAllowlistBackend.getInstance(context);
|
||||
mMode = mAppOpsManager
|
||||
.checkOpNoThrow(AppOpsManager.OP_RUN_ANY_IN_BACKGROUND, mUid, mPackageName);
|
||||
mMode = getMode(mAppOpsManager, mUid, mPackageName);
|
||||
mAllowListed = mPowerAllowListBackend.isAllowlisted(mPackageName, mUid);
|
||||
}
|
||||
|
||||
@@ -204,7 +203,12 @@ public class BatteryOptimizeUtils {
|
||||
return mPackageName == null ? UNKNOWN_PACKAGE : mPackageName;
|
||||
}
|
||||
|
||||
private static boolean isSystemOrDefaultApp(
|
||||
static int getMode(AppOpsManager appOpsManager, int uid, String packageName) {
|
||||
return appOpsManager.checkOpNoThrow(
|
||||
AppOpsManager.OP_RUN_ANY_IN_BACKGROUND, uid, packageName);
|
||||
}
|
||||
|
||||
static boolean isSystemOrDefaultApp(
|
||||
PowerAllowlistBackend powerAllowlistBackend, String packageName, int uid) {
|
||||
return powerAllowlistBackend.isSysAllowlisted(packageName)
|
||||
|| powerAllowlistBackend.isDefaultActiveApp(packageName, uid);
|
||||
|
Reference in New Issue
Block a user