Merge pull request #112 from TouchInstinct/feature/migration-fb-crashlytic
Migrate FB crashlytics
This commit is contained in:
commit
1ea7fe662b
20
build.gradle
20
build.gradle
|
|
@ -1,5 +1,4 @@
|
|||
buildscript {
|
||||
ext.kotlin_version = '1.3.50'
|
||||
repositories {
|
||||
google()
|
||||
jcenter()
|
||||
|
|
@ -24,22 +23,3 @@ allprojects {
|
|||
task clean(type: Delete) {
|
||||
delete rootProject.buildDir
|
||||
}
|
||||
|
||||
ext {
|
||||
versions = [
|
||||
compileSdk : 29,
|
||||
appcompat : '1.0.2',
|
||||
androidx : '1.0.0',
|
||||
material : '1.0.0',
|
||||
lifecycle : '2.0.0',
|
||||
dagger : '2.17',
|
||||
retrofit : '2.4.0',
|
||||
rxJava : '2.2.2',
|
||||
rxAndroid : '2.1.0',
|
||||
crashlytics : '2.9.5',
|
||||
location : '16.0.0',
|
||||
coreKtx : '1.0.1',
|
||||
yandex_mapkit: '3.4.0',
|
||||
google_maps : '16.1.0'
|
||||
]
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,8 +27,6 @@ dependencies {
|
|||
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
|
||||
|
||||
implementation "androidx.appcompat:appcompat:$versions.appcompat"
|
||||
|
||||
implementation("com.crashlytics.sdk.android:crashlytics:$versions.crashlytics@aar") {
|
||||
transitive = true
|
||||
}
|
||||
|
||||
implementation "com.google.firebase:firebase-crashlytics:$versions.firebaseCrashlytics"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ 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;
|
||||
|
||||
|
|
@ -34,7 +34,6 @@ import java.util.List;
|
|||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
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;
|
||||
|
|
@ -65,16 +64,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);
|
||||
}
|
||||
}
|
||||
|
|
@ -96,13 +92,17 @@ public abstract class TouchinApp extends Application {
|
|||
private static 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,
|
||||
|
|
@ -110,17 +110,17 @@ public abstract class TouchinApp extends Application {
|
|||
@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 == ApiModel.API_VALIDATION_LC_GROUP && 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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue