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

Commit 6e355aa7 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "[Media TTT] Split up the media sender and receiver loggers." into tm-qpr-dev

parents 2411a73a 5383e774
Loading
Loading
Loading
Loading
+0 −4
Original line number Diff line number Diff line
@@ -197,13 +197,10 @@
-packages/SystemUI/src/com/android/systemui/media/nearby/NearbyMediaDevicesManager.kt
-packages/SystemUI/src/com/android/systemui/media/taptotransfer/MediaTttCommandLineHelper.kt
-packages/SystemUI/src/com/android/systemui/media/taptotransfer/MediaTttFlags.kt
-packages/SystemUI/src/com/android/systemui/media/taptotransfer/common/MediaTttLogger.kt
-packages/SystemUI/src/com/android/systemui/media/taptotransfer/receiver/ChipStateReceiver.kt
-packages/SystemUI/src/com/android/systemui/media/taptotransfer/receiver/MediaTttChipControllerReceiver.kt
-packages/SystemUI/src/com/android/systemui/media/taptotransfer/receiver/MediaTttReceiverLogger.kt
-packages/SystemUI/src/com/android/systemui/media/taptotransfer/receiver/ReceiverChipRippleView.kt
-packages/SystemUI/src/com/android/systemui/media/taptotransfer/sender/ChipStateSender.kt
-packages/SystemUI/src/com/android/systemui/media/taptotransfer/sender/MediaTttSenderLogger.kt
-packages/SystemUI/src/com/android/systemui/media/taptotransfer/sender/MediaTttSenderUiEventLogger.kt
-packages/SystemUI/src/com/android/systemui/navigationbar/gestural/BackPanel.kt
-packages/SystemUI/src/com/android/systemui/navigationbar/gestural/BackPanelController.kt
@@ -611,7 +608,6 @@
-packages/SystemUI/tests/src/com/android/systemui/media/muteawait/MediaMuteAwaitConnectionManagerTest.kt
-packages/SystemUI/tests/src/com/android/systemui/media/nearby/NearbyMediaDevicesManagerTest.kt
-packages/SystemUI/tests/src/com/android/systemui/media/taptotransfer/MediaTttCommandLineHelperTest.kt
-packages/SystemUI/tests/src/com/android/systemui/media/taptotransfer/common/MediaTttLoggerTest.kt
-packages/SystemUI/tests/src/com/android/systemui/media/taptotransfer/receiver/MediaTttChipControllerReceiverTest.kt
-packages/SystemUI/tests/src/com/android/systemui/media/taptotransfer/sender/MediaTttSenderUiEventLoggerTest.kt
-packages/SystemUI/tests/src/com/android/systemui/navigationbar/gestural/FloatingRotationButtonPositionCalculatorTest.kt
+0 −22
Original line number Diff line number Diff line
@@ -199,28 +199,6 @@ public class LogModule {
        return factory.create("SwipeUpLog", 30);
    }

    /**
     * Provides a logging buffer for logs related to the media tap-to-transfer chip on the sender
     * device. See {@link com.android.systemui.media.taptotransfer.sender.MediaTttSenderLogger}.
     */
    @Provides
    @SysUISingleton
    @MediaTttSenderLogBuffer
    public static LogBuffer provideMediaTttSenderLogBuffer(LogBufferFactory factory) {
        return factory.create("MediaTttSender", 20);
    }

    /**
     * Provides a logging buffer for logs related to the media tap-to-transfer chip on the receiver
     * device. See {@link com.android.systemui.media.taptotransfer.receiver.MediaTttReceiverLogger}.
     */
    @Provides
    @SysUISingleton
    @MediaTttReceiverLogBuffer
    public static LogBuffer provideMediaTttReceiverLogBuffer(LogBufferFactory factory) {
        return factory.create("MediaTttReceiver", 20);
    }

    /**
     * Provides a logging buffer for logs related to the media mute-await connections. See
     * {@link com.android.systemui.media.muteawait.MediaMuteAwaitConnectionManager}.
+13 −17
Original line number Diff line number Diff line
@@ -17,8 +17,7 @@
package com.android.systemui.media.dagger;

import com.android.systemui.dagger.SysUISingleton;
import com.android.systemui.log.dagger.MediaTttReceiverLogBuffer;
import com.android.systemui.log.dagger.MediaTttSenderLogBuffer;
import com.android.systemui.log.LogBufferFactory;
import com.android.systemui.media.controls.pipeline.MediaDataManager;
import com.android.systemui.media.controls.ui.MediaHierarchyManager;
import com.android.systemui.media.controls.ui.MediaHost;
@@ -29,12 +28,9 @@ 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.MediaTttFlags;
import com.android.systemui.media.taptotransfer.common.MediaTttLogger;
import com.android.systemui.media.taptotransfer.receiver.ChipReceiverInfo;
import com.android.systemui.media.taptotransfer.receiver.MediaTttReceiverLogger;
import com.android.systemui.media.taptotransfer.sender.MediaTttSenderLogger;
import com.android.systemui.media.taptotransfer.receiver.MediaTttReceiverLogBuffer;
import com.android.systemui.media.taptotransfer.sender.MediaTttSenderLogBuffer;
import com.android.systemui.plugins.log.LogBuffer;
import com.android.systemui.temporarydisplay.chipbar.ChipbarInfo;

import java.util.Optional;

@@ -94,22 +90,22 @@ public interface MediaModule {
        return new MediaHost(stateHolder, hierarchyManager, dataManager, statesManager);
    }

    /** Provides a logging buffer related to the media tap-to-transfer chip on the sender device. */
    @Provides
    @SysUISingleton
    @MediaTttSenderLogger
    static MediaTttLogger<ChipbarInfo> providesMediaTttSenderLogger(
            @MediaTttSenderLogBuffer LogBuffer buffer
    ) {
        return new MediaTttLogger<>("Sender", buffer);
    @MediaTttSenderLogBuffer
    static LogBuffer provideMediaTttSenderLogBuffer(LogBufferFactory factory) {
        return factory.create("MediaTttSender", 30);
    }

    /**
     * Provides a logging buffer related to the media tap-to-transfer chip on the receiver device.
     */
    @Provides
    @SysUISingleton
    @MediaTttReceiverLogger
    static MediaTttLogger<ChipReceiverInfo> providesMediaTttReceiverLogger(
            @MediaTttReceiverLogBuffer LogBuffer buffer
    ) {
        return new MediaTttLogger<>("Receiver", buffer);
    @MediaTttReceiverLogBuffer
    static LogBuffer provideMediaTttReceiverLogBuffer(LogBufferFactory factory) {
        return factory.create("MediaTttReceiver", 20);
    }

    /** */
+60 −0
Original line number Diff line number Diff line
@@ -18,23 +18,16 @@ package com.android.systemui.media.taptotransfer.common

import com.android.systemui.plugins.log.LogBuffer
import com.android.systemui.plugins.log.LogLevel
import com.android.systemui.temporarydisplay.TemporaryViewInfo
import com.android.systemui.temporarydisplay.TemporaryViewLogger

/**
 * A logger for media tap-to-transfer events.
 *
 * @param deviceTypeTag the type of device triggering the logs -- "Sender" or "Receiver".
 *
 * TODO(b/245610654): We should de-couple the sender and receiver loggers, since they're vastly
 * different experiences.
 */
class MediaTttLogger<T : TemporaryViewInfo>(
    deviceTypeTag: String,
    buffer: LogBuffer
) : TemporaryViewLogger<T>(buffer, BASE_TAG + deviceTypeTag) {
    /** Logs a change in the chip state for the given [mediaRouteId]. */
    fun logStateChange(stateName: String, mediaRouteId: String, packageName: String?) {
/** A helper for logging media tap-to-transfer events. */
object MediaTttLoggerUtils {
    fun logStateChange(
        buffer: LogBuffer,
        tag: String,
        stateName: String,
        mediaRouteId: String,
        packageName: String?,
    ) {
        buffer.log(
            tag,
            LogLevel.DEBUG,
@@ -47,13 +40,7 @@ class MediaTttLogger<T : TemporaryViewInfo>(
        )
    }

    /**
     * Logs an error in trying to update to [displayState].
     *
     * [displayState] is either a [android.app.StatusBarManager.MediaTransferSenderState] or
     * a [android.app.StatusBarManager.MediaTransferReceiverState].
     */
    fun logStateChangeError(displayState: Int) {
    fun logStateChangeError(buffer: LogBuffer, tag: String, displayState: Int) {
        buffer.log(
            tag,
            LogLevel.ERROR,
@@ -62,29 +49,7 @@ class MediaTttLogger<T : TemporaryViewInfo>(
        )
    }

    /**
     * Logs an invalid sender state transition error in trying to update to [desiredState].
     *
     * @param currentState the previous state of the chip.
     * @param desiredState the new state of the chip.
     */
    fun logInvalidStateTransitionError(
        currentState: String,
        desiredState: String
    ) {
        buffer.log(
                tag,
                LogLevel.ERROR,
                {
                    str1 = currentState
                    str2 = desiredState
                },
                { "Cannot display state=$str2 after state=$str1; invalid transition" }
        )
    }

    /** Logs that we couldn't find information for [packageName]. */
    fun logPackageNotFound(packageName: String) {
    fun logPackageNotFound(buffer: LogBuffer, tag: String, packageName: String) {
        buffer.log(
            tag,
            LogLevel.DEBUG,
@@ -92,23 +57,4 @@ class MediaTttLogger<T : TemporaryViewInfo>(
            { "Package $str1 could not be found" }
        )
    }

    /**
     * Logs that a removal request has been bypassed (ignored).
     *
     * @param removalReason the reason that the chip removal was requested.
     * @param bypassReason the reason that the request was bypassed.
     */
    fun logRemovalBypass(removalReason: String, bypassReason: String) {
        buffer.log(
            tag,
            LogLevel.DEBUG,
            {
                str1 = removalReason
                str2 = bypassReason
            },
            { "Chip removal requested due to $str1; however, removal was ignored because $str2" })
    }
}

private const val BASE_TAG = "MediaTtt"
+4 −4
Original line number Diff line number Diff line
@@ -25,7 +25,6 @@ import com.android.systemui.R
import com.android.systemui.common.shared.model.ContentDescription
import com.android.systemui.common.shared.model.Icon
import com.android.systemui.common.shared.model.TintedIcon
import com.android.systemui.temporarydisplay.TemporaryViewInfo

/** Utility methods for media tap-to-transfer. */
class MediaTttUtils {
@@ -43,12 +42,13 @@ class MediaTttUtils {
         * default name and icon if we can't find the app name/icon.
         *
         * @param appPackageName the package name of the app playing the media.
         * @param logger the logger to use for any errors.
         * @param onPackageNotFoundException a function run if a
         * [PackageManager.NameNotFoundException] occurs.
         */
        fun getIconInfoFromPackageName(
            context: Context,
            appPackageName: String?,
            logger: MediaTttLogger<out TemporaryViewInfo>
            onPackageNotFoundException: () -> Unit,
        ): IconInfo {
            if (appPackageName != null) {
                val packageManager = context.packageManager
@@ -70,7 +70,7 @@ class MediaTttUtils {
                        isAppIcon = true
                    )
                } catch (e: PackageManager.NameNotFoundException) {
                    logger.logPackageNotFound(appPackageName)
                    onPackageNotFoundException.invoke()
                }
            }
            return IconInfo(
Loading