mirror of
https://github.com/wulkanowy/wulkanowy.git
synced 2025-02-21 19:44:45 +01:00
Improve firebase logging (#832)
This commit is contained in:
parent
3541ab81b8
commit
428b599be0
@ -5,8 +5,6 @@ package io.github.wulkanowy.utils
|
|||||||
import android.content.Context
|
import android.content.Context
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
|
|
||||||
fun initCrashlytics(context: Context, appInfo: AppInfo) {}
|
|
||||||
|
|
||||||
open class TimberTreeNoOp : Timber.Tree() {
|
open class TimberTreeNoOp : Timber.Tree() {
|
||||||
override fun log(priority: Int, tag: String?, message: String, t: Throwable?) {}
|
override fun log(priority: Int, tag: String?, message: String, t: Throwable?) {}
|
||||||
}
|
}
|
||||||
|
@ -1,13 +1,18 @@
|
|||||||
package io.github.wulkanowy.utils
|
package io.github.wulkanowy.utils
|
||||||
|
|
||||||
|
import android.app.Activity
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
import javax.inject.Singleton
|
import javax.inject.Singleton
|
||||||
|
|
||||||
@Singleton
|
@Singleton
|
||||||
|
@Suppress("UNUSED_PARAMETER")
|
||||||
class FirebaseAnalyticsHelper @Inject constructor() {
|
class FirebaseAnalyticsHelper @Inject constructor() {
|
||||||
|
|
||||||
@Suppress("UNUSED_PARAMETER")
|
|
||||||
fun logEvent(name: String, vararg params: Pair<String, Any?>) {
|
fun logEvent(name: String, vararg params: Pair<String, Any?>) {
|
||||||
// do nothing
|
// do nothing
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun setCurrentScreen(activity: Activity, name: String?) {
|
||||||
|
// do nothing
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -215,7 +215,12 @@ class AttendancePresenter @Inject constructor(
|
|||||||
showContent(it.isNotEmpty())
|
showContent(it.isNotEmpty())
|
||||||
showExcuseButton(it.any { item -> item.excusable })
|
showExcuseButton(it.any { item -> item.excusable })
|
||||||
}
|
}
|
||||||
analytics.logEvent("load_attendance", "items" to it.size, "force_refresh" to forceRefresh)
|
analytics.logEvent(
|
||||||
|
"load_data",
|
||||||
|
"type" to "attendance",
|
||||||
|
"items" to it.size,
|
||||||
|
"force_refresh" to forceRefresh
|
||||||
|
)
|
||||||
}) {
|
}) {
|
||||||
Timber.i("Loading attendance result: An exception occurred")
|
Timber.i("Loading attendance result: An exception occurred")
|
||||||
errorHandler.dispatch(it)
|
errorHandler.dispatch(it)
|
||||||
|
@ -99,7 +99,13 @@ class AttendanceSummaryPresenter @Inject constructor(
|
|||||||
showContent(it.isNotEmpty())
|
showContent(it.isNotEmpty())
|
||||||
updateDataSet(it)
|
updateDataSet(it)
|
||||||
}
|
}
|
||||||
analytics.logEvent("load_attendance_summary", "items" to it.size, "force_refresh" to forceRefresh, "item_id" to subjectId)
|
analytics.logEvent(
|
||||||
|
"load_data",
|
||||||
|
"type" to "attendance_summary",
|
||||||
|
"items" to it.size,
|
||||||
|
"force_refresh" to forceRefresh,
|
||||||
|
"item_id" to subjectId
|
||||||
|
)
|
||||||
}) {
|
}) {
|
||||||
Timber.i("Loading attendance summary result: An exception occurred")
|
Timber.i("Loading attendance summary result: An exception occurred")
|
||||||
errorHandler.dispatch(it)
|
errorHandler.dispatch(it)
|
||||||
|
@ -131,7 +131,12 @@ class ExamPresenter @Inject constructor(
|
|||||||
showErrorView(false)
|
showErrorView(false)
|
||||||
showContent(it.isNotEmpty())
|
showContent(it.isNotEmpty())
|
||||||
}
|
}
|
||||||
analytics.logEvent("load_exam", "items" to it.size, "force_refresh" to forceRefresh)
|
analytics.logEvent(
|
||||||
|
"load_data",
|
||||||
|
"type" to "exam",
|
||||||
|
"items" to it.size,
|
||||||
|
"force_refresh" to forceRefresh
|
||||||
|
)
|
||||||
}) {
|
}) {
|
||||||
Timber.i("Loading exam result: An exception occurred")
|
Timber.i("Loading exam result: An exception occurred")
|
||||||
errorHandler.dispatch(it)
|
errorHandler.dispatch(it)
|
||||||
|
@ -152,7 +152,12 @@ class GradeDetailsPresenter @Inject constructor(
|
|||||||
gradeColorTheme = preferencesRepository.gradeColorTheme
|
gradeColorTheme = preferencesRepository.gradeColorTheme
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
analytics.logEvent("load_grade_details", "items" to grades.size, "force_refresh" to forceRefresh)
|
analytics.logEvent(
|
||||||
|
"load_data",
|
||||||
|
"type" to "grade_details",
|
||||||
|
"items" to grades.size,
|
||||||
|
"force_refresh" to forceRefresh
|
||||||
|
)
|
||||||
}) {
|
}) {
|
||||||
Timber.i("Loading grade details result: An exception occurred")
|
Timber.i("Loading grade details result: An exception occurred")
|
||||||
errorHandler.dispatch(it)
|
errorHandler.dispatch(it)
|
||||||
|
@ -174,7 +174,12 @@ class GradeStatisticsPresenter @Inject constructor(
|
|||||||
updateData(it, preferencesRepository.gradeColorTheme, preferencesRepository.showAllSubjectsOnStatisticsList)
|
updateData(it, preferencesRepository.gradeColorTheme, preferencesRepository.showAllSubjectsOnStatisticsList)
|
||||||
showSubjects(!preferencesRepository.showAllSubjectsOnStatisticsList)
|
showSubjects(!preferencesRepository.showAllSubjectsOnStatisticsList)
|
||||||
}
|
}
|
||||||
analytics.logEvent("load_grade_statistics", "items" to it.size, "force_refresh" to forceRefresh)
|
analytics.logEvent(
|
||||||
|
"load_data",
|
||||||
|
"type" to "grade_statistics",
|
||||||
|
"items" to it.size,
|
||||||
|
"force_refresh" to forceRefresh
|
||||||
|
)
|
||||||
}) {
|
}) {
|
||||||
Timber.i("Loading grade stats result: An exception occurred")
|
Timber.i("Loading grade stats result: An exception occurred")
|
||||||
errorHandler.dispatch(it)
|
errorHandler.dispatch(it)
|
||||||
|
@ -49,7 +49,12 @@ class GradeSummaryPresenter @Inject constructor(
|
|||||||
showErrorView(false)
|
showErrorView(false)
|
||||||
updateData(it)
|
updateData(it)
|
||||||
}
|
}
|
||||||
analytics.logEvent("load_grade_summary", "items" to it.size, "force_refresh" to forceRefresh)
|
analytics.logEvent(
|
||||||
|
"load_data",
|
||||||
|
"type" to "grade_summary",
|
||||||
|
"items" to it.size,
|
||||||
|
"force_refresh" to forceRefresh
|
||||||
|
)
|
||||||
}) {
|
}) {
|
||||||
Timber.i("Loading grade summary result: An exception occurred")
|
Timber.i("Loading grade summary result: An exception occurred")
|
||||||
errorHandler.dispatch(it)
|
errorHandler.dispatch(it)
|
||||||
|
@ -124,7 +124,12 @@ class HomeworkPresenter @Inject constructor(
|
|||||||
showErrorView(false)
|
showErrorView(false)
|
||||||
showContent(it.isNotEmpty())
|
showContent(it.isNotEmpty())
|
||||||
}
|
}
|
||||||
analytics.logEvent("load_homework", "items" to it.size, "force_refresh" to forceRefresh)
|
analytics.logEvent(
|
||||||
|
"load_data",
|
||||||
|
"type" to "homework",
|
||||||
|
"items" to it.size,
|
||||||
|
"force_refresh" to forceRefresh
|
||||||
|
)
|
||||||
}) {
|
}) {
|
||||||
Timber.i("Loading homework result: An exception occurred")
|
Timber.i("Loading homework result: An exception occurred")
|
||||||
|
|
||||||
|
@ -54,7 +54,12 @@ class LuckyNumberPresenter @Inject constructor(
|
|||||||
showEmpty(false)
|
showEmpty(false)
|
||||||
showErrorView(false)
|
showErrorView(false)
|
||||||
}
|
}
|
||||||
analytics.logEvent("load_lucky_number", "lucky_number" to it.luckyNumber, "force_refresh" to forceRefresh)
|
analytics.logEvent(
|
||||||
|
"load_item",
|
||||||
|
"type" to "lucky_number",
|
||||||
|
"number" to it.luckyNumber,
|
||||||
|
"force_refresh" to forceRefresh
|
||||||
|
)
|
||||||
}, {
|
}, {
|
||||||
Timber.i("Loading lucky number result: An exception occurred")
|
Timber.i("Loading lucky number result: An exception occurred")
|
||||||
errorHandler.dispatch(it)
|
errorHandler.dispatch(it)
|
||||||
|
@ -31,6 +31,7 @@ import io.github.wulkanowy.ui.modules.message.MessageFragment
|
|||||||
import io.github.wulkanowy.ui.modules.more.MoreFragment
|
import io.github.wulkanowy.ui.modules.more.MoreFragment
|
||||||
import io.github.wulkanowy.ui.modules.note.NoteFragment
|
import io.github.wulkanowy.ui.modules.note.NoteFragment
|
||||||
import io.github.wulkanowy.ui.modules.timetable.TimetableFragment
|
import io.github.wulkanowy.ui.modules.timetable.TimetableFragment
|
||||||
|
import io.github.wulkanowy.utils.FirebaseAnalyticsHelper
|
||||||
import io.github.wulkanowy.utils.dpToPx
|
import io.github.wulkanowy.utils.dpToPx
|
||||||
import io.github.wulkanowy.utils.getThemeAttrColor
|
import io.github.wulkanowy.utils.getThemeAttrColor
|
||||||
import io.github.wulkanowy.utils.safelyPopFragments
|
import io.github.wulkanowy.utils.safelyPopFragments
|
||||||
@ -46,6 +47,9 @@ class MainActivity : BaseActivity<MainPresenter, ActivityMainBinding>(), MainVie
|
|||||||
@Inject
|
@Inject
|
||||||
lateinit var navController: FragNavController
|
lateinit var navController: FragNavController
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
lateinit var analytics: FirebaseAnalyticsHelper
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
lateinit var overlayProvider: Lazy<ElevationOverlayProvider>
|
lateinit var overlayProvider: Lazy<ElevationOverlayProvider>
|
||||||
|
|
||||||
@ -136,6 +140,10 @@ class MainActivity : BaseActivity<MainPresenter, ActivityMainBinding>(), MainVie
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun setCurrentScreen(name: String?) {
|
||||||
|
analytics.setCurrentScreen(this, name)
|
||||||
|
}
|
||||||
|
|
||||||
override fun onOptionsItemSelected(item: MenuItem?): Boolean {
|
override fun onOptionsItemSelected(item: MenuItem?): Boolean {
|
||||||
return if (item?.itemId == R.id.mainMenuAccount) presenter.onAccountManagerSelected()
|
return if (item?.itemId == R.id.mainMenuAccount) presenter.onAccountManagerSelected()
|
||||||
else false
|
else false
|
||||||
|
@ -37,8 +37,9 @@ class MainPresenter @Inject constructor(
|
|||||||
analytics.logEvent("app_open", "destination" to initMenu?.name)
|
analytics.logEvent("app_open", "destination" to initMenu?.name)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun onViewChange(section: MainView.Section?) {
|
fun onViewChange(section: MainView.Section?, name: String?) {
|
||||||
view?.apply {
|
view?.apply {
|
||||||
|
setCurrentScreen(name)
|
||||||
showActionBarElevation(section != GRADE && section != MESSAGE && section != SCHOOL)
|
showActionBarElevation(section != GRADE && section != MESSAGE && section != SCHOOL)
|
||||||
currentViewTitle?.let { setViewTitle(it) }
|
currentViewTitle?.let { setViewTitle(it) }
|
||||||
currentViewSubtitle?.let { setViewSubTitle(it.ifBlank { null }) }
|
currentViewSubtitle?.let { setViewSubTitle(it.ifBlank { null }) }
|
||||||
|
@ -24,6 +24,8 @@ interface MainView : BaseView {
|
|||||||
|
|
||||||
fun showAccountPicker()
|
fun showAccountPicker()
|
||||||
|
|
||||||
|
fun setCurrentScreen(name: String?)
|
||||||
|
|
||||||
fun showActionBarElevation(show: Boolean)
|
fun showActionBarElevation(show: Boolean)
|
||||||
|
|
||||||
fun notifyMenuViewReselected()
|
fun notifyMenuViewReselected()
|
||||||
|
@ -60,7 +60,11 @@ class MessagePreviewPresenter @Inject constructor(
|
|||||||
setMessageWithAttachment(message)
|
setMessageWithAttachment(message)
|
||||||
initOptions()
|
initOptions()
|
||||||
}
|
}
|
||||||
analytics.logEvent("load_message_preview", "length" to message.message.content.length)
|
analytics.logEvent(
|
||||||
|
"load_item",
|
||||||
|
"type" to "message_preview",
|
||||||
|
"length" to message.message.content.length
|
||||||
|
)
|
||||||
}) {
|
}) {
|
||||||
Timber.i("Loading message ${message.messageId} preview result: An exception occurred ")
|
Timber.i("Loading message ${message.messageId} preview result: An exception occurred ")
|
||||||
retryCallback = { onMessageLoadRetry(message) }
|
retryCallback = { onMessageLoadRetry(message) }
|
||||||
|
@ -97,7 +97,12 @@ class MessageTabPresenter @Inject constructor(
|
|||||||
Timber.i("Loading $folder message result: Success")
|
Timber.i("Loading $folder message result: Success")
|
||||||
messages = it
|
messages = it
|
||||||
onSearchQueryTextChange(lastSearchQuery)
|
onSearchQueryTextChange(lastSearchQuery)
|
||||||
analytics.logEvent("load_messages", "items" to it.size, "folder" to folder.name)
|
analytics.logEvent(
|
||||||
|
"load_data",
|
||||||
|
"type" to "messages",
|
||||||
|
"items" to it.size,
|
||||||
|
"folder" to folder.name
|
||||||
|
)
|
||||||
}) {
|
}) {
|
||||||
Timber.i("Loading $folder message result: An exception occurred")
|
Timber.i("Loading $folder message result: An exception occurred")
|
||||||
errorHandler.dispatch(it)
|
errorHandler.dispatch(it)
|
||||||
|
@ -70,7 +70,12 @@ class MobileDevicePresenter @Inject constructor(
|
|||||||
showEmpty(it.isEmpty())
|
showEmpty(it.isEmpty())
|
||||||
showErrorView(false)
|
showErrorView(false)
|
||||||
}
|
}
|
||||||
analytics.logEvent("load_devices", "items" to it.size, "force_refresh" to forceRefresh)
|
analytics.logEvent(
|
||||||
|
"load_data",
|
||||||
|
"type" to "devices",
|
||||||
|
"items" to it.size,
|
||||||
|
"force_refresh" to forceRefresh
|
||||||
|
)
|
||||||
}) {
|
}) {
|
||||||
Timber.i("Loading mobile devices result: An exception occurred")
|
Timber.i("Loading mobile devices result: An exception occurred")
|
||||||
errorHandler.dispatch(it)
|
errorHandler.dispatch(it)
|
||||||
|
@ -69,7 +69,12 @@ class NotePresenter @Inject constructor(
|
|||||||
showErrorView(false)
|
showErrorView(false)
|
||||||
showContent(it.isNotEmpty())
|
showContent(it.isNotEmpty())
|
||||||
}
|
}
|
||||||
analytics.logEvent("load_note", "items" to it.size, "force_refresh" to forceRefresh)
|
analytics.logEvent(
|
||||||
|
"load_data",
|
||||||
|
"type" to "note",
|
||||||
|
"items" to it.size,
|
||||||
|
"force_refresh" to forceRefresh
|
||||||
|
)
|
||||||
}, {
|
}, {
|
||||||
Timber.i("Loading note result: An exception occurred")
|
Timber.i("Loading note result: An exception occurred")
|
||||||
errorHandler.dispatch(it)
|
errorHandler.dispatch(it)
|
||||||
|
@ -88,7 +88,11 @@ class SchoolPresenter @Inject constructor(
|
|||||||
showEmpty(false)
|
showEmpty(false)
|
||||||
showErrorView(false)
|
showErrorView(false)
|
||||||
}
|
}
|
||||||
analytics.logEvent("load_school", "force_refresh" to forceRefresh)
|
analytics.logEvent(
|
||||||
|
"load_item",
|
||||||
|
"type" to "school",
|
||||||
|
"force_refresh" to forceRefresh
|
||||||
|
)
|
||||||
}, {
|
}, {
|
||||||
Timber.i("Loading school result: An exception occurred")
|
Timber.i("Loading school result: An exception occurred")
|
||||||
errorHandler.dispatch(it)
|
errorHandler.dispatch(it)
|
||||||
|
@ -75,7 +75,12 @@ class TeacherPresenter @Inject constructor(
|
|||||||
showEmpty(it.isEmpty())
|
showEmpty(it.isEmpty())
|
||||||
showErrorView(false)
|
showErrorView(false)
|
||||||
}
|
}
|
||||||
analytics.logEvent("load_teachers", "items" to it.size, "force_refresh" to forceRefresh)
|
analytics.logEvent(
|
||||||
|
"load_data",
|
||||||
|
"type" to "teachers",
|
||||||
|
"items" to it.size,
|
||||||
|
"force_refresh" to forceRefresh
|
||||||
|
)
|
||||||
}) {
|
}) {
|
||||||
Timber.i("Loading teachers result: An exception occurred")
|
Timber.i("Loading teachers result: An exception occurred")
|
||||||
errorHandler.dispatch(it)
|
errorHandler.dispatch(it)
|
||||||
|
@ -154,7 +154,12 @@ class TimetablePresenter @Inject constructor(
|
|||||||
showErrorView(false)
|
showErrorView(false)
|
||||||
showContent(it.isNotEmpty())
|
showContent(it.isNotEmpty())
|
||||||
}
|
}
|
||||||
analytics.logEvent("load_timetable", "items" to it.size, "force_refresh" to forceRefresh)
|
analytics.logEvent(
|
||||||
|
"load_data",
|
||||||
|
"type" to "timetable",
|
||||||
|
"items" to it.size,
|
||||||
|
"force_refresh" to forceRefresh
|
||||||
|
)
|
||||||
}) {
|
}) {
|
||||||
Timber.i("Loading timetable result: An exception occurred")
|
Timber.i("Loading timetable result: An exception occurred")
|
||||||
errorHandler.dispatch(it)
|
errorHandler.dispatch(it)
|
||||||
|
@ -134,7 +134,12 @@ class CompletedLessonsPresenter @Inject constructor(
|
|||||||
showErrorView(false)
|
showErrorView(false)
|
||||||
showContent(it.isNotEmpty())
|
showContent(it.isNotEmpty())
|
||||||
}
|
}
|
||||||
analytics.logEvent("load_completed_lessons", "items" to it.size, "force_refresh" to forceRefresh)
|
analytics.logEvent(
|
||||||
|
"load_data",
|
||||||
|
"type" to "completed_lessons",
|
||||||
|
"items" to it.size,
|
||||||
|
"force_refresh" to forceRefresh
|
||||||
|
)
|
||||||
}) {
|
}) {
|
||||||
Timber.i("Loading completed lessons result: An exception occurred")
|
Timber.i("Loading completed lessons result: An exception occurred")
|
||||||
completedLessonsErrorHandler.dispatch(it)
|
completedLessonsErrorHandler.dispatch(it)
|
||||||
|
@ -4,14 +4,14 @@ import androidx.fragment.app.Fragment
|
|||||||
import com.ncapdevi.fragnav.FragNavController
|
import com.ncapdevi.fragnav.FragNavController
|
||||||
import io.github.wulkanowy.ui.modules.main.MainView
|
import io.github.wulkanowy.ui.modules.main.MainView
|
||||||
|
|
||||||
inline fun FragNavController.setOnViewChangeListener(crossinline listener: (section: MainView.Section?) -> Unit) {
|
inline fun FragNavController.setOnViewChangeListener(crossinline listener: (section: MainView.Section?, name: String?) -> Unit) {
|
||||||
transactionListener = object : FragNavController.TransactionListener {
|
transactionListener = object : FragNavController.TransactionListener {
|
||||||
override fun onFragmentTransaction(fragment: Fragment?, transactionType: FragNavController.TransactionType) {
|
override fun onFragmentTransaction(fragment: Fragment?, transactionType: FragNavController.TransactionType) {
|
||||||
listener(fragment?.toSection())
|
listener(fragment?.toSection(), fragment?.let { it::class.java.simpleName })
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onTabTransaction(fragment: Fragment?, index: Int) {
|
override fun onTabTransaction(fragment: Fragment?, index: Int) {
|
||||||
listener(fragment?.toSection())
|
listener(fragment?.toSection(), fragment?.let { it::class.java.simpleName })
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -6,20 +6,14 @@ import fr.bipi.tressence.base.FormatterPriorityTree
|
|||||||
import fr.bipi.tressence.common.StackTraceRecorder
|
import fr.bipi.tressence.common.StackTraceRecorder
|
||||||
import io.github.wulkanowy.sdk.exception.FeatureDisabledException
|
import io.github.wulkanowy.sdk.exception.FeatureDisabledException
|
||||||
import io.github.wulkanowy.sdk.exception.FeatureNotAvailableException
|
import io.github.wulkanowy.sdk.exception.FeatureNotAvailableException
|
||||||
|
import java.io.InterruptedIOException
|
||||||
|
import java.net.SocketTimeoutException
|
||||||
import java.net.UnknownHostException
|
import java.net.UnknownHostException
|
||||||
|
|
||||||
class CrashlyticsTree : FormatterPriorityTree(Log.VERBOSE) {
|
class CrashlyticsTree : FormatterPriorityTree(Log.VERBOSE) {
|
||||||
|
|
||||||
private val crashlytics by lazy { FirebaseCrashlytics.getInstance() }
|
private val crashlytics by lazy { FirebaseCrashlytics.getInstance() }
|
||||||
|
|
||||||
override fun skipLog(priority: Int, tag: String?, message: String, t: Throwable?): Boolean {
|
|
||||||
if (t is FeatureDisabledException || t is FeatureNotAvailableException || t is UnknownHostException) {
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
|
|
||||||
return super.skipLog(priority, tag, message, t)
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun log(priority: Int, tag: String?, message: String, t: Throwable?) {
|
override fun log(priority: Int, tag: String?, message: String, t: Throwable?) {
|
||||||
if (skipLog(priority, tag, message, t)) return
|
if (skipLog(priority, tag, message, t)) return
|
||||||
|
|
||||||
@ -31,6 +25,14 @@ class CrashlyticsExceptionTree : FormatterPriorityTree(Log.ERROR) {
|
|||||||
|
|
||||||
private val crashlytics by lazy { FirebaseCrashlytics.getInstance() }
|
private val crashlytics by lazy { FirebaseCrashlytics.getInstance() }
|
||||||
|
|
||||||
|
override fun skipLog(priority: Int, tag: String?, message: String, t: Throwable?): Boolean {
|
||||||
|
if (t is FeatureDisabledException || t is FeatureNotAvailableException || t is UnknownHostException || t is SocketTimeoutException || t is InterruptedIOException) {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return super.skipLog(priority, tag, message, t)
|
||||||
|
}
|
||||||
|
|
||||||
override fun log(priority: Int, tag: String?, message: String, t: Throwable?) {
|
override fun log(priority: Int, tag: String?, message: String, t: Throwable?) {
|
||||||
if (skipLog(priority, tag, message, t)) return
|
if (skipLog(priority, tag, message, t)) return
|
||||||
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package io.github.wulkanowy.utils
|
package io.github.wulkanowy.utils
|
||||||
|
|
||||||
|
import android.app.Activity
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import com.google.firebase.analytics.FirebaseAnalytics
|
import com.google.firebase.analytics.FirebaseAnalytics
|
||||||
@ -24,4 +25,8 @@ class FirebaseAnalyticsHelper @Inject constructor(private val context: Context)
|
|||||||
analytics.logEvent(name, this)
|
analytics.logEvent(name, this)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun setCurrentScreen(activity: Activity, name: String?) {
|
||||||
|
analytics.setCurrentScreen(activity, name, null)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user