diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml --- a/res/values-ca/strings.xml +++ b/res/values-ca/strings.xml @@ -262,8 +262,7 @@ Més ajustaments Els ajustaments per dispositiu es poden trobar a «Arranjament del connector» des d\'un dispositiu. Mostra les notificacions persistents - Requerit per Android des de la versió 8.0 - Des de l\'Android 9.0, aquesta notificació només es pot minimitzar fent-hi un toc llarg + Des de l\'Android 9.0, aquesta notificació només es pot minimitzar fent-hi un toc llarg Opcions extres Opcions de privadesa Establiu les opcions de privadesa diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml --- a/res/values-cs/strings.xml +++ b/res/values-cs/strings.xml @@ -247,6 +247,5 @@ Více nastavení Nastavení \"pro každé zařízení\" lze najít v \'Nastavení modulu\' v zařízení. Ukázat stálé upozornění - Vyžadováno Androidem od verze 8.0 - Od Androidu 9.0 lze toto upozornění minimalizovat pouze jeho dlouhým podržením + Od Androidu 9.0 lze toto upozornění minimalizovat pouze jeho dlouhým podržením diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml --- a/res/values-en-rGB/strings.xml +++ b/res/values-en-rGB/strings.xml @@ -244,6 +244,5 @@ More settings Per-device settings can be found under \'Plugin settings\' from within a device. Show persistent notification - Required by Android since Android 8.0 - Since Android 9.0, this notification can only be minimised by long tapping on it + Since Android 9.0, this notification can only be minimised by long tapping on it diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml --- a/res/values-es/strings.xml +++ b/res/values-es/strings.xml @@ -254,8 +254,7 @@ Más preferencias Las preferencias por dispositivo se pueden encontrar bajo «Preferencias del complemento» dentro de cada dispositivo. Mostrar notificación persistente - Requerido por Android desde Android 8.0 - A partir de Android 9.0, esta notificación solo se puede minimizar mediante una pulsación larga en ella. + A partir de Android 9.0, esta notificación solo se puede minimizar mediante una pulsación larga en ella. Opciones adicionales Opciones de privacidad Establezca sus opciones de privacidad diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml --- a/res/values-eu/strings.xml +++ b/res/values-eu/strings.xml @@ -262,8 +262,7 @@ Ezarpen gehiago Gailu-bakoitzeko ezarpenak aurki daitezke \'Pluginen ezarpenak\' barruan. Erakutsi jakinarazpen iraunkorra - Androidek derrigortua Android 8.0tik aurrera - Android 9.0tik aurrera, jakinarazpen hau minimizatu daiteke soilik bere gainean tak luze bat eginez. + Android 9.0tik aurrera, jakinarazpen hau minimizatu daiteke soilik bere gainean tak luze bat eginez. Aukera gehigarriak Pribatutasun aukerak Ezarri zure pribatutasun aukerak diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml --- a/res/values-fr/strings.xml +++ b/res/values-fr/strings.xml @@ -262,8 +262,7 @@ Plus de paramètres Les paramètres par appareil sont disponibles dans la rubrique « Paramètres des modules externes » sur l\'appareil. Afficher une notification persistante - Requis par Android depuis Android 8.0 - Depuis Android 9.0, cette notification ne peut être minimisée qu\'en effectuant un clic long dessus + Depuis Android 9.0, cette notification ne peut être minimisée qu\'en effectuant un clic long dessus Options supplémentaires Options de confidentialité Configurez vos options de confidentialité diff --git a/res/values-gl/strings.xml b/res/values-gl/strings.xml --- a/res/values-gl/strings.xml +++ b/res/values-gl/strings.xml @@ -262,8 +262,7 @@ Máis opcións Pode atopar as opcións específicas dun dispositivo baixo «Configuración do complemento» desde un dispositivo. Mostrar unha notificación persistente - Requirido por Android desde Android 8.0 - Desde Android 9.0, esta notificación só pode minimizarse tocándoa un anaco + Desde Android 9.0, esta notificación só pode minimizarse tocándoa un anaco Opcións adicionais Opcións de intimidade Definir as súas opcións de protección da intimidade diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml --- a/res/values-it/strings.xml +++ b/res/values-it/strings.xml @@ -262,8 +262,7 @@ Altre impostazioni Le impostazioni per dispositivo sono disponibili sotto «Impostazione estensioni» dall\'interno del dispositivo. Mostra notifica persistente - Richiesto da Android a partire da Android 8.0 - Da Android 9.0, questa notifica potrà essere minimizzata solo con un tocco lungo + Da Android 9.0, questa notifica potrà essere minimizzata solo con un tocco lungo Opzioni aggiuntive Opzioni di riservatezza Imposta le tue opzioni di riservatezza diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml --- a/res/values-nl/strings.xml +++ b/res/values-nl/strings.xml @@ -262,8 +262,7 @@ Meer instellingen Instellingen per apparaat kunnen gevonden worden onder \'Plug-in-instellingen\' vanuit een apparaat. Blijvende melding tonen - Vereist door Android sinds Android 8.0 - Sinds Android 9.0 kunnen deze meldingen alleen geminimaliseerd worden door er lang op te tikken + Sinds Android 9.0 kunnen deze meldingen alleen geminimaliseerd worden door er lang op te tikken Extra opties Privacyopties Stel uw privacyopties in diff --git a/res/values-nn/strings.xml b/res/values-nn/strings.xml --- a/res/values-nn/strings.xml +++ b/res/values-nn/strings.xml @@ -245,6 +245,5 @@ Fleire innstillingar Innstillingar for einskildeiningar finn du under «Programtillegg-oppsett» på kvar eining. Vis evigvarande varsling - Påkravd av Android frå og med versjon 8.0 - Frå og med Android 9.0 kan du berre fjerna denne varslinga ved å trykkja lenge på ho + Frå og med Android 9.0 kan du berre fjerna denne varslinga ved å trykkja lenge på ho diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml --- a/res/values-pl/strings.xml +++ b/res/values-pl/strings.xml @@ -246,6 +246,5 @@ Więcej ustawień Wstępne ustawienia urządzenia można znaleźć w \'Ustawieniach wtyczki\' z poziomu urządzenia. Pokaż nieznikające powiadomienie - Wymagane przez Androida od Androida 8.0 - Od Androida 9.0 to powiadomienie można zminimalizować tylko poprzez długie stuknięcie na nim + Od Androida 9.0 to powiadomienie można zminimalizować tylko poprzez długie stuknięcie na nim diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml --- a/res/values-pt/strings.xml +++ b/res/values-pt/strings.xml @@ -262,8 +262,7 @@ Mais configurações As configurações por dispositivo podem ser encontradas na \'Configuração do plugin\' dentro de um dado dispositivo. Mostrar uma notificação persistente - Necessário pelo Android desde o Android 8.0 - Desde o Android 9.0, esta notificação só pode ser minimizada se fizer um toque longo sobre ela + Desde o Android 9.0, esta notificação só pode ser minimizada se fizer um toque longo sobre ela Opções extra Opções de privacidade Defina as suas opções de privacidade diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml --- a/res/values-ru/strings.xml +++ b/res/values-ru/strings.xml @@ -205,6 +205,5 @@ Тёмное оформление Дополнительные параметры Показывать постоянное уведомление - Требуется в Android начиная с Android 8.0 - Уведомления с других устройств + Уведомления с других устройств diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml --- a/res/values-sv/strings.xml +++ b/res/values-sv/strings.xml @@ -262,8 +262,7 @@ Fler inställningar Inställningar per apparat hittas i \'Insticksprograminställningar\' på apparaten. Visa permanent underrättelse - Krävs av Android sedan Android 8.0 - Sedan Android 9.0, kan underrättelsen bara minimeras genom att röra vid den länge + Sedan Android 9.0, kan underrättelsen bara minimeras genom att röra vid den länge Extra alternativ Integritetsalternativ Ställ in integritetsalternativ diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml --- a/res/values-uk/strings.xml +++ b/res/values-uk/strings.xml @@ -272,8 +272,7 @@ Додаткові параметри Окремі параметри пристроїв наведено на сторінці «Параметри додатків» сторінки пристрою. Показувати постійне сповіщення - Є обов\'язковим для Android з версії Android 8.0 - Починаючи з версії 9.0, це сповіщення можна мінімізувати лише довгим його натисканням + Починаючи з версії 9.0, це сповіщення можна мінімізувати лише довгим його натисканням Додаткові параметри Параметри конфіденційності Вкажіть ваші параметри конфіденційності diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml --- a/res/values-zh-rCN/strings.xml +++ b/res/values-zh-rCN/strings.xml @@ -257,8 +257,7 @@ 更多设置 每个设备的独立设置可以在设备页内的“插件设置”下找到。 启用常驻通知栏 - Android 8.0 以及以上必须启用 - Android 9.0 之后只能通过长按通知项最小化持久性通知 + Android 9.0 之后只能通过长按通知项最小化持久性通知 附加选项 隐私选项 设置您的隐私选项 diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml --- a/res/values-zh-rTW/strings.xml +++ b/res/values-zh-rTW/strings.xml @@ -257,8 +257,7 @@ 更多設定 各裝置設定可在裝置內的「外掛程式設定」底下找到。 顯示一致設定 - 需要 Android 8.0 以上的版本 - 從 Android 9.0 開始,只能長按通知才能最小化通知 + 從 Android 9.0 開始,只能長按通知才能最小化通知 延伸選項 隱私權選項 設定隱私權選項 diff --git a/res/values/strings.xml b/res/values/strings.xml --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -314,8 +314,7 @@ More settings Per-device settings can be found under \'Plugin settings\' from within a device. Show persistent notification - Required by Android since Android 8.0 - Since Android 9.0, this notification can only be minimized by long tapping on it + Click to enable/disable in Notification settings Extra options Privacy options @@ -326,4 +325,5 @@ Notifications from other devices findmyphone_ringtone + Persistent Notification diff --git a/src/org/kde/kdeconnect/UserInterface/SettingsFragment.java b/src/org/kde/kdeconnect/UserInterface/SettingsFragment.java --- a/src/org/kde/kdeconnect/UserInterface/SettingsFragment.java +++ b/src/org/kde/kdeconnect/UserInterface/SettingsFragment.java @@ -1,6 +1,7 @@ package org.kde.kdeconnect.UserInterface; import android.content.Context; +import android.content.Intent; import android.content.SharedPreferences; import android.os.Build; import android.os.Bundle; @@ -31,7 +32,7 @@ @Override public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { - mainActivity = (MainActivity)getActivity(); + mainActivity = (MainActivity) getActivity(); Context context = getPreferenceManager().getContext(); PreferenceScreen screen = getPreferenceManager().createPreferenceScreen(context); @@ -51,48 +52,60 @@ renameDevice.setSummary(deviceName); screen.addPreference(renameDevice); - - //TODO: Trusted wifi networks settings should go here - + // TODO: Trusted wifi networks settings should go here // Dark mode final TwoStatePreference darkThemeSwitch = new SwitchPreferenceCompat(context); darkThemeSwitch.setPersistent(false); darkThemeSwitch.setChecked(ThemeUtil.shouldUseDarkTheme(context)); darkThemeSwitch.setTitle(R.string.settings_dark_mode); darkThemeSwitch.setOnPreferenceChangeListener((preference, newValue) -> { - boolean isChecked = (Boolean)newValue; - boolean isDarkAlready = prefs.getBoolean("darkTheme", false); - if (isDarkAlready != isChecked) { - prefs.edit().putBoolean("darkTheme", isChecked).apply(); - if (mainActivity != null) { - mainActivity.recreate(); - } + boolean isChecked = (Boolean) newValue; + boolean isDarkAlready = prefs.getBoolean("darkTheme", false); + if (isDarkAlready != isChecked) { + prefs.edit().putBoolean("darkTheme", isChecked).apply(); + if (mainActivity != null) { + mainActivity.recreate(); } - return true; + } + return true; }); screen.addPreference(darkThemeSwitch); - // Persistent notification toggle - final TwoStatePreference notificationSwitch = new SwitchPreferenceCompat(context); - notificationSwitch.setPersistent(false); - notificationSwitch.setChecked(NotificationHelper.isPersistentNotificationEnabled(context)); - notificationSwitch.setTitle(R.string.setting_persistent_notification); - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { - notificationSwitch.setSummary(R.string.setting_persistent_notification_pie_description); - notificationSwitch.setEnabled(false); - } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { - notificationSwitch.setSummary(R.string.setting_persistent_notification_oreo_description); - notificationSwitch.setEnabled(false); - } - notificationSwitch.setOnPreferenceChangeListener((preference, newValue) -> { - final boolean isChecked = (Boolean)newValue; - NotificationHelper.setPersistentNotificationEnabled(context, isChecked); - BackgroundService.RunCommand(context, service -> service.changePersistentNotificationVisibility(isChecked)); + if (Build.VERSION.SDK_INT >=Build.VERSION_CODES.O) { + + Preference persistentNotif = new Preference(context); + persistentNotif.setTitle(R.string.setting_persistent_notification_oreo); + persistentNotif.setSummary(R.string.setting_persistent_notification_description); + + persistentNotif.setOnPreferenceClickListener(preference -> { + Intent intent = new Intent(); + intent.setAction("android.settings.APP_NOTIFICATION_SETTINGS"); + intent.putExtra("android.provider.extra.APP_PACKAGE", context.getPackageName()); + context.startActivity(intent); + return true; + }); + screen.addPreference(persistentNotif); + } else { + // Persistent notification toggle for Android Versions below Oreo + final TwoStatePreference notificationSwitch = new SwitchPreferenceCompat(context); + notificationSwitch.setPersistent(false); + notificationSwitch.setChecked(NotificationHelper.isPersistentNotificationEnabled(context)); + notificationSwitch.setTitle(R.string.setting_persistent_notification); + notificationSwitch.setOnPreferenceChangeListener((preference, newValue) -> { - return true; - }); - screen.addPreference(notificationSwitch); + final boolean isChecked = (Boolean) newValue; + + NotificationHelper.setPersistentNotificationEnabled(context, isChecked); + BackgroundService.RunCommand(context, + service -> service.changePersistentNotificationVisibility(isChecked)); + + NotificationHelper.setPersistentNotificationEnabled(context, isChecked); + + return true; + }); + screen.addPreference(notificationSwitch); + } // More settings text Preference moreSettingsText = new Preference(context); @@ -104,7 +117,6 @@ setPreferenceScreen(screen); - } @Override