[Media TTT] Improve our logs around chip removal.

1) Fix our log for removing the chip due to FAR_FROM_RECEIVER state
   (previously, it was logging "ChipStateSender" as the reason, not
   "FAR_FROM_RECEIVER").
2) Add a log for when we ignore a removal event.

Fixes: 246574567
Test: manual: verified MediaTttSender logs
Test: media.taptotransfer tests
Change-Id: Idb59c0c24ee49481abcfa005de59af007fbf84ec
This commit is contained in:
Caitlin Shkuratov
2022-09-14 21:05:09 +00:00
parent b9f403020c
commit c1c9355273
4 changed files with 48 additions and 8 deletions

View File

@@ -52,6 +52,23 @@ class MediaTttLogger(
{ "Package $str1 could not be found" }
)
}
/**
* Logs that a removal request has been bypassed (ignored).
*
* @param removalReason the reason that the chip removal was requested.
* @param bypassReason the reason that the request was bypassed.
*/
fun logRemovalBypass(removalReason: String, bypassReason: String) {
buffer.log(
tag,
LogLevel.DEBUG,
{
str1 = removalReason
str2 = bypassReason
},
{ "Chip removal requested due to $str1; however, removal was ignored because $str2" })
}
}
private const val BASE_TAG = "MediaTtt"

View File

@@ -106,7 +106,7 @@ class MediaTttChipControllerSender @Inject constructor(
uiEventLogger.logSenderStateChange(chipState)
if (chipState == ChipStateSender.FAR_FROM_RECEIVER) {
removeView(removalReason = ChipStateSender.FAR_FROM_RECEIVER::class.simpleName!!)
removeView(removalReason = ChipStateSender.FAR_FROM_RECEIVER.name)
} else {
displayView(ChipSenderInfo(chipState, routeInfo, undoCallback))
}
@@ -180,6 +180,9 @@ class MediaTttChipControllerSender @Inject constructor(
transferStatus == TransferStatus.SUCCEEDED) &&
removalReason != TemporaryDisplayRemovalReason.REASON_TIMEOUT
) {
logger.logRemovalBypass(
removalReason, bypassReason = "transferStatus=${transferStatus.name}"
)
return
}
super.removeView(removalReason)

View File

@@ -50,10 +50,7 @@ class MediaTttLoggerTest : SysuiTestCase() {
logger.logStateChange(stateName, id, packageName)
val stringWriter = StringWriter()
buffer.dump(PrintWriter(stringWriter), tailLength = 0)
val actualString = stringWriter.toString()
val actualString = getStringFromBuffer()
assertThat(actualString).contains(DEVICE_TYPE_TAG)
assertThat(actualString).contains(stateName)
assertThat(actualString).contains(id)
@@ -66,11 +63,26 @@ class MediaTttLoggerTest : SysuiTestCase() {
logger.logPackageNotFound(packageName)
val actualString = getStringFromBuffer()
assertThat(actualString).contains(packageName)
}
@Test
fun logRemovalBypass_bufferHasReasons() {
val removalReason = "fakeRemovalReason"
val bypassReason = "fakeBypassReason"
logger.logRemovalBypass(removalReason, bypassReason)
val actualString = getStringFromBuffer()
assertThat(actualString).contains(removalReason)
assertThat(actualString).contains(bypassReason)
}
private fun getStringFromBuffer(): String {
val stringWriter = StringWriter()
buffer.dump(PrintWriter(stringWriter), tailLength = 0)
val actualString = stringWriter.toString()
assertThat(actualString).contains(packageName)
return stringWriter.toString()
}
}

View File

@@ -587,6 +587,7 @@ class MediaTttChipControllerSenderTest : SysuiTestCase() {
fakeExecutor.runAllReady()
verify(windowManager, never()).removeView(any())
verify(logger).logRemovalBypass(any(), any())
}
@Test
@@ -601,6 +602,7 @@ class MediaTttChipControllerSenderTest : SysuiTestCase() {
fakeExecutor.runAllReady()
verify(windowManager, never()).removeView(any())
verify(logger).logRemovalBypass(any(), any())
}
@Test
@@ -622,6 +624,7 @@ class MediaTttChipControllerSenderTest : SysuiTestCase() {
fakeExecutor.runAllReady()
verify(windowManager, never()).removeView(any())
verify(logger).logRemovalBypass(any(), any())
}
@Test
@@ -646,6 +649,7 @@ class MediaTttChipControllerSenderTest : SysuiTestCase() {
fakeExecutor.runAllReady()
verify(windowManager, never()).removeView(any())
verify(logger).logRemovalBypass(any(), any())
}
@Test
@@ -656,6 +660,7 @@ class MediaTttChipControllerSenderTest : SysuiTestCase() {
fakeExecutor.runAllReady()
verify(windowManager, never()).removeView(any())
verify(logger).logRemovalBypass(any(), any())
}
@Test
@@ -680,6 +685,7 @@ class MediaTttChipControllerSenderTest : SysuiTestCase() {
fakeExecutor.runAllReady()
verify(windowManager, never()).removeView(any())
verify(logger).logRemovalBypass(any(), any())
}
@Test
@@ -690,6 +696,7 @@ class MediaTttChipControllerSenderTest : SysuiTestCase() {
fakeExecutor.runAllReady()
verify(windowManager, never()).removeView(any())
verify(logger).logRemovalBypass(any(), any())
}
@Test
@@ -714,6 +721,7 @@ class MediaTttChipControllerSenderTest : SysuiTestCase() {
fakeExecutor.runAllReady()
verify(windowManager, never()).removeView(any())
verify(logger).logRemovalBypass(any(), any())
}
private fun ViewGroup.getAppIconView() = this.requireViewById<ImageView>(R.id.app_icon)