Loading packages/SystemUI/src/com/android/systemui/statusbar/dagger/StatusBarDependenciesModule.java +5 −2 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ import com.android.internal.statusbar.IStatusBarService; import com.android.systemui.dagger.SysUISingleton; import com.android.systemui.dagger.qualifiers.Main; import com.android.systemui.media.MediaDataManager; import com.android.systemui.plugins.ActivityStarter; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.statusbar.ActionClickLogger; import com.android.systemui.statusbar.CommandQueue; Loading Loading @@ -237,9 +238,11 @@ public interface StatusBarDependenciesModule { static OngoingCallController provideOngoingCallController( CommonNotifCollection notifCollection, FeatureFlags featureFlags, SystemClock systemClock) { SystemClock systemClock, ActivityStarter activityStarter) { OngoingCallController ongoingCallController = new OngoingCallController(notifCollection, featureFlags, systemClock); new OngoingCallController( notifCollection, featureFlags, systemClock, activityStarter); ongoingCallController.init(); return ongoingCallController; } Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/ongoingcall/OngoingCallController.kt +16 −3 Original line number Diff line number Diff line Loading @@ -22,7 +22,9 @@ import android.util.Log import android.view.ViewGroup import android.widget.Chronometer import com.android.systemui.R import com.android.systemui.animation.ActivityLaunchAnimator import com.android.systemui.dagger.SysUISingleton import com.android.systemui.plugins.ActivityStarter import com.android.systemui.statusbar.FeatureFlags import com.android.systemui.statusbar.notification.collection.NotificationEntry import com.android.systemui.statusbar.notification.collection.notifcollection.CommonNotifCollection Loading @@ -38,7 +40,8 @@ import javax.inject.Inject class OngoingCallController @Inject constructor( private val notifCollection: CommonNotifCollection, private val featureFlags: FeatureFlags, private val systemClock: SystemClock private val systemClock: SystemClock, private val activityStarter: ActivityStarter ) : CallbackController<OngoingCallListener> { var hasOngoingCall = false Loading @@ -50,14 +53,24 @@ class OngoingCallController @Inject constructor( private val notifListener = object : NotifCollectionListener { override fun onEntryUpdated(entry: NotificationEntry) { if (isOngoingCallNotification(entry)) { val timeView = chipView?.findViewById<Chronometer>(R.id.ongoing_call_chip_time) if (timeView != null) { val currentChipView = chipView val timeView = currentChipView?.findViewById<Chronometer>(R.id.ongoing_call_chip_time) if (currentChipView != null && timeView != null) { hasOngoingCall = true val callStartTime = entry.sbn.notification.`when` timeView.base = callStartTime - System.currentTimeMillis() + systemClock.elapsedRealtime() timeView.start() currentChipView.setOnClickListener { activityStarter.postStartActivityDismissingKeyguard( entry.sbn.notification.contentIntent.intent, 0, ActivityLaunchAnimator.Controller.fromView(it)) } mListeners.forEach { l -> l.onOngoingCallStarted(animate = true) } } else if (DEBUG) { Log.w(TAG, "Ongoing call chip view could not be found; " + Loading packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/ongoingcall/OngoingCallControllerTest.kt +4 −1 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ import android.view.LayoutInflater import android.widget.LinearLayout import com.android.systemui.R import com.android.systemui.SysuiTestCase import com.android.systemui.plugins.ActivityStarter import com.android.systemui.statusbar.FeatureFlags import com.android.systemui.statusbar.notification.collection.NotificationEntry import com.android.systemui.statusbar.notification.collection.NotificationEntryBuilder Loading Loading @@ -55,6 +56,7 @@ class OngoingCallControllerTest : SysuiTestCase() { private lateinit var notifCollectionListener: NotifCollectionListener @Mock private lateinit var mockOngoingCallListener: OngoingCallListener @Mock private lateinit var mockActivityStarter: ActivityStarter private lateinit var chipView: LinearLayout Loading @@ -71,7 +73,8 @@ class OngoingCallControllerTest : SysuiTestCase() { `when`(featureFlags.isOngoingCallStatusBarChipEnabled).thenReturn(true) val notificationCollection = mock(CommonNotifCollection::class.java) controller = OngoingCallController(notificationCollection, featureFlags, FakeSystemClock()) controller = OngoingCallController( notificationCollection, featureFlags, FakeSystemClock(), mockActivityStarter) controller.init() controller.addCallback(mockOngoingCallListener) controller.setChipView(chipView) Loading Loading
packages/SystemUI/src/com/android/systemui/statusbar/dagger/StatusBarDependenciesModule.java +5 −2 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ import com.android.internal.statusbar.IStatusBarService; import com.android.systemui.dagger.SysUISingleton; import com.android.systemui.dagger.qualifiers.Main; import com.android.systemui.media.MediaDataManager; import com.android.systemui.plugins.ActivityStarter; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.statusbar.ActionClickLogger; import com.android.systemui.statusbar.CommandQueue; Loading Loading @@ -237,9 +238,11 @@ public interface StatusBarDependenciesModule { static OngoingCallController provideOngoingCallController( CommonNotifCollection notifCollection, FeatureFlags featureFlags, SystemClock systemClock) { SystemClock systemClock, ActivityStarter activityStarter) { OngoingCallController ongoingCallController = new OngoingCallController(notifCollection, featureFlags, systemClock); new OngoingCallController( notifCollection, featureFlags, systemClock, activityStarter); ongoingCallController.init(); return ongoingCallController; } Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/ongoingcall/OngoingCallController.kt +16 −3 Original line number Diff line number Diff line Loading @@ -22,7 +22,9 @@ import android.util.Log import android.view.ViewGroup import android.widget.Chronometer import com.android.systemui.R import com.android.systemui.animation.ActivityLaunchAnimator import com.android.systemui.dagger.SysUISingleton import com.android.systemui.plugins.ActivityStarter import com.android.systemui.statusbar.FeatureFlags import com.android.systemui.statusbar.notification.collection.NotificationEntry import com.android.systemui.statusbar.notification.collection.notifcollection.CommonNotifCollection Loading @@ -38,7 +40,8 @@ import javax.inject.Inject class OngoingCallController @Inject constructor( private val notifCollection: CommonNotifCollection, private val featureFlags: FeatureFlags, private val systemClock: SystemClock private val systemClock: SystemClock, private val activityStarter: ActivityStarter ) : CallbackController<OngoingCallListener> { var hasOngoingCall = false Loading @@ -50,14 +53,24 @@ class OngoingCallController @Inject constructor( private val notifListener = object : NotifCollectionListener { override fun onEntryUpdated(entry: NotificationEntry) { if (isOngoingCallNotification(entry)) { val timeView = chipView?.findViewById<Chronometer>(R.id.ongoing_call_chip_time) if (timeView != null) { val currentChipView = chipView val timeView = currentChipView?.findViewById<Chronometer>(R.id.ongoing_call_chip_time) if (currentChipView != null && timeView != null) { hasOngoingCall = true val callStartTime = entry.sbn.notification.`when` timeView.base = callStartTime - System.currentTimeMillis() + systemClock.elapsedRealtime() timeView.start() currentChipView.setOnClickListener { activityStarter.postStartActivityDismissingKeyguard( entry.sbn.notification.contentIntent.intent, 0, ActivityLaunchAnimator.Controller.fromView(it)) } mListeners.forEach { l -> l.onOngoingCallStarted(animate = true) } } else if (DEBUG) { Log.w(TAG, "Ongoing call chip view could not be found; " + Loading
packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/ongoingcall/OngoingCallControllerTest.kt +4 −1 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ import android.view.LayoutInflater import android.widget.LinearLayout import com.android.systemui.R import com.android.systemui.SysuiTestCase import com.android.systemui.plugins.ActivityStarter import com.android.systemui.statusbar.FeatureFlags import com.android.systemui.statusbar.notification.collection.NotificationEntry import com.android.systemui.statusbar.notification.collection.NotificationEntryBuilder Loading Loading @@ -55,6 +56,7 @@ class OngoingCallControllerTest : SysuiTestCase() { private lateinit var notifCollectionListener: NotifCollectionListener @Mock private lateinit var mockOngoingCallListener: OngoingCallListener @Mock private lateinit var mockActivityStarter: ActivityStarter private lateinit var chipView: LinearLayout Loading @@ -71,7 +73,8 @@ class OngoingCallControllerTest : SysuiTestCase() { `when`(featureFlags.isOngoingCallStatusBarChipEnabled).thenReturn(true) val notificationCollection = mock(CommonNotifCollection::class.java) controller = OngoingCallController(notificationCollection, featureFlags, FakeSystemClock()) controller = OngoingCallController( notificationCollection, featureFlags, FakeSystemClock(), mockActivityStarter) controller.init() controller.addCallback(mockOngoingCallListener) controller.setChipView(chipView) Loading