summaryrefslogtreecommitdiff
path: root/services/people
diff options
context:
space:
mode:
authorDanning Chen <danningc@google.com>2020-03-05 16:28:11 -0800
committerDanning Chen <danningc@google.com>2020-03-05 16:38:25 -0800
commit18fecf78d38c4ba2a1e3222f3e101466aac268b6 (patch)
tree049b2d3c1f65e5d0a06c8ee6b653117fc968573e /services/people
parentb7050a36afd5cfcfb6f471fa273742300b83264a (diff)
Fix the bug that queries UsageStatsService for locked users
In addition to the bug fix, this also changes the user lifecycle callbacks People Service is using: 1) onUserUnlocking() -> onUserUnlocked() 2) onUserStopped() -> onUserStopping() The user lifecycle callback changes are based on a recent callback API change in ag/10396717. This change will make the service run safer: it avoids performing queries on locked users. Change-Id: I4d0ebdb80f2181b5eb5a636d345c53a01c7df210 Test: Manual test Test: atest com.android.server.people.data.DataManagerTest Bug: 150882079
Diffstat (limited to 'services/people')
-rw-r--r--services/people/java/com/android/server/people/PeopleService.java8
-rw-r--r--services/people/java/com/android/server/people/data/DataManager.java6
2 files changed, 7 insertions, 7 deletions
diff --git a/services/people/java/com/android/server/people/PeopleService.java b/services/people/java/com/android/server/people/PeopleService.java
index 983a639776f6..37bf66491882 100644
--- a/services/people/java/com/android/server/people/PeopleService.java
+++ b/services/people/java/com/android/server/people/PeopleService.java
@@ -72,13 +72,13 @@ public class PeopleService extends SystemService {
}
@Override
- public void onUserUnlocking(@NonNull TargetUser targetUser) {
- mDataManager.onUserUnlocked(targetUser.getUserIdentifier());
+ public void onUserUnlocked(@NonNull TargetUser user) {
+ mDataManager.onUserUnlocked(user.getUserIdentifier());
}
@Override
- public void onUserStopping(@NonNull TargetUser targetUser) {
- mDataManager.onUserStopped(targetUser.getUserIdentifier());
+ public void onUserStopping(@NonNull TargetUser user) {
+ mDataManager.onUserStopping(user.getUserIdentifier());
}
@VisibleForTesting
diff --git a/services/people/java/com/android/server/people/data/DataManager.java b/services/people/java/com/android/server/people/data/DataManager.java
index e4ce6bafff31..4e0afc525383 100644
--- a/services/people/java/com/android/server/people/data/DataManager.java
+++ b/services/people/java/com/android/server/people/data/DataManager.java
@@ -198,13 +198,13 @@ public class DataManager {
DataMaintenanceService.scheduleJob(mContext, userId);
}
- /** This method is called when a user is stopped. */
- public void onUserStopped(int userId) {
+ /** This method is called when a user is stopping. */
+ public void onUserStopping(int userId) {
if (mUserDataArray.indexOfKey(userId) >= 0) {
mUserDataArray.get(userId).setUserStopped();
}
if (mUsageStatsQueryFutures.indexOfKey(userId) >= 0) {
- mUsageStatsQueryFutures.valueAt(userId).cancel(true);
+ mUsageStatsQueryFutures.get(userId).cancel(true);
}
if (mBroadcastReceivers.indexOfKey(userId) >= 0) {
mContext.unregisterReceiver(mBroadcastReceivers.get(userId));