From 7453bcbd3da236c3aa9723124a2bd1c95dccc3a4 Mon Sep 17 00:00:00 2001 From: Marc Zimmermann Date: Sat, 8 Aug 2020 17:18:04 +0200 Subject: [PATCH 1/3] add option in settings to enable/disable auto start at boot --- .../net/nitroshare/android/ui/settings/SettingsActivity.java | 1 + app/src/main/java/net/nitroshare/android/util/Settings.java | 3 +++ .../main/java/net/nitroshare/android/util/StartReceiver.java | 3 ++- app/src/main/res/values-de-rDE/strings.xml | 2 ++ app/src/main/res/values/strings.xml | 2 ++ 5 files changed, 10 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/net/nitroshare/android/ui/settings/SettingsActivity.java b/app/src/main/java/net/nitroshare/android/ui/settings/SettingsActivity.java index 00aed41..0d87826 100644 --- a/app/src/main/java/net/nitroshare/android/ui/settings/SettingsActivity.java +++ b/app/src/main/java/net/nitroshare/android/ui/settings/SettingsActivity.java @@ -125,6 +125,7 @@ public void onCreate(Bundle savedInstanceState) { general.addPreference(createDirectoryPreference(R.string.activity_settings_pref_transfer_directory, Settings.Key.TRANSFER_DIRECTORY)); general.addPreference(createCheckBoxPreference(R.string.activity_settings_pref_behavior_receive, R.string.activity_settings_pref_behavior_receive_summary, Settings.Key.BEHAVIOR_RECEIVE)); general.addPreference(createCheckBoxPreference(R.string.activity_settings_pref_behavior_overwrite, R.string.activity_settings_pref_behavior_overwrite_summary, Settings.Key.BEHAVIOR_OVERWRITE)); + general.addPreference(createCheckBoxPreference(R.string.activity_settings_pref_behavior_autostart, R.string.activity_settings_pref_behavior_autostart_summary, Settings.Key.BEHAVIOR_AUTOSTART)); appearance.addPreference(createCheckBoxPreference(R.string.activity_settings_darkTheme, R.string.activity_settings_darkTheme_summary, Settings.Key.UI_DARK)); notifications.addPreference(createCheckBoxPreference(R.string.activity_settings_pref_notification_sound, R.string.activity_settings_pref_notification_sound_summary, Settings.Key.TRANSFER_NOTIFICATION)); diff --git a/app/src/main/java/net/nitroshare/android/util/Settings.java b/app/src/main/java/net/nitroshare/android/util/Settings.java index 31d8d7f..d964a30 100644 --- a/app/src/main/java/net/nitroshare/android/util/Settings.java +++ b/app/src/main/java/net/nitroshare/android/util/Settings.java @@ -21,6 +21,7 @@ public class Settings { public enum Key { BEHAVIOR_RECEIVE, // Listen for incoming transfers BEHAVIOR_OVERWRITE, // Overwrite files with identical names + BEHAVIOR_AUTOSTART, // Run at device startup DEVICE_NAME, // Device name broadcast via mDNS DEVICE_UUID, // Unique identifier for the device INTRO_SHOWN, // Intro has been shown to user? @@ -51,6 +52,8 @@ public Object getDefault(Key key) { return true; case BEHAVIOR_OVERWRITE: return false; + case BEHAVIOR_AUTOSTART: + return true; case DEVICE_NAME: return Build.MODEL; case DEVICE_UUID: diff --git a/app/src/main/java/net/nitroshare/android/util/StartReceiver.java b/app/src/main/java/net/nitroshare/android/util/StartReceiver.java index 8ddb11b..be3e6a8 100644 --- a/app/src/main/java/net/nitroshare/android/util/StartReceiver.java +++ b/app/src/main/java/net/nitroshare/android/util/StartReceiver.java @@ -13,7 +13,8 @@ public class StartReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { - if (new Settings(context).getBoolean(Settings.Key.BEHAVIOR_RECEIVE)) { + if (new Settings(context).getBoolean(Settings.Key.BEHAVIOR_AUTOSTART) + && new Settings(context).getBoolean(Settings.Key.BEHAVIOR_RECEIVE)) { TransferService.startStopService(context, true); } } diff --git a/app/src/main/res/values-de-rDE/strings.xml b/app/src/main/res/values-de-rDE/strings.xml index f018e2c..e499721 100644 --- a/app/src/main/res/values-de-rDE/strings.xml +++ b/app/src/main/res/values-de-rDE/strings.xml @@ -77,4 +77,6 @@ %1$s / %2$s Stopp Erneut versuchen + Auto start + Auto start when device starts diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index bff4acd..0770026 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -56,6 +56,8 @@ Accept incoming transfers from other devices Overwrite Replace existing files with the same name + Auto start + Auto start when device starts Notifications Notification Sound Play sound when a transfer completes From 919d97c37eed08b5780f6c756fa8d15b471512a4 Mon Sep 17 00:00:00 2001 From: Marc Zimmermann Date: Mon, 10 Aug 2020 17:02:39 +0200 Subject: [PATCH 2/3] better code maybe... --- .../nitroshare/android/util/StartReceiver.java | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/net/nitroshare/android/util/StartReceiver.java b/app/src/main/java/net/nitroshare/android/util/StartReceiver.java index be3e6a8..2fe059c 100644 --- a/app/src/main/java/net/nitroshare/android/util/StartReceiver.java +++ b/app/src/main/java/net/nitroshare/android/util/StartReceiver.java @@ -13,9 +13,23 @@ public class StartReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { - if (new Settings(context).getBoolean(Settings.Key.BEHAVIOR_AUTOSTART) - && new Settings(context).getBoolean(Settings.Key.BEHAVIOR_RECEIVE)) { + if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED) + && startServiceOnBoot(context) + && receiveTransferAllowed(context)) { TransferService.startStopService(context, true); } } + + private static boolean getBooleanFromSettings(Context context, Settings.Key key) { + Settings s = new Settings(context); + return s.getBoolean(key); + } + + private static boolean receiveTransferAllowed(Context context) { + return getBooleanFromSettings(context, Settings.Key.BEHAVIOR_RECEIVE); + } + + private static boolean startServiceOnBoot(Context context) { + return getBooleanFromSettings(context, Settings.Key.BEHAVIOR_AUTOSTART); + } } From f671f7a60b7d047aa7e8d3840cc795c8324a4afe Mon Sep 17 00:00:00 2001 From: johnzoidb3rg <69394011+johnzoidb3rg@users.noreply.github.com> Date: Sun, 30 Aug 2020 18:54:20 +0200 Subject: [PATCH 3/3] Update strings.xml German translation thanks to NNowakowski --- app/src/main/res/values-de-rDE/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/res/values-de-rDE/strings.xml b/app/src/main/res/values-de-rDE/strings.xml index e499721..2e05e2d 100644 --- a/app/src/main/res/values-de-rDE/strings.xml +++ b/app/src/main/res/values-de-rDE/strings.xml @@ -77,6 +77,6 @@ %1$s / %2$s Stopp Erneut versuchen - Auto start - Auto start when device starts + Automatisch starten + Nach dem Systemstart starten