Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f2d7f1fc authored by Mady Mellor's avatar Mady Mellor Committed by Automerger Merge Worker
Browse files

Merge "Fix potential NPE & clean up some logic" into tm-dev am: 5126e8b1

parents 89e809c0 5126e8b1
Loading
Loading
Loading
Loading
+8 −3
Original line number Diff line number Diff line
@@ -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 ->
+6 −0
Original line number Diff line number Diff line
@@ -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"