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() {