aboutsummaryrefslogtreecommitdiff
path: root/WordPress/src/main/java/org/wordpress/android/util/CrashlyticsUtils.java
diff options
context:
space:
mode:
Diffstat (limited to 'WordPress/src/main/java/org/wordpress/android/util/CrashlyticsUtils.java')
-rw-r--r--WordPress/src/main/java/org/wordpress/android/util/CrashlyticsUtils.java65
1 files changed, 65 insertions, 0 deletions
diff --git a/WordPress/src/main/java/org/wordpress/android/util/CrashlyticsUtils.java b/WordPress/src/main/java/org/wordpress/android/util/CrashlyticsUtils.java
new file mode 100644
index 000000000..34dc1f0fa
--- /dev/null
+++ b/WordPress/src/main/java/org/wordpress/android/util/CrashlyticsUtils.java
@@ -0,0 +1,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);
+ }
+}