diff --git a/commons/AndroidManifest.xml b/commons/AndroidManifest.xml
index 5d2892c2f..0935193a5 100644
--- a/commons/AndroidManifest.xml
+++ b/commons/AndroidManifest.xml
@@ -20,6 +20,12 @@
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
+
+
universal-image-loader
1.7.1
+
+ ch.acra
+ acra
+ 4.4.0
+
diff --git a/commons/res/values/error.xml b/commons/res/values/error.xml
new file mode 100644
index 000000000..4fcd181df
--- /dev/null
+++ b/commons/res/values/error.xml
@@ -0,0 +1,7 @@
+
+
+ Commons has crashed
+ Shortage of Chicken 65 and hats has caused the app to crash!
+ Tell us what you were doing, then share it via email to us. Will help us fix it!
+ Thank you!
+
\ No newline at end of file
diff --git a/commons/src/main/java/org/wikimedia/commons/CommonsApplication.java b/commons/src/main/java/org/wikimedia/commons/CommonsApplication.java
index e6a3b7ed4..5e625dc70 100644
--- a/commons/src/main/java/org/wikimedia/commons/CommonsApplication.java
+++ b/commons/src/main/java/org/wikimedia/commons/CommonsApplication.java
@@ -16,6 +16,9 @@ import android.os.Build;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
import com.nostra13.universalimageloader.core.download.ImageDownloader;
+import org.acra.ACRA;
+import org.acra.ReportingInteractionMode;
+import org.acra.annotation.ReportsCrashes;
import org.mediawiki.api.*;
import org.w3c.dom.Node;
import org.wikimedia.commons.auth.WikiAccountAuthenticator;
@@ -25,6 +28,15 @@ import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.params.CoreProtocolPNames;
import org.wikimedia.commons.data.DBOpenHelper;
+// TODO: Use ProGuard to rip out reporting when publishing
+@ReportsCrashes(formKey = "",
+ mailTo = "yuvipanda@wikimedia.org",
+ mode = ReportingInteractionMode.DIALOG,
+ resDialogText = R.string.crash_dialog_text,
+ resDialogTitle = R.string.crash_dialog_title,
+ resDialogCommentPrompt = R.string.crash_dialog_comment_prompt,
+ resDialogOkToast = R.string.crash_dialog_ok_toast
+)
public class CommonsApplication extends Application {
private DBOpenHelper dbOpenHelper;
@@ -63,7 +75,7 @@ public class CommonsApplication extends Application {
@Override
public void onCreate() {
- // TODO Auto-generated method stub
+ ACRA.init(this);
super.onCreate();
// Fire progress callbacks for every 3% of uploaded content
System.setProperty("in.yuvi.http.fluent.PROGRESS_TRIGGER_THRESHOLD", "3.0");