[DO NOT MERGE] Smartspace - Don't create session ahead of init
After the device is setup, if the smartspace component is not available/initialized, don't attempt to start a session. Fixes: 199986217 Test: atest LockscreenSmartspaceControllerTest Change-Id: I36d6f75b37cc5f5274b1cea3a35338f6da424a20
This commit is contained in:
@@ -24,7 +24,6 @@ import android.app.smartspace.SmartspaceTarget
|
||||
import android.content.ContentResolver
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.content.pm.UserInfo
|
||||
import android.database.ContentObserver
|
||||
import android.net.Uri
|
||||
import android.os.Handler
|
||||
@@ -192,7 +191,7 @@ class LockscreenSmartspaceController @Inject constructor(
|
||||
}
|
||||
|
||||
private fun connectSession() {
|
||||
if (plugin == null || session != null) {
|
||||
if (plugin == null || session != null || !this::smartspaceView.isInitialized) {
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
@@ -458,6 +458,20 @@ class LockscreenSmartspaceControllerTest : SysuiTestCase() {
|
||||
assertEquals(fakeSmartspaceView, controller.view)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testConnectAttemptBeforeInitializationShouldNotCreateSession() {
|
||||
// GIVEN an uninitalized smartspaceView
|
||||
// WHEN the device is provisioned
|
||||
`when`(deviceProvisionedController.isDeviceProvisioned()).thenReturn(true)
|
||||
`when`(deviceProvisionedController.isCurrentUserSetup()).thenReturn(true)
|
||||
deviceProvisionedListener.onDeviceProvisionedChanged()
|
||||
|
||||
// THEN no calls to createSmartspaceSession should occur
|
||||
verify(smartspaceManager, never()).createSmartspaceSession(any())
|
||||
// THEN no listeners should be registered
|
||||
verify(configurationController, never()).addCallback(any())
|
||||
}
|
||||
|
||||
private fun connectSession() {
|
||||
controller.buildAndConnectView(fakeParent)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user