diff --git a/ABCore.zip b/ABCore.zip
new file mode 100644
index 00000000..14a1a9a4
Binary files /dev/null and b/ABCore.zip differ
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 261e8c49..8ac733e4 100755
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -7,6 +7,7 @@
+
+
+
+
+
+
+
diff --git a/app/src/main/java/com/greenaddress/abcore/MainActivity.java b/app/src/main/java/com/greenaddress/abcore/MainActivity.java
index 02a63bfa..766117e7 100755
--- a/app/src/main/java/com/greenaddress/abcore/MainActivity.java
+++ b/app/src/main/java/com/greenaddress/abcore/MainActivity.java
@@ -11,9 +11,8 @@
import android.graphics.Color;
import android.os.Build;
import android.os.Bundle;
+import android.os.Handler;
import android.preference.PreferenceManager;
-import androidx.appcompat.app.AppCompatActivity;
-import androidx.appcompat.widget.Toolbar;
import android.util.Log;
import android.view.Menu;
import android.view.MenuInflater;
@@ -25,13 +24,15 @@
import android.widget.Switch;
import android.widget.TextView;
import android.widget.Toast;
-import android.os.Handler;
import com.google.zxing.WriterException;
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
import com.google.zxing.qrcode.encoder.ByteMatrix;
import com.google.zxing.qrcode.encoder.Encoder;
+import androidx.appcompat.app.AppCompatActivity;
+import androidx.appcompat.widget.Toolbar;
+
public class MainActivity extends AppCompatActivity {
private final static String TAG = MainActivity.class.getName();
@@ -145,11 +146,11 @@ protected void onCreate(final Bundle savedInstanceState) {
mQrCodeText = findViewById(R.id.textViewQr);
mImageViewQr = findViewById(R.id.qrcodeImageView);
setSupportActionBar(toolbar);
+
final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
final String useDistribution = prefs.getString("usedistribution", "core");
final String daemonVersion = "knots".equals(useDistribution) ? Packages.BITCOIN_KNOTS_NDK : "liquid".equals(useDistribution) ? Packages.BITCOIN_LIQUID_NDK : Packages.BITCOIN_NDK;
-
getSupportActionBar().setTitle(R.string.title_activity_main);
getSupportActionBar().setSubtitle(getString(R.string.subtitle, useDistribution));
mTvDaemon.setText(getString(R.string.subtitle, useDistribution + " " + daemonVersion));
@@ -169,6 +170,23 @@ public void onClick(final View v) {
daemonStatus = DaemonStatus.UNKNOWN;
mTvStatus.setText(getString(R.string.status_header, daemonStatus.toString()));
mSwitchCore.setText(R.string.switchcoreon);
+
+ boolean restart = prefs.getBoolean("restartOnBoot", false);
+ if(restart){
+ // Add 30 sec delay
+ autoRestart();
+ }
+ }
+
+ public void autoRestart(){
+ final Handler handler = new Handler();
+ Runnable task = new Runnable() {
+ @Override
+ public void run() {
+ mSwitchCore.setChecked(true);
+ }
+ };
+ handler.postDelayed(task, 30000);
}
@Override
diff --git a/app/src/main/java/com/greenaddress/abcore/RebootBroadcastReceiver.java b/app/src/main/java/com/greenaddress/abcore/RebootBroadcastReceiver.java
new file mode 100644
index 00000000..ad5e2d2a
--- /dev/null
+++ b/app/src/main/java/com/greenaddress/abcore/RebootBroadcastReceiver.java
@@ -0,0 +1,24 @@
+package com.greenaddress.abcore;
+
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.SharedPreferences;
+import android.preference.PreferenceManager;
+
+public class RebootBroadcastReceiver extends BroadcastReceiver {
+
+ private static final String TAG = "RebootBroadcastReceiver";
+ @Override
+ public void onReceive(Context context, Intent intent) {
+
+ final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
+ boolean restart = prefs.getBoolean("restartOnBoot", false);
+
+ if(restart){
+ Intent myIntent = new Intent(context, MainActivity.class);
+ myIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ context.startActivity(myIntent);
+ }
+ }
+}
diff --git a/app/src/main/java/com/greenaddress/abcore/SettingsActivity.java b/app/src/main/java/com/greenaddress/abcore/SettingsActivity.java
index e1d1325d..5a58d20f 100755
--- a/app/src/main/java/com/greenaddress/abcore/SettingsActivity.java
+++ b/app/src/main/java/com/greenaddress/abcore/SettingsActivity.java
@@ -15,8 +15,6 @@
import android.util.Log;
import android.view.MenuItem;
-import androidx.appcompat.app.ActionBar;
-
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
@@ -24,6 +22,7 @@
import java.util.List;
import java.util.Properties;
+import androidx.appcompat.app.ActionBar;
/**
* A {@link PreferenceActivity} that presents a set of application settings. On
* handset devices, settings are presented as a single list. On tablets,
@@ -116,11 +115,13 @@ public void onCreate(final Bundle savedInstanceState) {
final Properties p = new Properties();
try {
+
p.load(new FileInputStream(Utils.getBitcoinConf(getActivity())));
final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getActivity());
final SharedPreferences.Editor e = prefs.edit();
+ e.putBoolean("restartOnBoot", p.getProperty("restartOnBoot", "0").equals("1"));
e.putBoolean("testnet", p.getProperty("testnet", "0").equals("1"));
e.putBoolean("upnp", p.getProperty("upnp", "0").equals("1"));
e.putBoolean("blocksonly", p.getProperty("blocksonly", "0").equals("1"));
@@ -155,6 +156,7 @@ public boolean onPreferenceChange(final Preference preference, final Object newV
findPreference("upnp").setOnPreferenceChangeListener(ps);
findPreference("blocksonly").setOnPreferenceChangeListener(ps);
findPreference("disablewallet").setOnPreferenceChangeListener(ps);
+ findPreference("restartOnBoot").setOnPreferenceChangeListener(ps);
findPreference("datadir").setSummary(p.getProperty("datadir", Utils.getDataDir(getActivity())));
findPreference("prune").setSummary(p.getProperty("prune", "1000"));
findPreference("prune").setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
diff --git a/app/src/main/res/xml/pref_conf.xml b/app/src/main/res/xml/pref_conf.xml
index b740ccd3..24609a96 100755
--- a/app/src/main/res/xml/pref_conf.xml
+++ b/app/src/main/res/xml/pref_conf.xml
@@ -6,6 +6,7 @@
+