Merge pull request #140 from TouchInstinct/firebase_crashlytics
Firebase crashlytics and remove multidex
This commit is contained in:
commit
b866e09668
|
|
@ -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'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
package ru.touchin.roboswag.mvi_arch.marker
|
||||
|
||||
interface StateChange {
|
||||
}
|
||||
interface StateChange
|
||||
|
|
|
|||
|
|
@ -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'
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,12 +19,13 @@
|
|||
|
||||
package ru.touchin.roboswag.core.utils;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.security.MessageDigest;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
/**
|
||||
* Created by Gavriil Sitnikov on 29/08/2016.
|
||||
* Utility class to providing some string-related helper methods.
|
||||
|
|
@ -40,7 +41,7 @@ public final class StringUtils {
|
|||
@NonNull
|
||||
public static String md5(@NonNull final String string) throws NoSuchAlgorithmException, UnsupportedEncodingException {
|
||||
final MessageDigest digest = MessageDigest.getInstance("MD5");
|
||||
digest.update(string.getBytes("UTF-8"));
|
||||
digest.update(string.getBytes(StandardCharsets.UTF_8));
|
||||
final byte[] messageDigestArray = digest.digest();
|
||||
|
||||
final StringBuilder hexString = new StringBuilder();
|
||||
|
|
|
|||
Loading…
Reference in New Issue