Merge "[Ongoing Call Controller] Add a #dump method with current call information." into sc-v2-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
8d80e7aeb7
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user