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

Commit 155d4cfc authored by William Leshner's avatar William Leshner Committed by Android (Google) Code Review
Browse files

Revert^2 "Fix a crash when registering/unregistering a smartspace timer listener."

This reverts commit 9ae796c5.

Reason for revert: Does not appear to be the root cause of b/323782475.

Change-Id: I3f167adae28f02781ae31d41f78e9b494c4bc501
parent 9ae796c5
Loading
Loading
Loading
Loading
+13 −4
Original line number Diff line number Diff line
@@ -21,7 +21,9 @@ import android.os.Parcelable
import android.widget.RemoteViews
import com.android.systemui.communal.smartspace.CommunalSmartspaceController
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.dagger.qualifiers.Main
import com.android.systemui.plugins.BcSmartspaceDataPlugin
import java.util.concurrent.Executor
import javax.inject.Inject
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.MutableStateFlow
@@ -41,6 +43,7 @@ class SmartspaceRepositoryImpl
@Inject
constructor(
    private val communalSmartspaceController: CommunalSmartspaceController,
    @Main private val uiExecutor: Executor,
) : SmartspaceRepository, BcSmartspaceDataPlugin.SmartspaceTargetListener {

    override val isSmartspaceRemoteViewsEnabled: Boolean
@@ -51,13 +54,19 @@ constructor(
    override val communalSmartspaceTargets: Flow<List<SmartspaceTarget>> =
        _communalSmartspaceTargets
            .onStart {
                communalSmartspaceController.addListener(listener = this@SmartspaceRepositoryImpl)
                uiExecutor.execute {
                    communalSmartspaceController.addListener(
                        listener = this@SmartspaceRepositoryImpl
                    )
                }
            }
            .onCompletion {
                uiExecutor.execute {
                    communalSmartspaceController.removeListener(
                        listener = this@SmartspaceRepositoryImpl
                    )
                }
            }

    override fun onSmartspaceTargetsUpdated(targetsNullable: MutableList<out Parcelable>?) {
        targetsNullable?.let { targets ->