diff --git a/logging/build.gradle b/logging/build.gradle index 1cc7977..57d4392 100644 --- a/logging/build.gradle +++ b/logging/build.gradle @@ -3,7 +3,7 @@ apply from: "../android-configs/lib-config.gradle" dependencies { implementation "androidx.annotation:annotation" - implementation "com.crashlytics.sdk.android:crashlytics" + implementation "com.google.firebase:firebase-crashlytics" constraints { implementation("androidx.annotation:annotation") { @@ -12,9 +12,9 @@ dependencies { } } - implementation("com.crashlytics.sdk.android:crashlytics") { + implementation("com.google.firebase:firebase-crashlytics") { version { - require '2.10.0' + require '17.1.0' } } } diff --git a/logging/src/main/java/ru/touchin/roboswag/core/utils/CrashlyticsLogProcessor.java b/logging/src/main/java/ru/touchin/roboswag/core/utils/CrashlyticsLogProcessor.java index 1234660..5dd9970 100644 --- a/logging/src/main/java/ru/touchin/roboswag/core/utils/CrashlyticsLogProcessor.java +++ b/logging/src/main/java/ru/touchin/roboswag/core/utils/CrashlyticsLogProcessor.java @@ -2,7 +2,7 @@ package ru.touchin.roboswag.core.utils; import android.util.Log; -import com.crashlytics.android.Crashlytics; +import com.google.firebase.crashlytics.FirebaseCrashlytics; import java.util.ArrayList; import java.util.List; @@ -17,13 +17,17 @@ import ru.touchin.roboswag.core.log.LogProcessor; public class CrashlyticsLogProcessor extends LogProcessor { @NonNull - private final Crashlytics crashlytics; + private final FirebaseCrashlytics crashlytics; - public CrashlyticsLogProcessor(@NonNull final Crashlytics crashlytics) { + public CrashlyticsLogProcessor(@NonNull final FirebaseCrashlytics crashlytics) { super(LcLevel.INFO); this.crashlytics = crashlytics; } + private String getLogMessage(final int priorityLevel, final String tag, final String message) { + return "Priority:" + priorityLevel + ' ' + tag + ':' + message; + } + @Override public void processLogMessage(@NonNull final LcGroup group, @NonNull final LcLevel level, @@ -31,17 +35,17 @@ public class CrashlyticsLogProcessor extends LogProcessor { @NonNull final String message, @Nullable final Throwable throwable) { if (group == LcGroup.UI_LIFECYCLE) { - crashlytics.core.log(level.getPriority(), tag, message); + crashlytics.log(getLogMessage(level.getPriority(), tag, message)); } else if (!level.lessThan(LcLevel.ASSERT) || (group == LcGroup.API_VALIDATION && level == LcLevel.ERROR)) { Log.e(tag, message); if (throwable != null) { - crashlytics.core.log(level.getPriority(), tag, message); - crashlytics.core.logException(throwable); + crashlytics.log(getLogMessage(level.getPriority(), tag, message)); + crashlytics.recordException(throwable); } else { final ShouldNotHappenException exceptionToLog = new ShouldNotHappenException(tag + ':' + message); reduceStackTrace(exceptionToLog); - crashlytics.core.logException(exceptionToLog); + crashlytics.recordException(exceptionToLog); } } } diff --git a/navigation-base/build.gradle b/navigation-base/build.gradle index 0b97055..2b9ae58 100644 --- a/navigation-base/build.gradle +++ b/navigation-base/build.gradle @@ -10,8 +10,6 @@ dependencies { implementation project(":utils") implementation project(":logging") - implementation 'androidx.multidex:multidex' - implementation "com.google.dagger:dagger" implementation 'net.danlew:android.joda' @@ -26,16 +24,9 @@ dependencies { implementation "androidx.lifecycle:lifecycle-common-java8" implementation "androidx.lifecycle:lifecycle-livedata-ktx" - implementation("com.crashlytics.sdk.android:crashlytics") { - transitive = true - } + implementation "com.google.firebase:firebase-crashlytics" constraints { - implementation("androidx.multidex:multidex") { - version { - require '2.0.0' - } - } implementation("com.google.dagger:dagger") { version { @@ -67,9 +58,9 @@ dependencies { } } - implementation("com.crashlytics.sdk.android:crashlytics") { + implementation("com.google.firebase:firebase-crashlytics") { version { - require '2.10.0' + require '17.1.0' } } diff --git a/navigation-base/src/main/java/ru/touchin/roboswag/navigation_base/TouchinApp.java b/navigation-base/src/main/java/ru/touchin/roboswag/navigation_base/TouchinApp.java index ca05782..60cabfd 100644 --- a/navigation-base/src/main/java/ru/touchin/roboswag/navigation_base/TouchinApp.java +++ b/navigation-base/src/main/java/ru/touchin/roboswag/navigation_base/TouchinApp.java @@ -20,17 +20,12 @@ package ru.touchin.roboswag.navigation_base; import android.app.Application; -import android.content.Context; import android.os.StrictMode; -import android.util.Log; -import com.crashlytics.android.Crashlytics; +import com.google.firebase.crashlytics.FirebaseCrashlytics; import net.danlew.android.joda.JodaTimeAndroid; -import androidx.annotation.NonNull; -import androidx.multidex.MultiDex; -import io.fabric.sdk.android.Fabric; import ru.touchin.roboswag.core.log.ConsoleLogProcessor; import ru.touchin.roboswag.core.log.Lc; import ru.touchin.roboswag.core.log.LcGroup; @@ -43,12 +38,6 @@ import ru.touchin.roboswag.core.utils.CrashlyticsLogProcessor; */ public abstract class TouchinApp extends Application { - @Override - protected void attachBaseContext(@NonNull final Context base) { - super.attachBaseContext(base); - MultiDex.install(base); - } - @Override public void onCreate() { super.onCreate(); @@ -59,16 +48,13 @@ public abstract class TouchinApp extends Application { LcGroup.UI_LIFECYCLE.disable(); } else { try { - final Crashlytics crashlytics = new Crashlytics(); - Fabric.with(this, crashlytics); - Fabric.getLogger().setLogLevel(Log.ERROR); + final FirebaseCrashlytics crashlytics = FirebaseCrashlytics.getInstance(); + crashlytics.setCrashlyticsCollectionEnabled(true); Lc.initialize(new CrashlyticsLogProcessor(crashlytics), false); } catch (final NoClassDefFoundError error) { Lc.initialize(new ConsoleLogProcessor(LcLevel.INFO), false); Lc.e("Crashlytics initialization error! Did you forget to add\n" - + "compile('com.crashlytics.sdk.android:crashlytics:+@aar') {\n" - + " transitive = true;\n" - + "}\n" + + "com.google.firebase:firebase-crashlytics\n" + "to your build.gradle?", error); } }