From 51abc136a1eec892392750ce607c66c46c0db2ba Mon Sep 17 00:00:00 2001 From: Ashutosh Gangwar Date: Mon, 6 Sep 2021 21:10:31 +0530 Subject: [PATCH] feat(app): add option to disable media buttons remove option to enable skipping unsaved presets resolves #792 --- .../ashutoshgngwr/noice/MediaPlayerService.kt | 2 +- .../noice/playback/PlayerManager.kt | 35 +++++++++++++++---- .../noice/repository/SettingsRepository.kt | 6 ++-- .../drawable/ic_settings_media_buttons.xml | 10 ++++++ .../ic_settings_skip_unsaved_presets.xml | 10 ------ app/src/main/res/values-ar/strings.xml | 2 -- app/src/main/res/values-el/strings.xml | 2 -- app/src/main/res/values-es-rES/strings.xml | 1 - app/src/main/res/values-fa/strings.xml | 2 -- app/src/main/res/values-fi/strings.xml | 2 -- app/src/main/res/values-fr-rFR/strings.xml | 2 -- app/src/main/res/values-hi/strings.xml | 2 -- app/src/main/res/values-in/strings.xml | 1 - app/src/main/res/values-it-rIT/strings.xml | 2 -- app/src/main/res/values-ja/strings.xml | 2 -- app/src/main/res/values-lt/strings.xml | 2 -- app/src/main/res/values-pt-rBR/strings.xml | 2 -- app/src/main/res/values-pt/strings.xml | 2 -- app/src/main/res/values-ru/strings.xml | 2 -- app/src/main/res/values-tr/strings.xml | 2 -- app/src/main/res/values-uk-rUA/strings.xml | 2 -- app/src/main/res/values-vi/strings.xml | 2 -- app/src/main/res/values/donottranslate.xml | 2 +- app/src/main/res/values/strings.xml | 4 +-- app/src/main/res/xml/settings.xml | 8 ++--- 25 files changed, 50 insertions(+), 59 deletions(-) create mode 100644 app/src/main/res/drawable/ic_settings_media_buttons.xml delete mode 100644 app/src/main/res/drawable/ic_settings_skip_unsaved_presets.xml diff --git a/app/src/main/java/com/github/ashutoshgngwr/noice/MediaPlayerService.kt b/app/src/main/java/com/github/ashutoshgngwr/noice/MediaPlayerService.kt index 19946300f..3a53709f9 100644 --- a/app/src/main/java/com/github/ashutoshgngwr/noice/MediaPlayerService.kt +++ b/app/src/main/java/com/github/ashutoshgngwr/noice/MediaPlayerService.kt @@ -116,7 +116,7 @@ class MediaPlayerService : Service() { FOREGROUND_ID, PlayerNotificationManager.createNotification( this, mediaSession, title, - currentPreset != null || settingsRepository.shouldAllowSkippingUnsavedPresets() + currentPreset != null ) ) } diff --git a/app/src/main/java/com/github/ashutoshgngwr/noice/playback/PlayerManager.kt b/app/src/main/java/com/github/ashutoshgngwr/noice/playback/PlayerManager.kt index 631c4a3cc..851c0921b 100644 --- a/app/src/main/java/com/github/ashutoshgngwr/noice/playback/PlayerManager.kt +++ b/app/src/main/java/com/github/ashutoshgngwr/noice/playback/PlayerManager.kt @@ -95,11 +95,35 @@ class PlayerManager(private val context: Context, private val mediaSession: Medi init { setAudioUsage(AudioAttributesCompat.USAGE_MEDIA) mediaSession.setCallback(object : MediaSessionCompat.Callback() { - override fun onPlay() = resume() - override fun onStop() = stop() - override fun onPause() = pause() - override fun onSkipToPrevious() = skipPreset(SKIP_DIRECTION_PREV) - override fun onSkipToNext() = skipPreset(SKIP_DIRECTION_NEXT) + override fun onPlay() { + if (settingsRepository.isMediaButtonsEnabled()) { + resume() + } + } + + override fun onStop() { + if (settingsRepository.isMediaButtonsEnabled()) { + stop() + } + } + + override fun onPause() { + if (settingsRepository.isMediaButtonsEnabled()) { + pause() + } + } + + override fun onSkipToPrevious() { + if (settingsRepository.isMediaButtonsEnabled()) { + skipPreset(SKIP_DIRECTION_PREV) + } + } + + override fun onSkipToNext() { + if (settingsRepository.isMediaButtonsEnabled()) { + skipPreset(SKIP_DIRECTION_NEXT) + } + } }) } @@ -435,7 +459,6 @@ class PlayerManager(private val context: Context, private val mediaSession: Medi val presets = presetRepository.list() val currentPos = presets.indexOf(Preset.from("", players.values)) if (currentPos < 0) { - playRandomPreset() return } diff --git a/app/src/main/java/com/github/ashutoshgngwr/noice/repository/SettingsRepository.kt b/app/src/main/java/com/github/ashutoshgngwr/noice/repository/SettingsRepository.kt index ae72c5cc0..d9367200c 100644 --- a/app/src/main/java/com/github/ashutoshgngwr/noice/repository/SettingsRepository.kt +++ b/app/src/main/java/com/github/ashutoshgngwr/noice/repository/SettingsRepository.kt @@ -103,11 +103,11 @@ class SettingsRepository private constructor(private val context: Context) { } /** - * Returns the value of switch preference with key [R.string.should_allow_skipping_unsaved_presets_key] + * Returns the value of switch preference with key [R.string.enable_media_buttons_key] */ - fun shouldAllowSkippingUnsavedPresets(): Boolean { + fun isMediaButtonsEnabled(): Boolean { return prefs.getBoolean( - context.getString(R.string.should_allow_skipping_unsaved_presets_key), true + context.getString(R.string.enable_media_buttons_key), true ) } } diff --git a/app/src/main/res/drawable/ic_settings_media_buttons.xml b/app/src/main/res/drawable/ic_settings_media_buttons.xml new file mode 100644 index 000000000..21a95f80a --- /dev/null +++ b/app/src/main/res/drawable/ic_settings_media_buttons.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/drawable/ic_settings_skip_unsaved_presets.xml b/app/src/main/res/drawable/ic_settings_skip_unsaved_presets.xml deleted file mode 100644 index 844068523..000000000 --- a/app/src/main/res/drawable/ic_settings_skip_unsaved_presets.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml index 42de0485b..d20a964a5 100644 --- a/app/src/main/res/values-ar/strings.xml +++ b/app/src/main/res/values-ar/strings.xml @@ -107,8 +107,6 @@ سنعلمك بمجرد الانتهاء من معالجة الدفع. فشل بدء تدفق الدفع. الرجاء معاودة المحاولة في وقت لاحق! فشل تحميل تفاصيل الشراء داخل التطبيق. الرجاء المحاولة مرة أخرى لاحقا! - عند تشغيل الإعدادات المسبقة غير المحفوظة ، قم بتمكين أزرار التخطي في إشعار المشغل لإنشاء إعدادات مسبقة عشوائية - السماح بتخطي الإعدادات المسبقة غير المحفوظة مشاركة بيانات الاستخدام والسلوك تلقائيا مع المطورين مشاركة بيانات الاستخدام والسلوك الاخرين diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index 2f9dd1d41..aedffb1c5 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -173,8 +173,6 @@ Προσθήκη στις συντομεύσεις εφαρμογής Εμφάνιση των συντελεστών του Noice Εμφάνιση εικονιδίων ήχων - Κατά την αναπαραγωγή μη αποθηκευμένων συνθέσεων, να επιτρέπεται η δημιουργία τυχαίων συνθέσεων, με το πάτημα του κουμπιού για το επόμενο κομμάτι στην ειδοποίηση της εφαρμογής - Να επιτρέπεται η παράκαμψη μη αποθηκευμένων συνθέσεων Αυτόματη αποστολή δεδομένων χρήσης και συμπεριφοράς στον προγραμματιστή Αποστολή δεδομένων χρήσης και συμπεριφοράς Αλλά diff --git a/app/src/main/res/values-es-rES/strings.xml b/app/src/main/res/values-es-rES/strings.xml index 02d390e77..5234ab123 100644 --- a/app/src/main/res/values-es-rES/strings.xml +++ b/app/src/main/res/values-es-rES/strings.xml @@ -188,7 +188,6 @@ No se pudo leer el archivo seleccionado! No se ha podido iniciar el flujo de pagos. Vuelve a intentarlo más tarde! No se han podido cargar los detalles de la compra en la aplicación. Vuelve a intentarlo más tarde! - Omitir preajustes no guardados Compartir automáticamente los datos de uso con los desarrolladores Compartir datos de uso Otros diff --git a/app/src/main/res/values-fa/strings.xml b/app/src/main/res/values-fa/strings.xml index 53b8582e5..fecaa536d 100644 --- a/app/src/main/res/values-fa/strings.xml +++ b/app/src/main/res/values-fa/strings.xml @@ -173,7 +173,6 @@ وارد کردن گزینش‌های ذخیره شده از یک فایل خارج از برنامه موجب حذف تمام گزینش‌های موجود می‌شود وارد کردن از فایل صادر کردن حالت فعلی گزینش‌های ذخیره شده به یک فایل خارج از برنامه - اجازه‌ی پرش از گزینش‌های ذخیره نشده اشتراک‌گذاری خودکار داده‌های استفاده و رفتار، با برنامه‌نویسان اشتراک‌گذاری داده‌های استفاده و رفتار دیگران @@ -189,5 +188,4 @@ ما به محض پایان پردازش پرداخت شما، به شما خبر می‌دهیم. نتوانست روند پرداخت را آغاز کند. لطفاً بعداً دوباره تلاش کنید! نتوانست جزئیات خرید درون‌برنامه‌ای را بارگذاری کند. لطفاً بعداً دوباره تلاش کنید! - فعال بودن دکمه‌های پرش در اعلان پخش برای ایجاد گزینش‌های تصادفی، در زمان پخش گزینش‌های ذخیره نشده \ No newline at end of file diff --git a/app/src/main/res/values-fi/strings.xml b/app/src/main/res/values-fi/strings.xml index dc8703468..4c77e8012 100644 --- a/app/src/main/res/values-fi/strings.xml +++ b/app/src/main/res/values-fi/strings.xml @@ -140,8 +140,6 @@ Ilmoitamme sinulle heti, kun olemme käsitelleet maksusi. Maksuvirran käynnistäminen epäonnistui. Yritä myöhemmin uudelleen! Sovelluksen sisäisen oston tietoja ei onnistuttu lataamaan. Yritä myöhemmin uudelleen! - Kun toistat tallentamattomia esiasetuksia, ota käyttöön ohituspainikkeet soittimen ilmoituksessa satunnaisten esiasetusten luomiseksi - Salli tallentamattomien esiasetusten ohittaminen Jaa käyttö- ja käyttäytymistiedot automaattisesti kehittäjien kanssa Jaa käyttö- ja käyttäytymistiedot Muut diff --git a/app/src/main/res/values-fr-rFR/strings.xml b/app/src/main/res/values-fr-rFR/strings.xml index 82b537bb1..660ec3b2a 100644 --- a/app/src/main/res/values-fr-rFR/strings.xml +++ b/app/src/main/res/values-fr-rFR/strings.xml @@ -192,8 +192,6 @@ Ça supprimera tous les raccourcis prédéfinis du menu des raccourcis de l’application. Voulez-vous continuer \? Retirer tous les raccourcis de l’appli Afficher les icônes de son - Lors de la lecture de préréglages non sauvegardés, activez les boutons de saut dans la notification du lecteur pour générer des préréglages aléatoires - Permettre de sauter les préréglages non sauvegardés Partager automatiquement les données d\'utilisation et de comportement avec les développeurs Partager les données d\'utilisation et de comportement Autres diff --git a/app/src/main/res/values-hi/strings.xml b/app/src/main/res/values-hi/strings.xml index ce30c5eac..49bd52658 100644 --- a/app/src/main/res/values-hi/strings.xml +++ b/app/src/main/res/values-hi/strings.xml @@ -199,8 +199,6 @@ जैसे ही हम आपका भुगतान संसाधित कर लेंगे, हम आपको सूचित करेंगे। भुगतान प्रवाह प्रारंभ करने में विफल. कृपया बाद में पुन: प्रयास करें! इन-ऐप खरीदारी विवरण लोड करने में विफल। कृपया बाद में पुन: प्रयास करें! - सहेजे नहीं गए प्रीसेट चलाते समय, यादृच्छिक प्रीसेट जेनरेट करने के लिए प्लेयर नोटिफिकेशन में स्किप बटन सक्षम करें - सहेजे नहीं गए प्रीसेट को छोड़ने की अनुमति दें डेवलपर्स के साथ स्वचालित रूप से उपयोग और व्यवहार डेटा साझा करें शेयर यूसेज एंड बिहेवियर डेटा अन्य diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml index d332f98e7..75a002c47 100644 --- a/app/src/main/res/values-in/strings.xml +++ b/app/src/main/res/values-in/strings.xml @@ -201,7 +201,6 @@ Preset tersimpan sebagai layar beranda Lihat daftar Penulis Noice Tunjukkan ikon suara - Izinkan melewati preset tak tersimpan Secara otomatis berbagi data penggunaan dan perilaku dengan pengembang Bagikan data penggunaan dan perilaku Lainnya diff --git a/app/src/main/res/values-it-rIT/strings.xml b/app/src/main/res/values-it-rIT/strings.xml index c475c544f..2d190754b 100644 --- a/app/src/main/res/values-it-rIT/strings.xml +++ b/app/src/main/res/values-it-rIT/strings.xml @@ -176,8 +176,6 @@ Ti avviseremo non appena avremo finito di elaborare il tuo pagamento. Impossibile avviare il flusso di pagamento. Si prega di riprovare più tardi! Impossibile caricare i dettagli dell\'acquisto in-app. Si prega di riprovare più tardi! - Durante la riproduzione di preimpostazioni non salvate, abilita i pulsanti di salto nella notifica del lettore per generare preimposatzioni casuali - Permetti di saltare le preimpostazioni non salvate Condividi automaticamente i dati di utilizzo e di comportamento con gli sviluppatori Condividi i dati sull\'uso e sul comportamento Altri diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index c7d4f982f..738536a8f 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -146,8 +146,6 @@ お支払いの処理が完了したら、すぐにお知らせします。 支払フローを開始できませんでした。後でもう一度お試しください! アプリ内課金の詳細を読み込めませんでした。後でもう一度お試しください! - 保存されていないプリセットを再生する場合、プレーヤー通知にランダムプリセットを生成するためのスキップボタンを有効化する - 保存されていないプリセットのスキップを許可 使用状況と動作データを開発者と共有する 使用状況と動作データの共有 その他 diff --git a/app/src/main/res/values-lt/strings.xml b/app/src/main/res/values-lt/strings.xml index a41a74f39..7d0aebea0 100644 --- a/app/src/main/res/values-lt/strings.xml +++ b/app/src/main/res/values-lt/strings.xml @@ -169,7 +169,6 @@ Gyvybė Garsumas Sustabdyti - Grojant neišsaugotas parinktis, įgalinkite praleidimo mygtukus grotuvo pranešime, kad būtų generuojamos atsitiktinės parinktys Tolygaus garsėjimo pradžioje trukmė (sekundėmis) Garso tolygaus garsėjimo pradžioje trukmė Pakartojimo laikotarpis @@ -182,7 +181,6 @@ %1$d minutės %1$d minučių - Leisti praleisti neišsaugotas parinktis Automatinis naudojimo ir elgsenos duomenų bendrinimas su kūrėjais Dalytis naudojimo ir elgsenos duomenimis Kita diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 611de5ad4..160afb181 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -179,8 +179,6 @@ Notificaremos você assim que terminarmos de processar seu pagamento. Falha ao iniciar o fluxo de pagamento. Por favor, tente novamente mais tarde! Falha ao carregar os detalhes de compra no aplicativo. Por favor, tente novamente mais tarde! - Ao reproduzir predefinições não salvas, habilite os botões de pular na notificação do reprodutor de som para gerar predefinições aleatórias - Permitir pular predefinições não salvas Compartilhar automaticamente dados de uso e comportamento com os desenvolvedores Compartilhar dados de uso e comportamento Outros diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index 5e73e1c11..e9407292b 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -119,8 +119,6 @@ Vamos notificá-lo assim que terminarmos o processamento do seu pagamento. Não foi possível iniciar o processo de pagamento. Por favor,tente novamente mais tarde! Não foi possível carregar os detalhes da compra na aplicação. Por favor tente de novo mais tarde! - Ao reproduzir misturas de sons não guardadas, ativa os botões de ignorar na notificação do reprodutor de som para gerar misturas de sons aleatórias - Permitir ignorar misturas de sons não guardadas Partilhar automaticamente dados de utilização e comportamento com os programadores Partilhar dados de utilização e comportamento Outros diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 79336b957..c1e5a1b2e 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -205,8 +205,6 @@ Мы сообщим вам, как только закончим обработку вашего платежа. Не удалось запустить поток платежей. Повторите попытку позже! Не удалось загрузить сведения о покупке в приложении. Пожалуйста, повторите попытку позже! - При воспроизведении несохраненных предустановок включите кнопки пропуска в уведомлении плеера, чтобы генерировать случайные предустановки - Разрешить пропуск несохраненных предустановок Автоматически отправлять разработчикам данные об использовании и поведении Передача данных об использовании и поведении Мы собираем данные об использовании приложения для улучшения пользовательского опыта. Мы также собираем данные о поведении приложения для анализа и диагностики ошибок, возникающих во время использования приложения. Для получения дополнительной информации ознакомьтесь с нашей [политикой конфиденциальности] (https://ashutoshgngwr.github.io/noice/privacy-policy). diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index 00ae1cabe..bf1101fcf 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -207,8 +207,6 @@ Ödemenizi işlemeyi bitirir bitirmez sizi bilgilendireceğiz. Ödeme akışı başlatılamadı. Lütfen daha sonra tekrar deneyin! Uygulama içi satın alma ayrıntıları yüklenemedi. Lütfen daha sonra tekrar deneyin! - Kaydedilmemiş kayıtları oynatırken, rastgele kayıtlar oluşturmak için oynatıcı bildirimindeki atlama düğmelerini etkinleştirin - Kaydedilmemiş kayıtların atlanmasına izin ver Kullanım ve davranış verilerini geliştiricilerle otomatik olarak paylaşın Kullanım ve davranış verilerini paylaş Diğer diff --git a/app/src/main/res/values-uk-rUA/strings.xml b/app/src/main/res/values-uk-rUA/strings.xml index aec05db51..a9cb11476 100644 --- a/app/src/main/res/values-uk-rUA/strings.xml +++ b/app/src/main/res/values-uk-rUA/strings.xml @@ -186,8 +186,6 @@ Ми повідомимо вас, щойно завершимо обробку платежу. Не вдалося запустити потік платежів. Повторіть спробу пізніше! Не вдалося завантажити відомості про придбання через застосунок. Повторіть спробу пізніше! - Під час відтворення незбереженого поєднання вмикати кнопки пропуску в сповіщенні програвача для створення поєднань - Дозволити пропускати незбережені поєднання Автоматично надсилати розробникам дані про користування та поведінку Надсилання даних про користування та поведінку Інші diff --git a/app/src/main/res/values-vi/strings.xml b/app/src/main/res/values-vi/strings.xml index 2465130a6..27c29b1c1 100644 --- a/app/src/main/res/values-vi/strings.xml +++ b/app/src/main/res/values-vi/strings.xml @@ -174,8 +174,6 @@ Chúng tôi sẽ thông báo cho bạn ngay sau khi chúng tôi hoàn tất xử lý thanh toán của bạn. Khởi động dòng chảy thanh toán thất bại. Vui lòng thử lại sau! Tải chi tiết mua hàng trong ứng dụng thất bại. Vui lòng thử lại sau! - Khi phát các thiết lập trước chưa được lưu, bật các nút bỏ qua trong thông báo trình phát để tạo các thiết lập trước ngẫu nhiên - Cho phép bỏ qua các thiết lập trước chưa được lưu Tự động chia sẻ dữ liệu sử dụng và hành vi với những nhà phát triển Chia sẻ dữ liệu sử dụng và hành vi Khác diff --git a/app/src/main/res/values/donottranslate.xml b/app/src/main/res/values/donottranslate.xml index 434579c3b..6d4c16ae2 100644 --- a/app/src/main/res/values/donottranslate.xml +++ b/app/src/main/res/values/donottranslate.xml @@ -31,5 +31,5 @@ should_display_sound_icons others should_share_usage_data - should_allow_skipping_unsaved_presets + enable_media_buttons diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 8ed7211a9..cf5ee0d55 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -222,10 +222,10 @@ Others Share usage and behaviour data Automatically share usage and behaviour data with the developers - Allow skipping unsaved presets - When playing unsaved presets, enable skip buttons in player notification to generate random presets Failed to load in-app purchase details. Please try again later! Failed to start payment flow. Please try again later! We\'ll notify you as soon as we finish processing your payment. Created by + Enable media buttons + Use hardware media buttons to skip presets when playing saved presets \ No newline at end of file diff --git a/app/src/main/res/xml/settings.xml b/app/src/main/res/xml/settings.xml index b55a68b94..c8af8bc73 100644 --- a/app/src/main/res/xml/settings.xml +++ b/app/src/main/res/xml/settings.xml @@ -30,10 +30,10 @@ + android:icon="@drawable/ic_settings_media_buttons" + android:key="@string/enable_media_buttons_key" + android:summary="@string/enable_media_buttons_summary" + android:title="@string/enable_media_buttons" />