Merge "Update the usage slot info in database" into main
This commit is contained in:
@@ -559,7 +559,7 @@ public class BatteryChartPreferenceController extends AbstractPreferenceControll
|
|||||||
final Map<Integer, Map<Integer, BatteryDiffData>> batteryUsageData =
|
final Map<Integer, Map<Integer, BatteryDiffData>> batteryUsageData =
|
||||||
DataProcessor.getBatteryUsageData(
|
DataProcessor.getBatteryUsageData(
|
||||||
context,
|
context,
|
||||||
new UserIdsSeries(context, /* mainUserOnly= */ false),
|
new UserIdsSeries(context, /* isNonUIRequest= */ false),
|
||||||
batteryHistoryMap);
|
batteryHistoryMap);
|
||||||
if (batteryUsageData == null) {
|
if (batteryUsageData == null) {
|
||||||
return null;
|
return null;
|
||||||
|
@@ -165,7 +165,7 @@ public final class BatteryUsageDataLoader {
|
|||||||
if (!isFullChargeStart) {
|
if (!isFullChargeStart) {
|
||||||
// No app usage data or battery diff data at this time.
|
// No app usage data or battery diff data at this time.
|
||||||
final UserIdsSeries userIdsSeries =
|
final UserIdsSeries userIdsSeries =
|
||||||
new UserIdsSeries(context, /* mainUserOnly= */ true);
|
new UserIdsSeries(context, /* isNonUIRequest= */ true);
|
||||||
if (!userIdsSeries.isCurrentUserLocked()) {
|
if (!userIdsSeries.isCurrentUserLocked()) {
|
||||||
loadAppUsageData(context, userIdsSeries);
|
loadAppUsageData(context, userIdsSeries);
|
||||||
preprocessBatteryUsageSlots(context, userIdsSeries);
|
preprocessBatteryUsageSlots(context, userIdsSeries);
|
||||||
|
@@ -496,7 +496,7 @@ public class PowerUsageAdvanced extends PowerUsageBase {
|
|||||||
return DataProcessManager.getBatteryLevelData(
|
return DataProcessManager.getBatteryLevelData(
|
||||||
getContext(),
|
getContext(),
|
||||||
mHandler,
|
mHandler,
|
||||||
new UserIdsSeries(getContext(), /* mainUserOnly= */ false),
|
new UserIdsSeries(getContext(), /* isNonUIRequest= */ false),
|
||||||
/* isFromPeriodJob= */ false,
|
/* isFromPeriodJob= */ false,
|
||||||
PowerUsageAdvanced.this::onBatteryDiffDataMapUpdate);
|
PowerUsageAdvanced.this::onBatteryDiffDataMapUpdate);
|
||||||
}
|
}
|
||||||
|
@@ -33,31 +33,29 @@ class UserIdsSeries {
|
|||||||
@Nullable private UserInfo mPrivateUser = null;
|
@Nullable private UserInfo mPrivateUser = null;
|
||||||
@Nullable private UserInfo mManagedProfileUser = null;
|
@Nullable private UserInfo mManagedProfileUser = null;
|
||||||
|
|
||||||
UserIdsSeries(final Context context, final boolean mainUserOnly) {
|
UserIdsSeries(final Context context, final boolean isNonUIRequest) {
|
||||||
mUserManager = context.getSystemService(UserManager.class);
|
mUserManager = context.getSystemService(UserManager.class);
|
||||||
mCurrentUserId = context.getUserId();
|
mCurrentUserId = context.getUserId();
|
||||||
List<UserInfo> aliveUsers =
|
List<UserInfo> aliveUsers =
|
||||||
mUserManager != null ? mUserManager.getAliveUsers() : new ArrayList<>();
|
mUserManager != null ? mUserManager.getAliveUsers() : new ArrayList<>();
|
||||||
|
|
||||||
if (mainUserOnly) {
|
|
||||||
aliveUsers.stream()
|
|
||||||
.filter(UserInfo::isMain)
|
|
||||||
.forEach(userInfo -> mVisibleUserIds.add(userInfo.id));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (UserInfo userInfo : aliveUsers) {
|
for (UserInfo userInfo : aliveUsers) {
|
||||||
if (!mUserManager.isSameProfileGroup(mCurrentUserId, userInfo.id)) {
|
if (!mUserManager.isSameProfileGroup(mCurrentUserId, userInfo.id)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (!userInfo.isQuietModeEnabled() || userInfo.isManagedProfile()) {
|
if (userInfo.isManagedProfile()) {
|
||||||
|
// Load data for WorkProfile mode
|
||||||
|
mManagedProfileUser = userInfo;
|
||||||
|
mVisibleUserIds.add(userInfo.id);
|
||||||
|
} else if (userInfo.isPrivateProfile()) {
|
||||||
|
mPrivateUser = userInfo;
|
||||||
|
// Load data for PrivateProfile if it is from UI caller and PS is unlocked.
|
||||||
|
if (!isNonUIRequest && !userInfo.isQuietModeEnabled()) {
|
||||||
mVisibleUserIds.add(userInfo.id);
|
mVisibleUserIds.add(userInfo.id);
|
||||||
}
|
}
|
||||||
if (userInfo.isPrivateProfile()) {
|
} else if (!userInfo.isQuietModeEnabled()) {
|
||||||
mPrivateUser = userInfo;
|
// Load data for other profiles if it is not in quiet mode
|
||||||
}
|
mVisibleUserIds.add(userInfo.id);
|
||||||
if (userInfo.isManagedProfile()) {
|
|
||||||
mManagedProfileUser = userInfo;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user