summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Caitlin Shkuratov <caitlinshk@google.com> 2025-03-24 14:48:24 +0000
committer Caitlin Shkuratov <caitlinshk@google.com> 2025-03-24 12:27:23 -0700
commitdabe838a6689010f9e47125088cbdb6d4519ca78 (patch)
tree823882320a1ee887a46f9490a98e2c5ee3d10487
parent4a8eebded59766b1745a0115173a6680b42ad009 (diff)
[SB][Chips] Small logging improvements for the call chip.
Bug: 364653005 Flag: com.android.systemui.status_bar_chips_modernization Test: Dump `StatusBarChips` log buffer -> verify output (verify with status_bar_chips_return_animation both off and on) Test: atest CallChipViewModelTest Change-Id: I4ad9c4fff999aad474e74e04da553631a01630e3 Change-Id: If761774251d0b4970800b31f2cf20ee24e76e259
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/chips/call/domain/interactor/CallChipInteractor.kt13
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/chips/call/ui/viewmodel/CallChipViewModel.kt33
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/ongoingcall/shared/model/OngoingCallModel.kt15
-rw-r--r--packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/chips/call/domain/interactor/CallChipInteractorKosmos.kt2
-rw-r--r--packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/chips/call/ui/viewmodel/CallChipViewModelKosmos.kt2
5 files changed, 32 insertions, 33 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/chips/call/domain/interactor/CallChipInteractor.kt b/packages/SystemUI/src/com/android/systemui/statusbar/chips/call/domain/interactor/CallChipInteractor.kt
index 7548f6ff5bd2..2f7b396ce690 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/chips/call/domain/interactor/CallChipInteractor.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/chips/call/domain/interactor/CallChipInteractor.kt
@@ -18,10 +18,6 @@ package com.android.systemui.statusbar.chips.call.domain.interactor
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.dagger.qualifiers.Application
-import com.android.systemui.log.LogBuffer
-import com.android.systemui.log.core.LogLevel
-import com.android.systemui.statusbar.chips.StatusBarChipLogTags.pad
-import com.android.systemui.statusbar.chips.StatusBarChipsLog
import com.android.systemui.statusbar.phone.ongoingcall.StatusBarChipsModernization
import com.android.systemui.statusbar.phone.ongoingcall.data.repository.OngoingCallRepository
import com.android.systemui.statusbar.phone.ongoingcall.domain.interactor.OngoingCallInteractor
@@ -30,7 +26,6 @@ import javax.inject.Inject
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.flow.SharingStarted
import kotlinx.coroutines.flow.StateFlow
-import kotlinx.coroutines.flow.onEach
import kotlinx.coroutines.flow.stateIn
/** Interactor for the ongoing phone call chip shown in the status bar. */
@@ -41,7 +36,6 @@ constructor(
@Application private val scope: CoroutineScope,
ongoingCallInteractor: OngoingCallInteractor,
repository: OngoingCallRepository,
- @StatusBarChipsLog private val logger: LogBuffer,
) {
val ongoingCallState: StateFlow<OngoingCallModel> =
(if (StatusBarChipsModernization.isEnabled) {
@@ -49,12 +43,5 @@ constructor(
} else {
repository.ongoingCallState
})
- .onEach {
- logger.log(TAG, LogLevel.INFO, { str1 = it::class.simpleName }, { "State: $str1" })
- }
.stateIn(scope, SharingStarted.Lazily, OngoingCallModel.NoCall)
-
- companion object {
- private val TAG = "OngoingCall".pad()
- }
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/chips/call/ui/viewmodel/CallChipViewModel.kt b/packages/SystemUI/src/com/android/systemui/statusbar/chips/call/ui/viewmodel/CallChipViewModel.kt
index 0763cb7751a0..cf9f1edd2afa 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/chips/call/ui/viewmodel/CallChipViewModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/chips/call/ui/viewmodel/CallChipViewModel.kt
@@ -31,7 +31,7 @@ import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.dagger.qualifiers.Application
import com.android.systemui.dagger.qualifiers.Main
import com.android.systemui.log.LogBuffer
-import com.android.systemui.log.core.LogLevel
+import com.android.systemui.log.core.Logger
import com.android.systemui.plugins.ActivityStarter
import com.android.systemui.res.R
import com.android.systemui.statusbar.chips.StatusBarChipLogTags.pad
@@ -69,9 +69,10 @@ constructor(
interactor: CallChipInteractor,
systemClock: SystemClock,
private val activityStarter: ActivityStarter,
- @StatusBarChipsLog private val logger: LogBuffer,
+ @StatusBarChipsLog private val logBuffer: LogBuffer,
private val uiEventLogger: StatusBarChipsUiEventLogger,
) : OngoingActivityChipViewModel {
+ private val logger = Logger(logBuffer, "OngoingCallVM".pad())
/** The transition cookie used to register and unregister launch and return animations. */
private val cookie =
ActivityTransitionAnimator.TransitionCookie("${CallChipViewModel::class.java}")
@@ -99,16 +100,15 @@ constructor(
val oldTransitionState = latestTransitionState
latestTransitionState = newTransitionState
- logger.log(
- TAG,
- LogLevel.DEBUG,
- {},
- {
- "Call chip state updated: oldState=$oldState newState=$newState " +
- "oldTransitionState=$oldTransitionState " +
- "newTransitionState=$newTransitionState"
- },
- )
+ logger.d({
+ "Call chip state updated: $str1" +
+ " oldTransitionState=$str2" +
+ " newTransitionState=$str3"
+ }) {
+ str1 = "oldState=${oldState.logString()} newState=${newState.logString()}"
+ str2 = oldTransitionState::class.simpleName
+ str3 = newTransitionState::class.simpleName
+ }
when (newState) {
is OngoingCallModel.NoCall ->
@@ -144,6 +144,10 @@ constructor(
if (!StatusBarChipsReturnAnimations.isEnabled) {
interactor.ongoingCallState
.map { state ->
+ logger.d({ "Call chip state updated: newState=$str1" }) {
+ str1 = state.logString()
+ }
+
when (state) {
is OngoingCallModel.NoCall -> OngoingActivityChipModel.Inactive()
is OngoingCallModel.InCall ->
@@ -244,7 +248,7 @@ constructor(
return View.OnClickListener { view ->
StatusBarChipsModernization.assertInLegacyMode()
- logger.log(TAG, LogLevel.INFO, {}, { "Chip clicked" })
+ logger.i({ "Chip clicked" }) {}
uiEventLogger.logChipTapToShow(instanceId)
val backgroundView =
@@ -271,7 +275,7 @@ constructor(
onClick = { expandable ->
StatusBarChipsModernization.unsafeAssertInNewMode()
- logger.log(TAG, LogLevel.INFO, {}, { "Chip clicked" })
+ logger.i({ "Chip clicked" }) {}
uiEventLogger.logChipTapToShow(instanceId)
val animationController =
@@ -431,7 +435,6 @@ constructor(
com.android.internal.R.drawable.ic_phone,
ContentDescription.Resource(R.string.ongoing_call_content_description),
)
- private val TAG = "CallVM".pad()
const val KEY_PREFIX = "callChip-"
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ongoingcall/shared/model/OngoingCallModel.kt b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ongoingcall/shared/model/OngoingCallModel.kt
index e20d76453cd6..0c0498f5856c 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ongoingcall/shared/model/OngoingCallModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ongoingcall/shared/model/OngoingCallModel.kt
@@ -23,8 +23,13 @@ import com.android.systemui.statusbar.notification.promoted.shared.model.Promote
/** Represents the state of any ongoing calls. */
sealed interface OngoingCallModel {
+ /** A string to use in logs that only includes the key information. */
+ fun logString(): String
+
/** There is no ongoing call. */
- data object NoCall : OngoingCallModel
+ data object NoCall : OngoingCallModel {
+ override fun logString() = "NoCall"
+ }
/**
* There *is* an ongoing call.
@@ -53,5 +58,11 @@ sealed interface OngoingCallModel {
val promotedContent: PromotedNotificationContentModels?,
val isAppVisible: Boolean,
val notificationInstanceId: InstanceId?,
- ) : OngoingCallModel
+ ) : OngoingCallModel {
+ override fun logString(): String {
+ return "InCall(notifKey=$notificationKey " +
+ "hasPromotedContent=${promotedContent != null} " +
+ "isAppVisible=$isAppVisible)"
+ }
+ }
}
diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/chips/call/domain/interactor/CallChipInteractorKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/chips/call/domain/interactor/CallChipInteractorKosmos.kt
index d8d4d2b65eff..53fd387925e6 100644
--- a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/chips/call/domain/interactor/CallChipInteractorKosmos.kt
+++ b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/chips/call/domain/interactor/CallChipInteractorKosmos.kt
@@ -18,7 +18,6 @@ package com.android.systemui.statusbar.chips.call.domain.interactor
import com.android.systemui.kosmos.Kosmos
import com.android.systemui.kosmos.applicationCoroutineScope
-import com.android.systemui.statusbar.chips.statusBarChipsLogger
import com.android.systemui.statusbar.phone.ongoingcall.data.repository.ongoingCallRepository
import com.android.systemui.statusbar.phone.ongoingcall.domain.interactor.ongoingCallInteractor
@@ -28,6 +27,5 @@ val Kosmos.callChipInteractor: CallChipInteractor by
scope = applicationCoroutineScope,
repository = ongoingCallRepository,
ongoingCallInteractor = ongoingCallInteractor,
- logger = statusBarChipsLogger,
)
}
diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/chips/call/ui/viewmodel/CallChipViewModelKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/chips/call/ui/viewmodel/CallChipViewModelKosmos.kt
index 553e876bbb26..df2b5e70c94d 100644
--- a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/chips/call/ui/viewmodel/CallChipViewModelKosmos.kt
+++ b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/chips/call/ui/viewmodel/CallChipViewModelKosmos.kt
@@ -33,7 +33,7 @@ val Kosmos.callChipViewModel: CallChipViewModel by
interactor = callChipInteractor,
systemClock = fakeSystemClock,
activityStarter = activityStarter,
- logger = statusBarChipsLogger,
+ logBuffer = statusBarChipsLogger,
uiEventLogger = statusBarChipsUiEventLogger,
)
}