mirror of
https://github.com/meshtastic/Meshtastic-Android.git
synced 2026-04-20 22:23:37 +00:00
refactor: migrate to Firebase KTX in the main modules (#836)
This commit is contained in:
parent
fa48888c3a
commit
01360dc557
8 changed files with 43 additions and 147 deletions
|
|
@ -1,42 +0,0 @@
|
|||
package com.geeksville.mesh.analytics
|
||||
|
||||
class DataPair(val name: String, valueIn: Any?) {
|
||||
val value = valueIn ?: "null"
|
||||
|
||||
/// An accumulating firebase event - only one allowed per event
|
||||
constructor(d: Double) : this("BOGUS", d)
|
||||
constructor(d: Int) : this("BOGUS", d)
|
||||
}
|
||||
|
||||
public interface AnalyticsProvider {
|
||||
|
||||
// Turn analytics logging on/off
|
||||
fun setEnabled(on: Boolean)
|
||||
|
||||
/**
|
||||
* Store an event
|
||||
*/
|
||||
fun track(event: String, vararg properties: DataPair)
|
||||
|
||||
/**
|
||||
* Only track this event if using a cheap provider (like google)
|
||||
*/
|
||||
fun trackLowValue(event: String, vararg properties: DataPair)
|
||||
|
||||
fun endSession()
|
||||
fun startSession()
|
||||
|
||||
/**
|
||||
* Set persistent ID info about this user, as a key value pair
|
||||
*/
|
||||
fun setUserInfo(vararg p: DataPair)
|
||||
|
||||
/**
|
||||
* Increment some sort of anyalytics counter
|
||||
*/
|
||||
fun increment(name: String, amount: Double = 1.0)
|
||||
|
||||
fun sendScreenView(name: String)
|
||||
fun endScreenView()
|
||||
|
||||
}
|
||||
|
|
@ -3,11 +3,19 @@ package com.geeksville.mesh.analytics
|
|||
import android.content.Context
|
||||
import com.geeksville.mesh.android.Logging
|
||||
|
||||
class DataPair(val name: String, valueIn: Any?) {
|
||||
val value = valueIn ?: "null"
|
||||
|
||||
/// An accumulating firebase event - only one allowed per event
|
||||
constructor(d: Double) : this("BOGUS", d)
|
||||
constructor(d: Int) : this("BOGUS", d)
|
||||
}
|
||||
|
||||
/**
|
||||
* Implement our analytics API using Firebase Analytics
|
||||
*/
|
||||
@Suppress("UNUSED_PARAMETER")
|
||||
class GoogleAnalytics(context: Context) : AnalyticsProvider, Logging {
|
||||
class NopAnalytics(context: Context) : AnalyticsProvider, Logging {
|
||||
|
||||
init {
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue