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

Commit 1c127572 authored by Matt Pietal's avatar Matt Pietal
Browse files

[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
(cherry picked from commit 076aad91)
parent 82214e17
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -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
@@ -193,7 +192,7 @@ class LockscreenSmartspaceController @Inject constructor(
    }

    private fun connectSession() {
        if (plugin == null || session != null) {
        if (plugin == null || session != null || smartspaceViews.isEmpty()) {
            return
        }

+14 −0
Original line number Diff line number Diff line
@@ -445,6 +445,20 @@ class LockscreenSmartspaceControllerTest : SysuiTestCase() {
        verify(smartspaceView2).registerDataProvider(plugin)
    }

    @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() {
        val view = controller.buildAndConnectView(fakeParent)
        smartspaceView = view as SmartspaceView