1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
package org.wordpress.android.util;
import com.crashlytics.android.Crashlytics;
import io.fabric.sdk.android.Fabric;
public class CrashlyticsUtils {
final private static String EXCEPTION_KEY = "exception";
final private static String TAG_KEY = "tag";
final private static String MESSAGE_KEY = "message";
public enum ExceptionType {USUAL, SPECIFIC}
public enum ExtraKey {IMAGE_ANGLE, IMAGE_WIDTH, IMAGE_HEIGHT, IMAGE_RESIZE_SCALE, NOTE_HTMLDATA, ENTERED_URL}
public static void logException(Throwable tr, ExceptionType exceptionType, AppLog.T tag, String message) {
if (!Fabric.isInitialized()) {
return;
}
if (tag != null) {
Crashlytics.setString(TAG_KEY, tag.name());
}
if (message != null) {
Crashlytics.setString(MESSAGE_KEY, message);
}
Crashlytics.setString(EXCEPTION_KEY, exceptionType.name());
Crashlytics.logException(tr);
}
public static void logException(Throwable tr, ExceptionType exceptionType, AppLog.T tag) {
logException(tr, exceptionType, tag, null);
}
public static void logException(Throwable tr, ExceptionType exceptionType) {
logException(tr, exceptionType, null, null);
}
// Utility functions to force us to use and reuse a limited set of keys
public static void setInt(ExtraKey key, int value) {
if (!Fabric.isInitialized()) {
return;
}
Crashlytics.setInt(key.name(), value);
}
public static void setFloat(ExtraKey key, float value) {
if (!Fabric.isInitialized()) {
return;
}
Crashlytics.setFloat(key.name(), value);
}
public static void setString(ExtraKey key, String value) {
if (!Fabric.isInitialized()) {
return;
}
Crashlytics.setString(key.name(), value);
}
public static void setBool(ExtraKey key, boolean value) {
if (!Fabric.isInitialized()) {
return;
}
Crashlytics.setBool(key.name(), value);
}
}
|