Merge "Prevent NPE in ControlsListingControllerImpl" into rvc-dev am: 976c089ff7
Change-Id: Ic1bacc8d81d68b448c2da3024e3f372f1b1beb9d
This commit is contained in:
@@ -66,6 +66,8 @@ class ControlsListingControllerImpl @VisibleForTesting constructor(
|
||||
)
|
||||
|
||||
private var serviceListing = serviceListingBuilder(context)
|
||||
// All operations in background thread
|
||||
private val callbacks = mutableSetOf<ControlsListingController.ControlsListingCallback>()
|
||||
|
||||
companion object {
|
||||
private const val TAG = "ControlsListingControllerImpl"
|
||||
@@ -116,9 +118,6 @@ class ControlsListingControllerImpl @VisibleForTesting constructor(
|
||||
}
|
||||
}
|
||||
|
||||
// All operations in background thread
|
||||
private val callbacks = mutableSetOf<ControlsListingController.ControlsListingCallback>()
|
||||
|
||||
/**
|
||||
* Adds a callback to this controller.
|
||||
*
|
||||
|
||||
@@ -38,10 +38,12 @@ import org.mockito.Mock
|
||||
import org.mockito.Mockito
|
||||
import org.mockito.Mockito.`when`
|
||||
import org.mockito.Mockito.inOrder
|
||||
import org.mockito.Mockito.mock
|
||||
import org.mockito.Mockito.never
|
||||
import org.mockito.Mockito.reset
|
||||
import org.mockito.Mockito.verify
|
||||
import org.mockito.MockitoAnnotations
|
||||
import java.util.concurrent.Executor
|
||||
|
||||
@SmallTest
|
||||
@RunWith(AndroidTestingRunner::class)
|
||||
@@ -103,6 +105,21 @@ class ControlsListingControllerImplTest : SysuiTestCase() {
|
||||
verify(mockSL).reload()
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testImmediateListingReload_doesNotCrash() {
|
||||
val exec = Executor { it.run() }
|
||||
val mockServiceListing = mock(ServiceListing::class.java)
|
||||
var callback: ServiceListing.Callback? = null
|
||||
`when`(mockServiceListing.addCallback(any<ServiceListing.Callback>())).then {
|
||||
callback = it.getArgument(0)
|
||||
Unit
|
||||
}
|
||||
`when`(mockServiceListing.reload()).then {
|
||||
callback?.onServicesReloaded(listOf(serviceInfo))
|
||||
}
|
||||
ControlsListingControllerImpl(mContext, exec, { mockServiceListing })
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testStartsOnUser() {
|
||||
assertEquals(user, controller.currentUserId)
|
||||
|
||||
Reference in New Issue
Block a user