From 062a408c0ea78f34d1efdba816c4be73aad93b7a Mon Sep 17 00:00:00 2001 From: Aidan Follestad Date: Thu, 14 Mar 2019 12:56:54 -0700 Subject: [PATCH] Switch to Firebase Crashlytics --- .gitignore | 4 +- app/build.gradle | 18 +++----- .../afollestad/mnmlscreenrecord/MnmlApp.kt | 22 +++++----- build.gradle | 1 + dependencies.gradle | 2 + fabric.gradle | 29 ------------- mock/mock-google-services.json | 42 +++++++++++++++++++ mock/mock.gradle | 13 ++++++ 8 files changed, 77 insertions(+), 54 deletions(-) delete mode 100644 fabric.gradle create mode 100644 mock/mock-google-services.json create mode 100644 mock/mock.gradle diff --git a/.gitignore b/.gitignore index 161128f..454e51a 100644 --- a/.gitignore +++ b/.gitignore @@ -180,4 +180,6 @@ gradle-app.setting .gradletasknamecache # # Work around https://youtrack.jetbrains.com/issue/IDEA-116898 -# gradle/wrapper/gradle-wrapper.properties \ No newline at end of file +# gradle/wrapper/gradle-wrapper.properties + +app/google-services.json \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index 29241ee..8f0b7c6 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -4,8 +4,6 @@ apply plugin: 'kotlin-android' apply plugin: 'kotlin-kapt' apply plugin: 'kotlin-android-extensions' -apply from: '../fabric.gradle' - android { compileSdkVersion versions.compileSdk buildToolsVersion versions.buildTools @@ -17,15 +15,6 @@ android { versionCode versions.publishVersionCode versionName versions.publishVersion } - - buildTypes { - debug { - buildConfigField "String", "FABRIC_API_KEY", "\"\"" - } - release { - buildConfigField "String", "FABRIC_API_KEY", "\"${getFabricApiKey()}\"" - } - } } dependencies { @@ -40,6 +29,7 @@ dependencies { implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:' + versions.coroutines // Google/AndroidX + implementation 'com.google.firebase:firebase-core:' + versions.firebaseCore implementation 'androidx.preference:preference:' + versions.androidxPrefs implementation 'androidx.lifecycle:lifecycle-extensions:' + versions.lifecycle kapt 'androidx.lifecycle:lifecycle-compiler:' + versions.lifecycle @@ -72,4 +62,8 @@ dependencies { testImplementation project(':testutil') } -apply from: '../spotless.gradle' \ No newline at end of file +apply from: '../spotless.gradle' +apply from: '../mock/mock.gradle' + +apply plugin: "io.fabric" +apply plugin: 'com.google.gms.google-services' diff --git a/app/src/main/java/com/afollestad/mnmlscreenrecord/MnmlApp.kt b/app/src/main/java/com/afollestad/mnmlscreenrecord/MnmlApp.kt index 7194a96..b13964c 100644 --- a/app/src/main/java/com/afollestad/mnmlscreenrecord/MnmlApp.kt +++ b/app/src/main/java/com/afollestad/mnmlscreenrecord/MnmlApp.kt @@ -44,22 +44,20 @@ class MnmlApp : Application() { Timber.plant(DebugTree()) } - if (BuildConfig.FABRIC_API_KEY.isNotEmpty()) { - Timber.plant(FabricTree()) - Fabric.with(this, Crashlytics()) - } + Timber.plant(FabricTree()) + Fabric.with(this, Crashlytics()) val modules = listOf( - commonModule, - notificationsModule, - prefModule, - engineModule, - mainModule, - viewModelModule + commonModule, + notificationsModule, + prefModule, + engineModule, + mainModule, + viewModelModule ) startKoin( - androidContext = this, - modules = modules + androidContext = this, + modules = modules ) val notifications by inject() diff --git a/build.gradle b/build.gradle index 13f832c..6e27bb9 100644 --- a/build.gradle +++ b/build.gradle @@ -14,6 +14,7 @@ buildscript { classpath 'com.diffplug.spotless:spotless-plugin-gradle:' + versions.spotlessPlugin classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:' + versions.kotlin classpath 'com.github.ben-manes:gradle-versions-plugin:' + versions.versionPlugin + classpath 'com.google.gms:google-services:' + versions.googleServices classpath 'io.fabric.tools:gradle:' + versions.fabricPlugin } } diff --git a/dependencies.gradle b/dependencies.gradle index 5a378de..d3ab84b 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -10,6 +10,7 @@ ext.versions = [ gradlePlugin : '3.3.2', spotlessPlugin : '3.19.0', versionPlugin : '0.21.0', + googleServices : '4.2.0', fabricPlugin : '1.+', // Kotlin @@ -25,6 +26,7 @@ ext.versions = [ androidxBrowser : '1.0.0', // Other Google + firebaseCore : '16.0.7', lifecycle : '2.0.0', // Glide diff --git a/fabric.gradle b/fabric.gradle deleted file mode 100644 index 315dff2..0000000 --- a/fabric.gradle +++ /dev/null @@ -1,29 +0,0 @@ -apply plugin: 'io.fabric' - -ext.getFabricApiKey = { - return System.getenv('FABRIC_APIKEY') ?: "xxxe76c4xxxx97e8cxxxx0135e9d46f5a2xxx" -} - -ext.getFabricApiSecret = { - return System.getenv('FABRIC_APISECRET') ?: "xx68f6074dxxxxxc11dxxx97c172e8ebf0" -} - -def buildFabricProperties() { - def propertiesFile = file("fabric.properties") - def apiSecret = getFabricApiSecret() - def apiKey = getFabricApiKey() - - if (propertiesFile.exists()) { - propertiesFile.delete() - } - - def commentMessage = "suppress inspection \"UnusedProperty\" for whole file" - ant.propertyfile(file: "fabric.properties", comment: commentMessage) { - entry(key: "apiSecret", value: apiSecret) - entry(key: "apiKey", value: apiKey) - } -} - -afterEvaluate { - buildFabricProperties() -} \ No newline at end of file diff --git a/mock/mock-google-services.json b/mock/mock-google-services.json new file mode 100644 index 0000000..30d4cb4 --- /dev/null +++ b/mock/mock-google-services.json @@ -0,0 +1,42 @@ +{ + "project_info": { + "project_number": "123456789000", + "firebase_url": "https://mockproject-1234.firebaseio.com", + "project_id": "mockproject-1234", + "storage_bucket": "mockproject-1234.appspot.com" + }, + "client": [ + { + "client_info": { + "mobilesdk_app_id": "1:123456789000:android:f1bf012572b04063", + "android_client_info": { + "package_name": "com.afollestad.mnmlscreenrecord" + } + }, + "oauth_client": [ + { + "client_id": "123456789000-hjugbg6ud799v4c49dim8ce2usclthar.apps.googleusercontent.com", + "client_type": 3 + } + ], + "api_key": [ + { + "current_key": "AIzbSzCn1N6LWIe6wthYyrgUUSAlUsdqMb-wvTo" + } + ], + "services": { + "analytics_service": { + "status": 1 + }, + "appinvite_service": { + "status": 1, + "other_platform_oauth_client": [] + }, + "ads_service": { + "status": 2 + } + } + } + ], + "configuration_version": "1" +} diff --git a/mock/mock.gradle b/mock/mock.gradle new file mode 100644 index 0000000..2fa58ef --- /dev/null +++ b/mock/mock.gradle @@ -0,0 +1,13 @@ +// This script must be applied in app/build.gradle for the paths here to work correctly + +def copyMockFilesNeeded() { + def srcGoogleServicesFile = file("../mock/mock-google-services.json") + def destGoogleServicesFile = file("google-services.json") + if (!destGoogleServicesFile.exists()) { + destGoogleServicesFile.write(srcGoogleServicesFile.text) + } +} + +afterEvaluate { + copyMockFilesNeeded() +} \ No newline at end of file