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

This commit is contained in:
Caitlin Cassidy
2021-10-04 15:41:49 +00:00
committed by Android (Google) Code Review
3 changed files with 21 additions and 6 deletions

View File

@@ -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;
} }

View File

@@ -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 {

View File

@@ -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)