Move static UsageStatsManager from DatabaseUtils to DataProcessor to
avoid reference from DataProcessor. This is to fix the Accessibility tests hang issue. Tested on main branch (https://android-build.googleplex.com/builds/abtd/run/L40400000962473343). Test: make RunSettingsRoboTests Bug: 293366011 Bug: 295026588 Bug: 295123907 Change-Id: I345e0c060165e4d06f98ada6b2e1ca3cbb4f911a
This commit is contained in:
@@ -17,6 +17,7 @@ package com.android.settings.fuelgauge.batteryusage;
|
||||
|
||||
import android.annotation.IntDef;
|
||||
import android.annotation.Nullable;
|
||||
import android.app.usage.IUsageStatsManager;
|
||||
import android.app.usage.UsageEvents.Event;
|
||||
import android.app.usage.UsageStatsManager;
|
||||
import android.content.ContentValues;
|
||||
@@ -185,7 +186,8 @@ public final class ConvertUtils {
|
||||
/** Converts to {@link AppUsageEvent} from {@link Event} */
|
||||
@Nullable
|
||||
public static AppUsageEvent convertToAppUsageEvent(
|
||||
Context context, final Event event, final long userId) {
|
||||
Context context, IUsageStatsManager usageStatsManager, final Event event,
|
||||
final long userId) {
|
||||
final String packageName = event.getPackageName();
|
||||
if (packageName == null) {
|
||||
// See b/190609174: Event package names should never be null, but sometimes they are.
|
||||
@@ -210,7 +212,8 @@ public final class ConvertUtils {
|
||||
}
|
||||
|
||||
final String effectivePackageName =
|
||||
getEffectivePackageName(context, packageName, taskRootPackageName);
|
||||
getEffectivePackageName(
|
||||
context, usageStatsManager, packageName, taskRootPackageName);
|
||||
try {
|
||||
final long uid = context
|
||||
.getPackageManager()
|
||||
@@ -326,8 +329,9 @@ public final class ConvertUtils {
|
||||
*/
|
||||
@VisibleForTesting
|
||||
static String getEffectivePackageName(
|
||||
Context context, final String packageName, final String taskRootPackageName) {
|
||||
final int usageSource = getUsageSource(context);
|
||||
Context context, IUsageStatsManager usageStatsManager, final String packageName,
|
||||
final String taskRootPackageName) {
|
||||
final int usageSource = getUsageSource(context, usageStatsManager);
|
||||
switch (usageSource) {
|
||||
case UsageStatsManager.USAGE_SOURCE_TASK_ROOT_ACTIVITY:
|
||||
return !TextUtils.isEmpty(taskRootPackageName)
|
||||
@@ -372,9 +376,9 @@ public final class ConvertUtils {
|
||||
}
|
||||
}
|
||||
|
||||
private static int getUsageSource(Context context) {
|
||||
private static int getUsageSource(Context context, IUsageStatsManager usageStatsManager) {
|
||||
if (sUsageSource == EMPTY_USAGE_SOURCE) {
|
||||
sUsageSource = DatabaseUtils.getUsageSource(context);
|
||||
sUsageSource = DatabaseUtils.getUsageSource(context, usageStatsManager);
|
||||
}
|
||||
return sUsageSource;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user