feat: Add local SQLite analytics tracking
- AnalyticsEvent: Data class for tracked events - AnalyticsDao: Room DAO with CRUD operations - AnalyticsDatabase: Room database singleton - AnalyticsManager: High-level API for logging events - Unit tests for AnalyticsEvent Event types: page_view, session_start, session_end, idle_reset, admin_access, config_sync, signage_rotate Supports JSON/CSV export for admin panel integration.
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
[versions]
|
||||
agp = "8.2.2"
|
||||
kotlin = "1.9.22"
|
||||
ksp = "1.9.22-1.0.17"
|
||||
coreKtx = "1.12.0"
|
||||
junit = "4.13.2"
|
||||
junitVersion = "1.1.5"
|
||||
@@ -11,6 +12,7 @@ activity = "1.8.2"
|
||||
constraintlayout = "2.1.4"
|
||||
webkit = "1.10.0"
|
||||
datastorePreferences = "1.0.0"
|
||||
room = "2.6.1"
|
||||
|
||||
[libraries]
|
||||
androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" }
|
||||
@@ -23,7 +25,11 @@ androidx-activity = { group = "androidx.activity", name = "activity", version.re
|
||||
androidx-constraintlayout = { group = "androidx.constraintlayout", name = "constraintlayout", version.ref = "constraintlayout" }
|
||||
androidx-webkit = { group = "androidx.webkit", name = "webkit", version.ref = "webkit" }
|
||||
androidx-datastore-preferences = { group = "androidx.datastore", name = "datastore-preferences", version.ref = "datastorePreferences" }
|
||||
androidx-room-runtime = { group = "androidx.room", name = "room-runtime", version.ref = "room" }
|
||||
androidx-room-ktx = { group = "androidx.room", name = "room-ktx", version.ref = "room" }
|
||||
androidx-room-compiler = { group = "androidx.room", name = "room-compiler", version.ref = "room" }
|
||||
|
||||
[plugins]
|
||||
android-application = { id = "com.android.application", version.ref = "agp" }
|
||||
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
|
||||
ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" }
|
||||
|
||||
Reference in New Issue
Block a user