From 19e52b76b8370e78b9d67e4110d04463d1cd2ad6 Mon Sep 17 00:00:00 2001 From: Christian Skubich Date: Sun, 1 Jun 2014 13:57:17 +0200 Subject: [PATCH] Added crash reports and user feedback via email. This is done by the usage of the library ACRA. Crash reports will now be send to a php script that will send the report via email to me. I also added a dialog for sending feedback (about wrong exercises). --- app/.classpath | 1 + app/AndroidManifest.xml | 9 +- app/libs/acra-4.5.0.jar | Bin 0 -> 126013 bytes .../layout/dialog_send_exercise_feedback.xml | 51 +++++++ app/res/menu/exercise_detail_menu.xml | 6 + app/res/values-de/strings_send_feedback.xml | 16 +++ app/res/values/strings_send_feedback.xml | 16 +++ .../activity/acra/ACRACrashReportMailer.java | 129 ++++++++++++++++++ .../activity/acra/ACRAFeedbackMailer.java | 102 ++++++++++++++ .../acra/OpenTrainingApplication.java | 52 +++++++ .../activity/acra/RequestExerciseUpdate.java | 67 +++++++++ .../ExerciseTypeDetailFragment.java | 18 +++ .../SendExerciseFeedbackDialog.java | 102 ++++++++++++++ build.gradle | 1 + 14 files changed, 568 insertions(+), 2 deletions(-) create mode 100644 app/libs/acra-4.5.0.jar create mode 100644 app/res/layout/dialog_send_exercise_feedback.xml create mode 100644 app/res/values-de/strings_send_feedback.xml create mode 100644 app/res/values/strings_send_feedback.xml create mode 100644 app/src/de/skubware/opentraining/activity/acra/ACRACrashReportMailer.java create mode 100644 app/src/de/skubware/opentraining/activity/acra/ACRAFeedbackMailer.java create mode 100644 app/src/de/skubware/opentraining/activity/acra/OpenTrainingApplication.java create mode 100644 app/src/de/skubware/opentraining/activity/acra/RequestExerciseUpdate.java create mode 100644 app/src/de/skubware/opentraining/activity/create_workout/SendExerciseFeedbackDialog.java diff --git a/app/.classpath b/app/.classpath index 7bc01d9..040d63d 100644 --- a/app/.classpath +++ b/app/.classpath @@ -5,5 +5,6 @@ + diff --git a/app/AndroidManifest.xml b/app/AndroidManifest.xml index 6b32b9d..47a193b 100644 --- a/app/AndroidManifest.xml +++ b/app/AndroidManifest.xml @@ -18,7 +18,7 @@ android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:largeHeap="true" - android:theme="@style/Theme.AppCompat.Light.DarkActionBar" > + android:theme="@style/Theme.AppCompat.Light.DarkActionBar" android:name="de.skubware.opentraining.activity.acra.OpenTrainingApplication"> @@ -94,7 +94,12 @@ android:label="@string/create_exercise_activity_title" android:icon="@drawable/icon_dumbbell" > - + + diff --git a/app/libs/acra-4.5.0.jar b/app/libs/acra-4.5.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..81d8cd0c0690159a58b1d1bf94247d4df34b2798 GIT binary patch literal 126013 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%0D`LvnLr2U7Ww#uMe~>7u2!(<4-Q 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≪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 Zd1)~yU^xd2Ob7VK1bBKL0ja^j{ttY7bcO%` literal 0 HcmV?d00001 diff --git a/app/res/layout/dialog_send_exercise_feedback.xml b/app/res/layout/dialog_send_exercise_feedback.xml new file mode 100644 index 0000000..57fc3e7 --- /dev/null +++ b/app/res/layout/dialog_send_exercise_feedback.xml @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/res/menu/exercise_detail_menu.xml b/app/res/menu/exercise_detail_menu.xml index a3f825f..c89daf2 100644 --- a/app/res/menu/exercise_detail_menu.xml +++ b/app/res/menu/exercise_detail_menu.xml @@ -22,4 +22,10 @@ android:visible="false" android:title="@string/delete_exercise" yourapp:showAsAction="never"/> + + \ No newline at end of file diff --git a/app/res/values-de/strings_send_feedback.xml b/app/res/values-de/strings_send_feedback.xml new file mode 100644 index 0000000..943be2d --- /dev/null +++ b/app/res/values-de/strings_send_feedback.xml @@ -0,0 +1,16 @@ + + + + Fehler melden + + + + Feedback zu: %1$s + + + Ein unerwarteter Fehler brachte die Anwendung leider zum Absturz. Bitte hilf bei der Fehlerbehebung indem du uns die Fehlerdaten mit \'OK\' zusendest. + Du kannst zusätzlich noch einen Kommentar zu dem Fehler hinzufügen: + Der Fehlerbericht wurde gesendet. Vielen Dank für die Mithilfe. + + + \ No newline at end of file diff --git a/app/res/values/strings_send_feedback.xml b/app/res/values/strings_send_feedback.xml new file mode 100644 index 0000000..2859cd2 --- /dev/null +++ b/app/res/values/strings_send_feedback.xml @@ -0,0 +1,16 @@ + + + + Report error + + + + Feedback for: %1$s + + + An unexpected error occurred forcing the application to stop. Please help by sending us error date by clicking \'OK\'. + You might add your comments abouth the problem below: + Report has been sent. Thank you for helping. + + + \ No newline at end of file diff --git a/app/src/de/skubware/opentraining/activity/acra/ACRACrashReportMailer.java b/app/src/de/skubware/opentraining/activity/acra/ACRACrashReportMailer.java new file mode 100644 index 0000000..718fd56 --- /dev/null +++ b/app/src/de/skubware/opentraining/activity/acra/ACRACrashReportMailer.java @@ -0,0 +1,129 @@ +package de.skubware.opentraining.activity.acra; + +import java.math.BigInteger; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +import java.util.ArrayList; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.UUID; + +import org.acra.collector.CrashReportData; +import org.acra.ReportField; +import org.acra.sender.ReportSender; +import org.acra.sender.ReportSenderException; +import org.apache.http.NameValuePair; +import org.apache.http.client.entity.UrlEncodedFormEntity; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.impl.client.DefaultHttpClient; +import org.apache.http.message.BasicNameValuePair; +import org.apache.http.protocol.HTTP; + +import android.util.Log; + +/** + * Based on acra-mailer(https://github.com/d-a-n/acra-mailer) of d-a-n. + */ +public class ACRACrashReportMailer implements ReportSender { + private final static String BASE_URL = "http://skubware.de/opentraining/acra_crash.php"; + private final static String SHARED_SECRET = "my_on_github_with_everyone_shared_secret"; + private Map custom_data = null; + + public ACRACrashReportMailer() { + } + + public ACRACrashReportMailer(HashMap custom_data) { + this.custom_data = custom_data; + } + + @Override + public void send(CrashReportData report) throws ReportSenderException { + + String url = getUrl(); + Log.e("xenim", url); + + try { + DefaultHttpClient httpClient = new DefaultHttpClient(); + HttpPost httpPost = new HttpPost(url); + + List parameters = new ArrayList(); + + if (custom_data != null) { + for (Map.Entry entry : custom_data.entrySet()) { + parameters.add(new BasicNameValuePair(entry.getKey(), entry.getValue())); + } + } + parameters.add(new BasicNameValuePair("DATE", new Date().toString())); + parameters.add(new BasicNameValuePair("REPORT_ID", report.get(ReportField.REPORT_ID))); + parameters.add(new BasicNameValuePair("APP_VERSION_CODE", report.get(ReportField.APP_VERSION_CODE))); + parameters.add(new BasicNameValuePair("APP_VERSION_NAME", report.get(ReportField.APP_VERSION_NAME))); + parameters.add(new BasicNameValuePair("PACKAGE_NAME", report.get(ReportField.PACKAGE_NAME))); + parameters.add(new BasicNameValuePair("FILE_PATH", report.get(ReportField.FILE_PATH))); + parameters.add(new BasicNameValuePair("PHONE_MODEL", report.get(ReportField.PHONE_MODEL))); + parameters.add(new BasicNameValuePair("ANDROID_VERSION", report.get(ReportField.ANDROID_VERSION))); + parameters.add(new BasicNameValuePair("BUILD", report.get(ReportField.BUILD))); + parameters.add(new BasicNameValuePair("BRAND", report.get(ReportField.BRAND))); + parameters.add(new BasicNameValuePair("PRODUCT", report.get(ReportField.PRODUCT))); + parameters.add(new BasicNameValuePair("TOTAL_MEM_SIZE", report.get(ReportField.TOTAL_MEM_SIZE))); + parameters.add(new BasicNameValuePair("AVAILABLE_MEM_SIZE", report.get(ReportField.AVAILABLE_MEM_SIZE))); + parameters.add(new BasicNameValuePair("CUSTOM_DATA", report.get(ReportField.CUSTOM_DATA))); + parameters.add(new BasicNameValuePair("STACK_TRACE", report.get(ReportField.STACK_TRACE))); + parameters.add(new BasicNameValuePair("INITIAL_CONFIGURATION", report.get(ReportField.INITIAL_CONFIGURATION))); + parameters.add(new BasicNameValuePair("CRASH_CONFIGURATION", report.get(ReportField.CRASH_CONFIGURATION))); + parameters.add(new BasicNameValuePair("DISPLAY", report.get(ReportField.DISPLAY))); + parameters.add(new BasicNameValuePair("USER_COMMENT", report.get(ReportField.USER_COMMENT))); + parameters.add(new BasicNameValuePair("USER_APP_START_DATE", report.get(ReportField.USER_APP_START_DATE))); + parameters.add(new BasicNameValuePair("USER_CRASH_DATE", report.get(ReportField.USER_CRASH_DATE))); + parameters.add(new BasicNameValuePair("DUMPSYS_MEMINFO", report.get(ReportField.DUMPSYS_MEMINFO))); + parameters.add(new BasicNameValuePair("DROPBOX", report.get(ReportField.DROPBOX))); + parameters.add(new BasicNameValuePair("LOGCAT", report.get(ReportField.LOGCAT))); + parameters.add(new BasicNameValuePair("EVENTSLOG", report.get(ReportField.EVENTSLOG))); + parameters.add(new BasicNameValuePair("RADIOLOG", report.get(ReportField.RADIOLOG))); + parameters.add(new BasicNameValuePair("IS_SILENT", report.get(ReportField.IS_SILENT))); + parameters.add(new BasicNameValuePair("DEVICE_ID", report.get(ReportField.DEVICE_ID))); + parameters.add(new BasicNameValuePair("INSTALLATION_ID", report.get(ReportField.INSTALLATION_ID))); + parameters.add(new BasicNameValuePair("USER_EMAIL", report.get(ReportField.USER_EMAIL))); + parameters.add(new BasicNameValuePair("DEVICE_FEATURES", report.get(ReportField.DEVICE_FEATURES))); + parameters.add(new BasicNameValuePair("ENVIRONMENT", report.get(ReportField.ENVIRONMENT))); + parameters.add(new BasicNameValuePair("SETTINGS_SYSTEM", report.get(ReportField.SETTINGS_SYSTEM))); + parameters.add(new BasicNameValuePair("SETTINGS_SECURE", report.get(ReportField.SETTINGS_SECURE))); + parameters.add(new BasicNameValuePair("SHARED_PREFERENCES", report.get(ReportField.SHARED_PREFERENCES))); + parameters.add(new BasicNameValuePair("APPLICATION_LOG", report.get(ReportField.APPLICATION_LOG))); + parameters.add(new BasicNameValuePair("MEDIA_CODEC_LIST", report.get(ReportField.MEDIA_CODEC_LIST))); + parameters.add(new BasicNameValuePair("THREAD_DETAILS", report.get(ReportField.THREAD_DETAILS))); + + httpPost.setEntity(new UrlEncodedFormEntity(parameters, HTTP.UTF_8)); + httpClient.execute(httpPost); + } catch (Exception e) { + e.printStackTrace(); + } + } + + private String getUrl() { + String token = getToken(); + String key = getKey(token); + return String.format("%s?token=%s&key=%s&", BASE_URL, token, key); + } + + private String getKey(String token) { + return md5(String.format("%s+%s", SHARED_SECRET, token)); + } + + private String getToken() { + return md5(UUID.randomUUID().toString()); + } + + public static String md5(String s) { + MessageDigest m = null; + try { + m = MessageDigest.getInstance("MD5"); + } catch (NoSuchAlgorithmException e) { + e.printStackTrace(); + } + m.update(s.getBytes(), 0, s.length()); + String hash = new BigInteger(1, m.digest()).toString(16); + return hash; + } +} diff --git a/app/src/de/skubware/opentraining/activity/acra/ACRAFeedbackMailer.java b/app/src/de/skubware/opentraining/activity/acra/ACRAFeedbackMailer.java new file mode 100644 index 0000000..ab31f13 --- /dev/null +++ b/app/src/de/skubware/opentraining/activity/acra/ACRAFeedbackMailer.java @@ -0,0 +1,102 @@ +package de.skubware.opentraining.activity.acra; + +import java.math.BigInteger; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +import java.util.ArrayList; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.UUID; + +import org.acra.collector.CrashReportData; +import org.acra.ACRA; +import org.acra.ReportField; +import org.acra.sender.ReportSender; +import org.acra.sender.ReportSenderException; +import org.apache.http.NameValuePair; +import org.apache.http.client.entity.UrlEncodedFormEntity; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.impl.client.DefaultHttpClient; +import org.apache.http.message.BasicNameValuePair; +import org.apache.http.protocol.HTTP; + +import android.util.Log; + +/** + * Based on acra-mailer(https://github.com/d-a-n/acra-mailer) of d-a-n. + */ +public class ACRAFeedbackMailer implements ReportSender { + private final static String BASE_URL = "http://skubware.de/opentraining/acra_feedback.php"; + private final static String SHARED_SECRET = "my_on_github_with_everyone_shared_secret"; + private Map custom_data = null; + + public ACRAFeedbackMailer() { + } + + public ACRAFeedbackMailer(HashMap custom_data) { + this.custom_data = custom_data; + } + + @Override + public void send(CrashReportData report) throws ReportSenderException { + + String url = getUrl(); + Log.e("xenim", url); + + try { + DefaultHttpClient httpClient = new DefaultHttpClient(); + HttpPost httpPost = new HttpPost(url); + + List parameters = new ArrayList(); + + if (custom_data != null) { + for (Map.Entry entry : custom_data.entrySet()) { + parameters.add(new BasicNameValuePair(entry.getKey(), entry.getValue())); + } + } + parameters.add(new BasicNameValuePair("DATE", new Date().toString())); + parameters.add(new BasicNameValuePair("APP_VERSION_NAME", report.get(ReportField.APP_VERSION_NAME))); + parameters.add(new BasicNameValuePair("CUSTOM_DATA", report.get(ReportField.CUSTOM_DATA))); + + httpPost.setEntity(new UrlEncodedFormEntity(parameters, HTTP.UTF_8)); + httpClient.execute(httpPost); + + + // set the crash report sender again after sending the feedback + ACRA.getErrorReporter().removeAllReportSenders(); + ACRA.getErrorReporter().setReportSender(new ACRACrashReportMailer()); + + + } catch (Exception e) { + e.printStackTrace(); + } + } + + private String getUrl() { + String token = getToken(); + String key = getKey(token); + return String.format("%s?token=%s&key=%s&", BASE_URL, token, key); + } + + private String getKey(String token) { + return md5(String.format("%s+%s", SHARED_SECRET, token)); + } + + private String getToken() { + return md5(UUID.randomUUID().toString()); + } + + public static String md5(String s) { + MessageDigest m = null; + try { + m = MessageDigest.getInstance("MD5"); + } catch (NoSuchAlgorithmException e) { + e.printStackTrace(); + } + m.update(s.getBytes(), 0, s.length()); + String hash = new BigInteger(1, m.digest()).toString(16); + return hash; + } +} diff --git a/app/src/de/skubware/opentraining/activity/acra/OpenTrainingApplication.java b/app/src/de/skubware/opentraining/activity/acra/OpenTrainingApplication.java new file mode 100644 index 0000000..7574f50 --- /dev/null +++ b/app/src/de/skubware/opentraining/activity/acra/OpenTrainingApplication.java @@ -0,0 +1,52 @@ +/** + * + * This is OpenTraining, an Android application for planning your your fitness training. + * Copyright (C) 2012-2014 Christian Skubich + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +package de.skubware.opentraining.activity.acra; + + +import org.acra.*; +import org.acra.annotation.*; + +import android.app.Application; +import de.skubware.opentraining.R; + +@ReportsCrashes( + formKey = "", // This is required for backward compatibility but not used + mode = ReportingInteractionMode.DIALOG, + resDialogText = R.string.crash_dialog_text, + resDialogCommentPrompt = R.string.crash_dialog_comment_prompt, // optional. when defined, adds a user text field input with this text resource as a label + resDialogOkToast = R.string.crash_dialog_ok_toast // optional. displays a Toast message when the user accepts to send a report. + + ) + + +public class OpenTrainingApplication extends Application{ + + @Override + public void onCreate() { + super.onCreate(); + + // The following line triggers the initialization of ACRA + ACRA.init(this); + ACRA.getErrorReporter().setReportSender(new ACRACrashReportMailer()); // default crash report sender + } + + +} diff --git a/app/src/de/skubware/opentraining/activity/acra/RequestExerciseUpdate.java b/app/src/de/skubware/opentraining/activity/acra/RequestExerciseUpdate.java new file mode 100644 index 0000000..5966841 --- /dev/null +++ b/app/src/de/skubware/opentraining/activity/acra/RequestExerciseUpdate.java @@ -0,0 +1,67 @@ +/** + * + * This is OpenTraining, an Android application for planning your your fitness training. + * Copyright (C) 2012-2014 Christian Skubich + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +package de.skubware.opentraining.activity.acra; + +import org.acra.ACRA; + +import de.skubware.opentraining.basic.ExerciseType; + +/** + * + * This class adds an easy way to get user feedback. + * + * The user can simply enter a short feedback text and + * a call of 'ACRA.getErrorReporter().handleException(new RequestExerciseUpdate(...));' + * will send the report to the developer. + * + */ +public class RequestExerciseUpdate extends Exception{ + + private static final long serialVersionUID = -4382910029697955724L; + + + public enum ExerciseUpdateReason{ + MISC("Miscellaneous"), + WRONG_INFORMATION("Wrong information"), + WRONG_IMAGE("Wrong image"), + EXERCISE_DUPLICATE("Exercise duplicate"); + + private String mLongName; + + ExerciseUpdateReason(String longName){ + mLongName = longName; + } + + @Override + public String toString(){ + return mLongName; + } + } + + + public RequestExerciseUpdate(ExerciseType ex, ExerciseUpdateReason reason, String userMsg){ + ACRA.getErrorReporter().putCustomData("Exercise ", ex.getUnlocalizedName()); + ACRA.getErrorReporter().putCustomData("Reason ", reason.toString()); + ACRA.getErrorReporter().putCustomData("User message ", userMsg); + + } + +} diff --git a/app/src/de/skubware/opentraining/activity/create_workout/ExerciseTypeDetailFragment.java b/app/src/de/skubware/opentraining/activity/create_workout/ExerciseTypeDetailFragment.java index bc84a0a..450c6b2 100644 --- a/app/src/de/skubware/opentraining/activity/create_workout/ExerciseTypeDetailFragment.java +++ b/app/src/de/skubware/opentraining/activity/create_workout/ExerciseTypeDetailFragment.java @@ -283,6 +283,24 @@ public boolean onMenuItemClick(MenuItem item) { } + // configure menu_item_send_exercise_feedback + MenuItem menu_item_delete_exercise = (MenuItem) menu.findItem(R.id.menu_item_send_exercise_feedback); + menu_item_delete_exercise.setVisible(true); + menu_item_delete_exercise.setOnMenuItemClickListener(new OnMenuItemClickListener(){ + @Override + public boolean onMenuItemClick(MenuItem item) { + + SendExerciseFeedbackDialog dialog = new SendExerciseFeedbackDialog(getActivity(), mExercise); + dialog.show(); + + return false; + } + }); + + + + + } diff --git a/app/src/de/skubware/opentraining/activity/create_workout/SendExerciseFeedbackDialog.java b/app/src/de/skubware/opentraining/activity/create_workout/SendExerciseFeedbackDialog.java new file mode 100644 index 0000000..8340f8f --- /dev/null +++ b/app/src/de/skubware/opentraining/activity/create_workout/SendExerciseFeedbackDialog.java @@ -0,0 +1,102 @@ +/** + * + * This is OpenTraining, an Android application for planning your your fitness training. + * Copyright (C) 2012-2014 Christian Skubich + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +package de.skubware.opentraining.activity.create_workout; + +import java.util.HashMap; + +import org.acra.ACRA; + +import android.app.AlertDialog; +import android.content.Context; +import android.content.DialogInterface; +import android.view.LayoutInflater; +import android.view.View; +import android.widget.ArrayAdapter; +import android.widget.EditText; +import android.widget.Spinner; +import de.skubware.opentraining.R; +import de.skubware.opentraining.activity.acra.ACRAFeedbackMailer; +import de.skubware.opentraining.activity.acra.RequestExerciseUpdate; +import de.skubware.opentraining.activity.acra.RequestExerciseUpdate.ExerciseUpdateReason; +import de.skubware.opentraining.basic.ExerciseType; + +public class SendExerciseFeedbackDialog extends AlertDialog { + + private final String TAG = "SendExerciseFeedbackDialog"; + + /** Reference to current context */ + private Context mContext; + + private ExerciseType mExercise; + + public SendExerciseFeedbackDialog(Context context, ExerciseType exercise) { + super(context); + mContext = context; + mExercise = exercise; + + // CheckBox + LayoutInflater inflater = this.getLayoutInflater(); + + final View v = inflater.inflate(R.layout.dialog_send_exercise_feedback, null); + setView(v); + + // title + this.setTitle(mContext.getString(R.string.send_feedback_for_exercise, exercise.getLocalizedName())); + + // spinner + ArrayAdapter mSpinnerAdapter = new ArrayAdapter(mContext, android.R.layout.simple_spinner_dropdown_item, android.R.id.text1, ExerciseUpdateReason.values()); + + final Spinner reasonSpinner = (Spinner) v.findViewById(R.id.exercise_update_reason_spinner); + reasonSpinner.setAdapter(mSpinnerAdapter); + + // positive button + this.setButton(BUTTON_POSITIVE, mContext.getString(android.R.string.ok), new OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + + ExerciseUpdateReason reason = (ExerciseUpdateReason) reasonSpinner.getSelectedItem(); + EditText edittext_user_suggestion = (EditText) v.findViewById(R.id.edittext_user_suggestion); + String userMsg = edittext_user_suggestion.getEditableText().toString(); + + + // send feedback + HashMap ACRAData = new HashMap(); + ACRAData.put("Feedback source ", TAG); + ACRA.getErrorReporter().setReportSender(new ACRAFeedbackMailer(ACRAData)); + // silentException prevents that the dialog for crash reports pops up + ACRA.getErrorReporter().handleSilentException(new RequestExerciseUpdate(mExercise, reason, userMsg)); + + + dialog.dismiss(); + } + }); + + // positive button + this.setButton(BUTTON_NEGATIVE, mContext.getString(R.string.cancel), new OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + dialog.dismiss(); + } + }); + + } + +} diff --git a/build.gradle b/build.gradle index c687526..c31e02f 100644 --- a/build.gradle +++ b/build.gradle @@ -51,5 +51,6 @@ dependencies { compile 'com.android.support:support-v4:18.0.0' compile 'com.android.support:appcompat-v7:18.0.+' compile fileTree(dir: 'app/libs', include: '*.jar') + compile 'ch.acra:acra:4.5.0' instrumentTestCompile 'com.jayway.android.robotium:robotium-solo:4.2' }