diff options
| author | Guillaume Jacquart <guillaume.jacquart@hoodbrains.com> | 2022-12-27 08:43:14 +0100 |
|---|---|---|
| committer | Guillaume Jacquart <guillaume.jacquart@hoodbrains.com> | 2022-12-27 08:43:14 +0100 |
| commit | 3e353baf484524663b21f6a0cbb232634595fc33 (patch) | |
| tree | 2c4cd1272cde86c9b52e3801bcc3a1677af85b40 /app/src/main/java/foundation/e/privacycentralapp/domain | |
| parent | ae2feae022ba6485b020afa6b5f5c78049ecf1d4 (diff) | |
| download | advanced-privacy-3e353baf484524663b21f6a0cbb232634595fc33.tar.gz | |
5422: add time graduations on tracker graph on dashboard.
Diffstat (limited to 'app/src/main/java/foundation/e/privacycentralapp/domain')
2 files changed, 21 insertions, 4 deletions
diff --git a/app/src/main/java/foundation/e/privacycentralapp/domain/entities/TrackersPeriodicStatistics.kt b/app/src/main/java/foundation/e/privacycentralapp/domain/entities/TrackersPeriodicStatistics.kt index b3a6ade..8ce55dd 100644 --- a/app/src/main/java/foundation/e/privacycentralapp/domain/entities/TrackersPeriodicStatistics.kt +++ b/app/src/main/java/foundation/e/privacycentralapp/domain/entities/TrackersPeriodicStatistics.kt @@ -20,5 +20,6 @@ package foundation.e.privacycentralapp.domain.entities data class TrackersPeriodicStatistics( val callsBlockedNLeaked: List<Pair<Int, Int>>, val periods: List<String>, - val trackersCount: Int + val trackersCount: Int, + val graduations: List<String?>? = null ) diff --git a/app/src/main/java/foundation/e/privacycentralapp/domain/usecases/TrackersStatisticsUseCase.kt b/app/src/main/java/foundation/e/privacycentralapp/domain/usecases/TrackersStatisticsUseCase.kt index 57ab1a4..5103eb2 100644 --- a/app/src/main/java/foundation/e/privacycentralapp/domain/usecases/TrackersStatisticsUseCase.kt +++ b/app/src/main/java/foundation/e/privacycentralapp/domain/usecases/TrackersStatisticsUseCase.kt @@ -69,7 +69,8 @@ class TrackersStatisticsUseCase( return TrackersPeriodicStatistics( callsBlockedNLeaked = trackTrackersPrivacyModule.getPastDayTrackersCalls(), periods = buildDayLabels(), - trackersCount = trackTrackersPrivacyModule.getPastDayTrackersCount() + trackersCount = trackTrackersPrivacyModule.getPastDayTrackersCount(), + graduations = buildDayGraduations(), ) to trackTrackersPrivacyModule.getTrackersCount() } @@ -83,15 +84,30 @@ class TrackersStatisticsUseCase( fun getDayTrackersCount() = trackTrackersPrivacyModule.getPastDayTrackersCount() + private fun buildDayGraduations(): List<String?> { + val formatter = DateTimeFormatter.ofPattern( + resources.getString(R.string.trackers_graph_hours_period_format) + ) + + val periods = mutableListOf<String?>() + var end = ZonedDateTime.now() + for (i in 1..24) { + val start = end.truncatedTo(ChronoUnit.HOURS) + periods.add(if (start.hour % 6 == 0) formatter.format(start) else null) + end = start.minus(1, ChronoUnit.MINUTES) + } + return periods.reversed() + } + private fun buildDayLabels(): List<String> { - val formater = DateTimeFormatter.ofPattern( + val formatter = DateTimeFormatter.ofPattern( resources.getString(R.string.trackers_graph_hours_period_format) ) val periods = mutableListOf<String>() var end = ZonedDateTime.now() for (i in 1..24) { val start = end.truncatedTo(ChronoUnit.HOURS) - periods.add("${formater.format(start)} - ${formater.format(end)}") + periods.add("${formatter.format(start)} - ${formatter.format(end)}") end = start.minus(1, ChronoUnit.MINUTES) } return periods.reversed() |
