Merge "Filter buckets with zero usage" into main
This commit is contained in:
@@ -93,13 +93,15 @@ class NetworkStatsRepository(context: Context, private val template: NetworkTemp
|
||||
val buckets = mutableListOf<Bucket>()
|
||||
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
|
||||
}
|
||||
|
@@ -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
|
||||
|
Reference in New Issue
Block a user