diff options
| author | 2017-10-10 05:51:41 +0000 | |
|---|---|---|
| committer | 2017-10-10 05:51:41 +0000 | |
| commit | 3fabcdb45a8d0765ea3bbd86a1a8aba6808f2718 (patch) | |
| tree | 41bb908b8b41dff10a83abd8b2a0c01e204f7bce | |
| parent | 761427c75b85268b9ae293f6ccfd2099654b5e95 (diff) | |
| parent | 9bc71c492230a10ffba73dc47a188dd0d5ce834b (diff) | |
Merge "MediaSessionService: Prevent getActiveSessions() from growing infinitely" into oc-mr1-dev
am: 9bc71c4922
Change-Id: I3806838a0cd2e4ebe6bdf27fafcd22afe177bb22
| -rw-r--r-- | services/core/java/com/android/server/media/MediaSessionService.java | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/services/core/java/com/android/server/media/MediaSessionService.java b/services/core/java/com/android/server/media/MediaSessionService.java index b9a2d184aade..b102dde30a94 100644 --- a/services/core/java/com/android/server/media/MediaSessionService.java +++ b/services/core/java/com/android/server/media/MediaSessionService.java @@ -205,9 +205,8 @@ public class MediaSessionService extends SystemService implements Monitor { } private List<MediaSessionRecord> getActiveSessionsLocked(int userId) { - List<MediaSessionRecord> records; + List<MediaSessionRecord> records = new ArrayList<>(); if (userId == UserHandle.USER_ALL) { - records = new ArrayList<>(); int size = mUserRecords.size(); for (int i = 0; i < size; i++) { records.addAll(mUserRecords.valueAt(i).mPriorityStack.getActiveSessions(userId)); @@ -216,9 +215,9 @@ public class MediaSessionService extends SystemService implements Monitor { FullUserRecord user = getFullUserRecordLocked(userId); if (user == null) { Log.w(TAG, "getSessions failed. Unknown user " + userId); - return new ArrayList<>(); + return records; } - records = user.mPriorityStack.getActiveSessions(userId); + records.addAll(user.mPriorityStack.getActiveSessions(userId)); } // Return global priority session at the first whenever it's asked. |