Added ACRA error reporting (via Email)

This commit is contained in:
YuviPanda 2013-02-03 00:09:01 +05:30
parent 95c659afca
commit ad0377a20a
4 changed files with 31 additions and 1 deletions

View file

@ -20,6 +20,12 @@
android:icon="@drawable/ic_launcher" android:icon="@drawable/ic_launcher"
android:label="@string/app_name" android:label="@string/app_name"
android:theme="@style/AppTheme" > android:theme="@style/AppTheme" >
<activity android:name="org.acra.CrashReportDialog"
android:theme="@android:style/Theme.Dialog"
android:launchMode="singleInstance"
android:excludeFromRecents="true"
android:finishOnTaskLaunch="true" />
<activity <activity
android:name=".auth.LoginActivity" android:name=".auth.LoginActivity"
android:label="@string/title_activity_login" android:label="@string/title_activity_login"

View file

@ -40,6 +40,11 @@
<artifactId>universal-image-loader</artifactId> <artifactId>universal-image-loader</artifactId>
<version>1.7.1</version> <version>1.7.1</version>
</dependency> </dependency>
<dependency>
<groupId>ch.acra</groupId>
<artifactId>acra</artifactId>
<version>4.4.0</version>
</dependency>
</dependencies> </dependencies>
<build> <build>

View file

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="crash_dialog_title">Commons has crashed</string>
<string name="crash_dialog_text">Shortage of Chicken 65 and hats has caused the app to crash!</string>
<string name="crash_dialog_comment_prompt">Tell us what you were doing, then share it via email to us. Will help us fix it!</string>
<string name="crash_dialog_ok_toast">Thank you!</string>
</resources>

View file

@ -16,6 +16,9 @@ import android.os.Build;
import com.nostra13.universalimageloader.core.ImageLoader; import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration; import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
import com.nostra13.universalimageloader.core.download.ImageDownloader; 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.mediawiki.api.*;
import org.w3c.dom.Node; import org.w3c.dom.Node;
import org.wikimedia.commons.auth.WikiAccountAuthenticator; 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.apache.http.params.CoreProtocolPNames;
import org.wikimedia.commons.data.DBOpenHelper; 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 { public class CommonsApplication extends Application {
private DBOpenHelper dbOpenHelper; private DBOpenHelper dbOpenHelper;
@ -63,7 +75,7 @@ public class CommonsApplication extends Application {
@Override @Override
public void onCreate() { public void onCreate() {
// TODO Auto-generated method stub ACRA.init(this);
super.onCreate(); super.onCreate();
// Fire progress callbacks for every 3% of uploaded content // Fire progress callbacks for every 3% of uploaded content
System.setProperty("in.yuvi.http.fluent.PROGRESS_TRIGGER_THRESHOLD", "3.0"); System.setProperty("in.yuvi.http.fluent.PROGRESS_TRIGGER_THRESHOLD", "3.0");