Merge "Fix potential NPE & clean up some logic" into tm-dev am: 5126e8b1b5
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/18421368 Change-Id: Ibad2dcfd364fb4a178c81fb53d974b734f2d1c7d Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -126,7 +126,11 @@ class BubbleVolatileRepository(private val launcherApps: LauncherApps) {
|
||||
@UserIdInt userId: Int,
|
||||
@UserIdInt parentUserId: Int
|
||||
): Boolean {
|
||||
return entitiesByUser.get(parentUserId).removeIf { b: BubbleEntity -> b.userId == userId }
|
||||
if (entitiesByUser.get(parentUserId) != null) {
|
||||
return entitiesByUser.get(parentUserId).removeIf {
|
||||
b: BubbleEntity -> b.userId == userId }
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -141,8 +145,9 @@ class BubbleVolatileRepository(private val launcherApps: LauncherApps) {
|
||||
// First check if the user is a parent / top-level user
|
||||
val parentUserId = entitiesByUser.keyAt(i)
|
||||
if (!activeUsers.contains(parentUserId)) {
|
||||
return removeBubblesForUser(parentUserId, -1)
|
||||
} else {
|
||||
entitiesByUser.remove(parentUserId)
|
||||
return true
|
||||
} else if (entitiesByUser.get(parentUserId) != null) {
|
||||
// Then check if each of the bubbles in the top-level user, still has a valid user
|
||||
// as it could belong to a profile and have a different id from the parent.
|
||||
return entitiesByUser.get(parentUserId).removeIf { b: BubbleEntity ->
|
||||
|
||||
@@ -269,6 +269,12 @@ class BubbleVolatileRepositoryTest : ShellTestCase() {
|
||||
assertThat(repository.getEntities(user11.identifier).toList())
|
||||
.isEqualTo(listOf(bubble11, bubble12))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testRemoveBubbleForUser_invalidInputDoesntCrash() {
|
||||
repository.removeBubblesForUser(-1, 0)
|
||||
repository.removeBubblesForUser(-1, -1)
|
||||
}
|
||||
}
|
||||
|
||||
private const val PKG_MESSENGER = "com.example.messenger"
|
||||
|
||||
Reference in New Issue
Block a user