From 04d29fe5f237424e404ba050f2e81bc6152d56b7 Mon Sep 17 00:00:00 2001 From: Jason Obeid <45221711+JasonObeid@users.noreply.github.com> Date: Mon, 18 Mar 2019 19:50:44 -0400 Subject: [PATCH] Fix #2179: Update ACRA version and theme (#2219) --- app/build.gradle | 4 ++- app/src/main/AndroidManifest.xml | 4 +-- .../free/nrw/commons/CommonsApplication.java | 36 +++++++++++++------ .../free/nrw/commons/logging/LogsSender.java | 2 +- 4 files changed, 31 insertions(+), 15 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index ba8559de3..521b83804 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -42,7 +42,8 @@ dependencies { kapt "com.jakewharton:butterknife-compiler:$BUTTERKNIFE_VERSION" // Logging - implementation 'ch.acra:acra:4.9.2' + implementation 'ch.acra:acra-dialog:5.3.0' + implementation 'ch.acra:acra-mail:5.3.0' implementation 'com.jakewharton.timber:timber:4.7.1' implementation 'org.slf4j:slf4j-api:1.7.25' api('com.github.tony19:logback-android-classic:1.1.1-6') { @@ -117,6 +118,7 @@ android { testOptions { unitTests.returnDefaultValues = true + unitTests.includeAndroidResources = true unitTests.all { jvmArgs '-noverify' diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index ea4cba182..59cfdb12b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -35,8 +35,8 @@ android:appComponentFactory="commons" tools:ignore="GoogleAppIndexingWarning"> - diff --git a/app/src/main/java/fr/free/nrw/commons/CommonsApplication.java b/app/src/main/java/fr/free/nrw/commons/CommonsApplication.java index 3d755daca..0bb6a4598 100644 --- a/app/src/main/java/fr/free/nrw/commons/CommonsApplication.java +++ b/app/src/main/java/fr/free/nrw/commons/CommonsApplication.java @@ -8,7 +8,6 @@ import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.os.Build; import android.os.Process; -import androidx.annotation.NonNull; import android.util.Log; import com.facebook.drawee.backends.pipeline.Fresco; @@ -18,14 +17,17 @@ import com.squareup.leakcanary.LeakCanary; import com.squareup.leakcanary.RefWatcher; import org.acra.ACRA; -import org.acra.ReportingInteractionMode; -import org.acra.annotation.ReportsCrashes; +import org.acra.annotation.AcraCore; +import org.acra.annotation.AcraDialog; +import org.acra.annotation.AcraMailSender; +import org.acra.data.StringFormat; import java.io.File; import javax.inject.Inject; import javax.inject.Named; +import androidx.annotation.NonNull; import fr.free.nrw.commons.auth.SessionManager; import fr.free.nrw.commons.bookmarks.locations.BookmarkLocationsDao; import fr.free.nrw.commons.bookmarks.pictures.BookmarkPicturesDao; @@ -36,7 +38,6 @@ import fr.free.nrw.commons.contributions.ContributionDao; import fr.free.nrw.commons.data.DBOpenHelper; import fr.free.nrw.commons.di.ApplicationlessInjection; import fr.free.nrw.commons.kvstore.JsonKvStore; -import fr.free.nrw.commons.kvstore.JsonKvStore; import fr.free.nrw.commons.logging.FileLoggingTree; import fr.free.nrw.commons.logging.LogUtils; import fr.free.nrw.commons.modifications.ModifierSequenceDao; @@ -46,14 +47,27 @@ import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.schedulers.Schedulers; import timber.log.Timber; -@ReportsCrashes( - mailTo = "commons-app-android-private@googlegroups.com", - 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 +import static org.acra.ReportField.*; + +@AcraCore( + buildConfigClass = BuildConfig.class, + resReportSendSuccessToast = R.string.crash_dialog_ok_toast, + reportFormat = StringFormat.KEY_VALUE_LIST, + reportContent = {USER_COMMENT, APP_VERSION_CODE, APP_VERSION_NAME, ANDROID_VERSION, PHONE_MODEL, STACK_TRACE} ) + +@AcraMailSender( + mailTo = "commons-app-android-private@googlegroups.com", + reportAsFile = false +) + +@AcraDialog( + resTheme = R.style.Theme_AppCompat_Dialog, + resText = R.string.crash_dialog_text, + resTitle = R.string.crash_dialog_title, + resCommentPrompt = R.string.crash_dialog_comment_prompt +) + public class CommonsApplication extends Application { @Inject SessionManager sessionManager; @Inject DBOpenHelper dbOpenHelper; diff --git a/app/src/main/java/fr/free/nrw/commons/logging/LogsSender.java b/app/src/main/java/fr/free/nrw/commons/logging/LogsSender.java index dddb15a81..448da7108 100644 --- a/app/src/main/java/fr/free/nrw/commons/logging/LogsSender.java +++ b/app/src/main/java/fr/free/nrw/commons/logging/LogsSender.java @@ -7,7 +7,7 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.core.content.FileProvider; -import org.acra.collector.CrashReportData; +import org.acra.data.CrashReportData; import org.acra.sender.ReportSender; import org.apache.commons.codec.Charsets;