diff options
author | Danning Chen <danningc@google.com> | 2020-03-05 16:28:11 -0800 |
---|---|---|
committer | Danning Chen <danningc@google.com> | 2020-03-05 16:38:25 -0800 |
commit | 18fecf78d38c4ba2a1e3222f3e101466aac268b6 (patch) | |
tree | 049b2d3c1f65e5d0a06c8ee6b653117fc968573e /services/people | |
parent | b7050a36afd5cfcfb6f471fa273742300b83264a (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.java | 8 | ||||
-rw-r--r-- | services/people/java/com/android/server/people/data/DataManager.java | 6 |
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)); |