diff --git a/app/build.gradle b/app/build.gradle index 20a4b4a..97fbcaf 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -5,7 +5,6 @@ apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' apply plugin: 'kotlin-kapt' apply plugin: 'com.google.gms.google-services' -apply plugin: 'com.google.firebase.crashlytics' //apply plugin: 'com.github.ben-manes.versions' archivesBaseName = 'zcash-android-wallet' @@ -143,10 +142,6 @@ dependencies { implementation Deps.Grpc.STUB implementation Deps.JavaX.JAVA_ANNOTATION - // Analytics (for dogfooding/crash-reporting/feedback only on internal team builds) - implementation Deps.Analytics.CRASHLYTICS - implementation Deps.Analytics.MIXPANEL - // Misc. implementation Deps.Misc.LOTTIE implementation Deps.Misc.CHIPS diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 099b1b7..c75839c 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -33,17 +33,6 @@ - - - - - - - - - - - diff --git a/app/src/main/java/cash/z/ecc/android/di/module/AppModule.kt b/app/src/main/java/cash/z/ecc/android/di/module/AppModule.kt index 948eabd..986cbb7 100644 --- a/app/src/main/java/cash/z/ecc/android/di/module/AppModule.kt +++ b/app/src/main/java/cash/z/ecc/android/di/module/AppModule.kt @@ -9,7 +9,6 @@ import cash.z.ecc.android.feedback.* import cash.z.ecc.android.sdk.ext.SilentTwig import cash.z.ecc.android.sdk.ext.TroubleshootingTwig import cash.z.ecc.android.sdk.ext.Twig -import com.google.firebase.crashlytics.FirebaseCrashlytics import dagger.Module import dagger.Provides import dagger.multibindings.IntoSet @@ -48,9 +47,8 @@ class AppModule { preferences: SharedPreferences, defaultObservers: Set<@JvmSuppressWildcards FeedbackCoordinator.FeedbackObserver> ): FeedbackCoordinator { - return preferences.getBoolean(FeedbackCoordinator.ENABLED, false).let { isEnabled -> + return preferences.getBoolean(FeedbackCoordinator.ENABLED, true).let { isEnabled -> // observe nothing unless feedback is enabled - FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(isEnabled) Twig.plant(if (isEnabled) TroubleshootingTwig() else SilentTwig()) FeedbackCoordinator(feedback, if (isEnabled) defaultObservers else setOf()) } @@ -70,14 +68,4 @@ class AppModule { @Singleton @IntoSet fun provideFeedbackConsole(): FeedbackCoordinator.FeedbackObserver = FeedbackConsole() - - @Provides - @Singleton - @IntoSet - fun provideFeedbackMixpanel(): FeedbackCoordinator.FeedbackObserver = FeedbackMixpanel() - - @Provides - @Singleton - @IntoSet - fun provideFeedbackCrashlytics(): FeedbackCoordinator.FeedbackObserver = FeedbackCrashlytics() } diff --git a/app/src/main/java/cash/z/ecc/android/feedback/FeedbackCrashlytics.kt b/app/src/main/java/cash/z/ecc/android/feedback/FeedbackCrashlytics.kt deleted file mode 100644 index ba146fb..0000000 --- a/app/src/main/java/cash/z/ecc/android/feedback/FeedbackCrashlytics.kt +++ /dev/null @@ -1,26 +0,0 @@ -package cash.z.ecc.android.feedback - -import com.google.firebase.crashlytics.FirebaseCrashlytics - -class FeedbackCrashlytics : FeedbackCoordinator.FeedbackObserver { - /** - * Report non-fatal crashes because fatal ones already get reported by default. - */ - override fun onAction(action: Feedback.Action) { - var exception: Throwable? = null - exception = when (action) { - is Feedback.Crash -> action.exception - is Feedback.NonFatal -> action.exception - is Report.Error.NonFatal.Reorg -> ReorgException( - action.errorHeight, - action.rewindHeight, - action.toString() - ) - else -> null - } - exception?.let { FirebaseCrashlytics.getInstance().recordException(it) } - } - - private class ReorgException(errorHeight: Int, rewindHeight: Int, reorgMesssage: String) : - Throwable(reorgMesssage) -} \ No newline at end of file diff --git a/app/src/main/java/cash/z/ecc/android/feedback/FeedbackMixpanel.kt b/app/src/main/java/cash/z/ecc/android/feedback/FeedbackMixpanel.kt deleted file mode 100644 index 5247aa6..0000000 --- a/app/src/main/java/cash/z/ecc/android/feedback/FeedbackMixpanel.kt +++ /dev/null @@ -1,29 +0,0 @@ -package cash.z.ecc.android.feedback - -import cash.z.ecc.android.R -import cash.z.ecc.android.ZcashWalletApp -import cash.z.ecc.android.ext.toAppString -import com.mixpanel.android.mpmetrics.MixpanelAPI - -class FeedbackMixpanel : FeedbackCoordinator.FeedbackObserver { - - private val mixpanel = - MixpanelAPI.getInstance(ZcashWalletApp.instance, R.string.mixpanel_project.toAppString()) - - override fun onMetric(metric: Feedback.Metric) { - track(metric.key, metric.toMap()) - } - - override fun onAction(action: Feedback.Action) { - track(action.key, action.toMap()) - } - - override fun flush() { - mixpanel.flush() - } - - private fun track(eventName: String, properties: Map) { - mixpanel.trackMap(eventName, properties) - } - -} \ No newline at end of file diff --git a/app/src/main/java/cash/z/ecc/android/ui/MainActivity.kt b/app/src/main/java/cash/z/ecc/android/ui/MainActivity.kt index d58dbca..31a0aca 100644 --- a/app/src/main/java/cash/z/ecc/android/ui/MainActivity.kt +++ b/app/src/main/java/cash/z/ecc/android/ui/MainActivity.kt @@ -397,7 +397,7 @@ class MainActivity : AppCompatActivity() { } } } - twig("MainActivity has received an error${if (notified) " and notified the user" else ""} and reported it to crashlytics and mixpanel.") + twig("MainActivity has received an error${if (notified) " and notified the user" else ""} and logged it.") feedback.report(error) return true } diff --git a/app/src/main/java/cash/z/ecc/android/ui/scan/ScanFragment.kt b/app/src/main/java/cash/z/ecc/android/ui/scan/ScanFragment.kt index 07f152f..b5b129a 100644 --- a/app/src/main/java/cash/z/ecc/android/ui/scan/ScanFragment.kt +++ b/app/src/main/java/cash/z/ecc/android/ui/scan/ScanFragment.kt @@ -22,7 +22,6 @@ import cash.z.ecc.android.sdk.ext.twig import cash.z.ecc.android.ui.base.BaseFragment import cash.z.ecc.android.ui.send.SendViewModel import com.google.common.util.concurrent.ListenableFuture -import com.google.firebase.crashlytics.FirebaseCrashlytics import kotlinx.coroutines.launch import java.util.concurrent.ExecutorService import java.util.concurrent.Executors diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index d0493aa..583d742 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -2,9 +2,6 @@ ECC Wallet Your Shielded Address - - a178e1ef062133fc121079cb12fa43c7 - Enter a shielded Zcash address Enter an amount to send diff --git a/build.gradle b/build.gradle index 86d5621..c7f8622 100644 --- a/build.gradle +++ b/build.gradle @@ -13,7 +13,6 @@ buildscript { classpath 'com.google.gms:google-services:4.3.3' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:${Deps.kotlinVersion}" classpath 'io.fabric.tools:gradle:1.31.2' - classpath 'com.google.firebase:firebase-crashlytics-gradle:2.1.1' } } diff --git a/buildSrc/src/main/java/cash/z/ecc/android/Dependencies.kt b/buildSrc/src/main/java/cash/z/ecc/android/Dependencies.kt index 2554f1e..d67e0f2 100644 --- a/buildSrc/src/main/java/cash/z/ecc/android/Dependencies.kt +++ b/buildSrc/src/main/java/cash/z/ecc/android/Dependencies.kt @@ -60,10 +60,6 @@ object Deps { val PROTOBUG = "io.grpc:grpc-protobuf-lite:$version" val STUB = "io.grpc:grpc-stub:$version" } - object Analytics { // for dogfooding/crash-reporting/feedback only on internal team builds - val CRASHLYTICS = "com.google.firebase:firebase-crashlytics:17.0.1" - val MIXPANEL = "com.mixpanel.android:mixpanel-android:5.6.3" - } object JavaX { const val INJECT = "javax.inject:javax.inject:1" const val JAVA_ANNOTATION = "javax.annotation:javax.annotation-api:1.3.2" diff --git a/settings.gradle b/settings.gradle index 85c0088..458214c 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,2 +1,2 @@ -rootProject.name='Zcash Wallet' +rootProject.name='Zircle' include ':app', ':qrecycler', ':feedback', ':mnemonic', ':lockbox' \ No newline at end of file