Loading packages/SystemUI/src/com/android/systemui/statusbar/dagger/StatusBarDependenciesModule.java +3 −2 Original line number Original line Diff line number Diff line Loading @@ -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; } } Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/ongoingcall/OngoingCallController.kt +14 −3 Original line number Original line Diff line number Diff line Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading Loading @@ -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) } } Loading Loading @@ -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 { Loading packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/ongoingcall/OngoingCallControllerTest.kt +4 −1 Original line number Original line Diff line number Diff line Loading @@ -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 Loading Loading @@ -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) Loading Loading
packages/SystemUI/src/com/android/systemui/statusbar/dagger/StatusBarDependenciesModule.java +3 −2 Original line number Original line Diff line number Diff line Loading @@ -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; } } Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/ongoingcall/OngoingCallController.kt +14 −3 Original line number Original line Diff line number Diff line Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading Loading @@ -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) } } Loading Loading @@ -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 { Loading
packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/ongoingcall/OngoingCallControllerTest.kt +4 −1 Original line number Original line Diff line number Diff line Loading @@ -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 Loading Loading @@ -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) Loading