mirror of
https://github.com/etesync/android
synced 2025-07-04 13:52:40 +00:00
Crash reporting: change to the ACRA http reporter instead of email.
This solves all of the issues with ProtonMail and Tutanota, and is better anyway.
This commit is contained in:
parent
7103d7ff86
commit
f7e0e30b65
@ -148,9 +148,9 @@ dependencies {
|
|||||||
def etebaseVersion = '2.3.0'
|
def etebaseVersion = '2.3.0'
|
||||||
implementation "com.etebase:client:$etebaseVersion"
|
implementation "com.etebase:client:$etebaseVersion"
|
||||||
|
|
||||||
def acraVersion = '5.3.0'
|
def acraVersion = '5.7.0'
|
||||||
implementation "ch.acra:acra-mail:$acraVersion"
|
implementation "ch.acra:acra-http:$acraVersion"
|
||||||
implementation "ch.acra:acra-notification:$acraVersion"
|
implementation "ch.acra:acra-dialog:$acraVersion"
|
||||||
def supportVersion = '1.0.0'
|
def supportVersion = '1.0.0'
|
||||||
implementation "androidx.legacy:legacy-support-core-ui:$supportVersion"
|
implementation "androidx.legacy:legacy-support-core-ui:$supportVersion"
|
||||||
implementation "androidx.core:core:$supportVersion"
|
implementation "androidx.core:core:$supportVersion"
|
||||||
|
@ -3,11 +3,10 @@ package com.etesync.syncadapter;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
|
||||||
import org.acra.config.CoreConfigurationBuilder;
|
import org.acra.config.CoreConfigurationBuilder;
|
||||||
import org.acra.config.MailSenderConfigurationBuilder;
|
import org.acra.config.DialogConfigurationBuilder;
|
||||||
import org.acra.config.NotificationConfigurationBuilder;
|
import org.acra.config.HttpSenderConfigurationBuilder;
|
||||||
import org.acra.data.StringFormat;
|
import org.acra.data.StringFormat;
|
||||||
|
import org.acra.sender.HttpSender;
|
||||||
import static com.etesync.syncadapter.utils.EventEmailInvitationKt.emailSupportsAttachments;
|
|
||||||
|
|
||||||
public class AcraConfiguration {
|
public class AcraConfiguration {
|
||||||
public static CoreConfigurationBuilder getConfig(Context context) {
|
public static CoreConfigurationBuilder getConfig(Context context) {
|
||||||
@ -15,17 +14,14 @@ public class AcraConfiguration {
|
|||||||
.setBuildConfigClass(BuildConfig.class)
|
.setBuildConfigClass(BuildConfig.class)
|
||||||
.setLogcatArguments("-t", "500", "-v", "time")
|
.setLogcatArguments("-t", "500", "-v", "time")
|
||||||
.setReportFormat(StringFormat.JSON);
|
.setReportFormat(StringFormat.JSON);
|
||||||
builder.getPluginConfigurationBuilder(MailSenderConfigurationBuilder.class)
|
builder.getPluginConfigurationBuilder(HttpSenderConfigurationBuilder.class)
|
||||||
.setMailTo("reports@etesync.com")
|
.setUri(Constants.crashReportingUrl)
|
||||||
.setResSubject(R.string.crash_email_subject)
|
.setHttpMethod(HttpSender.Method.POST)
|
||||||
.setReportFileName("ACRA-report.stacktrace.json")
|
|
||||||
.setReportAsFile(emailSupportsAttachments(context))
|
|
||||||
.setEnabled(true);
|
.setEnabled(true);
|
||||||
builder.getPluginConfigurationBuilder(NotificationConfigurationBuilder.class)
|
builder.getPluginConfigurationBuilder(DialogConfigurationBuilder.class)
|
||||||
.setResTitle(R.string.crash_title)
|
.setResTitle(R.string.crash_title)
|
||||||
.setResText(R.string.crash_message)
|
.setResText(R.string.crash_message)
|
||||||
.setResChannelName(R.string.notification_channel_crash_reports)
|
.setResCommentPrompt(R.string.crash_email_body)
|
||||||
.setSendOnClick(true)
|
|
||||||
.setEnabled(true);
|
.setEnabled(true);
|
||||||
|
|
||||||
return builder;
|
return builder;
|
||||||
|
@ -35,6 +35,7 @@ public class Constants {
|
|||||||
public static final Uri faqUri = webUri.buildUpon().appendEncodedPath("faq/").build();
|
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 helpUri = webUri.buildUpon().appendEncodedPath("user-guide/android/").build();
|
||||||
public static final Uri forgotPassword = faqUri.buildUpon().fragment("forgot-password").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 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;
|
public static final String etebaseServiceUrl = (DEBUG_REMOTE_URL == null) ? "https://api.etebase.com/partner/etesync/" : DEBUG_REMOTE_URL;
|
||||||
|
@ -15,15 +15,6 @@ import java.io.IOException
|
|||||||
import java.text.SimpleDateFormat
|
import java.text.SimpleDateFormat
|
||||||
import java.util.*
|
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) {
|
class EventEmailInvitation constructor(val context: Context, val account: Account) {
|
||||||
fun createIntent(event: Event, icsContent: String): Intent? {
|
fun createIntent(event: Event, icsContent: String): Intent? {
|
||||||
val intent = Intent(Intent.ACTION_SEND)
|
val intent = Intent(Intent.ACTION_SEND)
|
||||||
|
@ -38,7 +38,6 @@
|
|||||||
<!-- Crash -->
|
<!-- Crash -->
|
||||||
<string name="crash_title">EteSync has crashed!</string>
|
<string name="crash_title">EteSync has crashed!</string>
|
||||||
<string name="crash_message">Please send stack trace to developers.</string>
|
<string name="crash_message">Please send stack trace to developers.</string>
|
||||||
<string name="crash_email_subject">EteSync Debug Info</string>
|
|
||||||
<string name="crash_email_body">If possible, please include any other relevant information such as what you did to trigger this error.</string>
|
<string name="crash_email_body">If possible, please include any other relevant information such as what you did to trigger this error.</string>
|
||||||
|
|
||||||
<!-- tourguide -->
|
<!-- tourguide -->
|
||||||
|
Loading…
Reference in New Issue
Block a user