From f43b92186c5530f525a4e1cec06c870e90f13c99 Mon Sep 17 00:00:00 2001 From: M M Arif Date: Tue, 30 Mar 2021 16:31:23 +0200 Subject: [PATCH] Fix ACRA and workmanager errors (#855) Move acra Fix ACRA and workmanager errors Co-authored-by: M M Arif Reviewed-on: https://codeberg.org/gitnex/GitNex/pulls/855 Reviewed-by: opyale Co-Authored-By: M M Arif Co-Committed-By: M M Arif --- .../mian/gitnex/activities/BaseActivity.java | 12 ++++++++++++ .../org/mian/gitnex/core/MainApplication.java | 17 +++++++++++------ 2 files changed, 23 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/org/mian/gitnex/activities/BaseActivity.java b/app/src/main/java/org/mian/gitnex/activities/BaseActivity.java index fcec209f..e6c4c4e9 100644 --- a/app/src/main/java/org/mian/gitnex/activities/BaseActivity.java +++ b/app/src/main/java/org/mian/gitnex/activities/BaseActivity.java @@ -3,10 +3,20 @@ package org.mian.gitnex.activities; import android.content.Context; import android.os.Bundle; import androidx.appcompat.app.AppCompatActivity; +import org.acra.ACRA; +import org.acra.BuildConfig; +import org.acra.ReportField; +import org.acra.annotation.AcraCore; +import org.acra.annotation.AcraNotification; +import org.acra.config.CoreConfigurationBuilder; +import org.acra.config.LimiterConfigurationBuilder; +import org.acra.config.MailSenderConfigurationBuilder; +import org.acra.data.StringFormat; import org.mian.gitnex.R; import org.mian.gitnex.helpers.AppUtil; import org.mian.gitnex.helpers.TimeHelper; import org.mian.gitnex.helpers.TinyDB; +import org.mian.gitnex.notifications.Notifications; /** * Author M M Arif @@ -77,6 +87,8 @@ public abstract class BaseActivity extends AppCompatActivity { } AppUtil.setAppLocale(getResources(), tinyDB.getString("locale")); + + Notifications.startWorker(appCtx); } } diff --git a/app/src/main/java/org/mian/gitnex/core/MainApplication.java b/app/src/main/java/org/mian/gitnex/core/MainApplication.java index c595d1f5..57b1ca32 100644 --- a/app/src/main/java/org/mian/gitnex/core/MainApplication.java +++ b/app/src/main/java/org/mian/gitnex/core/MainApplication.java @@ -71,21 +71,26 @@ public class MainApplication extends Application { } + Notifications.createChannels(appCtx); + } + + protected void attachBaseContext(Context context) { + + super.attachBaseContext(context); + + tinyDB = TinyDB.getInstance(context); + if(tinyDB.getBoolean("crashReportingEnabled")) { CoreConfigurationBuilder ACRABuilder = new CoreConfigurationBuilder(this); ACRABuilder.setBuildConfigClass(BuildConfig.class).setReportFormat(StringFormat.KEY_VALUE_LIST); - ACRABuilder.getPluginConfigurationBuilder(MailSenderConfigurationBuilder.class).setReportAsFile(true).setMailTo(getResources().getString(R.string.appEmail)).setSubject(getResources().getString(R.string.crashReportEmailSubject, AppUtil.getAppBuildNo(getApplicationContext()))).setEnabled(true); + ACRABuilder.getPluginConfigurationBuilder(MailSenderConfigurationBuilder.class).setReportAsFile(true).setMailTo(getResources().getString(R.string.appEmail)) + .setSubject(getResources().getString(R.string.crashReportEmailSubject, AppUtil.getAppBuildNo(context))).setEnabled(true); ACRABuilder.getPluginConfigurationBuilder(LimiterConfigurationBuilder.class).setEnabled(true); ACRA.init(this, ACRABuilder); - } - - Notifications.createChannels(appCtx); - Notifications.startWorker(appCtx); - } private void setDefaults() {