Skip to content

Commit

Permalink
Merge pull request #2251 from quran/build_without_firebase
Browse files Browse the repository at this point in the history
  • Loading branch information
ahmedre authored Apr 15, 2023
2 parents 85d3003 + 4a1afda commit 8312fd0
Show file tree
Hide file tree
Showing 6 changed files with 32 additions and 4 deletions.
1 change: 0 additions & 1 deletion app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,6 @@ dependencies {
implementation "dev.chrisbanes.insetter:insetter:0.6.1"
implementation 'com.jakewharton.timber:timber:5.0.1'
debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.10'
implementation 'com.google.firebase:firebase-crashlytics:18.3.6'

testImplementation "junit:junit:${junitVersion}"
testImplementation "com.google.truth:truth:${truthVersion}"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
package com.quran.labs.androidquran.util

import android.util.Log
import com.google.firebase.crashlytics.FirebaseCrashlytics
import com.quran.analytics.provider.SystemCrashReporter
import timber.log.Timber
import java.lang.StringBuilder
import java.util.ArrayDeque
import java.util.Deque

Expand All @@ -30,7 +29,7 @@ class RecordingLogTree : Timber.Tree() {
}
}

private val crashlytics = FirebaseCrashlytics.getInstance()
private val crashlytics = SystemCrashReporter.crashReporter()

// Adding one to the initial size accounts for the add before remove.
private val buffer: Deque<String> = ArrayDeque(BUFFER_SIZE + 1)
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
package com.quran.analytics

interface CrashReporter {
fun log(message: String)
fun recordException(throwable: Throwable)
}
Original file line number Diff line number Diff line change
@@ -1,11 +1,14 @@
package com.quran.analytics.provider

import com.quran.analytics.AnalyticsProvider
import com.quran.analytics.CrashReporter
import dagger.Binds
import dagger.Module

@Module
interface AnalyticsModule {
@Binds
fun provideCrashReporter(noopCrashReporter: NoopCrashReporter): CrashReporter

@Binds
fun provideAnalyticsProvider(noopAnalyticsProvider: NoopAnalyticsProvider): AnalyticsProvider
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package com.quran.analytics.provider

import com.quran.analytics.CrashReporter
import javax.inject.Inject

class NoopCrashReporter @Inject constructor() : CrashReporter {
override fun log(message: String) {
}

override fun recordException(throwable: Throwable) {
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package com.quran.analytics.provider

import com.quran.analytics.CrashReporter

object SystemCrashReporter {
private val noopCrashReporter by lazy { NoopCrashReporter() }

fun crashReporter(): CrashReporter = noopCrashReporter
}

0 comments on commit 8312fd0

Please sign in to comment.