From e3865dc1e18831b0ef488b779986ac2c015064e0 Mon Sep 17 00:00:00 2001 From: Lucas Lima Date: Sun, 31 Oct 2021 12:21:19 -0300 Subject: [PATCH 01/11] Update strings --- i18n/src/main/res/values-af-rZA/strings.xml | 3 +-- i18n/src/main/res/values-ar-rSA/strings.xml | 3 +-- i18n/src/main/res/values-bg-rBG/strings.xml | 3 +-- i18n/src/main/res/values-ca-rES/strings.xml | 3 +-- i18n/src/main/res/values-cs-rCZ/strings.xml | 3 +-- i18n/src/main/res/values-da-rDK/strings.xml | 3 +-- i18n/src/main/res/values-de-rDE/strings.xml | 3 +-- i18n/src/main/res/values-el-rGR/strings.xml | 3 +-- i18n/src/main/res/values-en-rUS/strings.xml | 3 +-- i18n/src/main/res/values-eo-rUY/strings.xml | 3 +-- i18n/src/main/res/values-es-rES/strings.xml | 3 +-- i18n/src/main/res/values-fa-rIR/strings.xml | 5 ++--- i18n/src/main/res/values-fi-rFI/strings.xml | 3 +-- i18n/src/main/res/values-fr-rFR/strings.xml | 3 +-- i18n/src/main/res/values-hi-rIN/strings.xml | 4 ++-- i18n/src/main/res/values-hu-rHU/strings.xml | 3 +-- i18n/src/main/res/values-in-rID/strings.xml | 3 +-- i18n/src/main/res/values-it-rIT/strings.xml | 3 +-- i18n/src/main/res/values-iw-rIL/strings.xml | 3 +-- i18n/src/main/res/values-ja-rJP/strings.xml | 3 +-- i18n/src/main/res/values-ko-rKR/strings.xml | 3 +-- i18n/src/main/res/values-ku-rTR/strings.xml | 3 +-- i18n/src/main/res/values-lv-rLV/strings.xml | 11 +++++------ i18n/src/main/res/values-nl-rNL/strings.xml | 3 +-- i18n/src/main/res/values-no-rNO/strings.xml | 3 +-- i18n/src/main/res/values-pl-rPL/strings.xml | 3 +-- i18n/src/main/res/values-pt-rBR/strings.xml | 3 +-- i18n/src/main/res/values-pt-rPT/strings.xml | 3 +-- i18n/src/main/res/values-ro-rRO/strings.xml | 3 +-- i18n/src/main/res/values-ru-rRU/strings.xml | 3 +-- i18n/src/main/res/values-sk-rSK/strings.xml | 3 +-- i18n/src/main/res/values-sv-rSE/strings.xml | 13 ++++++------- i18n/src/main/res/values-ta-rIN/strings.xml | 5 ++--- i18n/src/main/res/values-th-rTH/strings.xml | 3 +-- i18n/src/main/res/values-tr-rTR/strings.xml | 3 +-- i18n/src/main/res/values-uk-rUA/strings.xml | 9 ++++----- i18n/src/main/res/values-vec-rIT/strings.xml | 3 +-- i18n/src/main/res/values-vi-rVN/strings.xml | 3 +-- i18n/src/main/res/values-zh-rCN/strings.xml | 3 +-- i18n/src/main/res/values-zh-rTW/strings.xml | 6 +++--- 40 files changed, 57 insertions(+), 95 deletions(-) diff --git a/i18n/src/main/res/values-af-rZA/strings.xml b/i18n/src/main/res/values-af-rZA/strings.xml index 203327b8d..ad388ddac 100644 --- a/i18n/src/main/res/values-af-rZA/strings.xml +++ b/i18n/src/main/res/values-af-rZA/strings.xml @@ -20,7 +20,6 @@ Verstellings Animasie Haptiese terugvoer - Haptic Feedback Level Aangaande Statistiek Pasmaak @@ -33,7 +32,6 @@ Wil u \'n nuwe spel begin met hierdie kaart? %d myne Speeltyd - Myne Algemeen Spel Toeganklikheid @@ -123,4 +121,5 @@ The current minefield may not be guess-free! Fixed Size Progressive + Highlight unsolved numbers diff --git a/i18n/src/main/res/values-ar-rSA/strings.xml b/i18n/src/main/res/values-ar-rSA/strings.xml index 2f596cf5b..b49069482 100644 --- a/i18n/src/main/res/values-ar-rSA/strings.xml +++ b/i18n/src/main/res/values-ar-rSA/strings.xml @@ -20,7 +20,6 @@ الإعدادات الرسوم المتحركة تغذية راجعة باللمس - تغذية راجعة باللمس حول إحصائيات مخصص @@ -33,7 +32,6 @@ هل تريد بدء لعبة جديدة؟ %d لغم وقت اللعب - لغم عام أسلوب اللعبة إمكانية الوصول @@ -123,4 +121,5 @@ قد لا يكون حقل الألغام الحالي خاليًا من التخمين! الجم الثابت التقدمي + Highlight unsolved numbers diff --git a/i18n/src/main/res/values-bg-rBG/strings.xml b/i18n/src/main/res/values-bg-rBG/strings.xml index d47867d8e..c54a7eeed 100644 --- a/i18n/src/main/res/values-bg-rBG/strings.xml +++ b/i18n/src/main/res/values-bg-rBG/strings.xml @@ -20,7 +20,6 @@ Настройки Анимации Вибрация при докосване - Haptic Feedback Level За нас Статистики По избор @@ -33,7 +32,6 @@ Искате ли да започнете нова игра? %d мини Време в играта - Мина Основни Начин на игра Достъпност @@ -123,4 +121,5 @@ Сегашното поле може да не е без предположения! Фиксиран размер Прогресивен + Highlight unsolved numbers diff --git a/i18n/src/main/res/values-ca-rES/strings.xml b/i18n/src/main/res/values-ca-rES/strings.xml index 0b75f882b..2cd474bae 100644 --- a/i18n/src/main/res/values-ca-rES/strings.xml +++ b/i18n/src/main/res/values-ca-rES/strings.xml @@ -20,7 +20,6 @@ Configuració Animacions Resposta hàptica - Haptic Feedback Level Quant a Estadístiques Personalitzat @@ -33,7 +32,6 @@ Vols començar un joc nou? %d mines Temps de joc - Mina General Joc Accessibilitat @@ -123,4 +121,5 @@ The current minefield may not be guess-free! Mida Fixa Progressiu + Highlight unsolved numbers diff --git a/i18n/src/main/res/values-cs-rCZ/strings.xml b/i18n/src/main/res/values-cs-rCZ/strings.xml index 8abb174a5..fa615b53c 100644 --- a/i18n/src/main/res/values-cs-rCZ/strings.xml +++ b/i18n/src/main/res/values-cs-rCZ/strings.xml @@ -20,7 +20,6 @@ Nastavení Animace Hmatová odezva - Síla hmatové odezvy O aplikaci Statistiky Vlastní @@ -33,7 +32,6 @@ Chcete začít novou hru? Počet min: %d Herní čas - Mina Obecné Hra Přístupnost @@ -123,4 +121,5 @@ Možná budete potřebovat nápovědu k dokončení této úrovně! Pevná velikost Progresivní + Zvýraznit nevyřešená čísla diff --git a/i18n/src/main/res/values-da-rDK/strings.xml b/i18n/src/main/res/values-da-rDK/strings.xml index 8f45bdcb7..ee60961d3 100644 --- a/i18n/src/main/res/values-da-rDK/strings.xml +++ b/i18n/src/main/res/values-da-rDK/strings.xml @@ -20,7 +20,6 @@ Settings Animationer Haptisk Feedback - Haptic Feedback Level Om Statistik Tilpasset @@ -33,7 +32,6 @@ Vil du starte et nyt spil? %d miner Spil Tid - Mine Generelt Gameplay Tilgængelighed @@ -123,4 +121,5 @@ The current minefield may not be guess-free! Fixed Size Progressive + Highlight unsolved numbers diff --git a/i18n/src/main/res/values-de-rDE/strings.xml b/i18n/src/main/res/values-de-rDE/strings.xml index c1af47140..ad1a46e3c 100644 --- a/i18n/src/main/res/values-de-rDE/strings.xml +++ b/i18n/src/main/res/values-de-rDE/strings.xml @@ -20,7 +20,6 @@ Einstellungen Animationen Haptische Rückmeldung - Haptische Rückmeldung Über Statistiken Benutzerdefiniert @@ -33,7 +32,6 @@ Möchtest du ein neues Spiel beginnen? %d Minen Spielzeit - Mine Allgemein Spielablauf Barrierefreiheit @@ -123,4 +121,5 @@ Das aktuelle Minenfeld ist möglicherweise nicht ratenfrei! Feste Größe Fortschrittlich + Highlight unsolved numbers diff --git a/i18n/src/main/res/values-el-rGR/strings.xml b/i18n/src/main/res/values-el-rGR/strings.xml index 8c52a4b7b..1b1e6b82a 100644 --- a/i18n/src/main/res/values-el-rGR/strings.xml +++ b/i18n/src/main/res/values-el-rGR/strings.xml @@ -20,7 +20,6 @@ Ρυθμίσεις Εφέ Κίνησης Δόνηση - Επίπεδο Δόνησης Σχετικά Στατιστικά Προσαρμοσμένο @@ -33,7 +32,6 @@ Θέλετε να ξεκινήσετε ένα νέο παιχνίδι; %d νάρκες Ώρα Παιχνιδιού - Νάρκη Γενικά Gameplay Προσβασιμότητα @@ -123,4 +121,5 @@ Το τρέχον ναρκοπέδιο δεν μπορεί να λυθεί χωρίς μαντεψιές! Προεπιλεγμένο Μέγεθος Προοδευτικό + Επισήμανση άλυτων αριθμών diff --git a/i18n/src/main/res/values-en-rUS/strings.xml b/i18n/src/main/res/values-en-rUS/strings.xml index 0f59475b9..a13a03c24 100644 --- a/i18n/src/main/res/values-en-rUS/strings.xml +++ b/i18n/src/main/res/values-en-rUS/strings.xml @@ -20,7 +20,6 @@ Settings Animations Haptic Feedback - Haptic Feedback Level About Statistics Custom @@ -33,7 +32,6 @@ Do you want to start a new game? %d mines Game Time - Mine General Gameplay Accessibility @@ -123,4 +121,5 @@ The current minefield may not be guess-free! Fixed Size Progressive + Highlight unsolved numbers diff --git a/i18n/src/main/res/values-eo-rUY/strings.xml b/i18n/src/main/res/values-eo-rUY/strings.xml index 1058daa6a..0a80dea9c 100644 --- a/i18n/src/main/res/values-eo-rUY/strings.xml +++ b/i18n/src/main/res/values-eo-rUY/strings.xml @@ -20,7 +20,6 @@ Agordoj Animacioj Tuŝ-retrokuplado - Tuŝ-retrokuplado Pri Statistikaĵoj Laŭmenda @@ -33,7 +32,6 @@ Ĉu vi volas komenci novan ludon? %d minoj Luda Tempo - Mino Ĝeneralaj Ludmaniero Alirebleco @@ -123,4 +121,5 @@ The current minefield may not be guess-free! Fixed Size Progressive + Highlight unsolved numbers diff --git a/i18n/src/main/res/values-es-rES/strings.xml b/i18n/src/main/res/values-es-rES/strings.xml index 0b5847e0a..f57fa696d 100644 --- a/i18n/src/main/res/values-es-rES/strings.xml +++ b/i18n/src/main/res/values-es-rES/strings.xml @@ -20,7 +20,6 @@ Configuración Animaciones Respuesta háptica - Nivel de respuesta táctil Acerca de Estadísticas Personalizado @@ -33,7 +32,6 @@ ¿Deseas empezar una nueva partida? %d minas Tiempo de juego - Mina General Jugabilidad Accesibilidad @@ -123,4 +121,5 @@ ¡Es posible que necesites una pista para solucionar este nivel! Tamaño fijo Progresivo + Highlight unsolved numbers diff --git a/i18n/src/main/res/values-fa-rIR/strings.xml b/i18n/src/main/res/values-fa-rIR/strings.xml index 4dbc448a7..2f0420e19 100644 --- a/i18n/src/main/res/values-fa-rIR/strings.xml +++ b/i18n/src/main/res/values-fa-rIR/strings.xml @@ -7,7 +7,7 @@ If a square has the same number of flags, all other remaining squares adjacent to it aren\'t mines (the green arrow). Review the numbers and keep opening squares. Games - Tap to begin + Tap to Begin Previous Games Difficulty Standard @@ -20,7 +20,6 @@ Settings Animations Haptic Feedback - Haptic Feedback Level About Statistics Custom @@ -33,7 +32,6 @@ Do you want to start a new game? %d mines Game Time - Mine General Gameplay Accessibility @@ -123,4 +121,5 @@ The current minefield may not be guess-free! Fixed Size Progressive + Highlight unsolved numbers diff --git a/i18n/src/main/res/values-fi-rFI/strings.xml b/i18n/src/main/res/values-fi-rFI/strings.xml index e5d27360d..35f66b9bb 100644 --- a/i18n/src/main/res/values-fi-rFI/strings.xml +++ b/i18n/src/main/res/values-fi-rFI/strings.xml @@ -20,7 +20,6 @@ Asetukset Animaatiot Värinä - Haptic Feedback Level Tietoja Tilastot Mukautettu @@ -33,7 +32,6 @@ Tahdotko aloittaa uuden pelin? %d miinaa Peliaika - Louhi Yleiset Pelattavuus Esteettömyys @@ -123,4 +121,5 @@ The current minefield may not be guess-free! Fixed Size Progressive + Highlight unsolved numbers diff --git a/i18n/src/main/res/values-fr-rFR/strings.xml b/i18n/src/main/res/values-fr-rFR/strings.xml index 76bdac826..dad2f3843 100644 --- a/i18n/src/main/res/values-fr-rFR/strings.xml +++ b/i18n/src/main/res/values-fr-rFR/strings.xml @@ -20,7 +20,6 @@ Réglages Animations Retour tactile - Haptic Feedback Level À propos Statistiques Personnalisé @@ -33,7 +32,6 @@ Voulez-vous commencer une nouvelle partie ? %d mines Temps de jeu - Mine Général Jouabilité Accessibilité @@ -123,4 +121,5 @@ Le champ de mines actuel ne peut pas être résolu sans deviner ! Taille fixe Progressif + Highlight unsolved numbers diff --git a/i18n/src/main/res/values-hi-rIN/strings.xml b/i18n/src/main/res/values-hi-rIN/strings.xml index 18584894a..8947e6a68 100644 --- a/i18n/src/main/res/values-hi-rIN/strings.xml +++ b/i18n/src/main/res/values-hi-rIN/strings.xml @@ -1,4 +1,4 @@ - + ट्यूटोरियल गेम का नियम सरल है, स्क्वेयर पर मौजूद संख्या उसके पास वाले माइन की संख्या को दर्शाती है और आपको सभी माइन पर फ़्लैग लगाना है. @@ -112,7 +112,6 @@ फ्लैग करें और खोलें के बीच स्विच करने के लिए बटन का उपयोग करें आपको एक आयताकार बोर्ड को साफ करना होगा जिसमें छिपी हुई माइन हैं, साथ ही उनमें से कोई भी विस्फोट न हो. एंटीमाइन - Crowdin क्या आप माइनस्वीपर खेलना जानते हैं? बंद करे ट्यूटोरियल खोलें @@ -122,4 +121,5 @@ वर्तमान माइनफ़ील्ड अनुमान-मुक्त नहीं हो सकता है! निर्धारित आकार प्रोग्रेसिव + Highlight unsolved numbers diff --git a/i18n/src/main/res/values-hu-rHU/strings.xml b/i18n/src/main/res/values-hu-rHU/strings.xml index 2593bd809..23560e166 100644 --- a/i18n/src/main/res/values-hu-rHU/strings.xml +++ b/i18n/src/main/res/values-hu-rHU/strings.xml @@ -20,7 +20,6 @@ Beállítások Animációk Érintéskori visszajelzés - Haptic Feedback Level Rólunk Statisztikák Egyéni @@ -33,7 +32,6 @@ Szeretnél új játékot kezdeni? %d akna Játékidő - Akna Általános Játékmenet Kisegítő lehetőségek @@ -123,4 +121,5 @@ A jelenlegi szint lehet nem tipp mentes! Fixed Size Progressive + Highlight unsolved numbers diff --git a/i18n/src/main/res/values-in-rID/strings.xml b/i18n/src/main/res/values-in-rID/strings.xml index f4fe60baf..bd97bef92 100644 --- a/i18n/src/main/res/values-in-rID/strings.xml +++ b/i18n/src/main/res/values-in-rID/strings.xml @@ -20,7 +20,6 @@ Pengaturan Animasi Umpan Balik Haptik - Tingkat Umpan Balik Haptik Tentang Statistik Kustom @@ -33,7 +32,6 @@ Apakah Anda ingin memulai permainan baru? %d ranjau Waktu permainan - Ranjau Umum Gameplay Aksesibilitas @@ -123,4 +121,5 @@ Ladang Ranjau saat ini kemungkinan tidak dapat diselesaikan tanpa menebak! Ukuran tetap Progresif + Highlight unsolved numbers diff --git a/i18n/src/main/res/values-it-rIT/strings.xml b/i18n/src/main/res/values-it-rIT/strings.xml index 67a32395a..ed2a0d11a 100644 --- a/i18n/src/main/res/values-it-rIT/strings.xml +++ b/i18n/src/main/res/values-it-rIT/strings.xml @@ -20,7 +20,6 @@ Impostazioni Animazioni Feedback tattile - Feedback tattile Informazioni Statistiche Personalizza @@ -33,7 +32,6 @@ Vuoi iniziare una nuova partita? %d mine Tempo di gioco - Scava Generale Gioco Accessibilità @@ -123,4 +121,5 @@ L\'attuale campo minato potrebbe non essere indovinabile! Dimensione Fissa Progressivo + Evidenzia numeri non risolti diff --git a/i18n/src/main/res/values-iw-rIL/strings.xml b/i18n/src/main/res/values-iw-rIL/strings.xml index c7aea6cc8..5075d83d2 100644 --- a/i18n/src/main/res/values-iw-rIL/strings.xml +++ b/i18n/src/main/res/values-iw-rIL/strings.xml @@ -20,7 +20,6 @@ הגדרות אנימציות משוב רטט - Haptic Feedback Level אודות סטטיסטיקה התאמה אישית @@ -33,7 +32,6 @@ האם ברצונך להתחיל משחק חדש? %d מוקשים זמן משחק - מוקש כללי משחק נגישות @@ -123,4 +121,5 @@ The current minefield may not be guess-free! Fixed Size Progressive + Highlight unsolved numbers diff --git a/i18n/src/main/res/values-ja-rJP/strings.xml b/i18n/src/main/res/values-ja-rJP/strings.xml index 3cd1af429..57f135c5d 100644 --- a/i18n/src/main/res/values-ja-rJP/strings.xml +++ b/i18n/src/main/res/values-ja-rJP/strings.xml @@ -20,7 +20,6 @@ 設定 アニメーション タッチ操作バイブ - Haptic Feedback Level このアプリについて 統計 カスタム @@ -33,7 +32,6 @@ 新しくゲームを始めますか? %d 個の地雷 ゲーム時間 - 地雷 全般 ゲームプレイ アクセシビリティ @@ -123,4 +121,5 @@ The current minefield may not be guess-free! Fixed Size Progressive + Highlight unsolved numbers diff --git a/i18n/src/main/res/values-ko-rKR/strings.xml b/i18n/src/main/res/values-ko-rKR/strings.xml index bf53e0a85..ebc1e5fe2 100644 --- a/i18n/src/main/res/values-ko-rKR/strings.xml +++ b/i18n/src/main/res/values-ko-rKR/strings.xml @@ -20,7 +20,6 @@ 설정 애니메이션 터치 시 진동 - 터치 시 진동 크기 앱 정보 통계 사용자 지정 @@ -33,7 +32,6 @@ 새로운 게임을 시작하시겠습니까? %d 개 게임 시간 - 지뢰 일반 게임 플레이 접근성 @@ -123,4 +121,5 @@ 현재 레벨은 추정 없이 깨지 못할 수도 있습니다! 고정 크기 프로그레시브 + 미해결 숫자 강조 diff --git a/i18n/src/main/res/values-ku-rTR/strings.xml b/i18n/src/main/res/values-ku-rTR/strings.xml index ca54f8de8..b95f9d7da 100644 --- a/i18n/src/main/res/values-ku-rTR/strings.xml +++ b/i18n/src/main/res/values-ku-rTR/strings.xml @@ -20,7 +20,6 @@ ڕێکخستنەکان ئەنیمەیشنەکان وڵامدانەوەی ڕاوبۆچون - Haptic Feedback Level دەربارە ئامار ئاسایی @@ -33,7 +32,6 @@ ئایا دەتەوێت یاریەکی نوێ دەست پێبکەیت؟ %dمینەکان کاتی یاری - مین گشتی شێوازی یاری توانای گەیشتن @@ -123,4 +121,5 @@ The current minefield may not be guess-free! Fixed Size Progressive + Highlight unsolved numbers diff --git a/i18n/src/main/res/values-lv-rLV/strings.xml b/i18n/src/main/res/values-lv-rLV/strings.xml index 434c47430..0d681e2d6 100644 --- a/i18n/src/main/res/values-lv-rLV/strings.xml +++ b/i18n/src/main/res/values-lv-rLV/strings.xml @@ -20,7 +20,6 @@ Iestatījumi Animācijas Haptiskas atsauksmes - Haptic Feedback Level Par lietotni Statistika Pielāgots @@ -33,7 +32,6 @@ Vai tu vēlies uzsākt jaunu spēli? %d mīnas Spēles laiks - Mīna Vispārīgi Spēlē Pieejamība @@ -54,18 +52,18 @@ Versija %1$s Skaņas efekti Vai esi pārliecināts(a)? - Ieslēgt automātisku atzīmēšanu + Iespējot automātisku atzīmēšanu Atvērti lauki Kopējais laiks Vidējais laiks Īsākais laiks Izpilde Labi - Izmantot arī jautājuma zīmi - Bez minēšanas + Iespējot jautājuma zīmi + Režīms bez minēšanas Kontroles Pieskāriens - Dubultpiesitiens + Dubultpieskāriens Ilgs pieskāriens Jūtīgums Atvērt @@ -123,4 +121,5 @@ Pašreizējais mīnu lauks nav no minēšanas brīvs! Nemainīga lieluma Ar attīstību + Izcelt neatrisinātos skaitļus diff --git a/i18n/src/main/res/values-nl-rNL/strings.xml b/i18n/src/main/res/values-nl-rNL/strings.xml index 842ab4c26..dac5bdc51 100644 --- a/i18n/src/main/res/values-nl-rNL/strings.xml +++ b/i18n/src/main/res/values-nl-rNL/strings.xml @@ -20,7 +20,6 @@ Instellingen Animaties Haptische feedback - Haptic Feedback Level Over Statistieken Aangepast @@ -33,7 +32,6 @@ Wil je een nieuw spel beginnen? %d mijnen Game Tijd - Mijn Algemeen Gameplay Toegankelijkheid @@ -123,4 +121,5 @@ The current minefield may not be guess-free! Fixed Size Progressive + Highlight unsolved numbers diff --git a/i18n/src/main/res/values-no-rNO/strings.xml b/i18n/src/main/res/values-no-rNO/strings.xml index 99769b324..dc6b744bd 100644 --- a/i18n/src/main/res/values-no-rNO/strings.xml +++ b/i18n/src/main/res/values-no-rNO/strings.xml @@ -20,7 +20,6 @@ Innstillinger Animasjoner Haptisk Tilbakemelding - Haptisk Tilbakemelding Nivå Om Statistikk Egendefinert @@ -33,7 +32,6 @@ Vil du starte et nytt spill? %d miner Spilletid - Mine Generelt Spillopplevelse Tilgjengelighet @@ -123,4 +121,5 @@ Det nåværende minefeltet kan ikke løses uten å gjette! Fast størrelse Progressiv + Marker uløste numre diff --git a/i18n/src/main/res/values-pl-rPL/strings.xml b/i18n/src/main/res/values-pl-rPL/strings.xml index 91b2be1a9..9ec3a6bec 100644 --- a/i18n/src/main/res/values-pl-rPL/strings.xml +++ b/i18n/src/main/res/values-pl-rPL/strings.xml @@ -20,7 +20,6 @@ Ustawienia Animacje Wibracja przy dotknięciu - Intensywność wibracji Informacje Statystyki Niestandardowy @@ -33,7 +32,6 @@ Czy chcesz rozpocząć nową rozgrywkę? %d Czas gry - Mina Ogólne Rozgrywka Ułatwienia dostępu @@ -123,4 +121,5 @@ To pole minowe może wymagać zgadywania, aby je ukończyć! Ustalony rozmiar Progresywny + Highlight unsolved numbers diff --git a/i18n/src/main/res/values-pt-rBR/strings.xml b/i18n/src/main/res/values-pt-rBR/strings.xml index 20065382e..302b2d677 100644 --- a/i18n/src/main/res/values-pt-rBR/strings.xml +++ b/i18n/src/main/res/values-pt-rBR/strings.xml @@ -20,7 +20,6 @@ Preferências Animações Feedback tátil - Nível de Feedback tátil Sobre Estatísticas Personalizado @@ -33,7 +32,6 @@ Você quer começar um novo jogo? %d minas Tempo de jogo - Mina Geral Jogabilidade Acessibilidade @@ -123,4 +121,5 @@ O campo minado atual pode não ser resolvido sem adivinhação! Tamanho Fixo Progressivo + Destacar números não resolvidos diff --git a/i18n/src/main/res/values-pt-rPT/strings.xml b/i18n/src/main/res/values-pt-rPT/strings.xml index 866e882ed..3b7d4b160 100644 --- a/i18n/src/main/res/values-pt-rPT/strings.xml +++ b/i18n/src/main/res/values-pt-rPT/strings.xml @@ -20,7 +20,6 @@ Configurações Animações Resposta tátil - Nível de resposta tátil Sobre Estatísticas Personalizado @@ -33,7 +32,6 @@ Queres começar um novo jogo? %d minas Tempo de jogo - Mina Geral Jogabilidade Acessibilidade @@ -123,4 +121,5 @@ O campo minado atual pode não ser resolvido sem adivinhação! Tamanho fixo Progressivo + Destacar números não resolvidos diff --git a/i18n/src/main/res/values-ro-rRO/strings.xml b/i18n/src/main/res/values-ro-rRO/strings.xml index 03af96b1c..ad39f2221 100644 --- a/i18n/src/main/res/values-ro-rRO/strings.xml +++ b/i18n/src/main/res/values-ro-rRO/strings.xml @@ -20,7 +20,6 @@ Setări Animații Feedback haptic - Haptic Feedback Level Despre Statistici Personalizat @@ -33,7 +32,6 @@ Vrei să începi un joc nou? %d mine Durata Jocului - Mină General Joc Accesibilitate @@ -123,4 +121,5 @@ Este posibil ca actualul teren de mine să nu fie lipsit de ghiciri! Dimensiune fixă Progresiv + Highlight unsolved numbers diff --git a/i18n/src/main/res/values-ru-rRU/strings.xml b/i18n/src/main/res/values-ru-rRU/strings.xml index 8360f0b70..631512bc3 100644 --- a/i18n/src/main/res/values-ru-rRU/strings.xml +++ b/i18n/src/main/res/values-ru-rRU/strings.xml @@ -20,7 +20,6 @@ Настройки Анимации Виброотклик - Уровень виброотклика Об игре Статистика Другой @@ -33,7 +32,6 @@ Начать новую игру? %d мин Время в игре - Мина Общее Геймплей Специальные возможности @@ -123,4 +121,5 @@ Вам может понадобиться подсказка, чтобы пройти этот уровень! Фиксированный размер Прогрессивный + Подсвечивать неразгаданные числа diff --git a/i18n/src/main/res/values-sk-rSK/strings.xml b/i18n/src/main/res/values-sk-rSK/strings.xml index 7803d41f6..a45a09dba 100644 --- a/i18n/src/main/res/values-sk-rSK/strings.xml +++ b/i18n/src/main/res/values-sk-rSK/strings.xml @@ -20,7 +20,6 @@ Settings Animations Haptic Feedback - Haptic Feedback Level About Statistics Custom @@ -33,7 +32,6 @@ Do you want to start a new game? %d mines Game Time - Mine General Gameplay Accessibility @@ -123,4 +121,5 @@ The current minefield may not be guess-free! Fixed Size Progressive + Highlight unsolved numbers diff --git a/i18n/src/main/res/values-sv-rSE/strings.xml b/i18n/src/main/res/values-sv-rSE/strings.xml index b32f80b15..ef7509da0 100644 --- a/i18n/src/main/res/values-sv-rSE/strings.xml +++ b/i18n/src/main/res/values-sv-rSE/strings.xml @@ -20,7 +20,6 @@ Inställningar Animationer Haptik-feedback - Haptic Feedback Level Om Statistik Anpassa @@ -33,7 +32,6 @@ Vill du starta ett nytt spel? %d minor Speltid - Mina Allmänt Spelsätt Tillgänglighet @@ -118,9 +116,10 @@ Stäng Öppna Guide Tillåt tryck på siffror - Tap to customize - Show \"Toggle Button\" on top bar - The current minefield may not be guess-free! - Fixed Size - Progressive + Tryck för att anpassa + Visa \"Växla knapp\" i övre fältet + Den nuvarande minfälten kanske inte är gissfri! + Fast storlek + Progressiv + Highlight unsolved numbers diff --git a/i18n/src/main/res/values-ta-rIN/strings.xml b/i18n/src/main/res/values-ta-rIN/strings.xml index 0cdcd4ac6..afbd0ba23 100644 --- a/i18n/src/main/res/values-ta-rIN/strings.xml +++ b/i18n/src/main/res/values-ta-rIN/strings.xml @@ -7,7 +7,7 @@ If a square has the same number of flags, all other remaining squares adjacent to it aren\'t mines (the green arrow). Review the numbers and keep opening squares. Games - Tap to begin + Tap to Begin முந்தைய ஆட்டங்கள் கடினத்தன்மை Standard @@ -20,7 +20,6 @@ அமைப்புகள் Animations Haptic Feedback - Haptic Feedback Level செயலி பற்றி புள்ளியியல் தனி விருப்பம் @@ -33,7 +32,6 @@ Do you want to start a new game? %d mines Game Time - Mine General Gameplay Accessibility @@ -123,4 +121,5 @@ The current minefield may not be guess-free! நிலையான அளவு Progressive + Highlight unsolved numbers diff --git a/i18n/src/main/res/values-th-rTH/strings.xml b/i18n/src/main/res/values-th-rTH/strings.xml index 3516c5057..f7f0f9cf3 100644 --- a/i18n/src/main/res/values-th-rTH/strings.xml +++ b/i18n/src/main/res/values-th-rTH/strings.xml @@ -20,7 +20,6 @@ การตั้งค่า ภาพเคลื่อนไหว สั่นเมื่อแตะ - การตอบสนองแบบสัมผัส เกี่ยวกับ สติถิ ปรับแต่งเอง @@ -33,7 +32,6 @@ ยืนยันเริ่มเกมใหม่หรือไม่? %d กับระเบิด เวลาเล่นเกม - ทุ่นระเบิด ทั่วไป การเล่นเกม การเข้าถึง @@ -123,4 +121,5 @@ The current minefield may not be guess-free! Fixed Size Progressive + Highlight unsolved numbers diff --git a/i18n/src/main/res/values-tr-rTR/strings.xml b/i18n/src/main/res/values-tr-rTR/strings.xml index 50243f3e4..563cb07a0 100644 --- a/i18n/src/main/res/values-tr-rTR/strings.xml +++ b/i18n/src/main/res/values-tr-rTR/strings.xml @@ -20,7 +20,6 @@ Ayarlar Animasyonlar Dokunsal Geribildirim - Haptic Feedback Level Hakkında İstatistikler Özel @@ -33,7 +32,6 @@ Yeni bir oyun başlatmak istiyor musunuz? %d mayın Oyun Süresi - Mayın Genel Oynanış Erişilebilirlik @@ -123,4 +121,5 @@ Mevcut mayın tarlası tahmin edilemez olmayabilir! Sabit Boyut İlerleme + Çözülmemiş sayıları vurgula diff --git a/i18n/src/main/res/values-uk-rUA/strings.xml b/i18n/src/main/res/values-uk-rUA/strings.xml index 8783c2a0d..8c61eee82 100644 --- a/i18n/src/main/res/values-uk-rUA/strings.xml +++ b/i18n/src/main/res/values-uk-rUA/strings.xml @@ -20,7 +20,6 @@ Налаштування Анімації Вібрація при натиску - Haptic Feedback Level Про додаток Статистика Свої налаштування @@ -33,7 +32,6 @@ Хочете розпочати нову гру? %d мін Тривалість гри - Міна Загальне Геймплей Спеціальні можливості @@ -119,8 +117,9 @@ Відкрити навчання Дозволити натискання на цифри Натисніть, щоб налаштувати - Show \"Toggle Button\" on top bar + Показувати \"Перемкнути кнопки\" на верхній панелі The current minefield may not be guess-free! - Fixed Size - Progressive + Фіксований розмір + Прогресивна + Підсвічувати невирішені числа diff --git a/i18n/src/main/res/values-vec-rIT/strings.xml b/i18n/src/main/res/values-vec-rIT/strings.xml index 51a707aa4..36e15064a 100644 --- a/i18n/src/main/res/values-vec-rIT/strings.xml +++ b/i18n/src/main/res/values-vec-rIT/strings.xml @@ -20,7 +20,6 @@ Inpostasion Animasion Feedback Tàtiłe - Feedback Tàtiłe Informasion Statìsteghe Parsonałizà @@ -33,7 +32,6 @@ Vuto scuminsiar na nova partìa? %d mine Tenpo de Zogo - Mina Zenarałe Zogo Acesibiłità @@ -123,4 +121,5 @@ \'Sto canpo minà no el se połe mìa conpletar sensa intivar! Fixed Size Progressive + Highlight unsolved numbers diff --git a/i18n/src/main/res/values-vi-rVN/strings.xml b/i18n/src/main/res/values-vi-rVN/strings.xml index 52226dcc6..83560f79a 100644 --- a/i18n/src/main/res/values-vi-rVN/strings.xml +++ b/i18n/src/main/res/values-vi-rVN/strings.xml @@ -20,7 +20,6 @@ Cài đặt Hiệu ứng động Phản hồi rung - Haptic Feedback Level Giới thiệu Thống kê Tuỳ chỉnh @@ -33,7 +32,6 @@ Bạn có chắc muốn bắt đầu trò chơi mới? %d mìn Thời gian chơi - Mìn Tổng quan Cách thức chơi Trợ năng @@ -123,4 +121,5 @@ Bãi mìn hiện tại có thể sẽ không giải được mà không đoán! Kích thước cố định Tiến trình + Highlight unsolved numbers diff --git a/i18n/src/main/res/values-zh-rCN/strings.xml b/i18n/src/main/res/values-zh-rCN/strings.xml index 3d1c335a9..d06ad410a 100644 --- a/i18n/src/main/res/values-zh-rCN/strings.xml +++ b/i18n/src/main/res/values-zh-rCN/strings.xml @@ -20,7 +20,6 @@ 设置 动画 触摸反馈 - 触动反馈级别 关于 统计 自定义 @@ -33,7 +32,6 @@ 你要开始一个新游戏吗? %d 个地雷 游戏时间 - 地雷 通用 游戏性 无障碍 @@ -123,4 +121,5 @@ 当前雷场可能不是“无需猜测”的! Fixed Size Progressive + Highlight unsolved numbers diff --git a/i18n/src/main/res/values-zh-rTW/strings.xml b/i18n/src/main/res/values-zh-rTW/strings.xml index 6aaab9ea3..ad2919e95 100644 --- a/i18n/src/main/res/values-zh-rTW/strings.xml +++ b/i18n/src/main/res/values-zh-rTW/strings.xml @@ -1,5 +1,5 @@ - - + + 教程 遊戲規則很簡單,方格上的數字顯示與其相鄰的地雷數量,您必須標記所有地雷。 如果一個數字與相同數量的方塊接觸,那麼這些方塊都是地雷。 @@ -112,7 +112,6 @@ 使用按鈕在標記和打開之間切換 你必須在不引爆任何地雷的情況下清除一個包含隱藏地雷的矩形板。 踩地雷 - Crowdin 你知道怎麼玩掃雷嗎? 關閉 打開教程 @@ -122,4 +121,5 @@ 目前的雷區可能不是無猜測的! 固定尺寸 進步 + Highlight unsolved numbers From 04bdd3059ce738536b0e4e0c0007acd70699a137 Mon Sep 17 00:00:00 2001 From: Lucas Lima Date: Sun, 31 Oct 2021 12:24:13 -0300 Subject: [PATCH 02/11] Update save cloud of dim numbers --- .../java/dev/lucasnlm/antimine/cloud/CloudSaveManagerImpl.kt | 1 + .../src/main/java/dev/lucasnlm/external/model/CloudSave.kt | 3 +++ 2 files changed, 4 insertions(+) diff --git a/app/src/main/java/dev/lucasnlm/antimine/cloud/CloudSaveManagerImpl.kt b/app/src/main/java/dev/lucasnlm/antimine/cloud/CloudSaveManagerImpl.kt index 1896ac6f4..79616f2a9 100644 --- a/app/src/main/java/dev/lucasnlm/antimine/cloud/CloudSaveManagerImpl.kt +++ b/app/src/main/java/dev/lucasnlm/antimine/cloud/CloudSaveManagerImpl.kt @@ -54,6 +54,7 @@ class CloudSaveManagerImpl( squareDivider = preferencesRepository.squareDivider(), doubleClickTimeout = preferencesRepository.getDoubleClickTimeout().toInt(), allowTapNumbers = preferencesRepository.allowTapOnNumbers().toInt(), + highlightNumbers = preferencesRepository.dimNumbers().toInt(), ) } } catch (e: Exception) { diff --git a/external/src/main/java/dev/lucasnlm/external/model/CloudSave.kt b/external/src/main/java/dev/lucasnlm/external/model/CloudSave.kt index d47453b4f..c0dac6c38 100644 --- a/external/src/main/java/dev/lucasnlm/external/model/CloudSave.kt +++ b/external/src/main/java/dev/lucasnlm/external/model/CloudSave.kt @@ -24,6 +24,7 @@ data class CloudSave( val doubleClickTimeout: Int, val allowTapNumbers: Int, val hapticFeedbackLevel: Int, + val highlightNumbers: Int, ) fun CloudSave.toHashMap(): HashMap = hashMapOf( @@ -48,6 +49,7 @@ fun CloudSave.toHashMap(): HashMap = hashMapOf( "newSquareDivider" to squareDivider, "doubleClickTimeout" to doubleClickTimeout, "allowTapNumbers" to allowTapNumbers, + "highlightNumbers" to highlightNumbers, ) private fun Any?.parseInt(): Int = this?.toString()?.toInt() ?: throw Exception("Fail to parse Int") @@ -78,4 +80,5 @@ fun cloudSaveOf(id: String, data: Map) = squareDivider = data["newSquareDivider"].parseInt(0), doubleClickTimeout = data["doubleClickTimeout"].parseInt(400), allowTapNumbers = data["allowTapNumbers"].parseInt(1), + highlightNumbers = data["highlightNumbers"].parseInt(0), ) From fb522044bfb6b510578a3d6beb0809099baba973 Mon Sep 17 00:00:00 2001 From: Lucas Lima Date: Sun, 31 Oct 2021 13:09:19 -0300 Subject: [PATCH 03/11] Bump dependencies --- about/build.gradle | 4 ++-- app/build.gradle | 16 ++++++++-------- common/build.gradle | 4 ++-- control/build.gradle | 4 ++-- core/build.gradle | 8 ++++---- gdx/build.gradle | 2 +- i18n/build.gradle | 2 +- sgtatham/build.gradle | 3 +-- themes/build.gradle | 4 ++-- tutorial/build.gradle | 4 ++-- ui/build.gradle | 4 ++-- 11 files changed, 27 insertions(+), 28 deletions(-) diff --git a/about/build.gradle b/about/build.gradle index a51526277..27818fa4d 100644 --- a/about/build.gradle +++ b/about/build.gradle @@ -46,14 +46,14 @@ dependencies { // AndroidX implementation 'androidx.appcompat:appcompat:1.3.1' - implementation 'androidx.activity:activity-ktx:1.3.1' + implementation 'androidx.activity:activity-ktx:1.4.0' implementation 'androidx.fragment:fragment-ktx:1.3.6' // RecyclerView implementation 'androidx.recyclerview:recyclerview:1.2.1' // Constraint - implementation 'androidx.constraintlayout:constraintlayout:2.1.0' + implementation 'androidx.constraintlayout:constraintlayout:2.1.1' // Lifecycle api 'android.arch.lifecycle:extensions:1.1.1' diff --git a/app/build.gradle b/app/build.gradle index 674b01f83..cc18aa43f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -15,8 +15,8 @@ android { defaultConfig { // versionCode and versionName must be hardcoded to support F-droid - versionCode 1500021 - versionName '15.0.2' + versionCode 1501001 + versionName '15.1.0' minSdkVersion 21 targetSdkVersion 31 multiDexEnabled true @@ -130,15 +130,15 @@ dependencies { implementation 'androidx.preference:preference-ktx:1.1.1' implementation 'androidx.recyclerview:recyclerview:1.2.1' implementation 'androidx.multidex:multidex:2.0.1' - implementation 'androidx.activity:activity-ktx:1.3.1' + implementation 'androidx.activity:activity-ktx:1.4.0' implementation 'androidx.fragment:fragment-ktx:1.3.6' implementation 'androidx.work:work-runtime-ktx:2.7.0' // Lifecycle - implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.1' - implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.3.1' - implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.3.1' - implementation 'androidx.lifecycle:lifecycle-common-java8:2.3.1' + implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.4.0' + implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.4.0' + implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.4.0' + implementation 'androidx.lifecycle:lifecycle-common-java8:2.4.0' // Room implementation 'androidx.room:room-ktx:2.3.0' @@ -161,7 +161,7 @@ dependencies { // Tests testImplementation 'junit:junit:4.13.2' testImplementation 'android.arch.core:core-testing:1.1.1' - testImplementation 'androidx.core:core-ktx:1.6.0' + testImplementation 'androidx.core:core-ktx:1.7.0' testImplementation 'androidx.test:core-ktx:1.4.0' testImplementation 'androidx.test:rules:1.4.0' testImplementation 'androidx.test:runner:1.4.0' diff --git a/common/build.gradle b/common/build.gradle index d4c169adc..30ea1731f 100644 --- a/common/build.gradle +++ b/common/build.gradle @@ -45,14 +45,14 @@ dependencies { implementation 'androidx.appcompat:appcompat:1.3.1' implementation 'androidx.preference:preference-ktx:1.1.1' implementation 'androidx.recyclerview:recyclerview:1.2.1' - implementation 'androidx.activity:activity-ktx:1.3.1' + implementation 'androidx.activity:activity-ktx:1.4.0' implementation 'androidx.fragment:fragment-ktx:1.3.6' // Google implementation 'com.google.android.material:material:1.4.0' // Constraint - implementation 'androidx.constraintlayout:constraintlayout:2.1.0' + implementation 'androidx.constraintlayout:constraintlayout:2.1.1' // Lifecycle api 'android.arch.lifecycle:extensions:1.1.1' diff --git a/control/build.gradle b/control/build.gradle index 92f59c6f9..7dff41ff8 100644 --- a/control/build.gradle +++ b/control/build.gradle @@ -45,14 +45,14 @@ dependencies { // AndroidX implementation 'androidx.appcompat:appcompat:1.3.1' - implementation 'androidx.activity:activity-ktx:1.3.1' + implementation 'androidx.activity:activity-ktx:1.4.0' implementation 'androidx.fragment:fragment-ktx:1.3.6' // RecyclerView implementation 'androidx.recyclerview:recyclerview:1.2.1' // Constraint - implementation 'androidx.constraintlayout:constraintlayout:2.1.0' + implementation 'androidx.constraintlayout:constraintlayout:2.1.1' // Lifecycle api 'android.arch.lifecycle:extensions:1.1.1' diff --git a/core/build.gradle b/core/build.gradle index d4ad56f20..1f681763c 100644 --- a/core/build.gradle +++ b/core/build.gradle @@ -49,8 +49,8 @@ dependencies { implementation 'androidx.appcompat:appcompat:1.3.1' // Lifecycle - implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.1' - implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.3.1' - implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.3.1' - implementation 'androidx.lifecycle:lifecycle-common-java8:2.3.1' + implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.4.0' + implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.4.0' + implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.4.0' + implementation 'androidx.lifecycle:lifecycle-common-java8:2.4.0' } \ No newline at end of file diff --git a/gdx/build.gradle b/gdx/build.gradle index dd6f27227..7d7e3938d 100644 --- a/gdx/build.gradle +++ b/gdx/build.gradle @@ -46,7 +46,7 @@ dependencies { // AndroidX implementation 'androidx.appcompat:appcompat:1.3.1' - implementation 'androidx.activity:activity-ktx:1.3.1' + implementation 'androidx.activity:activity-ktx:1.4.0' implementation 'androidx.fragment:fragment-ktx:1.3.6' // Koin diff --git a/i18n/build.gradle b/i18n/build.gradle index 6f35e25be..82a393114 100644 --- a/i18n/build.gradle +++ b/i18n/build.gradle @@ -34,7 +34,7 @@ android { dependencies { // Dependencies must be hardcoded to support F-droid - implementation 'androidx.core:core-ktx:1.6.0' + implementation 'androidx.core:core-ktx:1.7.0' implementation 'androidx.appcompat:appcompat:1.3.1' implementation 'com.google.android.material:material:1.4.0' testImplementation 'junit:junit:4.13.2' diff --git a/sgtatham/build.gradle b/sgtatham/build.gradle index 06396eaad..b23d765ed 100644 --- a/sgtatham/build.gradle +++ b/sgtatham/build.gradle @@ -44,10 +44,9 @@ android { dependencies { - implementation 'androidx.core:core-ktx:1.6.0' + implementation 'androidx.core:core-ktx:1.7.0' implementation 'androidx.appcompat:appcompat:1.3.1' implementation 'com.google.android.material:material:1.4.0' - testImplementation 'junit:junit:4.+' androidTestImplementation 'androidx.test.ext:junit:1.1.3' androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' } \ No newline at end of file diff --git a/themes/build.gradle b/themes/build.gradle index 8c92d54d0..495b8f583 100644 --- a/themes/build.gradle +++ b/themes/build.gradle @@ -43,7 +43,7 @@ dependencies { // AndroidX implementation 'androidx.appcompat:appcompat:1.3.1' - implementation 'androidx.activity:activity-ktx:1.3.1' + implementation 'androidx.activity:activity-ktx:1.4.0' implementation 'androidx.fragment:fragment-ktx:1.3.6' // Google @@ -53,7 +53,7 @@ dependencies { implementation 'androidx.recyclerview:recyclerview:1.2.1' // Constraint - implementation 'androidx.constraintlayout:constraintlayout:2.1.0' + implementation 'androidx.constraintlayout:constraintlayout:2.1.1' // Lifecycle api 'android.arch.lifecycle:extensions:1.1.1' diff --git a/tutorial/build.gradle b/tutorial/build.gradle index 8c92d54d0..495b8f583 100644 --- a/tutorial/build.gradle +++ b/tutorial/build.gradle @@ -43,7 +43,7 @@ dependencies { // AndroidX implementation 'androidx.appcompat:appcompat:1.3.1' - implementation 'androidx.activity:activity-ktx:1.3.1' + implementation 'androidx.activity:activity-ktx:1.4.0' implementation 'androidx.fragment:fragment-ktx:1.3.6' // Google @@ -53,7 +53,7 @@ dependencies { implementation 'androidx.recyclerview:recyclerview:1.2.1' // Constraint - implementation 'androidx.constraintlayout:constraintlayout:2.1.0' + implementation 'androidx.constraintlayout:constraintlayout:2.1.1' // Lifecycle api 'android.arch.lifecycle:extensions:1.1.1' diff --git a/ui/build.gradle b/ui/build.gradle index 554f906f5..dc11c3c68 100644 --- a/ui/build.gradle +++ b/ui/build.gradle @@ -43,14 +43,14 @@ dependencies { // AndroidX implementation 'androidx.appcompat:appcompat:1.3.1' - implementation 'androidx.activity:activity-ktx:1.3.1' + implementation 'androidx.activity:activity-ktx:1.4.0' implementation 'androidx.fragment:fragment-ktx:1.3.6' // RecyclerView implementation 'androidx.recyclerview:recyclerview:1.2.1' // Constraint - implementation 'androidx.constraintlayout:constraintlayout:2.1.0' + implementation 'androidx.constraintlayout:constraintlayout:2.1.1' // Lifecycle api 'android.arch.lifecycle:extensions:1.1.1' From 0c4e73ffe0a3ad5ebe2014982cd9c734070eec38 Mon Sep 17 00:00:00 2001 From: Lucas Lima Date: Sun, 31 Oct 2021 13:09:46 -0300 Subject: [PATCH 04/11] Try improve acknowledgePurchase --- .../dev/lucasnlm/external/BillingManager.kt | 60 ++++++++++++------- .../lucasnlm/external/di/ExternalModule.kt | 3 +- 2 files changed, 42 insertions(+), 21 deletions(-) diff --git a/proprietary/src/main/java/dev/lucasnlm/external/BillingManager.kt b/proprietary/src/main/java/dev/lucasnlm/external/BillingManager.kt index 6ed52bb3d..85b7dc12f 100644 --- a/proprietary/src/main/java/dev/lucasnlm/external/BillingManager.kt +++ b/proprietary/src/main/java/dev/lucasnlm/external/BillingManager.kt @@ -10,22 +10,25 @@ import com.android.billingclient.api.BillingResult import com.android.billingclient.api.Purchase import com.android.billingclient.api.PurchasesUpdatedListener import com.android.billingclient.api.SkuDetailsParams +import com.android.billingclient.api.acknowledgePurchase import com.android.billingclient.api.querySkuDetails import dev.lucasnlm.external.model.Price import dev.lucasnlm.external.model.PurchaseInfo -import kotlinx.coroutines.channels.ConflatedBroadcastChannel +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.delay import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.MutableStateFlow -import kotlinx.coroutines.flow.asFlow import kotlinx.coroutines.flow.asSharedFlow import kotlinx.coroutines.flow.filterNotNull +import kotlinx.coroutines.launch class BillingManager( private val context: Context, private val crashReporter: CrashReporter, + private val coroutineScope: CoroutineScope, ) : IBillingManager, BillingClientStateListener, PurchasesUpdatedListener { private var retry = 0 - private val purchaseBroadcaster = ConflatedBroadcastChannel() + private val purchaseBroadcaster = MutableStateFlow(null) private val unlockPrice = MutableStateFlow(null) private val billingClient by lazy { BillingClient.newBuilder(context) @@ -40,9 +43,31 @@ class BillingManager( return unlockPrice.asSharedFlow().filterNotNull() } - override fun listenPurchases(): Flow = purchaseBroadcaster.asFlow() + override fun listenPurchases(): Flow = purchaseBroadcaster.asSharedFlow().filterNotNull() - private fun handlePurchases(purchases: List) { + private fun asyncRefreshPurchasesList() { + coroutineScope.launch { + while (true) { + val purchasesList: List = billingClient + .queryPurchases(BillingClient.SkuType.INAPP) + .purchasesList.let { it?.toList() ?: listOf() } + + if (purchasesList.isEmpty()) { + break + } else { + val result = handlePurchases(purchasesList) + + if (result) { + break + } else { + delay(30 * 1000L) + } + } + } + } + } + + private suspend fun handlePurchases(purchases: List): Boolean { val status: Boolean = purchases.firstOrNull { it.sku == PREMIUM }.let { @@ -56,14 +81,17 @@ class BillingManager( .setPurchaseToken(it.purchaseToken) .build() - billingClient.acknowledgePurchase(acknowledgePurchaseParams) { - // Purchase acknowledged + val result = billingClient.acknowledgePurchase(acknowledgePurchaseParams) + + if (result.responseCode != BillingClient.BillingResponseCode.OK) { + return false } } } } - purchaseBroadcaster.trySend(PurchaseInfo.PurchaseResult(isFreeUnlock = false, unlockStatus = status)) + purchaseBroadcaster.tryEmit(PurchaseInfo.PurchaseResult(isFreeUnlock = false, unlockStatus = status)) + return true } override fun onBillingServiceDisconnected() { @@ -100,11 +128,7 @@ class BillingManager( } } - val purchasesList: List = billingClient - .queryPurchases(BillingClient.SkuType.INAPP) - .purchasesList.let { it?.toList() ?: listOf() } - - handlePurchases(purchasesList) + asyncRefreshPurchasesList() } else { val code = billingResult.responseCode val message = billingResult.debugMessage @@ -113,15 +137,11 @@ class BillingManager( } override fun onPurchasesUpdated(billingResult: BillingResult, purchases: MutableList?) { - val purchasesList: List = if (billingResult.responseCode == BillingClient.BillingResponseCode.OK) { - // The BillingClient is ready. You can query purchases here. - purchases?.toList() ?: listOf() + if (billingResult.responseCode == BillingClient.BillingResponseCode.OK) { + asyncRefreshPurchasesList() } else { crashReporter.sendError("Charge update failed due to response ${billingResult.responseCode}") - listOf() } - - handlePurchases(purchasesList) } override fun start() { @@ -153,7 +173,7 @@ class BillingManager( } } else { crashReporter.sendError("Fail to charge due to unready status") - purchaseBroadcaster.trySend(PurchaseInfo.PurchaseFail) + purchaseBroadcaster.tryEmit(PurchaseInfo.PurchaseFail) } } diff --git a/proprietary/src/main/java/dev/lucasnlm/external/di/ExternalModule.kt b/proprietary/src/main/java/dev/lucasnlm/external/di/ExternalModule.kt index 06bfc2369..9b691b8e1 100644 --- a/proprietary/src/main/java/dev/lucasnlm/external/di/ExternalModule.kt +++ b/proprietary/src/main/java/dev/lucasnlm/external/di/ExternalModule.kt @@ -18,13 +18,14 @@ import dev.lucasnlm.external.InAppUpdateManager import dev.lucasnlm.external.InstantAppManager import dev.lucasnlm.external.PlayGamesManager import dev.lucasnlm.external.ReviewWrapper +import kotlinx.coroutines.GlobalScope import org.koin.dsl.bind import org.koin.dsl.module val ExternalModule = module { single { InstantAppManager() } bind IInstantAppManager::class - single { BillingManager(get(), get()) } bind IBillingManager::class + single { BillingManager(get(), get(), GlobalScope) } bind IBillingManager::class single { PlayGamesManager(get(), get()) } bind IPlayGamesManager::class From bcdae9ae49a450dd2cf359916b9d86a1cd6b78b3 Mon Sep 17 00:00:00 2001 From: Lucas Lima Date: Sun, 31 Oct 2021 14:11:37 -0300 Subject: [PATCH 05/11] Bump google iap library --- proprietary/build.gradle | 2 +- .../src/main/java/dev/lucasnlm/external/BillingManager.kt | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/proprietary/build.gradle b/proprietary/build.gradle index 1bb9c9de7..8b37dad6c 100644 --- a/proprietary/build.gradle +++ b/proprietary/build.gradle @@ -42,7 +42,7 @@ dependencies { implementation 'com.squareup.okhttp3:okhttp:4.9.1' // Google - implementation 'com.android.billingclient:billing-ktx:3.0.3' + implementation 'com.android.billingclient:billing-ktx:4.0.0' implementation 'com.google.android.gms:play-services-instantapps:17.0.1' implementation 'com.google.android.gms:play-services-games:21.0.0' implementation 'com.google.android.gms:play-services-auth:19.2.0' diff --git a/proprietary/src/main/java/dev/lucasnlm/external/BillingManager.kt b/proprietary/src/main/java/dev/lucasnlm/external/BillingManager.kt index 85b7dc12f..5553ca12c 100644 --- a/proprietary/src/main/java/dev/lucasnlm/external/BillingManager.kt +++ b/proprietary/src/main/java/dev/lucasnlm/external/BillingManager.kt @@ -11,6 +11,7 @@ import com.android.billingclient.api.Purchase import com.android.billingclient.api.PurchasesUpdatedListener import com.android.billingclient.api.SkuDetailsParams import com.android.billingclient.api.acknowledgePurchase +import com.android.billingclient.api.queryPurchasesAsync import com.android.billingclient.api.querySkuDetails import dev.lucasnlm.external.model.Price import dev.lucasnlm.external.model.PurchaseInfo @@ -49,8 +50,8 @@ class BillingManager( coroutineScope.launch { while (true) { val purchasesList: List = billingClient - .queryPurchases(BillingClient.SkuType.INAPP) - .purchasesList.let { it?.toList() ?: listOf() } + .queryPurchasesAsync(BillingClient.SkuType.INAPP) + .purchasesList if (purchasesList.isEmpty()) { break @@ -69,7 +70,7 @@ class BillingManager( private suspend fun handlePurchases(purchases: List): Boolean { val status: Boolean = purchases.firstOrNull { - it.sku == PREMIUM + it.skus.contains(PREMIUM) }.let { when (it?.purchaseState) { Purchase.PurchaseState.PURCHASED, Purchase.PurchaseState.PENDING -> true From 7212c020efd9ddcc67ac25b33b4a5c91eda41b33 Mon Sep 17 00:00:00 2001 From: Lucas Lima Date: Sun, 31 Oct 2021 14:11:43 -0300 Subject: [PATCH 06/11] Lint --- .../main/java/dev/lucasnlm/antimine/splash/SplashActivity.kt | 1 + .../lucasnlm/antimine/common/level/viewmodel/GameViewModel.kt | 2 +- .../antimine/common/level/logic/MinefieldHandlerTest.kt | 2 +- gdx/src/main/java/dev/lucasnlm/antimine/gdx/GdxLocal.kt | 1 - 4 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/dev/lucasnlm/antimine/splash/SplashActivity.kt b/app/src/main/java/dev/lucasnlm/antimine/splash/SplashActivity.kt index 79ab56a0f..299ab5edf 100644 --- a/app/src/main/java/dev/lucasnlm/antimine/splash/SplashActivity.kt +++ b/app/src/main/java/dev/lucasnlm/antimine/splash/SplashActivity.kt @@ -1,5 +1,6 @@ package dev.lucasnlm.antimine.splash +import android.annotation.SuppressLint import android.content.Intent import android.os.Bundle import androidx.appcompat.app.AppCompatActivity diff --git a/common/src/main/java/dev/lucasnlm/antimine/common/level/viewmodel/GameViewModel.kt b/common/src/main/java/dev/lucasnlm/antimine/common/level/viewmodel/GameViewModel.kt index 058c8e582..5916599fe 100644 --- a/common/src/main/java/dev/lucasnlm/antimine/common/level/viewmodel/GameViewModel.kt +++ b/common/src/main/java/dev/lucasnlm/antimine/common/level/viewmodel/GameViewModel.kt @@ -524,7 +524,7 @@ open class GameViewModel( } } - fun refreshUserPreferences() { + private fun refreshUserPreferences() { if (initialized) { gameController.apply { val controlType = preferencesRepository.controlStyle() diff --git a/common/src/test/java/dev/lucasnlm/antimine/common/level/logic/MinefieldHandlerTest.kt b/common/src/test/java/dev/lucasnlm/antimine/common/level/logic/MinefieldHandlerTest.kt index 1177838e6..f82c2c3a4 100644 --- a/common/src/test/java/dev/lucasnlm/antimine/common/level/logic/MinefieldHandlerTest.kt +++ b/common/src/test/java/dev/lucasnlm/antimine/common/level/logic/MinefieldHandlerTest.kt @@ -31,7 +31,7 @@ class MinefieldHandlerTest { @Test fun testOpenAreaWithSafeZone() { - handleMinefield() { handler -> + handleMinefield { handler -> assertTrue(handler.result()[3].isCovered) handler.openAt(3, false, openNeighbors = false) assertFalse(handler.result()[3].isCovered) diff --git a/gdx/src/main/java/dev/lucasnlm/antimine/gdx/GdxLocal.kt b/gdx/src/main/java/dev/lucasnlm/antimine/gdx/GdxLocal.kt index 3b4b94040..19c8da4a2 100644 --- a/gdx/src/main/java/dev/lucasnlm/antimine/gdx/GdxLocal.kt +++ b/gdx/src/main/java/dev/lucasnlm/antimine/gdx/GdxLocal.kt @@ -11,7 +11,6 @@ object GdxLocal { var textureAtlas: TextureAtlas? = null var areaAtlas: TextureAtlas? = null var gameTextures: GameTextures? = null - var highlightAlpha = 0.0f var zoom = 1.0f // Global animation scale, it defines how fast/slow all animations must be executed. From a6c47286c6523e028d9a91d64816331e30987bf6 Mon Sep 17 00:00:00 2001 From: Lucas Lima Date: Sun, 31 Oct 2021 16:47:05 -0300 Subject: [PATCH 07/11] Update string --- i18n/src/main/res/values-pl-rPL/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/src/main/res/values-pl-rPL/strings.xml b/i18n/src/main/res/values-pl-rPL/strings.xml index 9ec3a6bec..b73183b5e 100644 --- a/i18n/src/main/res/values-pl-rPL/strings.xml +++ b/i18n/src/main/res/values-pl-rPL/strings.xml @@ -121,5 +121,5 @@ To pole minowe może wymagać zgadywania, aby je ukończyć! Ustalony rozmiar Progresywny - Highlight unsolved numbers + Podświetl nierozwiązane pola From a060a375ebebf3aa711eec788197ea6b2e794353 Mon Sep 17 00:00:00 2001 From: Lucas Lima Date: Sun, 31 Oct 2021 16:47:17 -0300 Subject: [PATCH 08/11] Update Firebase code --- .../lucasnlm/antimine/main/MainActivity.kt | 1 + .../antimine/splash/SplashActivity.kt | 1 - .../lucasnlm/external/IPlayGamesManager.kt | 1 + .../dev/lucasnlm/external/PlayGamesManager.kt | 4 +++ .../dev/lucasnlm/external/PlayGamesManager.kt | 29 +++++++++++++++++++ 5 files changed, 35 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/dev/lucasnlm/antimine/main/MainActivity.kt b/app/src/main/java/dev/lucasnlm/antimine/main/MainActivity.kt index a3d1e3bcf..3a0aad04b 100644 --- a/app/src/main/java/dev/lucasnlm/antimine/main/MainActivity.kt +++ b/app/src/main/java/dev/lucasnlm/antimine/main/MainActivity.kt @@ -410,6 +410,7 @@ class MainActivity : ThematicActivity(R.layout.activity_main) { } private fun afterGooglePlayGames() { + playGamesManager.signInToFirebase(this) inAppUpdateManager.checkUpdate(this) } diff --git a/app/src/main/java/dev/lucasnlm/antimine/splash/SplashActivity.kt b/app/src/main/java/dev/lucasnlm/antimine/splash/SplashActivity.kt index 299ab5edf..79ab56a0f 100644 --- a/app/src/main/java/dev/lucasnlm/antimine/splash/SplashActivity.kt +++ b/app/src/main/java/dev/lucasnlm/antimine/splash/SplashActivity.kt @@ -1,6 +1,5 @@ package dev.lucasnlm.antimine.splash -import android.annotation.SuppressLint import android.content.Intent import android.os.Bundle import androidx.appcompat.app.AppCompatActivity diff --git a/external/src/main/java/dev/lucasnlm/external/IPlayGamesManager.kt b/external/src/main/java/dev/lucasnlm/external/IPlayGamesManager.kt index 937c778b1..271e88cdf 100644 --- a/external/src/main/java/dev/lucasnlm/external/IPlayGamesManager.kt +++ b/external/src/main/java/dev/lucasnlm/external/IPlayGamesManager.kt @@ -41,4 +41,5 @@ interface IPlayGamesManager { fun submitLeaderboard(leaderboard: Leaderboard, value: Long) fun keepRequestingLogin(status: Boolean) fun shouldRequestLogin(): Boolean + fun signInToFirebase(activity: Activity) } diff --git a/foss/src/main/java/dev/lucasnlm/external/PlayGamesManager.kt b/foss/src/main/java/dev/lucasnlm/external/PlayGamesManager.kt index b72ed62e1..6c6eb0dfb 100644 --- a/foss/src/main/java/dev/lucasnlm/external/PlayGamesManager.kt +++ b/foss/src/main/java/dev/lucasnlm/external/PlayGamesManager.kt @@ -55,4 +55,8 @@ class PlayGamesManager( override fun shouldRequestLogin(): Boolean { return false } + + override fun signInToFirebase(activity: Activity) { + // F-droid build doesn't have Google Play Games + } } diff --git a/proprietary/src/main/java/dev/lucasnlm/external/PlayGamesManager.kt b/proprietary/src/main/java/dev/lucasnlm/external/PlayGamesManager.kt index 6f2b706af..50ad974f5 100644 --- a/proprietary/src/main/java/dev/lucasnlm/external/PlayGamesManager.kt +++ b/proprietary/src/main/java/dev/lucasnlm/external/PlayGamesManager.kt @@ -11,6 +11,10 @@ import com.google.android.gms.auth.api.signin.GoogleSignIn import com.google.android.gms.auth.api.signin.GoogleSignInAccount import com.google.android.gms.auth.api.signin.GoogleSignInOptions import com.google.android.gms.games.Games +import com.google.firebase.auth.FirebaseAuth +import com.google.firebase.auth.PlayGamesAuthProvider +import com.google.firebase.auth.ktx.auth +import com.google.firebase.ktx.Firebase import kotlinx.coroutines.tasks.await class PlayGamesManager( @@ -19,6 +23,9 @@ class PlayGamesManager( ) : IPlayGamesManager { private var account: GoogleSignInAccount? = null private var requestLogin: Boolean = true + private val firebaseAuth: FirebaseAuth by lazy { + Firebase.auth + } private fun setupPopUp(activity: Activity, account: GoogleSignInAccount) { Games.getGamesClient(context, account).apply { @@ -134,6 +141,28 @@ class PlayGamesManager( return requestLogin } + override fun signInToFirebase(activity: Activity) { + val googleAccount = account + val serverAuthCode = googleAccount?.serverAuthCode + + if (googleAccount != null && serverAuthCode != null) { + val credential = PlayGamesAuthProvider.getCredential(serverAuthCode) + + firebaseAuth.signInWithCredential(credential) + .addOnCompleteListener(activity) { task -> + if (task.isSuccessful) { + Log.d(TAG, "signInWithCredential:success") + } else { + Log.w(TAG, "signInWithCredential:failure", task.exception) + } + } + .addOnFailureListener { + Log.e(TAG, "Fail to signIn with firebase", it) + crashReporter.sendError("Fail to signIn with firebase. $it") + } + } + } + companion object { val TAG = PlayGamesManager::class.simpleName } From bd0d1722de06c213bfcf2146956707c00d74af02 Mon Sep 17 00:00:00 2001 From: Lucas Lima Date: Sun, 31 Oct 2021 17:06:44 -0300 Subject: [PATCH 09/11] Fix test --- app/src/test/java/dev/lucasnlm/antimine/di/TestAppModule.kt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/src/test/java/dev/lucasnlm/antimine/di/TestAppModule.kt b/app/src/test/java/dev/lucasnlm/antimine/di/TestAppModule.kt index e9b7f8f7a..0153500ca 100644 --- a/app/src/test/java/dev/lucasnlm/antimine/di/TestAppModule.kt +++ b/app/src/test/java/dev/lucasnlm/antimine/di/TestAppModule.kt @@ -69,6 +69,8 @@ val AppModule = module { override fun keepRequestingLogin(status: Boolean) {} override fun shouldRequestLogin(): Boolean = false + + override fun signInToFirebase(activity: Activity) {} } } bind IPlayGamesManager::class From 595de762c44d0fc21fc02f66bc15e6696f6333ae Mon Sep 17 00:00:00 2001 From: Lucas Lima Date: Sun, 31 Oct 2021 17:24:06 -0300 Subject: [PATCH 10/11] Revert change to fix build --- app/build.gradle | 2 +- i18n/build.gradle | 2 +- sgtatham/build.gradle | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index cc18aa43f..b9494ac4c 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -161,7 +161,7 @@ dependencies { // Tests testImplementation 'junit:junit:4.13.2' testImplementation 'android.arch.core:core-testing:1.1.1' - testImplementation 'androidx.core:core-ktx:1.7.0' + testImplementation 'androidx.core:core-ktx:1.6.0' testImplementation 'androidx.test:core-ktx:1.4.0' testImplementation 'androidx.test:rules:1.4.0' testImplementation 'androidx.test:runner:1.4.0' diff --git a/i18n/build.gradle b/i18n/build.gradle index 82a393114..6f35e25be 100644 --- a/i18n/build.gradle +++ b/i18n/build.gradle @@ -34,7 +34,7 @@ android { dependencies { // Dependencies must be hardcoded to support F-droid - implementation 'androidx.core:core-ktx:1.7.0' + implementation 'androidx.core:core-ktx:1.6.0' implementation 'androidx.appcompat:appcompat:1.3.1' implementation 'com.google.android.material:material:1.4.0' testImplementation 'junit:junit:4.13.2' diff --git a/sgtatham/build.gradle b/sgtatham/build.gradle index b23d765ed..c8d97d494 100644 --- a/sgtatham/build.gradle +++ b/sgtatham/build.gradle @@ -44,7 +44,7 @@ android { dependencies { - implementation 'androidx.core:core-ktx:1.7.0' + implementation 'androidx.core:core-ktx:1.6.0' implementation 'androidx.appcompat:appcompat:1.3.1' implementation 'com.google.android.material:material:1.4.0' androidTestImplementation 'androidx.test.ext:junit:1.1.3' From 5a129c5915956117ba178d48706a2bead9202956 Mon Sep 17 00:00:00 2001 From: Lucas Lima Date: Sun, 31 Oct 2021 17:32:18 -0300 Subject: [PATCH 11/11] Revert change to fix build --- about/build.gradle | 2 +- app/build.gradle | 2 +- common/build.gradle | 2 +- control/build.gradle | 2 +- gdx/build.gradle | 2 +- themes/build.gradle | 2 +- tutorial/build.gradle | 2 +- ui/build.gradle | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/about/build.gradle b/about/build.gradle index 27818fa4d..95ae51438 100644 --- a/about/build.gradle +++ b/about/build.gradle @@ -46,7 +46,7 @@ dependencies { // AndroidX implementation 'androidx.appcompat:appcompat:1.3.1' - implementation 'androidx.activity:activity-ktx:1.4.0' + implementation 'androidx.activity:activity-ktx:1.3.1' implementation 'androidx.fragment:fragment-ktx:1.3.6' // RecyclerView diff --git a/app/build.gradle b/app/build.gradle index b9494ac4c..43c5236f5 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -130,7 +130,7 @@ dependencies { implementation 'androidx.preference:preference-ktx:1.1.1' implementation 'androidx.recyclerview:recyclerview:1.2.1' implementation 'androidx.multidex:multidex:2.0.1' - implementation 'androidx.activity:activity-ktx:1.4.0' + implementation 'androidx.activity:activity-ktx:1.3.1' implementation 'androidx.fragment:fragment-ktx:1.3.6' implementation 'androidx.work:work-runtime-ktx:2.7.0' diff --git a/common/build.gradle b/common/build.gradle index 30ea1731f..0a34ec05f 100644 --- a/common/build.gradle +++ b/common/build.gradle @@ -45,7 +45,7 @@ dependencies { implementation 'androidx.appcompat:appcompat:1.3.1' implementation 'androidx.preference:preference-ktx:1.1.1' implementation 'androidx.recyclerview:recyclerview:1.2.1' - implementation 'androidx.activity:activity-ktx:1.4.0' + implementation 'androidx.activity:activity-ktx:1.3.1' implementation 'androidx.fragment:fragment-ktx:1.3.6' // Google diff --git a/control/build.gradle b/control/build.gradle index 7dff41ff8..c2b33d66a 100644 --- a/control/build.gradle +++ b/control/build.gradle @@ -45,7 +45,7 @@ dependencies { // AndroidX implementation 'androidx.appcompat:appcompat:1.3.1' - implementation 'androidx.activity:activity-ktx:1.4.0' + implementation 'androidx.activity:activity-ktx:1.3.1' implementation 'androidx.fragment:fragment-ktx:1.3.6' // RecyclerView diff --git a/gdx/build.gradle b/gdx/build.gradle index 7d7e3938d..dd6f27227 100644 --- a/gdx/build.gradle +++ b/gdx/build.gradle @@ -46,7 +46,7 @@ dependencies { // AndroidX implementation 'androidx.appcompat:appcompat:1.3.1' - implementation 'androidx.activity:activity-ktx:1.4.0' + implementation 'androidx.activity:activity-ktx:1.3.1' implementation 'androidx.fragment:fragment-ktx:1.3.6' // Koin diff --git a/themes/build.gradle b/themes/build.gradle index 495b8f583..f26da1e71 100644 --- a/themes/build.gradle +++ b/themes/build.gradle @@ -43,7 +43,7 @@ dependencies { // AndroidX implementation 'androidx.appcompat:appcompat:1.3.1' - implementation 'androidx.activity:activity-ktx:1.4.0' + implementation 'androidx.activity:activity-ktx:1.3.1' implementation 'androidx.fragment:fragment-ktx:1.3.6' // Google diff --git a/tutorial/build.gradle b/tutorial/build.gradle index 495b8f583..f26da1e71 100644 --- a/tutorial/build.gradle +++ b/tutorial/build.gradle @@ -43,7 +43,7 @@ dependencies { // AndroidX implementation 'androidx.appcompat:appcompat:1.3.1' - implementation 'androidx.activity:activity-ktx:1.4.0' + implementation 'androidx.activity:activity-ktx:1.3.1' implementation 'androidx.fragment:fragment-ktx:1.3.6' // Google diff --git a/ui/build.gradle b/ui/build.gradle index dc11c3c68..185b5e59d 100644 --- a/ui/build.gradle +++ b/ui/build.gradle @@ -43,7 +43,7 @@ dependencies { // AndroidX implementation 'androidx.appcompat:appcompat:1.3.1' - implementation 'androidx.activity:activity-ktx:1.4.0' + implementation 'androidx.activity:activity-ktx:1.3.1' implementation 'androidx.fragment:fragment-ktx:1.3.6' // RecyclerView