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

Commit 9a6046ab authored by Michael Mikhail's avatar Michael Mikhail Committed by Android (Google) Code Review
Browse files

Merge "Update TTT controllers to be in CoreStartable." into tm-qpr-dev

parents 2f291a78 ee7d2728
Loading
Loading
Loading
Loading
+0 −15
Original line number Diff line number Diff line
@@ -27,9 +27,6 @@ import com.android.systemui.dump.DumpManager;
import com.android.systemui.keyguard.KeyguardSliceProvider;
import com.android.systemui.media.muteawait.MediaMuteAwaitConnectionCli;
import com.android.systemui.media.nearby.NearbyMediaDevicesManager;
import com.android.systemui.media.taptotransfer.MediaTttCommandLineHelper;
import com.android.systemui.media.taptotransfer.receiver.MediaTttChipControllerReceiver;
import com.android.systemui.media.taptotransfer.sender.MediaTttChipControllerSender;
import com.android.systemui.people.PeopleProvider;
import com.android.systemui.statusbar.policy.ConfigurationController;
import com.android.systemui.unfold.FoldStateLogger;
@@ -133,9 +130,6 @@ public interface SysUIComponent {
        });
        getNaturalRotationUnfoldProgressProvider().ifPresent(o -> o.init());
        // No init method needed, just needs to be gotten so that it's created.
        getMediaTttChipControllerSender();
        getMediaTttChipControllerReceiver();
        getMediaTttCommandLineHelper();
        getMediaMuteAwaitConnectionCli();
        getNearbyMediaDevicesManager();
        getUnfoldLatencyTracker().init();
@@ -205,15 +199,6 @@ public interface SysUIComponent {
     */
    Optional<NaturalRotationUnfoldProgressProvider> getNaturalRotationUnfoldProgressProvider();

    /** */
    Optional<MediaTttChipControllerSender> getMediaTttChipControllerSender();

    /** */
    Optional<MediaTttChipControllerReceiver> getMediaTttChipControllerReceiver();

    /** */
    Optional<MediaTttCommandLineHelper> getMediaTttCommandLineHelper();

    /** */
    Optional<MediaMuteAwaitConnectionCli> getMediaMuteAwaitConnectionCli();

+25 −0
Original line number Diff line number Diff line
@@ -32,6 +32,9 @@ import com.android.systemui.keyboard.KeyboardUI
import com.android.systemui.keyguard.KeyguardViewMediator
import com.android.systemui.log.SessionTracker
import com.android.systemui.media.RingtonePlayer
import com.android.systemui.media.taptotransfer.MediaTttCommandLineHelper
import com.android.systemui.media.taptotransfer.receiver.MediaTttChipControllerReceiver
import com.android.systemui.media.taptotransfer.sender.MediaTttChipControllerSender
import com.android.systemui.power.PowerUI
import com.android.systemui.recents.Recents
import com.android.systemui.settings.dagger.MultiUserUtilsModule
@@ -213,4 +216,26 @@ abstract class SystemUICoreStartableModule {
    @IntoMap
    @ClassKey(KeyguardLiftController::class)
    abstract fun bindKeyguardLiftController(sysui: KeyguardLiftController): CoreStartable

    /** Inject into MediaTttChipControllerReceiver. */
    @Binds
    @IntoMap
    @ClassKey(MediaTttChipControllerReceiver::class)
    abstract fun bindMediaTttChipControllerReceiver(
            sysui: MediaTttChipControllerReceiver
    ): CoreStartable

    /** Inject into MediaTttChipControllerSender. */
    @Binds
    @IntoMap
    @ClassKey(MediaTttChipControllerSender::class)
    abstract fun bindMediaTttChipControllerSender(
            sysui: MediaTttChipControllerSender
    ): CoreStartable

    /** Inject into MediaTttCommandLineHelper. */
    @Binds
    @IntoMap
    @ClassKey(MediaTttCommandLineHelper::class)
    abstract fun bindMediaTttCommandLineHelper(sysui: MediaTttCommandLineHelper): CoreStartable
}
+9 −7
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ import android.content.Context
import android.media.MediaRoute2Info
import android.util.Log
import androidx.annotation.VisibleForTesting
import com.android.systemui.CoreStartable
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.dagger.qualifiers.Main
import com.android.systemui.media.taptotransfer.receiver.ChipStateReceiver
@@ -39,14 +40,10 @@ import javax.inject.Inject
 */
@SysUISingleton
class MediaTttCommandLineHelper @Inject constructor(
    commandRegistry: CommandRegistry,
    private val commandRegistry: CommandRegistry,
    private val context: Context,
    @Main private val mainExecutor: Executor
) {
    init {
        commandRegistry.registerCommand(SENDER_COMMAND) { SenderCommand() }
        commandRegistry.registerCommand(RECEIVER_COMMAND) { ReceiverCommand() }
    }
) : CoreStartable(context) {

    /** All commands for the sender device. */
    inner class SenderCommand : Command {
@@ -150,6 +147,11 @@ class MediaTttCommandLineHelper @Inject constructor(
                    "<chipState> useAppIcon=[true|false]")
        }
    }

    override fun start() {
        commandRegistry.registerCommand(SENDER_COMMAND) { SenderCommand() }
        commandRegistry.registerCommand(RECEIVER_COMMAND) { ReceiverCommand() }
    }
}

