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

Commit 8d80e7ae authored by Caitlin Cassidy's avatar Caitlin Cassidy Committed by Android (Google) Code Review
Browse files

Merge "[Ongoing Call Controller] Add a #dump method with current call information." into sc-v2-dev

parents 648874c4 f7407020
Loading
Loading
Loading
Loading
+3 −2
Original line number Original line Diff line number Diff line
@@ -252,11 +252,12 @@ public interface StatusBarDependenciesModule {
            ActivityStarter activityStarter,
            ActivityStarter activityStarter,
            @Main Executor mainExecutor,
            @Main Executor mainExecutor,
            IActivityManager iActivityManager,
            IActivityManager iActivityManager,
            OngoingCallLogger logger) {
            OngoingCallLogger logger,
            DumpManager dumpManager) {
        OngoingCallController ongoingCallController =
        OngoingCallController ongoingCallController =
                new OngoingCallController(
                new OngoingCallController(
                        notifCollection, featureFlags, systemClock, activityStarter, mainExecutor,
                        notifCollection, featureFlags, systemClock, activityStarter, mainExecutor,
                        iActivityManager, logger);
                        iActivityManager, logger, dumpManager);
        ongoingCallController.init();
        ongoingCallController.init();
        return ongoingCallController;
        return ongoingCallController;
    }
    }
+14 −3
Original line number Original line Diff line number Diff line
@@ -26,10 +26,12 @@ import android.util.Log
import android.view.View
import android.view.View
import androidx.annotation.VisibleForTesting
import androidx.annotation.VisibleForTesting
import com.android.internal.jank.InteractionJankMonitor
import com.android.internal.jank.InteractionJankMonitor
import com.android.systemui.Dumpable
import com.android.systemui.R
import com.android.systemui.R
import com.android.systemui.animation.ActivityLaunchAnimator
import com.android.systemui.animation.ActivityLaunchAnimator
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.dagger.qualifiers.Main
import com.android.systemui.dagger.qualifiers.Main
import com.android.systemui.dump.DumpManager
import com.android.systemui.plugins.ActivityStarter
import com.android.systemui.plugins.ActivityStarter
import com.android.systemui.flags.FeatureFlags
import com.android.systemui.flags.FeatureFlags
import com.android.systemui.statusbar.notification.collection.NotificationEntry
import com.android.systemui.statusbar.notification.collection.NotificationEntry
@@ -37,6 +39,8 @@ import com.android.systemui.statusbar.notification.collection.notifcollection.Co
import com.android.systemui.statusbar.notification.collection.notifcollection.NotifCollectionListener
import com.android.systemui.statusbar.notification.collection.notifcollection.NotifCollectionListener
import com.android.systemui.statusbar.policy.CallbackController
import com.android.systemui.statusbar.policy.CallbackController
import com.android.systemui.util.time.SystemClock
import com.android.systemui.util.time.SystemClock
import java.io.FileDescriptor
import java.io.PrintWriter
import java.util.concurrent.Executor
import java.util.concurrent.Executor
import javax.inject.Inject
import javax.inject.Inject


@@ -51,13 +55,14 @@ class OngoingCallController @Inject constructor(
    private val activityStarter: ActivityStarter,
    private val activityStarter: ActivityStarter,
    @Main private val mainExecutor: Executor,
    @Main private val mainExecutor: Executor,
    private val iActivityManager: IActivityManager,
    private val iActivityManager: IActivityManager,
    private val logger: OngoingCallLogger
    private val logger: OngoingCallLogger,
) : CallbackController<OngoingCallListener> {
    private val dumpManager: DumpManager,
) : CallbackController<OngoingCallListener>, Dumpable {


    /** Non-null if there's an active call notification. */
    /** Non-null if there's an active call notification. */
    private var callNotificationInfo: CallNotificationInfo? = null
    private var callNotificationInfo: CallNotificationInfo? = null
    /** True if the application managing the call is visible to the user. */
    /** True if the application managing the call is visible to the user. */
    private var isCallAppVisible: Boolean = true
    private var isCallAppVisible: Boolean = false
    private var chipView: View? = null
    private var chipView: View? = null
    private var uidObserver: IUidObserver.Stub? = null
    private var uidObserver: IUidObserver.Stub? = null


@@ -120,6 +125,7 @@ class OngoingCallController @Inject constructor(
    }
    }


    fun init() {
    fun init() {
        dumpManager.registerDumpable(this)
        if (featureFlags.isOngoingCallStatusBarChipEnabled) {
        if (featureFlags.isOngoingCallStatusBarChipEnabled) {
            notifCollection.addCollectionListener(notifListener)
            notifCollection.addCollectionListener(notifListener)
        }
        }
@@ -299,6 +305,11 @@ class OngoingCallController @Inject constructor(
         */
         */
        fun hasValidStartTime(): Boolean = callStartTime > 0
        fun hasValidStartTime(): Boolean = callStartTime > 0
    }
    }

    override fun dump(fd: FileDescriptor, pw: PrintWriter, args: Array<out String>) {
        pw.println("Active call notification: $callNotificationInfo")
        pw.println("Call app visible: $isCallAppVisible")
    }
}
}


private fun isCallNotification(entry: NotificationEntry): Boolean {
private fun isCallNotification(entry: NotificationEntry): Boolean {
+4 −1
Original line number Original line Diff line number Diff line
@@ -33,6 +33,7 @@ import androidx.test.filters.SmallTest
import com.android.internal.logging.testing.UiEventLoggerFake
import com.android.internal.logging.testing.UiEventLoggerFake
import com.android.systemui.R
import com.android.systemui.R
import com.android.systemui.SysuiTestCase
import com.android.systemui.SysuiTestCase
import com.android.systemui.dump.DumpManager
import com.android.systemui.plugins.ActivityStarter
import com.android.systemui.plugins.ActivityStarter
import com.android.systemui.flags.FeatureFlags
import com.android.systemui.flags.FeatureFlags
import com.android.systemui.statusbar.notification.collection.NotificationEntry
import com.android.systemui.statusbar.notification.collection.NotificationEntry
@@ -105,7 +106,9 @@ class OngoingCallControllerTest : SysuiTestCase() {
                mockActivityStarter,
                mockActivityStarter,
                mainExecutor,
                mainExecutor,
                mockIActivityManager,
                mockIActivityManager,
                OngoingCallLogger(uiEventLoggerFake))
                OngoingCallLogger(uiEventLoggerFake),
                DumpManager(),
        )
        controller.init()
        controller.init()
        controller.addCallback(mockOngoingCallListener)
        controller.addCallback(mockOngoingCallListener)
        controller.setChipView(chipView)
        controller.setChipView(chipView)