diff --git a/app/build.gradle b/app/build.gradle
index 49266989..2b99ca17 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -148,9 +148,9 @@ dependencies {
def etebaseVersion = '2.3.0'
implementation "com.etebase:client:$etebaseVersion"
- def acraVersion = '5.3.0'
- implementation "ch.acra:acra-mail:$acraVersion"
- implementation "ch.acra:acra-notification:$acraVersion"
+ def acraVersion = '5.7.0'
+ implementation "ch.acra:acra-http:$acraVersion"
+ implementation "ch.acra:acra-dialog:$acraVersion"
def supportVersion = '1.0.0'
implementation "androidx.legacy:legacy-support-core-ui:$supportVersion"
implementation "androidx.core:core:$supportVersion"
diff --git a/app/src/main/java/com/etesync/syncadapter/AcraConfiguration.java b/app/src/main/java/com/etesync/syncadapter/AcraConfiguration.java
index 3d60b48b..e347fd5e 100644
--- a/app/src/main/java/com/etesync/syncadapter/AcraConfiguration.java
+++ b/app/src/main/java/com/etesync/syncadapter/AcraConfiguration.java
@@ -3,11 +3,10 @@ package com.etesync.syncadapter;
import android.content.Context;
import org.acra.config.CoreConfigurationBuilder;
-import org.acra.config.MailSenderConfigurationBuilder;
-import org.acra.config.NotificationConfigurationBuilder;
+import org.acra.config.DialogConfigurationBuilder;
+import org.acra.config.HttpSenderConfigurationBuilder;
import org.acra.data.StringFormat;
-
-import static com.etesync.syncadapter.utils.EventEmailInvitationKt.emailSupportsAttachments;
+import org.acra.sender.HttpSender;
public class AcraConfiguration {
public static CoreConfigurationBuilder getConfig(Context context) {
@@ -15,17 +14,14 @@ public class AcraConfiguration {
.setBuildConfigClass(BuildConfig.class)
.setLogcatArguments("-t", "500", "-v", "time")
.setReportFormat(StringFormat.JSON);
- builder.getPluginConfigurationBuilder(MailSenderConfigurationBuilder.class)
- .setMailTo("reports@etesync.com")
- .setResSubject(R.string.crash_email_subject)
- .setReportFileName("ACRA-report.stacktrace.json")
- .setReportAsFile(emailSupportsAttachments(context))
+ builder.getPluginConfigurationBuilder(HttpSenderConfigurationBuilder.class)
+ .setUri(Constants.crashReportingUrl)
+ .setHttpMethod(HttpSender.Method.POST)
.setEnabled(true);
- builder.getPluginConfigurationBuilder(NotificationConfigurationBuilder.class)
+ builder.getPluginConfigurationBuilder(DialogConfigurationBuilder.class)
.setResTitle(R.string.crash_title)
.setResText(R.string.crash_message)
- .setResChannelName(R.string.notification_channel_crash_reports)
- .setSendOnClick(true)
+ .setResCommentPrompt(R.string.crash_email_body)
.setEnabled(true);
return builder;
diff --git a/app/src/main/java/com/etesync/syncadapter/Constants.java b/app/src/main/java/com/etesync/syncadapter/Constants.java
index d83541a0..fe078b58 100644
--- a/app/src/main/java/com/etesync/syncadapter/Constants.java
+++ b/app/src/main/java/com/etesync/syncadapter/Constants.java
@@ -35,6 +35,7 @@ public class Constants {
public static final Uri faqUri = webUri.buildUpon().appendEncodedPath("faq/").build();
public static final Uri helpUri = webUri.buildUpon().appendEncodedPath("user-guide/android/").build();
public static final Uri forgotPassword = faqUri.buildUpon().fragment("forgot-password").build();
+ public static final String crashReportingUrl = "https://www.etesync.com/crash/android-syncadapter/report/";
public static final Uri serviceUrl = Uri.parse((DEBUG_REMOTE_URL == null) ? "https://api.etesync.com/" : DEBUG_REMOTE_URL);
public static final String etebaseServiceUrl = (DEBUG_REMOTE_URL == null) ? "https://api.etebase.com/partner/etesync/" : DEBUG_REMOTE_URL;
diff --git a/app/src/main/java/com/etesync/syncadapter/utils/EventEmailInvitation.kt b/app/src/main/java/com/etesync/syncadapter/utils/EventEmailInvitation.kt
index 358f0a8c..ada9718d 100644
--- a/app/src/main/java/com/etesync/syncadapter/utils/EventEmailInvitation.kt
+++ b/app/src/main/java/com/etesync/syncadapter/utils/EventEmailInvitation.kt
@@ -15,15 +15,6 @@ import java.io.IOException
import java.text.SimpleDateFormat
import java.util.*
-fun emailSupportsAttachments(context: Context): Boolean {
- return !arrayOf(
- "ch.protonmail.android",
- "de.tutao.tutanota"
- ).any{
- packageInstalled(context, it)
- }
-}
-
class EventEmailInvitation constructor(val context: Context, val account: Account) {
fun createIntent(event: Event, icsContent: String): Intent? {
val intent = Intent(Intent.ACTION_SEND)
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 66c2f56e..25268495 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -38,7 +38,6 @@
EteSync has crashed!
Please send stack trace to developers.
- EteSync Debug Info
If possible, please include any other relevant information such as what you did to trigger this error.