aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/java/foundation/e/privacycentralapp/domain
diff options
context:
space:
mode:
authorGuillaume Jacquart <guillaume.jacquart@hoodbrains.com>2022-12-27 08:43:14 +0100
committerGuillaume Jacquart <guillaume.jacquart@hoodbrains.com>2022-12-27 08:43:14 +0100
commit3e353baf484524663b21f6a0cbb232634595fc33 (patch)
tree2c4cd1272cde86c9b52e3801bcc3a1677af85b40 /app/src/main/java/foundation/e/privacycentralapp/domain
parentae2feae022ba6485b020afa6b5f5c78049ecf1d4 (diff)
downloadadvanced-privacy-3e353baf484524663b21f6a0cbb232634595fc33.tar.gz
5422: add time graduations on tracker graph on dashboard.
Diffstat (limited to 'app/src/main/java/foundation/e/privacycentralapp/domain')
-rw-r--r--app/src/main/java/foundation/e/privacycentralapp/domain/entities/TrackersPeriodicStatistics.kt3
-rw-r--r--app/src/main/java/foundation/e/privacycentralapp/domain/usecases/TrackersStatisticsUseCase.kt22
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()