@VisibleForTesting
+5 −5
Original line number Diff line number Diff line
@@ -55,7 +55,7 @@ import javax.inject.Inject
 */
@SysUISingleton
class MediaTttChipControllerReceiver @Inject constructor(
        commandQueue: CommandQueue,
        private val commandQueue: CommandQueue,
        context: Context,
        @MediaTttReceiverLogger logger: MediaTttLogger,
        windowManager: WindowManager,
@@ -101,10 +101,6 @@ class MediaTttChipControllerReceiver @Inject constructor(
        }
    }

    init {
        commandQueue.addCallback(commandQueueCallbacks)
    }

    private fun updateMediaTapToTransferReceiverDisplay(
        @StatusBarManager.MediaTransferReceiverState displayState: Int,
        routeInfo: MediaRoute2Info,
@@ -141,6 +137,10 @@ class MediaTttChipControllerReceiver @Inject constructor(
        )
    }

    override fun start() {
        commandQueue.addCallback(commandQueueCallbacks)
    }

    override fun updateView(newInfo: ChipReceiverInfo, currentView: ViewGroup) {
        val iconInfo = MediaTttUtils.getIconInfoFromPackageName(
            context, newInfo.routeInfo.clientPackageName, logger
+9 −12
Original line number Diff line number Diff line
@@ -48,7 +48,6 @@ import com.android.systemui.temporarydisplay.TemporaryViewDisplayController
import com.android.systemui.temporarydisplay.TemporaryViewInfo
import com.android.systemui.util.concurrency.DelayableExecutor
import com.android.systemui.util.view.ViewUtil
import dagger.Lazy
import javax.inject.Inject

/**
@@ -57,7 +56,7 @@ import javax.inject.Inject
 */
@SysUISingleton
open class MediaTttChipControllerSender @Inject constructor(
        commandQueue: CommandQueue,
        private val commandQueue: CommandQueue,
        context: Context,
        @MediaTttSenderLogger logger: MediaTttLogger,
        windowManager: WindowManager,
@@ -66,10 +65,8 @@ open class MediaTttChipControllerSender @Inject constructor(
        configurationController: ConfigurationController,
        powerManager: PowerManager,
        private val uiEventLogger: MediaTttSenderUiEventLogger,
        // Added Lazy<> to delay the time we create Falsing instances.
        // And overcome performance issue, check [b/247817628] for details.
        private val falsingManager: Lazy<FalsingManager>,
        private val falsingCollector: Lazy<FalsingCollector>,
        private val falsingManager: FalsingManager,
        private val falsingCollector: FalsingCollector,
        private val viewUtil: ViewUtil,
) : TemporaryViewDisplayController<ChipSenderInfo, MediaTttLogger>(
        context,
@@ -102,10 +99,6 @@ open class MediaTttChipControllerSender @Inject constructor(
        }
    }

    init {
        commandQueue.addCallback(commandQueueCallbacks)
    }

    private fun updateMediaTapToTransferSenderDisplay(
        @StatusBarManager.MediaTransferSenderState displayState: Int,
        routeInfo: MediaRoute2Info,
@@ -128,6 +121,10 @@ open class MediaTttChipControllerSender @Inject constructor(
        }
    }

    override fun start() {
        commandQueue.addCallback(commandQueueCallbacks)
    }

    override fun updateView(
        newInfo: ChipSenderInfo,
        currentView: ViewGroup
@@ -138,7 +135,7 @@ open class MediaTttChipControllerSender @Inject constructor(
        parent = currentView.requireViewById(R.id.media_ttt_sender_chip)
        parent.touchHandler = object : Gefingerpoken {
            override fun onTouchEvent(ev: MotionEvent?): Boolean {
                falsingCollector.get().onTouchEvent(ev)
                falsingCollector.onTouchEvent(ev)
                return false
            }
        }
@@ -167,7 +164,7 @@ open class MediaTttChipControllerSender @Inject constructor(
                newInfo.routeInfo,
                newInfo.undoCallback,
                uiEventLogger,
                falsingManager.get(),
                falsingManager,
        )
        undoView.setOnClickListener(undoClickListener)
        undoView.visibility = (undoClickListener != null).visibleIfTrue()
Loading