diff --git a/src/com/android/settings/datausage/lib/NetworkStatsRepository.kt b/src/com/android/settings/datausage/lib/NetworkStatsRepository.kt index 56b193109da..484a8a39019 100644 --- a/src/com/android/settings/datausage/lib/NetworkStatsRepository.kt +++ b/src/com/android/settings/datausage/lib/NetworkStatsRepository.kt @@ -93,13 +93,15 @@ class NetworkStatsRepository(context: Context, private val template: NetworkTemp val buckets = mutableListOf() val bucket = NetworkStats.Bucket() while (getNextBucket(bucket)) { - buckets += Bucket( - uid = bucket.uid, - bytes = bucket.bytes, - state = bucket.state, - startTimeStamp = bucket.startTimeStamp, - endTimeStamp = bucket.endTimeStamp, - ) + if (bucket.bytes > 0) { + buckets += Bucket( + uid = bucket.uid, + bytes = bucket.bytes, + state = bucket.state, + startTimeStamp = bucket.startTimeStamp, + endTimeStamp = bucket.endTimeStamp, + ) + } } buckets } diff --git a/tests/spa_unit/src/com/android/settings/datausage/lib/AppDataUsageDetailsRepositoryTest.kt b/tests/spa_unit/src/com/android/settings/datausage/lib/AppDataUsageDetailsRepositoryTest.kt index fda3dc96e2f..8476a49331f 100644 --- a/tests/spa_unit/src/com/android/settings/datausage/lib/AppDataUsageDetailsRepositoryTest.kt +++ b/tests/spa_unit/src/com/android/settings/datausage/lib/AppDataUsageDetailsRepositoryTest.kt @@ -125,6 +125,32 @@ class AppDataUsageDetailsRepositoryTest { ) } + @Test + fun queryDetailsForCycles_appWithZeroUsage_filtered(): Unit = runBlocking { + networkStatsRepository.stub { + on { queryBuckets(CYCLE1_END_TIME, CYCLE2_END_TIME) } doReturn listOf( + Bucket( + uid = UID, + bytes = 0L, + startTimeStamp = 0L, + endTimeStamp = 0L, + ), + ) + } + val repository = AppDataUsageDetailsRepository( + context = context, + cycles = null, + template = template, + uids = listOf(UID), + networkCycleDataRepository = networkCycleDataRepository, + networkStatsRepository = networkStatsRepository, + ) + + val detailsForCycles = repository.queryDetailsForCycles() + + assertThat(detailsForCycles).isEmpty() + } + private companion object { const val CYCLE1_START_TIME = 1694444444000L const val CYCLE1_END_TIME = 1695555555000L