From 7bf47a48077cb061ff8330e27e3337ce134688c5 Mon Sep 17 00:00:00 2001 From: Lucas Lima Date: Mon, 17 May 2021 09:17:31 -0300 Subject: [PATCH 1/7] Bump dependencies --- about/build.gradle | 4 ++-- app/build.gradle | 38 +++++++++++++++++++------------------- common/build.gradle | 20 ++++++++++---------- control/build.gradle | 4 ++-- gdx/build.gradle | 4 ++-- i18n/build.gradle | 4 ++-- proprietary/build.gradle | 14 +++++++------- themes/build.gradle | 4 ++-- tutorial/build.gradle | 4 ++-- ui/build.gradle | 4 ++-- wear/build.gradle | 4 ++-- 11 files changed, 52 insertions(+), 52 deletions(-) diff --git a/about/build.gradle b/about/build.gradle index 1d0646961..fb1450f1d 100644 --- a/about/build.gradle +++ b/about/build.gradle @@ -45,8 +45,8 @@ dependencies { // AndroidX implementation 'androidx.appcompat:appcompat:1.2.0' - implementation 'androidx.activity:activity-ktx:1.2.2' - implementation 'androidx.fragment:fragment-ktx:1.3.2' + implementation 'androidx.activity:activity-ktx:1.2.3' + implementation 'androidx.fragment:fragment-ktx:1.3.3' // RecyclerView implementation 'androidx.recyclerview:recyclerview:1.2.0' diff --git a/app/build.gradle b/app/build.gradle index 51137475e..7ea7059a5 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -128,8 +128,8 @@ dependencies { implementation 'androidx.preference:preference-ktx:1.1.1' implementation 'androidx.recyclerview:recyclerview:1.2.0' implementation 'androidx.multidex:multidex:2.0.1' - implementation 'androidx.activity:activity-ktx:1.2.2' - implementation 'androidx.fragment:fragment-ktx:1.3.2' + implementation 'androidx.activity:activity-ktx:1.2.3' + implementation 'androidx.fragment:fragment-ktx:1.3.3' implementation 'androidx.cardview:cardview:1.0.0' // Lifecycle @@ -139,7 +139,7 @@ dependencies { implementation 'androidx.lifecycle:lifecycle-common-java8:2.3.1' // Room - implementation 'androidx.room:room-ktx:2.2.6' + implementation 'androidx.room:room-ktx:2.3.0' // Constraint implementation 'androidx.constraintlayout:constraintlayout:2.0.4' @@ -160,30 +160,30 @@ dependencies { // Tests testImplementation 'junit:junit:4.13.2' testImplementation 'android.arch.core:core-testing:1.1.1' - testImplementation 'androidx.core:core-ktx:1.1.0' - testImplementation 'androidx.test:core:1.2.0' - testImplementation 'androidx.test:core-ktx:1.2.0' - testImplementation 'androidx.test:rules:1.2.0' - testImplementation 'androidx.test:runner:1.2.0' + testImplementation 'androidx.core:core-ktx:1.3.2' + testImplementation 'androidx.test:core:1.3.0' + testImplementation 'androidx.test:core-ktx:1.3.0' + testImplementation 'androidx.test:rules:1.3.0' + testImplementation 'androidx.test:runner:1.3.0' testImplementation 'androidx.test.espresso:espresso-core:3.3.0' testImplementation 'androidx.test.espresso:espresso-contrib:3.3.0' - testImplementation 'androidx.fragment:fragment-testing:1.2.5' + testImplementation 'androidx.fragment:fragment-testing:1.3.3' testImplementation 'org.robolectric:robolectric:4.3.1' testImplementation 'androidx.test.ext:junit:1.1.2' - testImplementation 'io.mockk:mockk:1.10.0' + testImplementation 'io.mockk:mockk:1.10.3' // Core library - androidTestImplementation 'androidx.test:core:1.2.0' + androidTestImplementation 'androidx.test:core:1.3.0' // AndroidJUnitRunner and JUnit Rules - androidTestImplementation 'androidx.core:core-ktx:1.1.0' - androidTestImplementation 'androidx.test:core:1.2.0' - androidTestImplementation 'androidx.test:core-ktx:1.2.0' - androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0' - androidTestImplementation 'androidx.test.espresso:espresso-contrib:3.2.0' - androidTestImplementation 'androidx.test:runner:1.2.0' - androidTestImplementation 'androidx.test:rules:1.2.0' - androidTestUtil 'androidx.test:orchestrator:1.2.0' + androidTestImplementation 'androidx.core:core-ktx:1.3.2' + androidTestImplementation 'androidx.test:core:1.3.0' + androidTestImplementation 'androidx.test:core-ktx:1.3.0' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0' + androidTestImplementation 'androidx.test.espresso:espresso-contrib:3.3.0' + androidTestImplementation 'androidx.test:runner:1.3.0' + androidTestImplementation 'androidx.test:rules:1.3.0' + androidTestUtil 'androidx.test:orchestrator:1.3.0' } tasks.withType(Test) { diff --git a/common/build.gradle b/common/build.gradle index 4b9c4d1a0..becf3288d 100644 --- a/common/build.gradle +++ b/common/build.gradle @@ -44,8 +44,8 @@ dependencies { implementation 'androidx.appcompat:appcompat:1.2.0' implementation 'androidx.preference:preference-ktx:1.1.1' implementation 'androidx.recyclerview:recyclerview:1.2.0' - implementation 'androidx.activity:activity-ktx:1.2.2' - implementation "androidx.fragment:fragment-ktx:1.3.2" + implementation 'androidx.activity:activity-ktx:1.2.3' + implementation "androidx.fragment:fragment-ktx:1.3.3" // Google implementation 'com.google.android.material:material:1.3.0' @@ -63,10 +63,10 @@ dependencies { testImplementation 'org.koin:koin-test:2.2.1' // Room - api 'androidx.room:room-runtime:2.2.5' - api 'androidx.room:room-ktx:2.2.5' - kapt 'androidx.room:room-compiler:2.2.5' - testImplementation 'androidx.room:room-testing:2.2.5' + api 'androidx.room:room-runtime:2.3.0' + api 'androidx.room:room-ktx:2.3.0' + kapt 'androidx.room:room-compiler:2.3.0' + testImplementation 'androidx.room:room-testing:2.3.0' // Moshi - Json api 'com.squareup.moshi:moshi:1.11.0' @@ -88,12 +88,12 @@ dependencies { testImplementation "io.mockk:mockk:1.10.3" // Core library - androidTestImplementation 'androidx.test:core:1.2.0' + androidTestImplementation 'androidx.test:core:1.3.0' // AndroidJUnitRunner and JUnit Rules - androidTestImplementation 'androidx.test:runner:1.2.0' - androidTestImplementation 'androidx.test:rules:1.2.0' - androidTestUtil 'androidx.test:orchestrator:1.2.0' + androidTestImplementation 'androidx.test:runner:1.3.0' + androidTestImplementation 'androidx.test:rules:1.3.0' + androidTestUtil 'androidx.test:orchestrator:1.3.0' } tasks.withType(Test) { diff --git a/control/build.gradle b/control/build.gradle index 1d0646961..fb1450f1d 100644 --- a/control/build.gradle +++ b/control/build.gradle @@ -45,8 +45,8 @@ dependencies { // AndroidX implementation 'androidx.appcompat:appcompat:1.2.0' - implementation 'androidx.activity:activity-ktx:1.2.2' - implementation 'androidx.fragment:fragment-ktx:1.3.2' + implementation 'androidx.activity:activity-ktx:1.2.3' + implementation 'androidx.fragment:fragment-ktx:1.3.3' // RecyclerView implementation 'androidx.recyclerview:recyclerview:1.2.0' diff --git a/gdx/build.gradle b/gdx/build.gradle index 4a99ff791..f63fa99c4 100644 --- a/gdx/build.gradle +++ b/gdx/build.gradle @@ -46,8 +46,8 @@ dependencies { // AndroidX implementation 'androidx.appcompat:appcompat:1.2.0' - implementation 'androidx.activity:activity-ktx:1.2.2' - implementation "androidx.fragment:fragment-ktx:1.3.2" + implementation 'androidx.activity:activity-ktx:1.2.3' + implementation "androidx.fragment:fragment-ktx:1.3.3" // Koin implementation 'org.koin:koin-android:2.2.1' diff --git a/i18n/build.gradle b/i18n/build.gradle index fe31d0b27..3c6e9ad3c 100644 --- a/i18n/build.gradle +++ b/i18n/build.gradle @@ -36,8 +36,8 @@ dependencies { implementation 'androidx.core:core-ktx:1.3.2' implementation 'androidx.appcompat:appcompat:1.2.0' - implementation 'com.google.android.material:material:1.2.1' - testImplementation 'junit:junit:4.+' + implementation 'com.google.android.material:material:1.3.0' + testImplementation 'junit:junit:4.13.2' androidTestImplementation 'androidx.test.ext:junit:1.1.2' androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0' } \ No newline at end of file diff --git a/proprietary/build.gradle b/proprietary/build.gradle index 1ea57eae9..278a2c01c 100644 --- a/proprietary/build.gradle +++ b/proprietary/build.gradle @@ -38,22 +38,22 @@ dependencies { implementation project(':external') // Amplitude - implementation 'com.amplitude:android-sdk:2.25.2' + implementation 'com.amplitude:android-sdk:2.31.0' implementation 'com.squareup.okhttp3:okhttp:4.2.2' // Google - implementation 'com.android.billingclient:billing-ktx:3.0.2' + implementation 'com.android.billingclient:billing-ktx:3.0.3' implementation 'com.google.android.gms:play-services-instantapps:17.0.0' implementation 'com.google.android.gms:play-services-games:21.0.0' implementation 'com.google.android.gms:play-services-auth:19.0.0' - implementation 'com.google.android.gms:play-services-ads:19.7.0' + implementation 'com.google.android.gms:play-services-ads:20.1.0' implementation 'com.google.android.play:core-ktx:1.8.1' // Firebase - implementation 'com.google.firebase:firebase-analytics-ktx:18.0.2' - implementation 'com.google.firebase:firebase-crashlytics:17.3.1' - implementation 'com.google.firebase:firebase-firestore-ktx:22.1.1' - implementation 'com.google.firebase:firebase-config-ktx:20.0.4' + implementation 'com.google.firebase:firebase-analytics-ktx:19.0.0' + implementation 'com.google.firebase:firebase-crashlytics:18.0.0' + implementation 'com.google.firebase:firebase-firestore-ktx:23.0.0' + implementation 'com.google.firebase:firebase-config-ktx:21.0.0' // Kotlin implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.4.1' diff --git a/themes/build.gradle b/themes/build.gradle index ee1879abd..a64408533 100644 --- a/themes/build.gradle +++ b/themes/build.gradle @@ -43,8 +43,8 @@ dependencies { // AndroidX implementation 'androidx.appcompat:appcompat:1.2.0' - implementation 'androidx.activity:activity-ktx:1.2.2' - implementation 'androidx.fragment:fragment-ktx:1.3.2' + implementation 'androidx.activity:activity-ktx:1.2.3' + implementation 'androidx.fragment:fragment-ktx:1.3.3' // Google implementation 'com.google.android.material:material:1.3.0' diff --git a/tutorial/build.gradle b/tutorial/build.gradle index ee1879abd..a64408533 100644 --- a/tutorial/build.gradle +++ b/tutorial/build.gradle @@ -43,8 +43,8 @@ dependencies { // AndroidX implementation 'androidx.appcompat:appcompat:1.2.0' - implementation 'androidx.activity:activity-ktx:1.2.2' - implementation 'androidx.fragment:fragment-ktx:1.3.2' + implementation 'androidx.activity:activity-ktx:1.2.3' + implementation 'androidx.fragment:fragment-ktx:1.3.3' // Google implementation 'com.google.android.material:material:1.3.0' diff --git a/ui/build.gradle b/ui/build.gradle index eab899f14..a968569a7 100644 --- a/ui/build.gradle +++ b/ui/build.gradle @@ -43,8 +43,8 @@ dependencies { // AndroidX implementation 'androidx.appcompat:appcompat:1.2.0' - implementation 'androidx.activity:activity-ktx:1.2.2' - implementation 'androidx.fragment:fragment-ktx:1.3.2' + implementation 'androidx.activity:activity-ktx:1.2.3' + implementation 'androidx.fragment:fragment-ktx:1.3.3' // RecyclerView implementation 'androidx.recyclerview:recyclerview:1.2.0' diff --git a/wear/build.gradle b/wear/build.gradle index bc179e1d5..e559cca18 100644 --- a/wear/build.gradle +++ b/wear/build.gradle @@ -85,11 +85,11 @@ dependencies { implementation 'androidx.constraintlayout:constraintlayout:2.0.4' implementation 'androidx.recyclerview:recyclerview:1.2.0' implementation 'androidx.legacy:legacy-support-v4:1.0.0' - implementation 'androidx.activity:activity-ktx:1.2.2' + implementation 'androidx.activity:activity-ktx:1.2.3' // Wear OS implementation 'androidx.wear:wear:1.1.0' - implementation 'com.google.android.gms:play-services-wearable:17.0.0' + implementation 'com.google.android.gms:play-services-wearable:17.1.0' implementation 'com.google.android.support:wearable:2.8.1' compileOnly 'com.google.android.wearable:wearable:2.8.1' From aef94b12ddf32d587e8b31b44fc59e8b34174bfe Mon Sep 17 00:00:00 2001 From: Lucas Lima Date: Mon, 17 May 2021 10:07:47 -0300 Subject: [PATCH 2/7] Allow disable click on numbers --- .../antimine/cloud/CloudSaveManagerImpl.kt | 1 + .../antimine/main/viewmodel/MainViewModel.kt | 1 + .../preferences/PreferencesActivity.kt | 8 ++++++ .../main/res/layout/activity_preferences.xml | 25 +++++++++++++++++++ .../mocks/MockPreferencesRepository.kt | 4 +++ .../antimine/common/level/GameController.kt | 11 ++++++-- .../common/level/viewmodel/GameViewModel.kt | 1 + .../dev/lucasnlm/external/model/CloudSave.kt | 3 +++ .../preferences/IPreferencesRepository.kt | 3 +++ .../antimine/preferences/PreferenceKeys.kt | 1 + .../preferences/PreferencesRepository.kt | 8 ++++++ 11 files changed, 64 insertions(+), 2 deletions(-) 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 578453f9d..f4898e13c 100644 --- a/app/src/main/java/dev/lucasnlm/antimine/cloud/CloudSaveManagerImpl.kt +++ b/app/src/main/java/dev/lucasnlm/antimine/cloud/CloudSaveManagerImpl.kt @@ -53,6 +53,7 @@ class CloudSaveManagerImpl( unlockedThemes = preferencesRepository.getUnlockedThemes().joinToString(" "), squareDivider = preferencesRepository.squareDivider(), doubleClickTimeout = preferencesRepository.getDoubleClickTimeout().toInt(), + allowTapNumbers = preferencesRepository.allowTapOnNumbers().toInt(), ) } } catch (e: Exception) { diff --git a/app/src/main/java/dev/lucasnlm/antimine/main/viewmodel/MainViewModel.kt b/app/src/main/java/dev/lucasnlm/antimine/main/viewmodel/MainViewModel.kt index 975ae14d4..36300a391 100644 --- a/app/src/main/java/dev/lucasnlm/antimine/main/viewmodel/MainViewModel.kt +++ b/app/src/main/java/dev/lucasnlm/antimine/main/viewmodel/MainViewModel.kt @@ -83,6 +83,7 @@ class MainViewModel( setFlagAssistant(gameAssistance != 0) setHapticFeedback(hapticFeedback != 0) setHelp(help != 0) + setAllowTapOnNumbers(allowTapNumbers != 0) setSoundEffectsEnabled(soundEffects != 0) setPremiumFeatures(premiumFeatures != 0) useControlStyle(ControlStyle.values()[controlStyle]) diff --git a/app/src/main/java/dev/lucasnlm/antimine/preferences/PreferencesActivity.kt b/app/src/main/java/dev/lucasnlm/antimine/preferences/PreferencesActivity.kt index c8f46b353..9effe3e49 100644 --- a/app/src/main/java/dev/lucasnlm/antimine/preferences/PreferencesActivity.kt +++ b/app/src/main/java/dev/lucasnlm/antimine/preferences/PreferencesActivity.kt @@ -126,6 +126,14 @@ class PreferencesActivity : action = { preferenceRepository.setHelp(it) } ) + bindItem( + label = allowClickNumberLabel, + switch = clickOnNumbers, + supportTv = false, + checked = preferenceRepository.allowTapOnNumbers(), + action = { preferenceRepository.setAllowTapOnNumbers(it) } + ) + PreferenceManager.getDefaultSharedPreferences(this) .registerOnSharedPreferenceChangeListener(this) } diff --git a/app/src/main/res/layout/activity_preferences.xml b/app/src/main/res/layout/activity_preferences.xml index c40a94106..aeb51c273 100644 --- a/app/src/main/res/layout/activity_preferences.xml +++ b/app/src/main/res/layout/activity_preferences.xml @@ -282,6 +282,31 @@ app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="@+id/helpLabel" /> + + + + diff --git a/app/src/test/java/dev/lucasnlm/antimine/mocks/MockPreferencesRepository.kt b/app/src/test/java/dev/lucasnlm/antimine/mocks/MockPreferencesRepository.kt index 2641564dd..980d07af1 100644 --- a/app/src/test/java/dev/lucasnlm/antimine/mocks/MockPreferencesRepository.kt +++ b/app/src/test/java/dev/lucasnlm/antimine/mocks/MockPreferencesRepository.kt @@ -150,4 +150,8 @@ class MockPreferencesRepository : IPreferencesRepository { override fun showTutorialDialog(): Boolean = false override fun setTutorialDialog(show: Boolean) { } + + override fun allowTapOnNumbers(): Boolean = true + + override fun setAllowTapOnNumbers(allow: Boolean) { } } diff --git a/common/src/main/java/dev/lucasnlm/antimine/common/level/GameController.kt b/common/src/main/java/dev/lucasnlm/antimine/common/level/GameController.kt index a4843f2c2..5da5fd104 100644 --- a/common/src/main/java/dev/lucasnlm/antimine/common/level/GameController.kt +++ b/common/src/main/java/dev/lucasnlm/antimine/common/level/GameController.kt @@ -27,6 +27,7 @@ class GameController { private var useQuestionMark = true private var useOpenOnSwitchControl = true private var useNoGuessing = true + private var useClickOnNumbers = true private var errorTolerance = 0 val seed: Long @@ -116,8 +117,10 @@ class GameController { } } ActionResponse.OpenNeighbors -> { - this.actions++ - minefieldHandler.openOrFlagNeighborsOf(target.id) + if (useClickOnNumbers) { + this.actions++ + minefieldHandler.openOrFlagNeighborsOf(target.id) + } } ActionResponse.OpenOrMark -> { if (!hasMines()) { @@ -341,6 +344,10 @@ class GameController { this.useNoGuessing = noGuessing } + fun useClickOnNumbers(clickNumbers: Boolean) { + this.useClickOnNumbers = clickNumbers + } + fun useOpenOnSwitchControl(useOpen: Boolean) { this.useOpenOnSwitchControl = useOpen } 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 eed6cd7e2..cee19bf65 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 @@ -487,6 +487,7 @@ open class GameViewModel( updateGameControl(gameControl) useQuestionMark(preferencesRepository.useQuestionMark()) useNoGuessing(preferencesRepository.useNoGuessingAlgorithm()) + useClickOnNumbers(preferencesRepository.allowTapOnNumbers()) } } } 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 ec05193dd..9ca7b0088 100644 --- a/external/src/main/java/dev/lucasnlm/external/model/CloudSave.kt +++ b/external/src/main/java/dev/lucasnlm/external/model/CloudSave.kt @@ -23,6 +23,7 @@ data class CloudSave( val unlockedThemes: String, val squareDivider: Int, val doubleClickTimeout: Int, + val allowTapNumbers: Int, ) fun CloudSave.toHashMap(): HashMap = hashMapOf( @@ -46,6 +47,7 @@ fun CloudSave.toHashMap(): HashMap = hashMapOf( "unlockedThemes" to unlockedThemes, "newSquareDivider" to squareDivider, "doubleClickTimeout" to doubleClickTimeout, + "allowTapNumbers" to allowTapNumbers, ) private fun Any?.parseInt(): Int = this?.toString()?.toInt() ?: throw Exception("Fail to parse Int") @@ -75,4 +77,5 @@ fun cloudSaveOf(id: String, data: Map) = unlockedThemes = data["unlockedThemes"].parseString(""), squareDivider = data["newSquareDivider"].parseInt(0), doubleClickTimeout = data["doubleClickTimeout"].parseInt(400), + allowTapNumbers = data["allowTapNumbers"].parseInt(1), ) diff --git a/preferences/src/main/java/dev/lucasnlm/antimine/preferences/IPreferencesRepository.kt b/preferences/src/main/java/dev/lucasnlm/antimine/preferences/IPreferencesRepository.kt index bbb2346a1..d7ec4bab6 100644 --- a/preferences/src/main/java/dev/lucasnlm/antimine/preferences/IPreferencesRepository.kt +++ b/preferences/src/main/java/dev/lucasnlm/antimine/preferences/IPreferencesRepository.kt @@ -107,4 +107,7 @@ interface IPreferencesRepository { fun showTutorialDialog(): Boolean fun setTutorialDialog(show: Boolean) + + fun allowTapOnNumbers(): Boolean + fun setAllowTapOnNumbers(allow: Boolean) } diff --git a/preferences/src/main/java/dev/lucasnlm/antimine/preferences/PreferenceKeys.kt b/preferences/src/main/java/dev/lucasnlm/antimine/preferences/PreferenceKeys.kt index 3045d91cf..4c2d2615b 100644 --- a/preferences/src/main/java/dev/lucasnlm/antimine/preferences/PreferenceKeys.kt +++ b/preferences/src/main/java/dev/lucasnlm/antimine/preferences/PreferenceKeys.kt @@ -39,4 +39,5 @@ object PreferenceKeys { const val PREFERENCE_SQUARE_DIVIDER = "preference_new_square_divider" const val PREFERENCE_OLD_AREA_SIZES = "preference_migration_old_sizes" const val PREFERENCE_TUTORIAL_DIALOG = "preference_show_tutorial_dialog" + const val PREFERENCE_ALLOW_TAP_NUMBER = "preference_allow_tap_number" } diff --git a/preferences/src/main/java/dev/lucasnlm/antimine/preferences/PreferencesRepository.kt b/preferences/src/main/java/dev/lucasnlm/antimine/preferences/PreferencesRepository.kt index 4fa5c2ff1..78a88bec0 100644 --- a/preferences/src/main/java/dev/lucasnlm/antimine/preferences/PreferencesRepository.kt +++ b/preferences/src/main/java/dev/lucasnlm/antimine/preferences/PreferencesRepository.kt @@ -387,4 +387,12 @@ class PreferencesRepository( override fun setTutorialDialog(show: Boolean) { preferencesManager.putBoolean(PreferenceKeys.PREFERENCE_TUTORIAL_DIALOG, show) } + + override fun allowTapOnNumbers(): Boolean { + return preferencesManager.getBoolean(PreferenceKeys.PREFERENCE_ALLOW_TAP_NUMBER, true) + } + + override fun setAllowTapOnNumbers(allow: Boolean) { + preferencesManager.putBoolean(PreferenceKeys.PREFERENCE_ALLOW_TAP_NUMBER, allow) + } } From 9df79920b0b51c1f45bf9d9c74a6dc3a35f3ff9e Mon Sep 17 00:00:00 2001 From: Lucas Lima Date: Thu, 20 May 2021 17:13:30 -0300 Subject: [PATCH 3/7] Bump dependencies --- about/build.gradle | 4 +- app/build.gradle | 14 ++-- .../main/res/layout/activity_preferences.xml | 2 +- common/build.gradle | 2 +- .../res/drawable/ic_launcher_foreground.xml | 33 ++++---- .../res/mipmap-anydpi-v26/ic_launcher.xml | 2 +- .../mipmap-anydpi-v26/ic_launcher_round.xml | 2 +- .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 2897 -> 0 bytes .../mipmap-hdpi/ic_launcher_background.png | Bin 0 -> 5340 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 4764 -> 0 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 2045 -> 0 bytes .../mipmap-mdpi/ic_launcher_background.png | Bin 0 -> 3431 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 2763 -> 0 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 4168 -> 0 bytes .../mipmap-xhdpi/ic_launcher_background.png | Bin 0 -> 7490 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 6819 -> 0 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 7671 -> 0 bytes .../mipmap-xxhdpi/ic_launcher_background.png | Bin 0 -> 12382 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 11294 -> 0 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 10959 -> 0 bytes .../mipmap-xxxhdpi/ic_launcher_background.png | Bin 0 -> 18411 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 17370 -> 0 bytes control/build.gradle | 4 +- core/build.gradle | 2 +- .../android/da-DK/full_description.txt | 74 ++++++++--------- .../android/eo-UY/full_description.txt | 76 +++++++++--------- .../android/eo-UY/short_description.txt | 2 +- .../android/he-IL/full_description.txt | 2 +- .../android/no-NO/full_description.txt | 4 +- gdx/build.gradle | 2 +- i18n/build.gradle | 2 +- i18n/src/main/res/values-af-rZA/strings.xml | 1 + i18n/src/main/res/values-ar-rSA/strings.xml | 1 + i18n/src/main/res/values-bg-rBG/strings.xml | 5 +- i18n/src/main/res/values-ca-rES/strings.xml | 1 + i18n/src/main/res/values-cs-rCZ/strings.xml | 1 + i18n/src/main/res/values-da-rDK/strings.xml | 19 ++--- i18n/src/main/res/values-de-rDE/strings.xml | 1 + i18n/src/main/res/values-el-rGR/strings.xml | 1 + i18n/src/main/res/values-en-rUS/strings.xml | 1 + i18n/src/main/res/values-eo-rUY/strings.xml | 33 ++++---- i18n/src/main/res/values-es-rES/strings.xml | 1 + i18n/src/main/res/values-fi-rFI/strings.xml | 1 + i18n/src/main/res/values-fr-rFR/strings.xml | 1 + i18n/src/main/res/values-hi-rIN/strings.xml | 1 + i18n/src/main/res/values-hu-rHU/strings.xml | 1 + i18n/src/main/res/values-in-rID/strings.xml | 1 + i18n/src/main/res/values-it-rIT/strings.xml | 1 + i18n/src/main/res/values-iw-rIL/strings.xml | 1 + i18n/src/main/res/values-ja-rJP/strings.xml | 3 +- i18n/src/main/res/values-ko-rKR/strings.xml | 1 + i18n/src/main/res/values-ku-rTR/strings.xml | 1 + i18n/src/main/res/values-nl-rNL/strings.xml | 1 + i18n/src/main/res/values-no-rNO/strings.xml | 15 ++-- i18n/src/main/res/values-pl-rPL/strings.xml | 1 + i18n/src/main/res/values-pt-rBR/strings.xml | 1 + i18n/src/main/res/values-pt-rPT/strings.xml | 1 + i18n/src/main/res/values-ro-rRO/strings.xml | 1 + i18n/src/main/res/values-ru-rRU/strings.xml | 1 + i18n/src/main/res/values-sv-rSE/strings.xml | 1 + i18n/src/main/res/values-th-rTH/strings.xml | 1 + i18n/src/main/res/values-tr-rTR/strings.xml | 1 + i18n/src/main/res/values-uk-rUA/strings.xml | 1 + i18n/src/main/res/values-vec-rIT/strings.xml | 9 ++- i18n/src/main/res/values-vi-rVN/strings.xml | 1 + i18n/src/main/res/values-zh-rCN/strings.xml | 3 +- i18n/src/main/res/values/strings.xml | 1 + preferences/build.gradle | 2 +- themes/build.gradle | 4 +- tutorial/build.gradle | 4 +- ui/build.gradle | 4 +- wear/build.gradle | 2 +- wear/src/main/res/values-eo-rUY/strings.xml | 6 +- 73 files changed, 203 insertions(+), 162 deletions(-) delete mode 100644 common/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 common/src/main/res/mipmap-hdpi/ic_launcher_background.png delete mode 100644 common/src/main/res/mipmap-hdpi/ic_launcher_round.png delete mode 100644 common/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 common/src/main/res/mipmap-mdpi/ic_launcher_background.png delete mode 100644 common/src/main/res/mipmap-mdpi/ic_launcher_round.png delete mode 100644 common/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 common/src/main/res/mipmap-xhdpi/ic_launcher_background.png delete mode 100644 common/src/main/res/mipmap-xhdpi/ic_launcher_round.png delete mode 100644 common/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 common/src/main/res/mipmap-xxhdpi/ic_launcher_background.png delete mode 100644 common/src/main/res/mipmap-xxhdpi/ic_launcher_round.png delete mode 100644 common/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 common/src/main/res/mipmap-xxxhdpi/ic_launcher_background.png delete mode 100644 common/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png diff --git a/about/build.gradle b/about/build.gradle index fb1450f1d..ae23aa02e 100644 --- a/about/build.gradle +++ b/about/build.gradle @@ -44,9 +44,9 @@ dependencies { implementation 'com.google.android.material:material:1.3.0' // AndroidX - implementation 'androidx.appcompat:appcompat:1.2.0' + implementation 'androidx.appcompat:appcompat:1.3.0' implementation 'androidx.activity:activity-ktx:1.2.3' - implementation 'androidx.fragment:fragment-ktx:1.3.3' + implementation 'androidx.fragment:fragment-ktx:1.3.4' // RecyclerView implementation 'androidx.recyclerview:recyclerview:1.2.0' diff --git a/app/build.gradle b/app/build.gradle index 7ea7059a5..6a4a527a1 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -14,8 +14,8 @@ android { defaultConfig { // versionCode and versionName must be hardcoded to support F-droid - versionCode 1001061 - versionName '10.1.6' + versionCode 1002001 + versionName '10.2.0' minSdkVersion 21 targetSdkVersion 30 multiDexEnabled true @@ -124,12 +124,12 @@ dependencies { fossImplementation project(':foss') // AndroidX - implementation 'androidx.appcompat:appcompat:1.2.0' + implementation 'androidx.appcompat:appcompat:1.3.0' implementation 'androidx.preference:preference-ktx:1.1.1' implementation 'androidx.recyclerview:recyclerview:1.2.0' implementation 'androidx.multidex:multidex:2.0.1' implementation 'androidx.activity:activity-ktx:1.2.3' - implementation 'androidx.fragment:fragment-ktx:1.3.3' + implementation 'androidx.fragment:fragment-ktx:1.3.4' implementation 'androidx.cardview:cardview:1.0.0' // Lifecycle @@ -160,14 +160,14 @@ dependencies { // Tests testImplementation 'junit:junit:4.13.2' testImplementation 'android.arch.core:core-testing:1.1.1' - testImplementation 'androidx.core:core-ktx:1.3.2' + testImplementation 'androidx.core:core-ktx:1.5.0' testImplementation 'androidx.test:core:1.3.0' testImplementation 'androidx.test:core-ktx:1.3.0' testImplementation 'androidx.test:rules:1.3.0' testImplementation 'androidx.test:runner:1.3.0' testImplementation 'androidx.test.espresso:espresso-core:3.3.0' testImplementation 'androidx.test.espresso:espresso-contrib:3.3.0' - testImplementation 'androidx.fragment:fragment-testing:1.3.3' + testImplementation 'androidx.fragment:fragment-testing:1.3.4' testImplementation 'org.robolectric:robolectric:4.3.1' testImplementation 'androidx.test.ext:junit:1.1.2' testImplementation 'io.mockk:mockk:1.10.3' @@ -176,7 +176,7 @@ dependencies { androidTestImplementation 'androidx.test:core:1.3.0' // AndroidJUnitRunner and JUnit Rules - androidTestImplementation 'androidx.core:core-ktx:1.3.2' + androidtestImplementation 'androidx.core:core-ktx:1.5.0' androidTestImplementation 'androidx.test:core:1.3.0' androidTestImplementation 'androidx.test:core-ktx:1.3.0' androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0' diff --git a/app/src/main/res/layout/activity_preferences.xml b/app/src/main/res/layout/activity_preferences.xml index aeb51c273..68d81df02 100644 --- a/app/src/main/res/layout/activity_preferences.xml +++ b/app/src/main/res/layout/activity_preferences.xml @@ -291,7 +291,7 @@ android:clickable="true" android:focusable="true" android:paddingVertical="16dp" - android:text="@string/help" + android:text="@string/click_numbers" android:textColor="?attr/colorOnBackground" android:textSize="15sp" app:layout_constraintEnd_toEndOf="parent" diff --git a/common/build.gradle b/common/build.gradle index becf3288d..2d4fdeabe 100644 --- a/common/build.gradle +++ b/common/build.gradle @@ -41,7 +41,7 @@ dependencies { implementation project(':gdx') // AndroidX - implementation 'androidx.appcompat:appcompat:1.2.0' + implementation 'androidx.appcompat:appcompat:1.3.0' implementation 'androidx.preference:preference-ktx:1.1.1' implementation 'androidx.recyclerview:recyclerview:1.2.0' implementation 'androidx.activity:activity-ktx:1.2.3' diff --git a/common/src/main/res/drawable/ic_launcher_foreground.xml b/common/src/main/res/drawable/ic_launcher_foreground.xml index babad69eb..aed22f30c 100644 --- a/common/src/main/res/drawable/ic_launcher_foreground.xml +++ b/common/src/main/res/drawable/ic_launcher_foreground.xml @@ -3,19 +3,24 @@ android:height="108dp" android:viewportWidth="108" android:viewportHeight="108"> - - - + + + + + diff --git a/common/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/common/src/main/res/mipmap-anydpi-v26/ic_launcher.xml index bbd3e0212..6f2acb4f0 100644 --- a/common/src/main/res/mipmap-anydpi-v26/ic_launcher.xml +++ b/common/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -1,5 +1,5 @@ - + \ No newline at end of file diff --git a/common/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/common/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml index bbd3e0212..6f2acb4f0 100644 --- a/common/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml +++ b/common/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -1,5 +1,5 @@ - + \ No newline at end of file diff --git a/common/src/main/res/mipmap-hdpi/ic_launcher.png b/common/src/main/res/mipmap-hdpi/ic_launcher.png deleted file mode 100644 index 1fcf6d8c51c4d71f485448a45ef190dffe5cd814..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2897 zcmV-X3$FBuP)wfXh;o!!}+o!vXzw|6|; z8|kaFeS0(W`}p^mnZ3=+%e7p~wOq@!>$?%6G~c$V z9Z<)Y?xgmnb=2OtnP1zft*OISho#O2Q{8n5ZIP-mwauxKQKVmQ_apmN$CBgA`KWWm zoXxqfgDqY*j;qNJQhW0h?)dcOwkCo`bhS6qNC#_k1C4aDy6RbVG}6u50@c#UR;Y&9 zU>b&c;t6dZMe4QN%sxb4=o5Wo42*>_F*fFaxnNG1n?7I5j>~Ngr_Z&-r>M4$xvBAa zxvlYebU57FWH{6YH5$Y1td0g_cyqlm+{x;yGu2&d3~ym=tuYLtxM6Hl)Kl%$c1`;G z>Sxgx_lds67#K^Ai#cE}m=orPIbyEb{9)6%r|Vu|6HP}LPfkJ-!|SEi#(5IX*uBQ` z7}Z;(H}qB~w4=(YXEf>WtDjZ9%l0bEqsHh>Y?txzPa5b?k5w&DZ5~szE}nFLL&GK) zAO{?PsZWHHCm0FDf?`9cq~X3X3fDToNl+Fn7bqEafK=}diESF%)JT7Mtg0KfrUU4P zkJi`qqB9#%QaGm9c!N=(NP~AmvrO$8Me;g)#s;Rq@&e`XCT~cv$!GT zF70YHCOEpsSYT`*7K8(;rql4VmhiLsp1j_MWr5N?YRr%t5N3wa*5DJ+S_Z`Kh&6?0 z&KV7k7Z@GJLFncr@_?2MR4PbbIf-pD+8NMFzkt{svG5XW3#*i;hU4Ki5{wR|-_oHn zZ^`#vuoO@ZNLI)tg=8%OU<=!1bkzFVy~SjlU>L`vbm?f6 z`d1Xv^k|T(%7XO7y#@4UZ_Ml~6(mRERzs~i;YDnd(Ul26oYcgQS@j+@wDg4RfFpAZ z;Fw^9XB>~wd;20Zr#k2W1l?K_q{r{gr{1LnwEe*Xx;dJ7FUV?+hv?#=5(QG36Ox{| zy+X|lGsEci3uprXacJRK!S)^=2upmmVyV?i^PEA>Gau{&7!%GAd&XP4BeZd0KE;Zh zaK@r9R|VVmq;pLHgu-384`F{>X>AtTxOL;alBNn7Htym{{Jj9 zTXlv2^;8><>g5?;3Gb2R92INLefchfvY`$47rJwiSC}QLSr!1P`9}{gxgeB_K~AFY z?2XWEwb}O|=&q(PeSA=HqB=UuBOs3T|E6Dq~ zVjARaiL>M<$wLxQPc^-kRX}oEVTYFmh{Nk#f0QZa=aP zh&yvsFuDG*6LbO)%KOnri|CuTg~cXRHz?Cuxgg)%y9q#86RCh?qE^;JiAr{b067wL z869|}$Yn$}weXH`azHXs|33r5hWD@AWr$sifV2?%`4h!d5H=@2ZQ3-KLD^7kd5{jR zC^D1uRSB_iBIGgFjbbhjmfm+KcS>3KqsG!T%{zP3{Z+PfBsOEe)(jf z?M>Mh4%PnH5xufy-tR*3?L8530Hzz04Pilg;Yu$QU4YWqYIH3sNc-$(G)<2NsD|?o za?s}QUCpgVnwwR4(LZ-agb})Neue7wyNyNk*3Kxsy(>!R4_XQOif>laJnoQQ^jc>z zl||eJ`VkhOzj>-i9PHa?Lb~_p;pMDg89MIpabN~7y3ik^@86aA?Z&dZty9ITeqiSF z$n}lh7&Xq!{BHivrV#!2AOHc*DBh!oS7wh~{T6WVW z5A7kG5WKk~dMzBp z{-Lr+kX{leh$RVztoW&Gz`u{4mRapJz4RN0Of4k3+rg zCrQ7%rnYOMKT!9FOY z^^79*+O1|EqA&D`zA*;I!k8EvbHH3MC(KQoFT(1h_4V}f@`|%_OFw@rY;0-H8+&-E zt+_Doll&53Rd&sfuKLvj)BB%)u>7abEiONPdP(^SRj2T}bh^-~rDZ~=AL8Ga@$bv{ z=Vhh*T6*I2a#N=?{Wi(p^y|@&*%$gW#}eZ_gr7~>b6Tvt@|-bu*Z^B#6Krb?<$cO& z_4wMPcp&f7{Q5;!j8)E>ah(e`z?P{MQ}aHKl_F2 vS+GIa!Zzu4W}<=iL{P5fTCU~VbIb+hS`mDMn^ zcVt{-g#7O3^ZosC-skarJzuZ)>-l=0@gBJArut0um*_8CxWHt90W8RO{J$41HM#BF z<>0z-fvv~@(6S13+RO_JVjl}@uT1JdG`lnfm%R|8{*{A}Rx(|z4KN)&s3n!9e@TB} zFs0(;Z--7{P1NM0D`GEx9E%PvjHIfjO}T*6rHw`pJ2i|Khtd^3siuIp|61FK*b80o zYHb*3R^0Pk89XJas;jH(sT`gJY@fBBOsg`gAntVj6V3Rd;F+XM>LUacBe{#@w&Gew z%fPPijF=K(dNkkkl)Wg^5pWtW{U3L6U@-R^>PhMxDYhPkQvNRs$A6wqMAU!k zb2;nkI0NL#%8POVJ?tm=Wa4(G-G<|!SC^uo0M-5+zwpF%|m4As4FPcw`JaK3I_%?8p(i_QyO%_~#EVa)G z?HKdmPNMEy2jpQgPO|af=D@>FQ~Fkzcd7@H3^D1NLPZqSV!0ZP=q@D`Y6HmxvK!o< zI^;E!%>u`trT5=)uArWAsc#=EnIcNSa2%Q=(#+HLZ-eOp2yToM2ow?ADOPfxduct2Rdp6VlSin;q+rUOnN2C|ZW&-@* z1|rxyXm|cXciBAqjE}pEwfs@LbmLqn?+CvPmo2p0z@CYG{kZnW=Foj=4Vm7+S$wa$ zU$ED%|B+@-&>K$Tp)gm6oF=ejF?MDJ5r}#@y-ZTS(i(mz%`$^5O}jtWwm@k_3!vvf zE&QCR?v_~P8wWO=ujF`A!82&}D1EQAJ~=XSIgaG|E+j2LSw;ng9tR#altJ`d;6)Ty z#pBic7-GIapSEv>!L4pSjGQ+IbfiZ%DLs;?zulE^=E3?g4#sOhlB@kXo?m!Bt4R_g zm$lvTd$90dHNA~q3y z739f-m;&K3;b~@l&sJJN91=*mK5q#uIUF{$rwDRGW`|{Op1bz3M)kS?)Gh5bvnF(b zR7f@6mN@!06lyl;8Xzb`e}rkip>m&ti366w4^UqtsD&wA8H&^yr+LR`u@)@>ZCmH2 z$!^*zf+46P^gpc~I&v`dlR8}*hvGvyP9K-PF1S07LdE3wu#HS00$y$Sibb1`cO{80 zF8qiU3{z?!=m3(gV{7JG$7dgGMvcHHP>t@*lghb<&TLh4KDE+?C9@g+9WvZz*E{Ec zCA-oHjc2sZY-~6%ck3))vdF;!CNxXMdcTQAt9Es=nBQM%B|CnC;ek#yNc$a889bv) zE`eaYk=ITzQhFo;MYH9ywDHz=4_#=HcU6X<@s{1fagY@!vZ{87o-|TcHozbUeJa18 zfWm!u4!1FIRiPu8)7b&Si*v4HF;~G zSc5b*ov8R0p%4_!zO3bD`z1^t1o>bKkmdDa)dJZAADNF961wcr)XH!@uDuzC(Z1Ri zFq4NmMJ1>pwx@QOd)YDP-t6ZyKBo7`>m~ps9GMsAcaeu~Va%M=7ae1sik;Kzb|$nQ z`HIcws)7>s0Ya{5tCqGD$e3}d7(P8<;kcInh4&AtdKqi_*+`^||K|W?PK`f(TikjIuPC-yJ?YeD#+Sw$B-|<1)-orj>O_&$zHo+DNLV` z)>VP$xV43fs*o#7o0`V1Y!5~2q}^B@?lW$4R^1{7DMEEJ1RtrK-7vX%sFS>cYE&9K zQ^clFd)IbF3bgjFtp?tWL^ja%@5rF|pt4(oDek?W@Gl=XFD;{UJcZm*Dgj%(l?n32 z(Xi*#E7dcge1Th0jC3iv^zsOLj>rGJ;OC+^OJar} zM&)NY`+?y^%;sSnui2v~ZOh#Qn#e`J4%zXhLH2K zJD=SAt&XspawoGKcO(#8mmyol-Cj(dbuU%SL|EmGlKOZTE>S+Ht~9k2`M=0;A@qBA5Fk5QBr<)V8mg zvFdHftS-ZHt5;!{#pi8-sl&6UGAHx#j+fB+6Jw@_u`@lsITRDBt_1?ds4b)b~v&1{@38fX-r9Om`5O1eDDN)IkSLx9}AM-Af~=;}+1+0JU~Y1Cc+{8B!>IKHHH@Is z6;_u{OnYLb9`d~J(?@(~T~(DcH+scZ>(6@&yLyqAkRCA^FU<-}4BtF8OIokXX6rd0 zc_E~Dp3oDL_=&Gl$tGi%n@vuj;cJ?F@he^8+1!Cnv=LY_C7+4`-RV!d^1f*t@XaGi zCBx}p4CNpwm9|^XC;tXvQ#=|)O7QqM!Y1xS%WUb&03WQeXIdTpygVPtH{X#^JtyLz zx3mYWm(%z3ituSILX8p#s_kb58Ta36#1H(jLlvlcdkd3u2>;Qoka(sUyQk~=S0&)Q z=j5J`GBgBI&6}|>kh2OuF1GsGEVadOn5n^17N-j+D5F=cwd;#gASs*@0t++29>2Ae z*%Vr|i}xT~oZbqpkmIfzoU@_9EgNcarCe@Fe%BTm2H$-?i>iuA)o9FWa_wXgC_ZUS zq=y6q56pQ7FWCdRRNpWdwLNS~DFB~WgR|7UY3TU+UWfIToetS;N>$~aA)&Y80~@qo zj==fVl_SV}V%M?_myo#RW5ka?m5I#`X|H{6gAtj+5a}~&GnXCMIzPYzviS-|-5NDT zeE$kU2jxjJZyHTAhIOqbwCt`EqA~0uYG}DB5bT!;9w^O(p17GT-sCARD!$tfTk_`R zL&>$&B4?yag)FG(^ZVSTB!wsx7)m(J)ws>8(E=sZX%sAMH_viEE>0<$a*@ z=aHlny)OxfgvbI#v6~OS&&I4Jew}1|S~IVSd|{O>>tp@lC;eOr97;7+Hrk6RVB0zm zLFEa%Dtu)nsTIa0iF%8YidIv=GaWZ{~JQ;DX@3!^7Eb z<6Hwo6slZHru~jgw%E@SL~Z>%xE!2iwPSTL?&CA&nwvFJHHN8y^=f{W?5X-bC0V@K zFtIHzOB-9nf>KJM6|K5b?6kND!n5jyq|kF|@~`9a>9k45q>Gic090SxGxL|VPg!@q zUJI9CPSCKAi1=Z%J~2JbeuMA*9g|{$)tfJ*WJgsCWo?`!o_8tO^^=c{;>|3Etk4y< zF@_qqof~!eXG!(o!yfPb)8Zb@1()tdYLtOUN8q|M94WD}v}X0aT6e#r@jItWSyFn& z{$}r4h{e8pIem?Q=VmpeeQoFIW#crC7EHL#@97fDHY(nruU8)57v4F0}UX zg$zkNO~yd{I8KtO6^av6y|9;951WsO9%It}-At~AX7`1YaA%m?{P#@sTK6l*=ClI$ zb42+cyd)mdOwT8584OKuyH?k6wm6WcH?f?5y*7CQW!U2#k>0bCh}>8=DELg7mFt=H z>-P_){L5IuNsbXFQtSI9OE%6Yd2}*$_)N(7-8n{_k7uhVCgR6Uv8T_+QH|BwdW&yV zz3%^XWqlQWRsQHttb7?V$0PAZZTwkcJ*X(^_1AW1%tfHf0hb_Gbr|4FdP2diepJ$6 z6X$!AsBrs(o@rYlTU{j;BDKuJ$JJ#j)9W_*1HgT4=cs0C%iN_-HD;Fmb`vufO4Yy@ zy87Uu7Pq^!#iO=6VbFe-zi@X^%=IbUyGb2NPpTR5BS^{0%wKq}~dztpEvV@iL^L!COadted3D z{O@KXK##NXT`R@5)H%%4!Dp0D4E1NOIx?0ajsc8`{5(EK<*#m3^jY4KYHy79}^Pz&%>1JSZ&nt)# zh%jy$<{H@uPK~mArpVBWz9$+T4kZPcD9-}sefzAffo{}7Sv=9UwujJ;rOrBVndTh% zeti{&!wSy~D<1AID0&aU$;?}D+^411rJe?drQuyls+cmPbh)3wMtJ2f>T2C@#uj08 zLwRt>b{u8cVPRTezz~932*3JImX{iIAjB$k^)t2-biX%e2sG0-MuaFq^?mL_TlSjL ziU2ufe*qLnMfP^ScJT;hxYvR1?MIb(7=d*}wD3T_kfB-cl1JiN<}61p8h`w8AElDL zNQ+9WcRu#yrHe{VpUsQ_fW60MxQscqF_SuAh`s`%g$A#fw| z2$?+K79S8W0=2hRs0DBJTHCs;U3%NqTCbXj=mi3S3la00OuoCnefB=H&pu}+50Z%P zwZ1j8X7)K}f4}*@|F`!(C$U(*#0Fp)LaoFy)YRDb@^N3=MjhTe`ywbQx)@*O?^8AL zn6Di$H5!O>F-8&r6{0o#-@P&L^O6^ff0zQ@nVcXEGh-JSC*(fF^f`>e9?3aFYg z6=H=C5eT)!{s>jkdSXpoRnafHV$pVL_`WjQ#J>9@?OPdrkRD6Up*v?Uqwz~`bihIy zK>3t$1jxNmIr-Pb(Z)n&6wo@W(3BoqqDnoki=2bNdXb)!oLjpN)iV7LazQmUVv-?G ze(9@-BTo}3rzsQ-NF))jRyxr-t0Uw!l<2GpqjgD^P`|@IXtaNq2#mlwO|L<&rCk@( z??Q_x@t1>Gw1}j|E5Lqn<`8!cfxKz=gXQED_W`9E&`@L2snWWN7bWlOG@hYgNHS z*q|{@I2Z}UzYF$rv|t*O`itQ3yc(#8mV!j&+em6ZU^do4Y5aoZbp)w8`?=`GV@h0? zLLwL)6am2Y9+=o)2TKMOfp}#k&NZsDGI{{VD2{o+n+9h~G@qo@VT8lLprA@%Bq*BG z1Dj89Uc%`C(s#FfQ$CQ9L_5o{L_~Nm`n@LKw;jg5^QIZ-X zf{~*{2OGQNLp!; z!&8dFk)lRUBN++@P|Iyn8e@HQ&_q}ql#qI2%CTtyhtyUPY5TY&6cT;wbJONH6;m?1 zV#;BvIWinMr8pd(5)=$`j5;Yezl+<%G{*YyWAJz}x;P{X$^;Uc1nFFP_>;dq92h0~ z*r&!1Cb~mQxvq>G;0QXSfe|7`2ZcDkn_C`qK9|Pud)}7=(_l#v#iNO9lMG3i2Ao_U ze3`gL_o5`Xd)9dPbyO&elW=&olG7>$95G^aU{vShqScw0@VyR}2uh2nZXoe=!|_)s zagu6qq_p5?qOUz}e6iQMIppZ7jJD8~H=pO|1X+f|wMK{<5e#!w1>l3W=X}t(-3#wm z5kH2Pfu=KKH2c&Ycy? z9xZyrd5%GIQo&(P>=vVhJMM)QcjUmW*V$pR-wHYQEco$Fc4(<1koIyTp!TSCZkHEY zcPBy7sKSWi*GLOV6mF(RRgpMJH#k}r{G|m`t*3x^xV4stuTx7pS>JHokxRKDt;Cc{ zMvV>(a~Pe^%F5E2D<=!;9&|v*J_3gu0d;nl2kx7$f{e{~!lzqv^%2FRiKm<>-a1H3 z7SIpkPghN(>x(U6`1?x#&7$vV8yBtk7Ud9)9$a|Jx+7OBv&i8(BSZ`bgHHeNQ*Hww zv?9d{?`(F#k?n41+UbU4&$waP?b%?ns^8mfSup)y?C{c~E-n2ueKL(Cgv4Y3$1Ug) zRyEYsV`aftEj(+JG@#kI4wj_OYU^Qw5Sapnw<@=mbz%_eD8W2 zICG2+_trMto15!FZh@I(3e^}Lm9Ga>|NM@6YF4IT*k&M$?!vrwKD4n6LK_I(@@n?IrM zX{k0z9iJFQCS{+Cb$w~UZwLe9ra!+;^QU6}=+2mOOiM3u-XqU>WbNVQocxM!uXhhP zAhc_Uj=j9f2`?>o!p>qRRNn7^hH9Jwu<~!vqLfiY)9l3hVB_ZRU&=a2+j(jo&ORjhGNgw^cTMY%JP z#cN`k@tiyTMC3t3_0oy6kX|O*lPu}EaIVe+-??hwqewP?t`*Mi#8flUB3;QB#9CeL zceceM@ZXR4S6b+tNCc!t&``2AsipfpX8Mz=w2RS$8h~0rG~wLyp7So{eYM{#cj==j zRmqoh2+RHZs{(tFg{DKoBPJKMmMd?l_p>7Afbis0e-Mt}AkI8`aK7_$i4z>z#=#Gi ziIdJ%b90~#*KInnX4Q=EMw$Rh5Lr1~8hDeixJ2W^#i+<(xwO4P`A`K!Z~3Z##C4ah zdT~JN!ck1Gw!I!$ac4Fy?Xn{SX}I9M`$jt)-JS~_I38_wEdVl9GX{wG+(nAgXJrNT zzA={JJb1K8(as;Z$C3)xNGllLE9Vs~ZFy(u#R0MO!rAhyYi$Mx2Ga1yc$lo&ns#_t z$!CDXYGw*3n5<-5anCw<;-Tr*C4gEOpe_TTR27T? z`bW8kE-Nt1<-rez<$JC0(N+-#3GVN_gsVizS#qjiPk}{T%zH%3yBuJu*?Z9ySo9DLW3HK zNdL5Gyn_M~%lsHp+FHva$ui%|Dt4~c3vaA-!RmS0FlVX_JPxA+gJqLER`}~CPp_(2 zyhbhaN7e-zGBYisb$}S8%bPca|3CrZ>b8&bp!PkvaB_zmmVVz3R+GUGhTSy921jt; z8sYSG9)uG`;`9HM_}?NdG6gQ$Qsc75ve54Snn@p6>42O;oJotecvd#F?CSkYI$jlq zw;#>>1+vg>d9a1qCGW2YEKj)?geUCfTI~ABS7$ATi`ABjFdSU$S%)ml7ONNkc0uk; zy4@k(LG9ye9(Vg{mpb}odo`UoNtDi?X@{)~9Z*Lmsc5}j%@h3r)Sok(Lr^m}`*viZ z-|kRzZRnlhkvT2p%29SVBhlCWARa}y2OaefY!uz~Z5y22$tQ?j_4>Ws526B10^*ak z1;=OP4fi4o-G&)9Mr_3KCxS1jIz-ZpS27t;H#>?vidGHqf)!J^ej82>as4IjOUvaw z&5mMxtGd)&86dW4FY1tKHA_a3Ce}oYKC1RWz&o(f zv+Q;|wC*|oJ?R9Q_u+2h^Y^(PMh1VGZ}M;z3#p7bkt-&CQ64#woG@aVnM9G6X69OS zfC!~yfY)WXV{mGxN%Y9tlQO+@^Pi?0{Uht`ooeyt(InnC=#lf ztVLR?`RJ{m4fi;-2_x=LUmvl-cdxP0d+@TeeK9-_M(TOp7bEG_UKxScihcXgcgDcH zv1&G~d`|Xv+ba}E&}xPYS0>hCnwgb+8bwJ+XLfigBm`5lzyTlCxZwnuMAj}LpDF4S z9kSE1;bas0ne9&E+7BbOuXk4CTSIh#+O#1E%cqaO4ShG&AF(Z(PX9)0{3oRaze_o3 z#EbOs-h2l}({rq{@mtVj3ea5VhF?D7fT>Y)opL)=5nl5BY})T&iGx1az`yr6vtZrb z4*0xQgd?X`zEs-v+N0hNi@;mUCcZ&@p1^!h-x$H+vD>m|w{9_sBApgVf}H{q{e`8c zJNUi&vLEFb;P_lwuy2_IKHcu76He^cL5_K^!VP!bV24}3WrzKbxybr29UL*W3XG+l zMbAkRJ&(_r@B{RDo0&M9wI3BZE+sEn|5)LF5g#(5&-Lk|NG|)59vRY20ELhQP%l2} zGys}A%?4+73AdH0smC3EDi@lbX4Q(9b6r}Q=#G|J><30asw46C$}nmV-c8M7KKHEc zoozua8a`JUb?vDqL(TYPsBWKHF8h3LWEM%hy2+qeL^afS;JUC4a-C}Wpsu{OhVAJH zPncqVtrLEyt~0ecO`M-4Yy8Ih|E}DEn>u|;d7moaP(CRmlX+8 zx&Cic2%fpy@o(s3@m03VWdD28hFs$tgSS6i?>^=~*dB|}r$dvFShyM>Ny2>rJ>^Q_ z)L?2w;MHR9?}%@1=A-$%r@O|&Zj^OoMzCRZK|QT%T#xudwmV2-G#Nl8VWl(?JWB}C)NiO21vSe6CjDvBu5mDDsBP*gRwsR7%^hRs4;`1?lo(0K3x|`ET3V$ zpZH>DKJ_iNOxlot4UHU0ULBin%U*Q+i2#L!r7~WP({)j}L+T*K3dccl5f@?UqDwOI zdmR)J3{NR`O`(*d=3rWJIBRdQ7o!g|10(S7H2Mt=Z$q!mrYCll%&^^eWL=Qng-w`2 z5~GQ0lL3|lES+&6G8C>ga!T=PRikQ7{hIvdN7Tr1U1iI}4SC};i2c-t-jFvO|MP)! zUUb~7_g3aNv{pnAQX)<_*w{QtOgRk{izqq$dTL@C=^{o-DK^i+Ee!g+&tsDsW=F2L z701lRK45To8+x;!{t7vn!!jnnz9jF^>5U=4N7!h}Y0DA;lrEyAs1l8WV2&2z5(xU}F5{sj$g zT^d0NsV7F34q6%$`-|sc=N7@V#lp}~8aT7{PDdFT8~!n`m5sIEHK)5aM9H!Y%Na8a zAA0mo^^d;!l||nDjq8KZQN=*vR;ISMZ4y-!mITaTQhydLOlL5yX@$aDHjPgP;oxHL zfg=BC`~zMujt$3%W0l4}sO{oHE6wd}V*cW3SwH^$(!AHP(zV7Al!A8*s3WKi^w-t_ z6Tlfv-v^IHD6DML^%Uw1UhDTuy{{MFFz#L)1CE7_sdwwE0ccH_cL=V)cQfOr1T1W+^{&SNKVicZW>St(bUpxkZ;PH5_vztSJ=ia~2 zv-c-gkHzf@d}PIiW4I8aCRMv=if42tOFIPR_glX?HFihNivKG19sJ<&{Lh+58sG*w zu7_~5iaMRf@OCh6OPt#h#z#}&!`1npy}rcvTRbP88?S-a!fWESaSXZ&7SNT7{KCe9BePIVV29L#aSk!32b7tc;*n;yb0Y+{^Js!(9aDvIw51;*W6U!r( zpOKLfCN>$JzS=Y5rfJ?$)6wufen!5FVjt|wj=^JXcrH9Ao*S>BUF|F0hWh=MOYqmm z*=)hMZ;rk4a?5z~Ii@3mLy^y6hVSvS3D^hw;xTwEo&(RNo%L(n=^V&p>;)6S!vwlggq`kY5Qg%Bc0LJ&11#6&bkQH%;gFh((&6oCqDr!Szi zykBhrqd^mY{L%RQkUtYYj3)Z$gLatlfiU;XcCT~qnV#Mm%3N9m4JTRY^xkv!UTdGd z&pG$r88dFQ>$uUWl{2Yz;Vst`%)!p@)M*k$heeQ?;ava9P4(!1$?8A@E_qnaneN649OA1iMl4=dzYwT$G z6@!fS<_n@DCX9||VRSYLBOVn-cSIOHVPW)!gwfY1(z}2Lk>1VduNUb(K%I#J4eA>1 zqaXTX9FK<`X%BW`AAZ;$3lZReV5YV<{r2gaIYm0x2@MsGzu&%6?@xEMBrE}Jgd-5Q zB9AEbMP=j+L>v*_(@4eu&_Ko@V{g5QeL$TC>pFmb=#Oz24?Eczv1SAQ*e`-71++Dv zJN;C!TIV{Usf(YzSQkj|h>b}BJXn(N26-!8WU6Sy6=_9yKjT2{rGfjpASuQY!ggh9 z!4LegU(5v8ffO+OWOY#II-yMvpk@HmC?lVTJRA?&NFS^r}$ z2&7Yng9rgfpO`aO=Q^R~2;f4(U^8tj@+xJrQMVBX$s<7%M-{5af2(^+j1mGnYBsEt zQX)_j84hBqt;vaiSOSs9V40Kl$itb6x=tKqk1>wVF)^e;UBi9!(}k$n&_!4?Vf2PY zhJ%>e9$^9H1q$e70lcJPRgeXnkNiQ9SHy$k#D}UVJzPZ>hb!stp-M`RXyEI(KQ6?Y z5!ivfJR*#~kjU^do7xdBR6tcA9gilEI&x`46ec5YBMzcpw3SoqW2Ln2AulD4`YC-f zVB$o8&O?-4$Rr}tI~zrYQz_N%L_k+0fz3s(&&YeZ+GshiljrnM#3jj70eW_+mx_yv z$>l1hZBLfa#dj(w{f?jZuPddd8W(l1E~U|f0ZWKYgsKVnW53uhGCRX8AmmU0tCpLL zihh=SO)mKpm6A9}{0?hm`90Kn@hrf|?jOPXC&R$^Xrv#?_ueCD_u5n5rhUu=4U zckWb2qXPlm;RJFYJEe?%Hg&9mMeZIq$$!7gPcN_V($LGLbl{~@YN>Ncf=WO>c-_VH z(dIH!v=V`If?e2$A1jrxa|^D8R3{5qU8sN_7QnfW>61GqHl3X4SJ9uxD(TUM9+@g0 zCRO6eC7Ta!?%V!!3H^Pt!W6;jCu<^S79gNb2u|ZvyupEh-f#j3E=*rGeX`LvixyG) zYdAnF7PxZ=76QMonAShyp|xD-$2OE{vrs)g3+xx?D8Xr*>?%~iMkOF5r!Sj6w&=^E z<>-B~%|{i!T!KzeTj`>)LxJ2`V87|XS|J7?px%LiJ{Hgq0d=MTJ$xphprw&1pn;Ozjs%3p1*rVji`QB*&vOnxw&==INCB(V=Eu1nMyy)U zix~p;PDQ`~1X#T|kWxgVQF!T>EiE zc>Y0ivzjUbWiI+-1gnu>6JQnc^b0U&00P!7Hw6?G73Gj}h9X+h)2{@qmwIQ^Qo7fg8-a(;Q;R?Bu*vVZE*ooiWR64!_P1{cF;4Fk$7~1HQYq_1^<$z=LFNeyn z(pkvCY4pc_KP`#6slLiZ&n)%G(`X?zQOV2a=ltMvbxxxWp9dh~hko;+PnHfYY!0%v@)jJ?y6s zHkDEG$kluzo8mJume}{1Nv1s;besPH5_*!Mm#}+!wdU&f=ZC z{J?>a4Eo0n&Pfy&R)?IA8u*aGXBUaRK#d0LI*|R~p?&Pwi4Pqi)4uhQL&Tf$apeNB zfU&otqi-+smVx8P`2?U@pKose?$yRq7k9)610jUsj4uA4BSO7RL|oX!s}pgwGW|e^ zGJ6;t$;=?oU}CQZbq)8?5B)KY$HR`a2fMHjKkN^Y2ZsyH<;?oJ_n6xqm;A(pX5E}Q z&wE$!>-Dwo|F$_gme>+aj%|sa!(WMQkz}GRoJ_pU*d9tIIvSISPDZ>TIVMq`9P63{ zxX=C2Uyj3g*nvIRg?-KES?2K7y4nw7?pa8mnUe}YvpU?t@I4Tiy=ZmhzU5Ce>bN%- zktx7#OTzR8--`pY7lR8pU6#CR=(sXC<2L>|i*ffg#w>6tn7rOlEN9k)ZoQVcWWnBO b*Gc;a$AGmn$w_n600000NkvXXu0mjfc_-|H diff --git a/common/src/main/res/mipmap-mdpi/ic_launcher_background.png b/common/src/main/res/mipmap-mdpi/ic_launcher_background.png new file mode 100644 index 0000000000000000000000000000000000000000..a3e9274e4e0b0b6e2164e1a2dc9c151a9412b768 GIT binary patch literal 3431 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 R7E1sC002ovPDHLkV1lc$KRf^c diff --git a/common/src/main/res/mipmap-xhdpi/ic_launcher.png b/common/src/main/res/mipmap-xhdpi/ic_launcher.png deleted file mode 100644 index 98461bbda6e97af6c11fba35ce7adf9b8eda45cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4168 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 SyL<`&0000hVd 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 R1Cam#002ovPDHLkV1lx?Cb<9r diff --git a/common/src/main/res/mipmap-xxhdpi/ic_launcher.png b/common/src/main/res/mipmap-xxhdpi/ic_launcher.png deleted file mode 100644 index 7ac1edd5b6ba712be8634854b3f06dc07beeefbc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7671 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 diff --git a/common/src/main/res/mipmap-xxhdpi/ic_launcher_background.png b/common/src/main/res/mipmap-xxhdpi/ic_launcher_background.png new file mode 100644 index 0000000000000000000000000000000000000000..13ff7dfa0e50758fd693a7d84182c24242e820d7 GIT binary patch literal 12382 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 z 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 diff --git a/common/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/common/src/main/res/mipmap-xxxhdpi/ic_launcher.png deleted file mode 100644 index a33bcbabc59882e1aa2f4347018a3fc345bb47dd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10959 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 o>F87RY;ak>LJu4LKdQVrN&o-= diff --git a/common/src/main/res/mipmap-xxxhdpi/ic_launcher_background.png b/common/src/main/res/mipmap-xxxhdpi/ic_launcher_background.png new file mode 100644 index 0000000000000000000000000000000000000000..1646c593d8f56fe2875cd0e63ba8ebe5c51fc0ae GIT binary patch literal 18411 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 z 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 diff --git a/control/build.gradle b/control/build.gradle index fb1450f1d..ae23aa02e 100644 --- a/control/build.gradle +++ b/control/build.gradle @@ -44,9 +44,9 @@ dependencies { implementation 'com.google.android.material:material:1.3.0' // AndroidX - implementation 'androidx.appcompat:appcompat:1.2.0' + implementation 'androidx.appcompat:appcompat:1.3.0' implementation 'androidx.activity:activity-ktx:1.2.3' - implementation 'androidx.fragment:fragment-ktx:1.3.3' + implementation 'androidx.fragment:fragment-ktx:1.3.4' // RecyclerView implementation 'androidx.recyclerview:recyclerview:1.2.0' diff --git a/core/build.gradle b/core/build.gradle index 50431225d..ee0e15cc5 100644 --- a/core/build.gradle +++ b/core/build.gradle @@ -47,7 +47,7 @@ dependencies { testImplementation 'org.koin:koin-test:2.2.1' // AndroidX - implementation 'androidx.appcompat:appcompat:1.2.0' + implementation 'androidx.appcompat:appcompat:1.3.0' // Lifecycle implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.1' diff --git a/fastlane/metadata/android/da-DK/full_description.txt b/fastlane/metadata/android/da-DK/full_description.txt index 554b21d2d..f4ef84f8b 100644 --- a/fastlane/metadata/android/da-DK/full_description.txt +++ b/fastlane/metadata/android/da-DK/full_description.txt @@ -1,56 +1,56 @@ -Test your reasoning power on a challenging puzzle game where you have to solve a minefield without exploding any mine. -This is a minimalist and modern version of the classic Minesweeper. +Test din ræsonnement magt på et udfordrende puslespil, hvor du er nødt til at løse et minefelt uden at eksplodere nogen mine. +Dette er et minimalistisk og moderne version af det klassiske Minesweeper. -Are you able to clear a minefield? Let’s go! +Er du i stand til at rydde et minefelt? Afsted! -OBJECTIVE -It's like Minesweeper. You win the game when you've flagged every mine in the minefield. Be careful not to trigger one! +FORMÅL +Det ligesom Minesweeper. Du vinder spillet, når du har flaget hver mine i minefeltet. Vær forsigtig med ikke at udløse en! -NO GUESSING -This game has an algorithm that always creates solvable minefields. You won't have to guess where the last mine is! +INGEN GÆTTERI +Dette spil har en algorimte, der altid skaber løsbare minefelter. Du bliver ikke nød til at gætte hvor den sidste mine er! -GAME LEVELS -Just like Minesweeper, this game has different levels: Beginner, Intermediate, and Expert. But it also has a unique progressive mode that gets harder when you win. +SPIL NIVEAUER +Ligesom Minesweeper, har dette spil forskellige niveauer: Begynder, Mellemliggende, og ekspert. Men det har også en unik progressiv tilstand, der bliver hårdere, når du vinder. -CUSTOM LEVEL -If the standard modes aren't enough, you can create your level difficulty! +BRUGERDEFINEREDE NIVEAU +Hvis standardtilstandene ikke er nok, kan du oprette dit niveau sværhed! -THEMES -Antimine has more than 15 themes (including light, dark, and AMOLED). And soon more will be added! +TEMAER +Antmine har mere end 15 temaer (inkluderende lys, mørke og AMOLED). Og snart vil der blive tilføjet flere! MINIMALIST -Clean look and feel: a minimalist visual and also lightweight app size (less than 9MB). +Rent udseende og følelse: en minimalistisk visuel og også let app størrelse (mindre end 9MB). -TUTORIAL -Don't you know how to play Minesweeper? No problem, you can play our tutorial level and enable Tips on settings. +VEJLEDNING +Ved du ikke, hvordan man spiller Minesweeper? Intet problem, du kan spille vores vejlednings niveau og aktivere Tips i indstillinger. -STATISTICS -Check your results and development. +STATISTIK +Tjek dine resultater og udvikling. -GAME ASSISTANT -The game will automatically flag the squares you isolated. +SPIL ASSISTENT +Spillet vil automatisk markere de felter du isolerede. -CUSTOMIZATION -You can change the game to make it like you want to. -Example: Help, animations, haptic feedback, question mark. +TILPASNING +Du kan ændre spillet for at gøre det ligesom du ønsker. +Eksempel: Hjælp, animationer, haptisk feedback, spørgsmåltegn. -CONTROLS -It supports four different control schemes. Example: flag using tap or long press. +KONTROL +Det understøtter fire forskellige kontrolordninger. Eksempel: marker ved tryk eller langt tryk. -ACHIEVEMENTS AND LEADERBOARDS -You have eight achievements to unlock and different leaderboards to share with your friends. +OPNÅELSER OG LEDERTAVLER +Du har otte opnåelser at låse op og forskellige ledertavler til at dele med dine venner. -ACCESSIBILITY -You can customize this game to your needs: change the squares size, radius, touch timing, and screen reader support. -We are always trying to improve our accessibility settings. If you miss something give us feedback! +TILGÆNGELIGHED +Du kan tilpasse dette spil til dine behov: ændre firkanternes størrelse, radius, berørelses timing, og støtte til skærmlæseren. +Vi forsøger altid at forbedre vores tilgængeligshedsindstillinger. Hvis du går glip af noget giv os feedback! -ANDROID FOCUSED APP -It supports cool Android features like split-screen, shortcuts, sharing, system theme, and always supporting the last version. +ANDROID FOKUSERET APP +Det undersøtter cool Android-funktioner som split-skærm, genveje, deling, systemtema, og støtter altid den seneste version. -ONLINE OR OFFLINE -You don't need to be online to play the game! +ONLINE ELLER OFFLINE +Du behøver ikke at være online for at spille spillet! -AUTO-SAVE -You can start a game and continue it later! It will auto-save your game. +AUTO-GEM +Du kan starte spillet og fortsætte det senere! Det vil auto-gemme dit spil. -Enjoy. +God fornøjelse. diff --git a/fastlane/metadata/android/eo-UY/full_description.txt b/fastlane/metadata/android/eo-UY/full_description.txt index 554b21d2d..a9f433a53 100644 --- a/fastlane/metadata/android/eo-UY/full_description.txt +++ b/fastlane/metadata/android/eo-UY/full_description.txt @@ -1,56 +1,56 @@ -Test your reasoning power on a challenging puzzle game where you have to solve a minefield without exploding any mine. -This is a minimalist and modern version of the classic Minesweeper. +Provu vian pensopovon je defia puzloludo, kie vi devas solvi minejon sen eksplodigi minon. +Ĉi tiu estas minimumisma kaj aktuala versio de la klasika Minesweeper. -Are you able to clear a minefield? Let’s go! +Ĉu vi povas viŝi minejon? Antaŭen! -OBJECTIVE -It's like Minesweeper. You win the game when you've flagged every mine in the minefield. Be careful not to trigger one! +CELO +Same kiel en Minesweeper, vi gajnos en la ludo kiam vi finos flagumi ĉiun minon en la minejo. Estu singarda ne ŝalti eĉ unu el ili! -NO GUESSING -This game has an algorithm that always creates solvable minefields. You won't have to guess where the last mine is! +NE DIVENU +Ĉi tiu ludo havas algoritmon, kiu ĉiam montras solveblajn minejojn. Vi ne devos diveni, kie la lasta mino estas! -GAME LEVELS -Just like Minesweeper, this game has different levels: Beginner, Intermediate, and Expert. But it also has a unique progressive mode that gets harder when you win. +LUDNIVELOJ +Same kiel en Minesweeper, ĉi tiu ludo havas malsamajn nivelojn: Komencanto, Mezulo kaj Spertulo. Tamen ĝi ankaŭ havas unikan progresan ludmanieron, kiu malfaciliĝas laŭ viaj gajnoj. -CUSTOM LEVEL -If the standard modes aren't enough, you can create your level difficulty! +PROPRA NIVELO +Se la ordinaraj ludmanieroj ne sufiĉas, vi rajtas krei laŭvole nivelan malfacilecon! -THEMES -Antimine has more than 15 themes (including light, dark, and AMOLED). And soon more will be added! +TONOJ +Antimine havas pli ol 15 tonojn (inkluzive je luma, malluma kaj AMOLED). Kaj pliaj estos aldonitaj baldaŭ! -MINIMALIST -Clean look and feel: a minimalist visual and also lightweight app size (less than 9MB). +MINIMUMISMA +Klaraj aspekto kaj sentigo: minimumisma bildaro kaj malpeza app-grando (malpli ol 9MB). -TUTORIAL -Don't you know how to play Minesweeper? No problem, you can play our tutorial level and enable Tips on settings. +LERNILO +Ĉu vi ne scias ludi Minesweeper? Senprobleme; vi povas ludi la lernilan nivelon kaj ŝalti konsilojn ĉe agordo. -STATISTICS -Check your results and development. +STATISTIKOJ +Kontrolu viajn rezultojn kaj progreson. -GAME ASSISTANT -The game will automatically flag the squares you isolated. +LUDHELPILO +La ludo aŭtomate flagumos la kvarlaterojn, kiujn vi lasis malkunaj. -CUSTOMIZATION -You can change the game to make it like you want to. -Example: Help, animations, haptic feedback, question mark. +AGORDADO +Vi rajtas ŝanĝi la ludon, por ke ĝi estu laŭ via ŝato. +Ekzemple: Helpo, movbildoj, haptika retrokuplo, demandosigno. -CONTROLS -It supports four different control schemes. Example: flag using tap or long press. +REGILOJ +Ĝi subtenas kvar malsimilajn regilskemojn. Ekzemplo: flagi uzante tuŝeti aŭ tuŝadi. -ACHIEVEMENTS AND LEADERBOARDS -You have eight achievements to unlock and different leaderboards to share with your friends. +AKIROJ KAJ ĈAMPIONEJOJ +Vi havas ok akiroj por malbloki kaj malsimilajn ĉampionejojn por disvastigi kun viaj amikoj. -ACCESSIBILITY -You can customize this game to your needs: change the squares size, radius, touch timing, and screen reader support. -We are always trying to improve our accessibility settings. If you miss something give us feedback! +ALIREBLO +Vi povas akomodi ĉi tiu ludo for vian necesojn: ŝanĝi la kvatradojn amplekso, radiuso, tuŝtempomezurado, kaj ekranlegilo subteno. +Ni ĉiam provas plibonigi nian alireblajn agordojn. Se vi maltrafas ion, sendu al ni vian prikomentado! -ANDROID FOCUSED APP -It supports cool Android features like split-screen, shortcuts, sharing, system theme, and always supporting the last version. +ANDROIDO FOKUSITA APO +Ĝi subtenas mojosa Androido trajtoj kiel ekrandividado, simbola ligilo, disvastigado, sistemtemo, kaj ĉiam subtenante la lastan version. -ONLINE OR OFFLINE -You don't need to be online to play the game! +ENRETA AŬ MALENRETA +Vi ne bezonas esti enreta por uzi la ludon! -AUTO-SAVE -You can start a game and continue it later! It will auto-save your game. +AŬTOKONSERVADO +Vi povas komenci ludon kaj daurigi ĝin poste! Ĝi automate savos vian ludon. -Enjoy. +Ĝuu. diff --git a/fastlane/metadata/android/eo-UY/short_description.txt b/fastlane/metadata/android/eo-UY/short_description.txt index b35ccb07f..9830d0201 100644 --- a/fastlane/metadata/android/eo-UY/short_description.txt +++ b/fastlane/metadata/android/eo-UY/short_description.txt @@ -1 +1 @@ -A puzzle game where you search for all hidden mines. +Puzloludo pri serĉado de ĉiu kaŝita mino. diff --git a/fastlane/metadata/android/he-IL/full_description.txt b/fastlane/metadata/android/he-IL/full_description.txt index 22ba8ee04..7a07a0bd2 100644 --- a/fastlane/metadata/android/he-IL/full_description.txt +++ b/fastlane/metadata/android/he-IL/full_description.txt @@ -1,7 +1,7 @@ בחנו את כישורי החשיבה במשחק פאזל מאתגר בו תצטרכו לפתור שדה מוקשים מבלי לפוצץ אף מוקש. זו גרסה מינימליסטית ומודרנית של שולה המוקשים הקלאסי. -Are you able to clear a minefield? בואו נתחיל! +מוכנים לנקות את שדה המוקשים? בואו נתחיל! מטרה זה כמו שולה המוקשים. תנצחו במשחק כאשר תסמנו את כל המוקשים בשדה המוקשים. היזהרו לא להפעיל אחד! diff --git a/fastlane/metadata/android/no-NO/full_description.txt b/fastlane/metadata/android/no-NO/full_description.txt index db8f7f0cb..a234358a2 100644 --- a/fastlane/metadata/android/no-NO/full_description.txt +++ b/fastlane/metadata/android/no-NO/full_description.txt @@ -28,7 +28,7 @@ STATISTIKK Sjekk dine resultater og utvikling. SPILLASSISTENT -Spillet flagger automatisk kvadratene du isolerer. +Spillet flagger automatisk rutene du isolerer. TILPASNING Du kan endre spillet slik du ønsker. @@ -41,7 +41,7 @@ PRESTASJONER OG LEDERTAVLER Du har åtte prestasjoner å låse opp og forskjellige ledertavler å dele med vennene dine. TILGJENGELIGHET -Du kan tilpasse dette spillet for dine behov: endre kvadratstørrelse, radius, berøringstiming, og støtte for skjermleser. +Du kan tilpasse dette spillet for dine behov: endre rutestørrelse, radius, berøringstiming, og støtte for skjermleser. Vi prøver alltid å forbedre tilgjengelighetsinnstillingene våre. Gi oss tilbakemelding om du savner noe! ANDROID-FOKUSERT APP diff --git a/gdx/build.gradle b/gdx/build.gradle index f63fa99c4..f04f37368 100644 --- a/gdx/build.gradle +++ b/gdx/build.gradle @@ -45,7 +45,7 @@ dependencies { implementation project(':ui') // AndroidX - implementation 'androidx.appcompat:appcompat:1.2.0' + implementation 'androidx.appcompat:appcompat:1.3.0' implementation 'androidx.activity:activity-ktx:1.2.3' implementation "androidx.fragment:fragment-ktx:1.3.3" diff --git a/i18n/build.gradle b/i18n/build.gradle index 3c6e9ad3c..e4b3c2c8d 100644 --- a/i18n/build.gradle +++ b/i18n/build.gradle @@ -35,7 +35,7 @@ dependencies { // Dependencies must be hardcoded to support F-droid implementation 'androidx.core:core-ktx:1.3.2' - implementation 'androidx.appcompat:appcompat:1.2.0' + implementation 'androidx.appcompat:appcompat:1.3.0' implementation 'com.google.android.material:material:1.3.0' testImplementation 'junit:junit:4.13.2' androidTestImplementation 'androidx.test.ext:junit:1.1.2' diff --git a/i18n/src/main/res/values-af-rZA/strings.xml b/i18n/src/main/res/values-af-rZA/strings.xml index 924141a02..e9d27daa8 100644 --- a/i18n/src/main/res/values-af-rZA/strings.xml +++ b/i18n/src/main/res/values-af-rZA/strings.xml @@ -116,4 +116,5 @@ Close Open Tutorial Master + Allow tap on numbers diff --git a/i18n/src/main/res/values-ar-rSA/strings.xml b/i18n/src/main/res/values-ar-rSA/strings.xml index 50c665ae2..141674ee5 100644 --- a/i18n/src/main/res/values-ar-rSA/strings.xml +++ b/i18n/src/main/res/values-ar-rSA/strings.xml @@ -116,4 +116,5 @@ أغلق فتح البرنامج التعليمي محترف + Allow tap on numbers diff --git a/i18n/src/main/res/values-bg-rBG/strings.xml b/i18n/src/main/res/values-bg-rBG/strings.xml index 72c2625f4..c4afe8722 100644 --- a/i18n/src/main/res/values-bg-rBG/strings.xml +++ b/i18n/src/main/res/values-bg-rBG/strings.xml @@ -61,8 +61,8 @@ Въпросителен знак \'Без налучкване\' режим Управление - Едно натискане - Двойно почукване + Еднократно натискане + Двойно натискане Дълго докосване %ACTION към %REACTION Чувствителност при докосване @@ -116,4 +116,5 @@ Затвори Отвори урок Експерт + Allow tap on numbers diff --git a/i18n/src/main/res/values-ca-rES/strings.xml b/i18n/src/main/res/values-ca-rES/strings.xml index 773f004a5..8f04fbb1c 100644 --- a/i18n/src/main/res/values-ca-rES/strings.xml +++ b/i18n/src/main/res/values-ca-rES/strings.xml @@ -116,4 +116,5 @@ Tancar Obriu el tutorial Master + Allow tap on numbers diff --git a/i18n/src/main/res/values-cs-rCZ/strings.xml b/i18n/src/main/res/values-cs-rCZ/strings.xml index d50defc9e..b4b395b8d 100644 --- a/i18n/src/main/res/values-cs-rCZ/strings.xml +++ b/i18n/src/main/res/values-cs-rCZ/strings.xml @@ -116,4 +116,5 @@ Zavřít Otevřít tutoriál Mistr + Povolit klepnutí na čísla diff --git a/i18n/src/main/res/values-da-rDK/strings.xml b/i18n/src/main/res/values-da-rDK/strings.xml index 115bb4ce5..e09adba85 100644 --- a/i18n/src/main/res/values-da-rDK/strings.xml +++ b/i18n/src/main/res/values-da-rDK/strings.xml @@ -1,11 +1,11 @@ Vejledning - The rule of the game is simple, the number on a square shows the number of mines adjacent to it and you have to flag all the mines. - If a number is touching the same number of squares, then the squares are all mines. - After mark your first flag, review the numbers and analyze the next square. - 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. + Reglen for spillet er enkel, nummeret på en firkant viser antallet af miner ved siden af, og du skal markere alle minerne. + Hvis et tal er ved at røre det samme antal af firkanter, så er kvadraterne alle miner. + Efter markeringen af dit første flag, gennemse tallene og analysere det næste felt. + Hvis en firkant har det samme antal af flag, er alle andre resterende firkanter ved siden af det ikke miner. (Den grønne pil). + Gennemgå tallene og behold åbningskvardrater. Spil Tryk for at starte Forrige Spil @@ -112,8 +112,9 @@ Brug knappen til at skifte mellem Flag og Åbn Ryd skjulte miner fra et minefelt. Antimine - Minestryger - Do you know how to play minesweeper? - Close - Open Tutorial - Master + Ved du hvordan man spiller minesweeper? + Luk + Åben vejledning + Mester + Tillad tryk på numre diff --git a/i18n/src/main/res/values-de-rDE/strings.xml b/i18n/src/main/res/values-de-rDE/strings.xml index e67dcd59e..8ab38b89e 100644 --- a/i18n/src/main/res/values-de-rDE/strings.xml +++ b/i18n/src/main/res/values-de-rDE/strings.xml @@ -116,4 +116,5 @@ Schließen Anleitung öffnen Meister + Allow tap on numbers diff --git a/i18n/src/main/res/values-el-rGR/strings.xml b/i18n/src/main/res/values-el-rGR/strings.xml index d84c50283..c506262f5 100644 --- a/i18n/src/main/res/values-el-rGR/strings.xml +++ b/i18n/src/main/res/values-el-rGR/strings.xml @@ -116,4 +116,5 @@ Κλείσιμο Άνοιγμα Οδηγού Αρχηγός + Επίτρεψε το πάτημα σε αριθμούς diff --git a/i18n/src/main/res/values-en-rUS/strings.xml b/i18n/src/main/res/values-en-rUS/strings.xml index 936da5756..756eca252 100644 --- a/i18n/src/main/res/values-en-rUS/strings.xml +++ b/i18n/src/main/res/values-en-rUS/strings.xml @@ -116,4 +116,5 @@ Close Open Tutorial Master + Allow tap on numbers diff --git a/i18n/src/main/res/values-eo-rUY/strings.xml b/i18n/src/main/res/values-eo-rUY/strings.xml index f66b61131..4c8fb0626 100644 --- a/i18n/src/main/res/values-eo-rUY/strings.xml +++ b/i18n/src/main/res/values-eo-rUY/strings.xml @@ -1,7 +1,7 @@ Lernilo - The rule of the game is simple, the number on a square shows the number of mines adjacent to it and you have to flag all the mines. + La reguloj de la ludo estas simpla, la numero sur kvadrato signas la kvanton da la bomboj ĉirkaŭ ĝi, kaj vi devas flagi ĉiuj la bomboj. If a number is touching the same number of squares, then the squares are all mines. After mark your first flag, review the numbers and analyze the next square. If a square has the same number of flags, all other remaining squares adjacent to it aren\'t mines (the green arrow). @@ -32,39 +32,39 @@ Luda Tempo Mino Ĝeneralaj - Gameplay + Ludmaniero Alirebleco Grando Ronda Kvadrato Space Between Squares Operaciumo - Feedback + Prikomentado Failed to sign in. Please check your network connection and try again. Vi venkis! Venkoj Vi malvenkis! Vi finis! Malvenkoj - Good luck on your next game. + Bonŝancon en via proksima ludo. Vi trovis %1$d minojn en %2$d sekundoj. Failed to share Versio %1$s - Sound Effects + Sonefektoj Ĉu vi certas? Enable automatic placing of flags Open Areas Tuta Tempo Mezuma Tempo Plej Mallonga Tempo - Performance + Rendimento Bone Uzi Demandosignoj \'No guessing\' mode - Controls - Single Tap - Double Tap - Long Tap - %ACTION to %REACTION + Regiloj + Unuopa tuŝeti + Duoble Tuŝeti + Tuŝadi + %ACTION por %REACTION Touch Sensibility Malfermi Flago @@ -104,7 +104,7 @@ Forigi Reklamojn Helpo Reveni - Donation + Donaco Open on game screen Montri fenestrojn Elekti Lingvon @@ -112,8 +112,9 @@ Use button to switch between Flag and Open You have to clear a rectangular board containing hidden mines without detonating any of them. Malminoj - Do you know how to play minesweeper? - Close - Open Tutorial - Master + Ĉu vi scias ludi Minesweeper? + Fermi + Malfermi Lernilo + Majstro + Allow tap on numbers diff --git a/i18n/src/main/res/values-es-rES/strings.xml b/i18n/src/main/res/values-es-rES/strings.xml index 4a057a9e7..6a6764fc1 100644 --- a/i18n/src/main/res/values-es-rES/strings.xml +++ b/i18n/src/main/res/values-es-rES/strings.xml @@ -116,4 +116,5 @@ Cerrar Abrir Tutorial Maestro + Permitir tocar números diff --git a/i18n/src/main/res/values-fi-rFI/strings.xml b/i18n/src/main/res/values-fi-rFI/strings.xml index 2ebb3b820..555b2f3b3 100644 --- a/i18n/src/main/res/values-fi-rFI/strings.xml +++ b/i18n/src/main/res/values-fi-rFI/strings.xml @@ -116,4 +116,5 @@ Sulje Avaa Johdanto Mestari + Allow tap on numbers diff --git a/i18n/src/main/res/values-fr-rFR/strings.xml b/i18n/src/main/res/values-fr-rFR/strings.xml index c138f6c10..e53e58a7f 100644 --- a/i18n/src/main/res/values-fr-rFR/strings.xml +++ b/i18n/src/main/res/values-fr-rFR/strings.xml @@ -116,4 +116,5 @@ Sulje Ouvrir le tutoriel Maître + Allow tap on numbers diff --git a/i18n/src/main/res/values-hi-rIN/strings.xml b/i18n/src/main/res/values-hi-rIN/strings.xml index 52ee72bba..d462f4a3f 100644 --- a/i18n/src/main/res/values-hi-rIN/strings.xml +++ b/i18n/src/main/res/values-hi-rIN/strings.xml @@ -116,4 +116,5 @@ Close Open Tutorial Master + Allow tap on numbers diff --git a/i18n/src/main/res/values-hu-rHU/strings.xml b/i18n/src/main/res/values-hu-rHU/strings.xml index 9296ebe4c..3e17ed546 100644 --- a/i18n/src/main/res/values-hu-rHU/strings.xml +++ b/i18n/src/main/res/values-hu-rHU/strings.xml @@ -116,4 +116,5 @@ Close Open Tutorial Master + Allow tap on numbers diff --git a/i18n/src/main/res/values-in-rID/strings.xml b/i18n/src/main/res/values-in-rID/strings.xml index 4c6891315..8f5fad4b0 100644 --- a/i18n/src/main/res/values-in-rID/strings.xml +++ b/i18n/src/main/res/values-in-rID/strings.xml @@ -116,4 +116,5 @@ Tutup Buka Tutorial Master + Allow tap on numbers diff --git a/i18n/src/main/res/values-it-rIT/strings.xml b/i18n/src/main/res/values-it-rIT/strings.xml index 3c757c611..2dfcd2b1a 100644 --- a/i18n/src/main/res/values-it-rIT/strings.xml +++ b/i18n/src/main/res/values-it-rIT/strings.xml @@ -116,4 +116,5 @@ Chiudi Apri Tutorial Maestro + Consenti tocco sui numeri diff --git a/i18n/src/main/res/values-iw-rIL/strings.xml b/i18n/src/main/res/values-iw-rIL/strings.xml index 184e2a490..d388dd6b7 100644 --- a/i18n/src/main/res/values-iw-rIL/strings.xml +++ b/i18n/src/main/res/values-iw-rIL/strings.xml @@ -116,4 +116,5 @@ Close Open Tutorial Master + Allow tap on numbers diff --git a/i18n/src/main/res/values-ja-rJP/strings.xml b/i18n/src/main/res/values-ja-rJP/strings.xml index c57602ed9..2d6c16f83 100644 --- a/i18n/src/main/res/values-ja-rJP/strings.xml +++ b/i18n/src/main/res/values-ja-rJP/strings.xml @@ -115,5 +115,6 @@ Do you know how to play minesweeper? 閉じる チュートリアルを開く - Master + マスター + Allow tap on numbers diff --git a/i18n/src/main/res/values-ko-rKR/strings.xml b/i18n/src/main/res/values-ko-rKR/strings.xml index 74e8d7f98..e90b157ab 100644 --- a/i18n/src/main/res/values-ko-rKR/strings.xml +++ b/i18n/src/main/res/values-ko-rKR/strings.xml @@ -116,4 +116,5 @@ 닫기 튜토리얼 열기 마스터 + 숫자 누르기 허용 diff --git a/i18n/src/main/res/values-ku-rTR/strings.xml b/i18n/src/main/res/values-ku-rTR/strings.xml index 2a5d93c24..1e23654bd 100644 --- a/i18n/src/main/res/values-ku-rTR/strings.xml +++ b/i18n/src/main/res/values-ku-rTR/strings.xml @@ -116,4 +116,5 @@ داخستن کردنەوەی فێرکاری مامۆستا + ڕێگەبدە بە کرتەکردن لەسەر ژمارەکان diff --git a/i18n/src/main/res/values-nl-rNL/strings.xml b/i18n/src/main/res/values-nl-rNL/strings.xml index 4865d4454..d422116d6 100644 --- a/i18n/src/main/res/values-nl-rNL/strings.xml +++ b/i18n/src/main/res/values-nl-rNL/strings.xml @@ -116,4 +116,5 @@ Close Open Tutorial Master + Allow tap on numbers diff --git a/i18n/src/main/res/values-no-rNO/strings.xml b/i18n/src/main/res/values-no-rNO/strings.xml index 505dd824e..bac3ea704 100644 --- a/i18n/src/main/res/values-no-rNO/strings.xml +++ b/i18n/src/main/res/values-no-rNO/strings.xml @@ -1,11 +1,11 @@ Opplæring - Reglene for spillet er lette; nummeret på en firkant viser antall miner som berører den og du må flagge alle minene. - Hvis et nummer berører samme antallet firkanter så er alle firkantene miner. - Etter du har satt ditt første flagg, se over og analyser den neste firkanten. - Hvis en firkant har samme antall flagg, vil alle de gjenværende firkantene som berører den ikke være miner (den grønne pilen). - Se over tallene og fortsett å åpne firkanter. + Reglene for spillet er lette; nummeret på en rute viser antall miner som berører den og du må flagge alle minene. + Hvis et nummer berører samme antallet ruter så er alle rutene miner. + Etter du har satt ditt første flagg, se over og analyser den neste ruten. + Hvis en rute har samme antall flagg, vil alle de gjenværende rutene som berører den ikke være miner (den grønne pilen). + Se over tallene og fortsett å åpne ruter. Spill Trykk for å begynne Tidligere Spill @@ -35,8 +35,8 @@ Spillopplevelse Tilgjengelighet Størrelse - Avrundet Firkant - Mellomrom mellom firkanter + Avrundet Rute + Mellomrom mellom ruter System Tilbakemelding Innlogging feilet. Vennligst sjekk nettverkstilkoblingen din og prøv igjen. @@ -116,4 +116,5 @@ Lukk Åpne opplæring Mester + Tillat trykk på tall diff --git a/i18n/src/main/res/values-pl-rPL/strings.xml b/i18n/src/main/res/values-pl-rPL/strings.xml index a7ba89877..e217c5abd 100644 --- a/i18n/src/main/res/values-pl-rPL/strings.xml +++ b/i18n/src/main/res/values-pl-rPL/strings.xml @@ -116,4 +116,5 @@ Zamknij Otwórz samouczek Mistrz + Allow tap on numbers diff --git a/i18n/src/main/res/values-pt-rBR/strings.xml b/i18n/src/main/res/values-pt-rBR/strings.xml index cb53d2e7a..d020eb97e 100644 --- a/i18n/src/main/res/values-pt-rBR/strings.xml +++ b/i18n/src/main/res/values-pt-rBR/strings.xml @@ -116,4 +116,5 @@ Fechar Abrir Tutorial Mestre + Allow tap on numbers diff --git a/i18n/src/main/res/values-pt-rPT/strings.xml b/i18n/src/main/res/values-pt-rPT/strings.xml index 316c2c399..bd439d64a 100644 --- a/i18n/src/main/res/values-pt-rPT/strings.xml +++ b/i18n/src/main/res/values-pt-rPT/strings.xml @@ -116,4 +116,5 @@ Fechar Abrir Tutorial Mestre + Permitir toque nos números diff --git a/i18n/src/main/res/values-ro-rRO/strings.xml b/i18n/src/main/res/values-ro-rRO/strings.xml index 2096a8667..6199dd431 100644 --- a/i18n/src/main/res/values-ro-rRO/strings.xml +++ b/i18n/src/main/res/values-ro-rRO/strings.xml @@ -116,4 +116,5 @@ Close Open Tutorial Master + Allow tap on numbers diff --git a/i18n/src/main/res/values-ru-rRU/strings.xml b/i18n/src/main/res/values-ru-rRU/strings.xml index a41331622..c81b73e4c 100644 --- a/i18n/src/main/res/values-ru-rRU/strings.xml +++ b/i18n/src/main/res/values-ru-rRU/strings.xml @@ -116,4 +116,5 @@ Закрыть Открыть обучение Опытный + Разрешить нажатие на цифры diff --git a/i18n/src/main/res/values-sv-rSE/strings.xml b/i18n/src/main/res/values-sv-rSE/strings.xml index 5bbc820d7..d0c4e8a6c 100644 --- a/i18n/src/main/res/values-sv-rSE/strings.xml +++ b/i18n/src/main/res/values-sv-rSE/strings.xml @@ -116,4 +116,5 @@ Stäng Öppna Guide Mäster + Tillåt tryck på siffror diff --git a/i18n/src/main/res/values-th-rTH/strings.xml b/i18n/src/main/res/values-th-rTH/strings.xml index 8d5b186f7..22f188aa1 100644 --- a/i18n/src/main/res/values-th-rTH/strings.xml +++ b/i18n/src/main/res/values-th-rTH/strings.xml @@ -116,4 +116,5 @@ Close Open Tutorial Master + Allow tap on numbers diff --git a/i18n/src/main/res/values-tr-rTR/strings.xml b/i18n/src/main/res/values-tr-rTR/strings.xml index 227c417bb..cf936726e 100644 --- a/i18n/src/main/res/values-tr-rTR/strings.xml +++ b/i18n/src/main/res/values-tr-rTR/strings.xml @@ -116,4 +116,5 @@ Kapat Öğreticiyi aç Usta + Allow tap on numbers diff --git a/i18n/src/main/res/values-uk-rUA/strings.xml b/i18n/src/main/res/values-uk-rUA/strings.xml index e52248f09..bf9e56104 100644 --- a/i18n/src/main/res/values-uk-rUA/strings.xml +++ b/i18n/src/main/res/values-uk-rUA/strings.xml @@ -116,4 +116,5 @@ Закрити Відкрити навчання Досвідчений + Allow tap on numbers diff --git a/i18n/src/main/res/values-vec-rIT/strings.xml b/i18n/src/main/res/values-vec-rIT/strings.xml index cd9688861..a242c4f14 100644 --- a/i18n/src/main/res/values-vec-rIT/strings.xml +++ b/i18n/src/main/res/values-vec-rIT/strings.xml @@ -13,7 +13,7 @@ Standard Prinsipiante Mezan - Mestro + Navegà Verzi Inpostasion Animasion @@ -112,8 +112,9 @@ Dòpara el boton par pasar da Marca a Verzi Te ghè da sgonbrar na toła retangołar contenente mine sconte sensa fàrghene sciopar njanca una. Antimine - Do you know how to play minesweeper? + Seto come zogar a canpo minà? Sara - Open Tutorial - Master + Verzi el Tutorial + Mestro + Parmeti de strucar so i nùmari diff --git a/i18n/src/main/res/values-vi-rVN/strings.xml b/i18n/src/main/res/values-vi-rVN/strings.xml index 386c6a268..0b2f0705e 100644 --- a/i18n/src/main/res/values-vi-rVN/strings.xml +++ b/i18n/src/main/res/values-vi-rVN/strings.xml @@ -116,4 +116,5 @@ Đóng Mở Hướng dẫn Bậc thầy + Cho phép nhấn vào các con số diff --git a/i18n/src/main/res/values-zh-rCN/strings.xml b/i18n/src/main/res/values-zh-rCN/strings.xml index 4262b13e1..062d32956 100644 --- a/i18n/src/main/res/values-zh-rCN/strings.xml +++ b/i18n/src/main/res/values-zh-rCN/strings.xml @@ -1,7 +1,7 @@ 教程 - 游戏规则很简单:方块上的数字是周围地雷的数量;你必须标出所有地雷。 + 游戏规则很简单:方块上的数字是周围地雷的数量;你必须要用旗子标记出所有的地雷。 如果一个数字和它周围的方块数量相等,那么这些方块都是地雷。 在放置了第一个旗标以后,回看数字并分析下一个方块。 如果一个方块周围有相同数量的旗标,那么周围其余方块就不是地雷(绿色箭头)。 @@ -116,4 +116,5 @@ 关闭 打开教程 大师 + 允许点击数字 diff --git a/i18n/src/main/res/values/strings.xml b/i18n/src/main/res/values/strings.xml index efd06e730..5eb090d12 100644 --- a/i18n/src/main/res/values/strings.xml +++ b/i18n/src/main/res/values/strings.xml @@ -117,4 +117,5 @@ Do you know how to play minesweeper? Close Open Tutorial + Allow tap on numbers diff --git a/preferences/build.gradle b/preferences/build.gradle index 3824eb513..d3ea89996 100644 --- a/preferences/build.gradle +++ b/preferences/build.gradle @@ -35,7 +35,7 @@ dependencies { // Dependencies must be hardcoded to support F-droid // AndroidX - implementation 'androidx.appcompat:appcompat:1.2.0' + implementation 'androidx.appcompat:appcompat:1.3.0' implementation 'androidx.preference:preference-ktx:1.1.1' // Unit Tests diff --git a/themes/build.gradle b/themes/build.gradle index a64408533..f5c5f737b 100644 --- a/themes/build.gradle +++ b/themes/build.gradle @@ -42,9 +42,9 @@ dependencies { implementation project(':ui') // AndroidX - implementation 'androidx.appcompat:appcompat:1.2.0' + implementation 'androidx.appcompat:appcompat:1.3.0' implementation 'androidx.activity:activity-ktx:1.2.3' - implementation 'androidx.fragment:fragment-ktx:1.3.3' + implementation 'androidx.fragment:fragment-ktx:1.3.4' // Google implementation 'com.google.android.material:material:1.3.0' diff --git a/tutorial/build.gradle b/tutorial/build.gradle index a64408533..f5c5f737b 100644 --- a/tutorial/build.gradle +++ b/tutorial/build.gradle @@ -42,9 +42,9 @@ dependencies { implementation project(':ui') // AndroidX - implementation 'androidx.appcompat:appcompat:1.2.0' + implementation 'androidx.appcompat:appcompat:1.3.0' implementation 'androidx.activity:activity-ktx:1.2.3' - implementation 'androidx.fragment:fragment-ktx:1.3.3' + implementation 'androidx.fragment:fragment-ktx:1.3.4' // Google implementation 'com.google.android.material:material:1.3.0' diff --git a/ui/build.gradle b/ui/build.gradle index a968569a7..6fbcdcbf2 100644 --- a/ui/build.gradle +++ b/ui/build.gradle @@ -42,9 +42,9 @@ dependencies { implementation 'com.google.android.material:material:1.3.0' // AndroidX - implementation 'androidx.appcompat:appcompat:1.2.0' + implementation 'androidx.appcompat:appcompat:1.3.0' implementation 'androidx.activity:activity-ktx:1.2.3' - implementation 'androidx.fragment:fragment-ktx:1.3.3' + implementation 'androidx.fragment:fragment-ktx:1.3.4' // RecyclerView implementation 'androidx.recyclerview:recyclerview:1.2.0' diff --git a/wear/build.gradle b/wear/build.gradle index e559cca18..6f066d69d 100644 --- a/wear/build.gradle +++ b/wear/build.gradle @@ -81,7 +81,7 @@ dependencies { implementation project(':gdx') // Constraint - implementation 'androidx.appcompat:appcompat:1.2.0' + implementation 'androidx.appcompat:appcompat:1.3.0' implementation 'androidx.constraintlayout:constraintlayout:2.0.4' implementation 'androidx.recyclerview:recyclerview:1.2.0' implementation 'androidx.legacy:legacy-support-v4:1.0.0' diff --git a/wear/src/main/res/values-eo-rUY/strings.xml b/wear/src/main/res/values-eo-rUY/strings.xml index dd74906fa..b000f36f9 100644 --- a/wear/src/main/res/values-eo-rUY/strings.xml +++ b/wear/src/main/res/values-eo-rUY/strings.xml @@ -1,6 +1,6 @@ - New Game - You won! 😎 - Exploded! 😢 + Reludi + Vi gajnis! 😎 + Eksplodite! 😢 From c4b8431b42906846620b3a7e0dddbe0d273f642e Mon Sep 17 00:00:00 2001 From: Lucas Lima Date: Thu, 20 May 2021 18:24:00 -0300 Subject: [PATCH 4/7] Update tests --- app/build.gradle | 1 - .../view/common/level/view/AreaScreenshot.kt | 353 ------------------ .../androidTest/resources/area/covered.png | Bin 957 -> 0 bytes .../resources/area/covered_ambient.png | Bin 1250 -> 0 bytes .../resources/area/covered_flag.png | Bin 1391 -> 0 bytes .../resources/area/covered_flag_ambient.png | Bin 1661 -> 0 bytes .../resources/area/covered_highlighted.png | Bin 930 -> 0 bytes .../area/covered_highlighted_ambient.png | Bin 1250 -> 0 bytes .../resources/area/covered_mine.png | Bin 957 -> 0 bytes .../resources/area/covered_mine_ambient.png | Bin 1250 -> 0 bytes .../resources/area/covered_question.png | Bin 1869 -> 0 bytes .../area/covered_question_ambient.png | Bin 2148 -> 0 bytes .../resources/area/mines_around_1.png | Bin 1149 -> 0 bytes .../resources/area/mines_around_1_ambient.png | Bin 1109 -> 0 bytes .../resources/area/mines_around_2.png | Bin 1981 -> 0 bytes .../resources/area/mines_around_2_ambient.png | Bin 1266 -> 0 bytes .../resources/area/mines_around_3.png | Bin 2184 -> 0 bytes .../resources/area/mines_around_3_ambient.png | Bin 1355 -> 0 bytes .../resources/area/mines_around_4.png | Bin 1508 -> 0 bytes .../resources/area/mines_around_4_ambient.png | Bin 1187 -> 0 bytes .../resources/area/mines_around_5.png | Bin 2046 -> 0 bytes .../resources/area/mines_around_5_ambient.png | Bin 1304 -> 0 bytes .../resources/area/mines_around_6.png | Bin 2117 -> 0 bytes .../resources/area/mines_around_6_ambient.png | Bin 1354 -> 0 bytes .../resources/area/mines_around_7.png | Bin 1658 -> 0 bytes .../resources/area/mines_around_7_ambient.png | Bin 1211 -> 0 bytes .../resources/area/mines_around_8.png | Bin 2427 -> 0 bytes .../resources/area/mines_around_8_ambient.png | Bin 1392 -> 0 bytes .../area/mines_around_highlighted_1.png | Bin 1971 -> 0 bytes .../mines_around_highlighted_1_ambient.png | Bin 1498 -> 0 bytes .../area/mines_around_highlighted_2.png | Bin 2739 -> 0 bytes .../mines_around_highlighted_2_ambient.png | Bin 1649 -> 0 bytes .../area/mines_around_highlighted_3.png | Bin 2974 -> 0 bytes .../mines_around_highlighted_3_ambient.png | Bin 1733 -> 0 bytes .../area/mines_around_highlighted_4.png | Bin 2315 -> 0 bytes .../mines_around_highlighted_4_ambient.png | Bin 1574 -> 0 bytes .../area/mines_around_highlighted_5.png | Bin 2815 -> 0 bytes .../mines_around_highlighted_5_ambient.png | Bin 1685 -> 0 bytes .../area/mines_around_highlighted_6.png | Bin 2918 -> 0 bytes .../mines_around_highlighted_6_ambient.png | Bin 1737 -> 0 bytes .../area/mines_around_highlighted_7.png | Bin 2445 -> 0 bytes .../mines_around_highlighted_7_ambient.png | Bin 1595 -> 0 bytes .../area/mines_around_highlighted_8.png | Bin 3174 -> 0 bytes .../mines_around_highlighted_8_ambient.png | Bin 1772 -> 0 bytes .../androidTest/resources/area/uncovered.png | Bin 879 -> 0 bytes .../resources/area/uncovered_ambient.png | Bin 1036 -> 0 bytes .../resources/area/uncovered_highlighted.png | Bin 1712 -> 0 bytes .../area/uncovered_highlighted_ambient.png | Bin 1426 -> 0 bytes .../resources/area/uncovered_mine.png | Bin 3231 -> 0 bytes .../resources/area/uncovered_mine_ambient.png | Bin 2894 -> 0 bytes .../area/uncovered_mine_exploded.png | Bin 3339 -> 0 bytes .../area/uncovered_mine_exploded_ambient.png | Bin 2894 -> 0 bytes .../antimine/common/level/GameController.kt | 4 +- .../database/converters/AreaConverterTest.kt | 16 +- .../converters/DifficultyConverterTest.kt | 4 +- .../common/level/logic/GameControllerTest.kt | 69 ++-- .../level/logic/MinefieldFactoryTest.kt | 16 +- .../repository/MinefieldRepositoryTest.kt | 22 +- .../control/viewmodel/ControlViewModelTest.kt | 1 + i18n/src/main/res/values-en-rUS/strings.xml | 2 +- i18n/src/main/res/values/strings.xml | 2 +- 61 files changed, 67 insertions(+), 423 deletions(-) delete mode 100644 common/src/androidTest/java/dev/lucasnlm/antimine/view/common/level/view/AreaScreenshot.kt delete mode 100644 common/src/androidTest/resources/area/covered.png delete mode 100644 common/src/androidTest/resources/area/covered_ambient.png delete mode 100644 common/src/androidTest/resources/area/covered_flag.png delete mode 100644 common/src/androidTest/resources/area/covered_flag_ambient.png delete mode 100644 common/src/androidTest/resources/area/covered_highlighted.png delete mode 100644 common/src/androidTest/resources/area/covered_highlighted_ambient.png delete mode 100644 common/src/androidTest/resources/area/covered_mine.png delete mode 100644 common/src/androidTest/resources/area/covered_mine_ambient.png delete mode 100644 common/src/androidTest/resources/area/covered_question.png delete mode 100644 common/src/androidTest/resources/area/covered_question_ambient.png delete mode 100644 common/src/androidTest/resources/area/mines_around_1.png delete mode 100644 common/src/androidTest/resources/area/mines_around_1_ambient.png delete mode 100644 common/src/androidTest/resources/area/mines_around_2.png delete mode 100644 common/src/androidTest/resources/area/mines_around_2_ambient.png delete mode 100644 common/src/androidTest/resources/area/mines_around_3.png delete mode 100644 common/src/androidTest/resources/area/mines_around_3_ambient.png delete mode 100644 common/src/androidTest/resources/area/mines_around_4.png delete mode 100644 common/src/androidTest/resources/area/mines_around_4_ambient.png delete mode 100644 common/src/androidTest/resources/area/mines_around_5.png delete mode 100644 common/src/androidTest/resources/area/mines_around_5_ambient.png delete mode 100644 common/src/androidTest/resources/area/mines_around_6.png delete mode 100644 common/src/androidTest/resources/area/mines_around_6_ambient.png delete mode 100644 common/src/androidTest/resources/area/mines_around_7.png delete mode 100644 common/src/androidTest/resources/area/mines_around_7_ambient.png delete mode 100644 common/src/androidTest/resources/area/mines_around_8.png delete mode 100644 common/src/androidTest/resources/area/mines_around_8_ambient.png delete mode 100644 common/src/androidTest/resources/area/mines_around_highlighted_1.png delete mode 100644 common/src/androidTest/resources/area/mines_around_highlighted_1_ambient.png delete mode 100644 common/src/androidTest/resources/area/mines_around_highlighted_2.png delete mode 100644 common/src/androidTest/resources/area/mines_around_highlighted_2_ambient.png delete mode 100644 common/src/androidTest/resources/area/mines_around_highlighted_3.png delete mode 100644 common/src/androidTest/resources/area/mines_around_highlighted_3_ambient.png delete mode 100644 common/src/androidTest/resources/area/mines_around_highlighted_4.png delete mode 100644 common/src/androidTest/resources/area/mines_around_highlighted_4_ambient.png delete mode 100644 common/src/androidTest/resources/area/mines_around_highlighted_5.png delete mode 100644 common/src/androidTest/resources/area/mines_around_highlighted_5_ambient.png delete mode 100644 common/src/androidTest/resources/area/mines_around_highlighted_6.png delete mode 100644 common/src/androidTest/resources/area/mines_around_highlighted_6_ambient.png delete mode 100644 common/src/androidTest/resources/area/mines_around_highlighted_7.png delete mode 100644 common/src/androidTest/resources/area/mines_around_highlighted_7_ambient.png delete mode 100644 common/src/androidTest/resources/area/mines_around_highlighted_8.png delete mode 100644 common/src/androidTest/resources/area/mines_around_highlighted_8_ambient.png delete mode 100644 common/src/androidTest/resources/area/uncovered.png delete mode 100644 common/src/androidTest/resources/area/uncovered_ambient.png delete mode 100644 common/src/androidTest/resources/area/uncovered_highlighted.png delete mode 100644 common/src/androidTest/resources/area/uncovered_highlighted_ambient.png delete mode 100644 common/src/androidTest/resources/area/uncovered_mine.png delete mode 100644 common/src/androidTest/resources/area/uncovered_mine_ambient.png delete mode 100644 common/src/androidTest/resources/area/uncovered_mine_exploded.png delete mode 100644 common/src/androidTest/resources/area/uncovered_mine_exploded_ambient.png diff --git a/app/build.gradle b/app/build.gradle index 6a4a527a1..1f826cc33 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -176,7 +176,6 @@ dependencies { androidTestImplementation 'androidx.test:core:1.3.0' // AndroidJUnitRunner and JUnit Rules - androidtestImplementation 'androidx.core:core-ktx:1.5.0' androidTestImplementation 'androidx.test:core:1.3.0' androidTestImplementation 'androidx.test:core-ktx:1.3.0' androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0' diff --git a/common/src/androidTest/java/dev/lucasnlm/antimine/view/common/level/view/AreaScreenshot.kt b/common/src/androidTest/java/dev/lucasnlm/antimine/view/common/level/view/AreaScreenshot.kt deleted file mode 100644 index bc49f56da..000000000 --- a/common/src/androidTest/java/dev/lucasnlm/antimine/view/common/level/view/AreaScreenshot.kt +++ /dev/null @@ -1,353 +0,0 @@ -package dev.lucasnlm.antimine.view.common.level.view - -import android.content.Context -import android.graphics.Bitmap -import android.graphics.Canvas -import android.graphics.Color -import android.graphics.Paint -import androidx.test.platform.app.InstrumentationRegistry -import dev.lucasnlm.antimine.core.models.Area -import dev.lucasnlm.antimine.core.models.Mark -import dev.lucasnlm.antimine.ui.repository.Themes -import dev.lucasnlm.antimine.ui.view.createAreaPaintSettings -import dev.lucasnlm.antimine.ui.view.paintOnCanvas -import org.junit.Assert.assertTrue -import org.junit.Before -import org.junit.Test -import java.io.File -import java.io.FileOutputStream - -class AreaScreenshot { - private lateinit var context: Context - - private fun saveImage(area: Area, fileName: String, ambientMode: Boolean): File { - val paintSettings = createAreaPaintSettings(context, 128.0f, 3) - val size = paintSettings.rectF.width().toInt() - val testPadding = 4 - val bitmap = Bitmap.createBitmap(size + testPadding, size + testPadding, Bitmap.Config.ARGB_8888) - - val canvas = Canvas(bitmap) - - canvas.drawRect( - 0.0f, - 0.0f, - size.toFloat() + testPadding, - size.toFloat() + testPadding, - Paint().apply { - color = if (ambientMode) Color.BLACK else Color.WHITE - style = Paint.Style.FILL - } - ) - - canvas.save() - canvas.translate(testPadding * 0.5f, testPadding.toFloat() * 0.5f) - area.paintOnCanvas( - context, - canvas, - isAmbientMode = ambientMode, - isLowBitAmbient = false, - isFocused = false, - paintSettings = paintSettings, - theme = Themes.lightTheme() - ) - canvas.restore() - - val file = File(context.filesDir, fileName) - bitmap.compress(Bitmap.CompressFormat.PNG, 100, FileOutputStream(file)) - return file - } - - private fun compareScreenshot(current: File, fileName: String): Boolean { - val referenceInput = javaClass.getResourceAsStream("/area/$fileName") - var result = false - - if (referenceInput != null) { - val referenceBytes = referenceInput.readBytes() - val currentBytes = current.inputStream().readBytes() - - if (referenceBytes.size == currentBytes.size) { - result = referenceBytes.contentEquals(currentBytes) - } - } - - return result - } - - private fun screenshotTest(area: Area, fileName: String, ambientMode: Boolean = false) { - val current = saveImage(area, fileName, ambientMode) - assertTrue("$fileName doesn't match the reference", compareScreenshot(current, fileName)) - } - - @Before - fun setup() { - context = InstrumentationRegistry.getInstrumentation().context - } - - @Test - fun testCoveredArea() { - val area = Area(0, 0, 0, isCovered = true) - screenshotTest(area, "covered.png") - } - - @Test - fun testCoveredAreaAmbientMode() { - val area = Area(0, 0, 0, isCovered = true) - screenshotTest(area, "covered_ambient.png", true) - } - - @Test - fun testUncoveredArea() { - val area = Area(0, 0, 0, isCovered = false) - screenshotTest(area, "uncovered.png") - } - - @Test - fun testUncoveredAreaAmbientMode() { - val area = Area(0, 0, 0, isCovered = false) - screenshotTest(area, "uncovered_ambient.png", ambientMode = true) - } - - @Test - fun testUncoveredAreaWithTips() { - repeat(8) { - val id = it + 1 - screenshotTest( - Area( - 0, - 0, - 0, - isCovered = false, - minesAround = id - ), - "mines_around_$id.png" - ) - } - } - - @Test - fun testUncoveredAreaWithTipsAmbientMode() { - repeat(8) { - val id = it + 1 - screenshotTest( - Area( - 0, - 0, - 0, - isCovered = false, - minesAround = id - ), - "mines_around_${id}_ambient.png", - true - ) - } - } - - @Test - fun testCoveredAreaWithFlag() { - val area = Area( - 0, - 0, - 0, - isCovered = true, - mark = Mark.Flag - ) - screenshotTest(area, "covered_flag.png") - } - - @Test - fun testCoveredAreaWithFlagAmbient() { - val area = Area( - 0, - 0, - 0, - isCovered = true, - mark = Mark.Flag - ) - screenshotTest(area, "covered_flag_ambient.png", true) - } - - @Test - fun testCoveredAreaWithQuestion() { - val area = Area( - 0, - 0, - 0, - isCovered = true, - mark = Mark.Question - ) - screenshotTest(area, "covered_question.png") - } - - @Test - fun testCoveredAreaWithQuestionAmbient() { - val area = Area( - 0, - 0, - 0, - isCovered = true, - mark = Mark.Question - ) - screenshotTest(area, "covered_question_ambient.png", true) - } - - @Test - fun testCoveredAreaHighlighted() { - val area = Area( - 0, - 0, - 0, - isCovered = true, - highlighted = true - ) - screenshotTest(area, "covered_highlighted.png") - } - - @Test - fun testCoveredAreaHighlightedAmbient() { - val area = Area( - 0, - 0, - 0, - isCovered = true, - highlighted = true - ) - screenshotTest(area, "covered_highlighted_ambient.png", true) - } - - @Test - fun testCoveredAreaWithMine() { - val area = Area( - 0, - 0, - 0, - isCovered = true, - hasMine = true - ) - screenshotTest(area, "covered_mine.png") - } - - @Test - fun testCoveredAreaWithMineAmbient() { - val area = Area( - 0, - 0, - 0, - isCovered = true, - hasMine = true - ) - screenshotTest(area, "covered_mine_ambient.png", true) - } - - @Test - fun testUncoveredAreaWithMine() { - val area = Area( - 0, - 0, - 0, - isCovered = false, - hasMine = true - ) - screenshotTest(area, "uncovered_mine.png") - } - - @Test - fun testUncoveredAreaWithMineAmbient() { - val area = Area( - 0, - 0, - 0, - isCovered = false, - hasMine = true - ) - screenshotTest(area, "uncovered_mine_ambient.png", true) - } - - @Test - fun testUncoveredAreaHighlighted() { - val area = Area( - 0, - 0, - 0, - isCovered = false, - hasMine = false, - highlighted = true - ) - screenshotTest(area, "uncovered_highlighted.png") - } - - @Test - fun testUncoveredAreaHighlightedAmbient() { - val area = Area( - 0, - 0, - 0, - isCovered = false, - hasMine = false, - highlighted = true - ) - screenshotTest(area, "uncovered_highlighted_ambient.png", true) - } - - @Test - fun testUncoveredAreaWithMineExploded() { - val area = Area( - 0, - 0, - 0, - isCovered = false, - hasMine = true, - mistake = true - ) - screenshotTest(area, "uncovered_mine_exploded.png") - } - - @Test - fun testUncoveredAreaWithMineExplodedAmbient() { - val area = Area( - 0, - 0, - 0, - isCovered = false, - hasMine = true, - mistake = true - ) - screenshotTest(area, "uncovered_mine_exploded_ambient.png", true) - } - - @Test - fun testUncoveredAreaWithTipsHighlighted() { - repeat(8) { - val id = it + 1 - screenshotTest( - Area( - 0, - 0, - 0, - isCovered = false, - minesAround = id, - highlighted = true - ), - "mines_around_highlighted_$id.png" - ) - } - } - - @Test - fun testUncoveredAreaWithTipsHighlightedAmbient() { - repeat(8) { - val id = it + 1 - screenshotTest( - Area( - 0, - 0, - 0, - isCovered = false, - minesAround = id, - highlighted = true - ), - "mines_around_highlighted_${id}_ambient.png", - true - ) - } - } -} diff --git a/common/src/androidTest/resources/area/covered.png b/common/src/androidTest/resources/area/covered.png deleted file mode 100644 index 1467bf53455033fedede23247fd8500212a4b251..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 957 zcmeAS@N?(olHy`uVBq!ia0vp^Eg;On1|$PrnwJA9#^NA%Cx&(BWL^R}EX7WqAsj$Z z!;#X#z`&gD>EaktG3V{g{oX~@497qAFJEFQ(2}*i<$z{}_J)f`H8XOvCUpGLUNY_4 zwFP&im6o?wJ%|=aRR`_cFQq{`+sH ze`2k24gaT~e81<#vuAGGw{P!y9Pzd+`uzFxi|@7m*O=?4J^7@@?6X?aPp=Hn$jHom z8GnEJuexX?#4bRi@SM1JI6Q)m?%$uBUH7&{kwc=XVI&hXR61V1 zd^y2dAi!+4?>bJVGGKUq`dKr(;SJHh*AyUn}IYFyO+WLrxPMIn<}0 zuKg$OG-=zmZO8059=ZfB@ml&Qy_x^h&pq3=Z$ECu^)N(B^z8Zbw{KqfF0eGn^J!6K z&SC+#oiSl6L!_+yzyALFFFhX^5v#&hzbdg(mT&(!bJna&=g#$Y9euR?e7$6gimk2f z%O5`?#Kpy5eXUZK?!4H&$Rj&D`__#c7v8*iGkyK8s44(?|F3Ob2E` N22WQ%mvv4FO#q+IrNaOK diff --git a/common/src/androidTest/resources/area/covered_ambient.png b/common/src/androidTest/resources/area/covered_ambient.png deleted file mode 100644 index 61ba0371ac2900dc72797defac8615c0cf561ff2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1250 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 N22WQ%mvv4FO#q+IrNaOK diff --git a/common/src/androidTest/resources/area/covered_mine_ambient.png b/common/src/androidTest/resources/area/covered_mine_ambient.png deleted file mode 100644 index 61ba0371ac2900dc72797defac8615c0cf561ff2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1250 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 diff --git a/common/src/androidTest/resources/area/covered_question_ambient.png b/common/src/androidTest/resources/area/covered_question_ambient.png deleted file mode 100644 index 1ead5228bc9e9bb4420a14ad1d8a69dbcb40f012..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2148 zcmb7GdsNcd8ihn9LuJ&PTnEQT4q4+>Q!CAsATr+>tE*yyTH>QH-$jU~h^S+wPN8Wz zj+rn{3KCDyuIcjQ+qB*|vZJG%vX!ke&&0lw|IcuHst$of}>zr?$y}y0(1N=|w z>X_(&Kpd365KruzcNO`60I16-9~Sq_xVXD>LTyKBX8K|mEcNI&QPI(5m6dyudJ0_2;lqc#_DLn( zeLq`gE~T8-!lP6}#@A_t&`>KQokSYVdq2DBvi3N|(9qDv#s&_BSeJIvH$Ue`31v@5 z(ymT&PgNS|dFM(9xj`))jS2CL?gTTvt&l1Goq%QYhouo?;5won$?IeK1w6Oq@}XGCi&O z%5aYl8&uof?dpqhf@)>sEWa8Hg7?N4WmZ@3Au}vI&I)B#rJdju|F20;g7YED)yeiE z7K&A~bw^}u){-EQgN%0tyd(}4Twmhud6tkEr}K);+0|&aCda%`ac{KEUhMhz$B|}j zPxyq+POP;Rw5rIQiDkh58JL~dIPTHW*Jr?r2uEm@bE+1alG2V;a00B0d{JJgTa@^C z{n!W6@$b!H(r_|42WOeZiM{szv1wieLedt!j}jLr5C||1Ws7T`Uv%rIr>Fn;^eL&J zpim1@W+$}|DIqt~+8))FL?DiTX`yYUZmgPhxG*`fb$tGLLf}jo%?`oJA`<{ON_&v_ zOYtu3Kq|i0h!ZQ1Gvmbm;9bM(LVLXM)Ql)cm5{$GXxn_w54K^E3F*4=2#+XyY&mLS zVL@XgTJ;vPvc09sT5b;Wn1EI-Y)Z~Qp`@p$NBW!H)W`Na*>sx7?Hg<^TA|8s>Yqza zUaO>D4Pya8B${M#CdnT|L_a$XiDFL!RN=kK7z> zPsI$n9eL0{SHg*Xtf-C+`L4o$cqnK;+hlWehKF%Z!q+Y|)wgkdQP~j)BOT3Q)qW!# z1Pg<@B{=BLC9#e;02+x%Q#H4~3A8q%@I8l2C&e#|F@sMZQP)1`$|!QaqRgLrRk2JQ z7*>4pYQ%g>NYn$5Nptn3rhcU%;*B2kC4+q2_WW!@87FpXZG$ILP>;IF;>E-awdoaR zgX@*q|H2Xy=NlYL5v{i)Qs&&DJ^kmIr=ry7^nJI zuXN(=dd{VeeNvR`8iV8?qkV$WFgM*52R%}kO_Y*D*ket`ukOsI?C%?(1 zVG%KYw9w~IOp$rhn~XA&=w$9W!R(-MhbLSV(;hxEKk@EiP&)GTH81$JHyIyuDiDuF zBGa@K(9Q`FOxm!uT=&;@Zp*M$-q&?J-cSZ1T@d_itsr6h+nZ-=7rAm*!Q%FJ@$F-+ zskslW^1_xKt}=VS2T$DwhaN>+90*NFhcERrM-YIL1;LaD=Ri9dU0q$SZT32bukJoM zlGoUHaM+GDGB}8k0qnl@I@sp7`T1Y!RTK*4`g?6===9K@)}f*D`X$G*-(R(ZY;^%< z1qKE-{kc6hCJ}rTHgvKvgG8!>UvlIOEXWHkO6b=vVfbWI<%@)Y;UgPmoy`eEcsVC^ z3oFac)(A2+mE>Rs3CyIku(6lsi?eObzg2iJlp2S%#+%r$BOT`Mi01UOkrsc`b;8I4 z{J=VI^asV}`a*HqiMMf~#(0RjG7ld*__l|BjFp)4UrZ z0f^GXb3AxZ^H>djd}<0v{#awk^ykkh=3=JO6*w=zy7m40dr6uEYokG#Y+S8Y52as% z?T}2a+Pk`Ts@3%9Rjl*b+A|X?D@CEUCm*IxO1D+!ws-&L!49H?ybF!qEu_7bJ;`*s k@6*ud>+VENi}#c0kodm0X}WYi@KXSJo$$x;u;GmV0h}ZJw*UYD diff --git a/common/src/androidTest/resources/area/mines_around_1.png b/common/src/androidTest/resources/area/mines_around_1.png deleted file mode 100644 index 3cfbb0338ede298907269d06dc1ee127af8622ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1149 zcmeAS@N?(olHy`uVBq!ia0vp^Eg;On1|$PrnwJA9#^NA%Cx&(BWL^R}EX7WqAsj$Z z!;#Vf%-s&oW{4$EO67^Ds&|>b$aS^qax;=hu;*l_XaFE zw`eMd@ok9@E$#(kp1Um%33zkZF3`tZ`Ckcw>!1+IO( zxbM~0Rk@oLA|xLzuX*>pM!;ot{(!^yZ~}cGb6H=Sre7U;KSGsqWXq-4~K= zrJE*PdG+nf%O5ejf4lw-+{I(-7qF3cQTgTT&mXmZ<8rOFvJ8L!%b-jV$>~L4+?0)b+a%Pc&bYEYyYg+$ zldos9{APwY?f@g zw-;$qDYeR-EAC%X8dlevRj^h_Kn@9 zw))nI+PRIB&K-{rcZK z9OCCFF472!oK|#BlgHWASNZ+kwnpL8`C=@MbBc@3t$b}&`9Ade)?MqY>*n;aOnknx zYf(UGXx8np+}r3-rl}ZE2e*w&eUZq z!&YBCxcSd=g(igymoHCVwQAD$e=(1bNTxb%} zsZAlFq2iJfddpX7-Mx3O?{>1lIm>BNg|BQ|yGciSyYtJpd?^xbEQXG`x3#*ISREB! z+IE=uUNt%E%HDSRY4f+VPcn`?hT)$GU?kgp1RpH)+I_Do62S%c}Rgnf`zeJ zAwhtJr>VhFz<`5^&G7(ff*)H~+CK6SVE55&s%80@C(&lu(qFFXbJ26X**>%1j6Rl4 zwUfD$A|uFN4ZnJ?-8J?48pdK`HUvgVz? z1#~R;=L|`c?*W;$@D%+U0lH zz~k2L6<_WNA7MFKxaMt{bzZ;YmD06GlL{v~J}i3o?%kG~Img~QT>7vPm{5T!Gxqv) z3F&h=X0w5&?%lVq@AsM7j_K3IfmuQ4^f^0=IpNb%y(S$wq9D7&aBI|BllkX6A9X>J z<up)o`s>dnl+UG@&DQjs)NJTc&-uuC-g96I3=LhG8@)C6 zcktsQ{9TVDJSSyrjL6u0vu2jsH(6e%NwB=trBwO;>0bHkYk$mbQkYQech0gjR{j0n zSG&TlmmcrGEbb`tOF46v7SGSvH|DQ*`R%^@?n(W<$xR2o{^l>AZ>)Edb*TWbXkhSk L^>bP0l+XkKPPENW diff --git a/common/src/androidTest/resources/area/mines_around_2.png b/common/src/androidTest/resources/area/mines_around_2.png deleted file mode 100644 index cf90a496af0e56a8889ee9514e9f144f4d44c6ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1981 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 diff --git a/common/src/androidTest/resources/area/mines_around_3.png b/common/src/androidTest/resources/area/mines_around_3.png deleted file mode 100644 index 491d2e67286d0dbb8702e3675de6d0b2baaf47ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2184 zcmb_edpHve7oUxp%iNR8Fsod0zl7x8q7k8}w_HM@4a=KL$ritYjJzA^LLX#!SGzgz`AzwsNCkjZbCBdCRej-RJ!AYM%2^9YOqCO)fP~AVy zM+6xh(5fxuv8rdg?hwWLBi+7UvRsn zUv8M?Iw+xSpicc0=|R^JObVEM{OD1z&QY+Y=gn}Zf~Zq)U?nQuZ`Wi^*1+D#ip;14 zyVI}k&*H>BOL+6SOMVDZBAFhj1X1IuyzWkt)ZKbO(`*ppv(;xqB-=+fwB^>fA>M(B zL89T(o_E!A*MvHfS6$P0mp|rZOdd#EY|YuIBQwDIu#DOyx zHDR}oyijCKf1*r*iq<`{V2E0)NWDW1x;$`RLv{~l3uC5pH_Seg3o>+S1kLyD;w-mR z5gEy1{Iw6{t%Y)b$H~uXZ8>W`*WcA3=_cuBJhh4f#X+;unpnhYVR?Wb7o{!^xKyin z;@4QW$0#qFyT48^6x$M0!)k!>fJV{pqZukL@Wz?$6s2q7=bEQ(QW%5uR|C`UbjY>+ zsQr*5oTL~-^F?4&iJX@<`!W0P*m$Bxn+`@zZ0F^K&-b z#_NX~_^BxWn@&&Jcr~3V65Za+l2FrG5e88+Cko!&R^4dAJpMu6nnGtKCn~&jt*GI<#y*{c2k_-#mf-z0?#YoTpk*ASrFLsrw=} z$DEOi4}x3uX`F`djNY2v{BRm4P#LChTc_l%8j{^4TnatG3SJ6v<3Imizu{O&#C!VD zm-DAA-2eKcV(x0_eN7V43ex%Z<$6F^ix{ugYIwq#Z_;q(Sc(J`spo9;*KBGx>D6)- zhVikn$RTdcn^=Xe?zCId3)<&qfgiQLOR}Of>wRa>b1LIG_|yuGViILbU{GUoq`O#- zX0vZv68!oEFNk=Jh{Rlkyi5QL;~D&G2{`Rp*|$>XOT)OH_Z{8`fqPtK3`=YFp%Q92Gtp>kXxg%%UTjyGqB zvpfAQhB0hh9N%py@lDE8hfls~W^pp4DTDaUI!fdM^Y>xKm6LIEmJPe=g5#D0J%g0N zEJVvImE#MHA9E7WJdT-A{=LX7eZjA3ua-J2fg06O+5lo{vHna_Gc7FH( zOh?#w4Z{kp?Yp$>9@_{<#{kj#LZ!JG&*rYZj)cQ9>Vpqdlawbz<7qm-KLx_4l{Ick zXBJ!0p$g0aw)2IYZ$S|Hpa0*}`rof~o}J)9pX>LUMZgaqxK#-{d`)xJ#y`UHsI`I! zr95uZz_flHd*~dn_v^^Z(v-^je^Uk70wG;=$kNq9#+NTH0KjB0u@;Uiib{S4R`NjU z>@LGxIb}jK{_h1G4Mce#eYU`?}myd-P*Omd)9A|IqvRI3}l?J>ubEBkyJ@Elua zR;ne6{}1b}qf-GXp6}Y&8DH~>E=Q{ER!(F6ff#T`@dBwT+y_Lh@G+wjijD`XXM4W0 z`>xymCgK}1^QoQKe9v#GA581nxjAmsk>NA&it9^n^klXrHDr7`jir7R?|l;h)Co5v J+2K;!zW@uI`y&7V diff --git a/common/src/androidTest/resources/area/mines_around_3_ambient.png b/common/src/androidTest/resources/area/mines_around_3_ambient.png deleted file mode 100644 index eb017a3ac05228d57ca6e11e968dd4083ebf8fa2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1355 zcmeAS@N?(olHy`uVBq!ia0vp^Eg;On1|$PrnwJA9#^NA%Cx&(BWL^R}EX7WqAsj$Z z!;#Vf;9| zc^`Xz>Y2u#G>>a%la!6v4v4wLFUr0r!@@X8#c`4fN7IAt*E;hSM%I zsK-rN#I!z1X-o~*Xn6Ev-QNVzM|7vNk0Z(EN;|Ecf zNh&K=y;`U3_Wkjk=B;7};sk6qf0$m(S17}L<96zY-JJEg+i$<~X^xMabU?u)K|sZT zLr8*!lc$M=&5@~Dq0w;yIl?ht9|Y<0$!+=iHTXyH>Dou30=M6a9h)(kxi;sgo>2Uw z4@uKMPIkP@`sDQb$9p**iA8^3dAG|fj-}B1RysG^M{yH*{}nt*9l8;(bru?R?2G=e z(($eFji_|aQpYcnXS~y8Yx{*w&I!G0da?NYwY8;eJC5vDSa)-k={bh!EA|9gUUA5p z<9dbF@QK1(z1HkUclDajB@3iy-2U}DK|uXSm2Q)x%*E$799~Oy>}oz`caHbj&fluv z?AI5TG1%}vQg2>q$=0yDXLUwDV}d~VMLFgJ3RRb@1b)gkzv$e4;bP#P)^ozQ-){R| z-1$snkIh?~XTKRAFE!>`%RXa{qTdVS2U6*rY=y^`GG4dvHs~-m;rpS=^Qe8xTeB;& zA-^on-k-Ef!Qz4ao*1+`xle~UCs#%#x2hx z6X%ON&aqy-PCf)TWIKyKY!j#>wGP+`YM;_Bn98g2gCc?rY_TbWFcnA;I8L$_Ia_7 zny}l#h*`^K_^8b|o5o(RUM6|hDfz>nKRsvDnvW(K9hW962px*0Vp)3luw&|9b#SC8j$4Z~ED@*k+%7_Nw>$Dg}@I b{~0#rZ+DG)Fpn2lAToHm`njxgN@xNAW6Mq{ diff --git a/common/src/androidTest/resources/area/mines_around_4.png b/common/src/androidTest/resources/area/mines_around_4.png deleted file mode 100644 index 52c8397aa320b7cdaf5c3902255a4ee0da9442cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1508 zcmb`Hc`zFY6vm@M(})Ptx=D?yw$8MOqjqCrF{+^qidBLph%3=L5~`wZqIFd3YSG0i zwknlUM~Lc*bDb5pqEw=^G_-2dzjtP5c4ptqd*8e_^ZxsOU#i1pYe}#o7ytlB+S*{Q z2sQCXgT#f?5kspKiU|3NwI!f#KzU8L0LhlN&LCk?L4GL!fLN9-2JIYG#GA3ByZbBm zY|V*4bISwH-7jqasO z#0*2DEGUHR!@M>ivce?z3nHOT>N--fC3ASgE|bQ?q)@4kVJ7*TUoBGj;A++Q6Lx+N zi{1N8r+Avp#nAm&x!6Is+D`W zR5+%di*6Z1-4OfBqh;*pdalBO1-R^O)ft79QKfbsHVf8TchASBb&DGZPyB!cIYpP4 z?VA7rZJS->nN(LqYi2uK`Uw9iCFf-pJ-NJeFYxp+NCHqCeT0U%jn3{s*m%P<^g%N6 z!2f(stZvI6(&+b*zqNzI^U16=M8#UAngaXc?0#juQvbULU#W2m#;EbFBF%?-v;G-- z)g{fLkY-<4BqQ19)wL;yi%BHNVjaC#sR~LQ^VRA>0H%p%0=`yxOvW8=D(t{l!Zj^= z%vT$-L=$X;shIKKV$a*-B4B1A@QE)I&h%#v8PG)@PNbxM4Low_M}*C(`hN`KI$nI; zX@E>wMZV^OU6nnH?O7KCQ3_&NpAhVty@g_wtNyD>_7^56S#MZ4(SUzJMv zc+n;+9ktMRcH|Pmvj8=AOG`AfhjrLz_f`~+GY{TD)zSoy^E(IoG4n5aaJss+#TKDY z)*2(#3+$Km{C|%!9X>XF-BgDrc*02BtXb;_ zeqf_kPuxyqP@Vp?`RDpU}(MStQ_<{FsQ(x>2t-~z5tWI#k z(7NuDi*c67oQ$z-ZGufwf85$WTKIz@Jc>!QE^$F?>}~j5cNb&b{{vq+_B0+;seK^I_nFOdBLSciGcXbZ{yQP)fuF{p6*R`P>(Ib zHQOw^jdZ7{dsqbImi*@FQ(u2Wv!=&3nR#Q{$a5bmb(^SjQsy+bRu^9J2m62gub;)aY@v&7qF3~{gO~E|sW$Bp z@p-=Q+=@k$3#|2Z1(iId8P{J*-e=jDoEo`I=d{T2kN#^p?=N_5b+vTuu60*S?=F8Y z{_+6dM3qjp$(?hGyBI`Q56_o364?)knvO5IQ6e6jEHU|SoTJ>8FD1=|cr}sgbWfecH7DF8jkdkGB{(_+HjH|M_2;&flF(lE)1lSyp69sd_Hb z=u+9sHZgVPt6g@lfqL#$TRvCGWj#34b;q9XQoU}Iwz;vb_if4EeDh1X)SeX1W`zU+ z7M`XCM*#y4CN{?d3LFwFj3f*G@P6_Cv6n!!*=*nccAN{9I&>EvR}gg3{}TAIP2tFj z8*TzgAvxT39B!?mH3Dz=!Y(*&u-+q{BVaS}j_wVGj>PQ>%{R=ooaB`cvKD59wCpQp z5kInz-R8?(M=qTX=fz5328Y|xL`T+-f^J9uH*quteynt4Ik@7-o`dWMP1_&ySaGbg zl*zx~Sa9}XMKf=c`lNW{6ABWd@#bK1`n+n!`?>eueGogmP=oKS!tQtWQ)1H#9Oop3 z{P|nlw&gWXRtnF{M$74rtc~^ND-_y{j-SsAaC~rI5EwW=*qo(8$p{sS0<|Y%(yn#V zSALs5wg?ni`P#~Jz2lWq-RE~A#allYo?E#t+mnUyFXy3Z{mkr?ExD^rWbdSJde~s% zdv#mx|H{)h@=UYC;P^CxqH zZ*Ti_Z}lpzt+~7Z*I5Z1Sr^cP*N@h1-j=&HZhim1$F^D=JooF5Z%b2uEAvPK QSkN$dy85}Sb4q9e0DhSW+yDRo diff --git a/common/src/androidTest/resources/area/mines_around_5.png b/common/src/androidTest/resources/area/mines_around_5.png deleted file mode 100644 index f7e9992cf4ccd2208af49bb61405e41434b1d648..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2046 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 diff --git a/common/src/androidTest/resources/area/mines_around_6_ambient.png b/common/src/androidTest/resources/area/mines_around_6_ambient.png deleted file mode 100644 index 02273350c1c82bf9170228d1f69cb83a46e06f9d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1354 zcmeAS@N?(olHy`uVBq!ia0vp^Eg;On1|$PrnwJA9#^NA%Cx&(BWL^R}EX7WqAsj$Z z!;#Vfk3|3#%nogOE%DIYI%^X26!+$b^L zk~cS>oioe(>+)4S2Xh&=DEtzd`}wq^fP$xxif5Ao$GTFV5=P(43v|4vq;@XLWZQpk zL3$gnY+s}iaQ*Ac>knN7BBv#q zNGYB#4hd~twMwt{P6>0Mh+>!0nKa{?nwo^YasPkpc5gN~_TcH$rK`KXNc11~n8eb3 z^wA5QdVv;0w*3736Q5A)%s|Oy0_|A9!D`(5#RkAh&82SE9rr3FZgd z9V(sy)1Joi_q;o9$)2s-uveiX?VxYe@%*0#6jOe#)JVqtS+YF21; zoNz$FBSApLfI~=vg_Ea=9N~v+q^JLSwEX?fcl(UiOE&+wv@O^CfgR5u|2=U=-_n`p zE8lpYEAZQx>F>i>f!&dfhBD7X1?GtUsuX5PmN?eExu-b!L*?d|t^&^NrQ&`0f^UNN zr||5YDP=yZeg$9BiJ*gfTbEdM*!4V|@Jitq+iXLbAZeHT_ZrQ!Z2jIw9=m^r&o2Jy zoj~a$n!l^t7lvEb-ppSSW3;Yt)lT^dXNQ-oI6(5q*7JHM?hB1NqA%>4 zpCItx;jzxcT7moQTXSz8WL{f1?Somz{BuTS;nwYL3v)p{MQQ)sX4{tSjy#4bo)@;| z7<9<(J1fMqsC}E{0)9~7#WXBSJ$hO}&$eOKG|{P!8Na&snof0$nUr6+lIPJRpg}cR z(ZW+5c?!?9XVfe*>)3bjO?7tF3-@Oxxf+Z|9eHHWybm`o?{D7|_n2qVFXwH}Y~OBN zJ-2YnS-yrxl1w|^iF)^LW?o>!@xUrD9yPW$oa&zpI|@156N&jx0H6W{#0f|BUWSxSA$g3JX^dRHDzYJ6F8N<##g z?JmC*`TXi(4Z}P0Z`YK`OjdCLn23Ud8lF0E~W=?U|e|JgU9>WdS4n=kE zS_dp(0!3E5{`KYc1>qwb>s363SQyuL|2_X|*RitQw!izouTk*WA8-BjnE$6lT?t@$ O$l&Sf=d#Wzp$P!IHBKG? diff --git a/common/src/androidTest/resources/area/mines_around_7.png b/common/src/androidTest/resources/area/mines_around_7.png deleted file mode 100644 index e5f59430128c11b504821a25fd9a4df348765983..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1658 zcmbtVdpy$%6#sd&AvAf-xx{1@N*;IJ&*%PqKlgLb=X1{Yobx%K^F9BZb5haH_Hr`nG5`R` zIh;Yci7@G#N`XYy6-BEQff(M+-UeWCH5WyJB;LlsLrNrZQdl|wfDSsKkRHSW!Gw>y zMv!KgaLPs=A|+j{DemQ6Y-5S8%H$H=?Yjue4TavM>9eb?#Od-{WKAVWz2?N&{ddHH z;&nv7myA*`O#0Le@>$Zf~1+M!NGDpqsle?KhMG-qZ-4T1uZ?U$fGWu!XEHcXgoKQRzuvK z&GBa9Erd+jfB1yyj4=(tfdG3L9jA1f(y^jIxKj!bO0uL8-@mwcdVNC~*xDR;-<$QA zOwuDx=PqPgVa%dDATda5lHU|%dww@8IGh{Z-nn{4w($Ti0$aE?zFb$0nQ&tbnSB|E z#WLFhOamY?XBDOSn_t?Zw_oK$-zCB`6c?XsE3x7$CoKWQ@}=4ehfjf!ptAYbO@y5% z(eZD+jDMSO*=;WQQ-NkMJMXel7s)c>fnA=JT~Tj^a#X5~4%xLs-C6ego)qIBT$n|X zVDw`vTgNlQ-jJ!LvfUb3~vq; z_J{+4U0+R|0*ygp{)BM(eLMHuSR2oVQ!~A)J5!fmXam06cCF|41If-^qAF`1_|cXL z^}h9_J1eE-$C0PBl)>u4C0dhk`$FH^3q6SkYeS)oP6|t2xAoTZp^xt@awe~frT?kgA(TH0W-`{=OWCxy_nZP}KBs?luC2YZL|J+`p!R$EOGDlgV{3toXSPwR(w7pOK9sK^f1S>T zZe?&!x3;;lWM+hdJ?R)m!?XSl*I3OVk1OXOykpKa;Oirg{E}J{85IwmS<<@jT+W)- zikD~(Y`bWVys*S3;T>oRErKrJ7{aI^v32R6+*A@M5!;xL$^9IEDA(#+cd41-8{}@> zhu#>A0zZsl7dW88$@dF?vvhvC9@fSDJ9TAaMxspRc<&m+TVnfi%TfW@$gUV|0CbEr z_7VDR%q>rTIs&MM>nyYf{O?u!w|z}R4w8t<=1)J6n7+%c(4?-}#vtfp%wiZuRu>Yr zqgv>GZB75%jX<9a>@&f(zvk`qsFdi?H%XED{0bHvP1!332nr|0z`A7H({pBRwh$^p zujIlrsU{y(%X(Uk1UlFng)dXiR-s%@dSmN7_DVBkf%0HxsW1*lQ{IufW)`?C!NjBMO>vrdrB-!A7k=d&j8@tp!fr}1TMgIeEuysbU IZ2S}d0+gTiS^xk5 diff --git a/common/src/androidTest/resources/area/mines_around_7_ambient.png b/common/src/androidTest/resources/area/mines_around_7_ambient.png deleted file mode 100644 index b95567a30a9e21d4426aa7dd2cd84bd44ca46abf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1211 zcmeAS@N?(olHy`uVBq!ia0vp^Eg;On1|$PrnwJA9#^NA%Cx&(BWL^R}EX7WqAsj$Z z!;#VfU!-w}<=LcU6T>X>R}VuRpCRb46f&#M0K_aI%@URR}Y@M z-ZEC4q;fICWKywTq0H)a*_H3N#u-P{ZPw^|GG}tJU+(Qw)$3QSy0Y!<^YfS09YtIh zJ}g+VN$09b@2q7%-<3XQxnvSLYuPNnh+qZ9DwW>>^O7DDe zY)njs+3cBbp9L+{;HrGzsmRcM)amroAlJYdZ({{KCuLa36rB^8@Uvze&?zdOyK-X% z7GLy8jhvU7Xfc12PHAQ3&AacK3eFWqN-kKIIpuj}x%ITT`;9%1XDBdTG3lM85-8$2 z>0Z-`O+KZu^Gg#g#p6G9w>WDurM|& zBnYtZG&ML17;rGLIUZ2pAXV^-7RNvPudk~_S@!k84U50BUHInWI=P4SAMWa3_&vSw z@9V$+XUDOAysLk1-;QgqOW!v=nDCLcw%bvuWA3-Ne`~GFE8GSCujs!F5^$QsC*+uO z^|^SBeA5l3E#7DQIUeb^$7Fqzbo`_GguD;r}{vKz9 zh-=i^Fko!2cpY_a=Vm>w=a1(E$6lYr!BoY2s9OK!Va3I{(MvO{uC+e=0!+!bx81#N zUZy_vUUd^kz^r9aI%0R<>UFGIWir?A{3eY#=dWI!Dkm?$`}V{o?^efkF9IrAwd$2j z_TkRngBZ1lN{O8H~e9Nak-^te8*y(ud)3Gau4>zk#<_!E2 zG4J^-AGKL$)1<%8bavZr*i}+nyY^|(%AYlLU8av*jy>MU)_m}q#1dJ@J=$GPhaU!{ zMy|?~GWGo&{Q3yL*X5ArgASKphV=LMOSgCS+wnS0g5_Y(NhhlH-`nmt{CL_mQ04iY zImKDG!|qjwhA!QfYhOR_8_UMG{V9>lES?o_yuT(lT6g;C#pU-FH#z+O%b0bhNc~mt Sh6G>%#Ng@b=d#Wzp$PyMhZfoZ diff --git a/common/src/androidTest/resources/area/mines_around_8.png b/common/src/androidTest/resources/area/mines_around_8.png deleted file mode 100644 index 250d2d235885aab8bd1a3edd6ac86e2b67d26540..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2427 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 diff --git a/common/src/androidTest/resources/area/mines_around_8_ambient.png b/common/src/androidTest/resources/area/mines_around_8_ambient.png deleted file mode 100644 index de6543daf5438e255381d8052b4077cf30e8763f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1392 zcmeAS@N?(olHy`uVBq!ia0vp^Eg;On1|$PrnwJA9#^NA%Cx&(BWL^R}EX7WqAsj$Z z!;#X#z`!cy>EaktG3V{w?EFPO630GfTkx)5@b!Z8ufO(D!n}gPzmGXysNFcV!2WB4 z?kl_RG5b>{PtBU1@{i9*E1Ths!xz*y)wM}SvbiX8 z)}x0H88_eb$q`@96*=vo<#7p{4RPx?-prYhI`hUoHo-Qo${c}!vn4ZT|m)HA1e!!@QCEC-Fb>n)!P95-w@r`Y`7_eb{j+gsD6YEDmLVRK|^ zR%mpba6rK$K|sZTLr8*!lc$Ls;fIU3r)ORItM~ff>JQ7e{XVo>;ahWVkEPX(_HFOW ztn(jzcs609{FV7UZ~htD)i~dqtUA?p{9o?!Ny;nbunhzw~rU?PuNpyLd{Q z1Wuo;O=AQ)9O$g5GPx?p*Z&<-1)gWfoLE>Pc|^6wI%fs9(`|;kvvw)0+xYH*aH->$ zgON`x^qXJ&Uh~~hW~w94$F-~XY0tgIr>WKa;_;2HCv`t>UDyA#;?I#Qs^@S0zxUm| z|Ej}Vp2D~3>yO=J43IfudVk`TKQA?b-n`!FRLs-xNueQey~1)^wgb%y-|D1}souYS z!QpA-G0o%aqN?B2*|}VJ8Y>XHkGD+zo{Z57dFrJHv_!?okh48H&gO9PF$o}pA>J`0 zlr{TpY2GtH7wnBlo|f9Nh$A)fUh@4H$BsQVT(#=Z z^XKWieb+dz3DX7^5hlL*`-)4VGiNFFB?~eaBqV0p%}+L(X~1<9l3#Poet$DAJdt58 z)eO{^VcCQy!PC{xWt~$(69Bj8 BWQ70# diff --git a/common/src/androidTest/resources/area/mines_around_highlighted_1.png b/common/src/androidTest/resources/area/mines_around_highlighted_1.png deleted file mode 100644 index d308156dd1593b62550de8119600fc983aff0d3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1971 zcmbtVc`zFY7Z2-RSE(jw6ZUhpED<6WTNBj^l{hLsbqgi#qiDLQtxzeYRBBh_SY(S( zM~PDFNVT$(R%6=)o2pgTF%icGQ7Se&``7;Q&3xZ{Z|1!>?>F;)Z{B+|@7?ysxT&e= zsQ>@~HFuP&uhi%NrAi7?>*Gpnk~*2IzHTmn_KB0L(m?L2i@TqaRI-(#NC1Fhh`TG& zk5Da~4N0h2)*ahoyI1xtj!qQT+@nsb-%eGfmZfWELVf6h2|k^iA>d^QG~et6n^Vy= z8k*~%U>qB9g;Ms=pBAW`;X>hsoDT`e*jRZM%Y1#0FpCR=oxq9u9F_{F z1dOhB?UfDjJMR2x8=hlOXY%W$wh(?kSM3Cuyz-_Nt?x?McNn{HNDw`GvNbW#1lO;G zEw^lJj7*q9+;WKW3XvHso6|(luwBu7z06PB19Ku;S!5t0X`~*gKGNH(OBeH6cdc15+i@ot*2xl^OqfdVI3C0VcyeLK=%b#0* zA?ScGSH%<5?0Ynphf{8fm0ePBE-+W0s`DMY#2GAnmTq62mdjkYi<@e%8^y)@^T=XD zoXAI2ovYF;~j;cJ4y=0D&v}kK29c8i(-)z*}e2pMYXZu~glt+5$ zxju&b4Ave?s%p7;FbBT%$l&1B4 z=+C>j9?B(p!r^-}-Oj(@gIVO|8~c&pd%|fuqS-n_sFwG-IkMXEn&t1>gPW~69KoC6 za-=yiw1X*96hC}-u()Q*63PNlCKW5|63>jzuF0ax$_%{{RMk>K>PQ^DnddB&JV_e> z0MZ>!eY$y!%eX*6k8YXi>s^wY7dP$Qvqk{1rxJQD!*z=uGo!m{yoSl+b5|@ZESlBZ z`#X@uRc6H&l?Q(DVS^xxeUYYoLAD}n>bOo$z0?M^B+OqxVfarkEMR;q!^QYbJWT`Qhf}0vq5TZA@DUimIDONCk#V|INLRl zYSXl{Bv_7hb!+@@&8@dyMY;M!ybnG8oly+2*^;}^uZU=@e=O?|(%W?TD``1cjxuZ8 zcm^E#Vt%LM|C{7L=582sl(_7hcrBoFHe!4i#8&9|pEvUlzW==5PP}HAiB{DEBFw0q zWc9Q|F2WY%N0E&DJX=S497nMKA<#yzgq3KlM67qoNckDj_R5b8C!RaYeK1Kl!2KW> zL8m$U7a|vHZ!!$IfeZhZtlc;Gm5*pu-_IW1^9mcj(CG6pBuyNip6*GPjC>}PQjtna zADymS+$_gD$62e5HF_4kz}cs5)5%#uPZE5R%#m-WxRGoGA6s~?Uis6`+c{fMIc#+? z3=@$S=Rub|N(}0H+K%bZJvjekmx}ZCr9#eXI!*C#p$^i}Es$%Nyk0V9{K&OYM4*f8 z&+ctTazl|wncAGCSkN8plc}WH0Bm6Cl8IyOyRAX8*C&P>BywtfaAmc>jWJCvsI6sB z)3dD3?oZ8-54?ogvL{+~#BFD=y!7!X*mVKM)}eTwVZQgOc({Q5JLcf?s=qHApTfa+ z*LRjB6D$?C2(m*F&Q4$}r&<}gbM-wje7@cMkHB0texTdF0U$gMmM<9!U2{&sPnuHi zvlC$Tf@uinr-|FFGZoX94!P}ZFh+Fzv#!RDk=6951QhFznxJMSdq=0O%a(=%_y!v$ zDSL%6r<)*jIL75M@ SXuS0C0^HAIT-#m3^Zo?bjFCqG diff --git a/common/src/androidTest/resources/area/mines_around_highlighted_1_ambient.png b/common/src/androidTest/resources/area/mines_around_highlighted_1_ambient.png deleted file mode 100644 index eb1809ad0f51b22192293be69d200fe35c0dd01c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1498 zcmbVMi#O8?9RKAGYqqvYB`wXAbV7ELN0ZE3d9%WuS4(oIRJ&x$j@vkEUQt4>M~hrq zERU27c`U0dL%J5q#$+cuZ0nKom-gc&6%RjQHh$u%Q)U>(D_(fgUQ(wOjbF-J zD=KUmRnm8LDqP8Q4!zQ}R&GSCFdd}4Nm`#1br@zy?Y(Y-@Caw}`vf8xR&CJx`Se^H zv*q!MC@CU@piP1{S-27ix>0G?Eb}ac0NZ4dE~6?P;n$_8Putki@ecfi^p?!QwiLFo zu+R`{(Ll6X?u@(}x9RS!p80vp9Bjkrv|RL1Ag0hRt5(__=8rl#^^7kpHB#D79-I2| z#aOk1!XvDidY9;Qn0UD{)Z#)~8oW9ru3U(mURze&9+choF;hA!I@E=efq@3M2hOmh zhHyCiR0$Z9g=ytxTSJkc?nzit>_(E0ialrwX3S2tt<|t5=C@KSs>~tSnzNBp_M4{d z`)D1LJ6ywxQfRcEWZseKht7gG#--NKixkSp6%z#08>`3s1VZM~PC@)K-v zQ|CwSze&oq@r|i>H*h~y5(KFl_IkDDkdk;~)F{R<**3IjPm=|1Q3Hz&V``$osECN} zi)FLU>yx-po-4$EvrI7*y48L7)s9m1>I_x*fTedT2VWs8mlXyL#8)}QE)BS? zMf%9<6Mc3H;`^RG4IZ;AIgKc;N%Wc66)@Mi_i|RH{qXr=&yPDs)ZG$EoT$tvvZA=} z*4L7&ARW9`I{GR;zYFaZjo57s);9!ggfjkpnXkuGzcs*?j1u3zL` zp-NR`uVq!L446}sb}QVgW?)egZvVdO3lvK4%MaQC$6^kbtF2Uy@IFJJKG=gmc$;8b zUKk;AzqxzwI|2`%1Z`Q$b6DqsQFUr*=paCIm46QiP*&$n9~cRX?=6E-BpxQJR}IOdb>?anaVNm*QZvH zTEY(vW}^X#TD>*XA&hkz+t?;FbKUcO=X`(P?>Xmre&>1L=RN0r{`mdQFU`&taadSJ7ytkqwzh&h z93bwW1PL5edw9~z1Ks*k!Lg^Vqcsam|A{}wbPa#pl52}{HwkoK4tZB>{O1rO zov=;&Ykjfr)mis8m+COQll`gdLZe`Q$HWI<5RX_xoF0pu_Z`d*DIUN%l$u9Hs zm?TDS5EZK_en5rh$gFTal+SudWz}dY!n1^j;zVh=;gC2oqOmv>X8Gsn2d_m8CTG?Z zhvUDXo@=i4NZ}k-a(;eZQD0NS!lDc$DkQu0Q?cDlny)gpu^DaW>4`T1?v*-Fvd|kO zlabF3^?_tRWfc`Abptt{`i>8-_=KS!fn_yLNmorxGL;Y+Zq!pDC67GZQoA!Gp{fRQ zVoQ)V{V=|ejY}GZMKX0;%N;`=7GAo(x4kwh58EkMc=@43e2c|XSF|)8^_^~Xc%M1j z=-RA*dEA%bXdD(0ckC7V$%7QcX`~G_3X2_jUi)b`tH}QQ&|M^2-T#g4MCZuac zdD`1MB7pANU;M;0#Y`ZiprJvSNpk``^#}@&o=#k-_oDtFTKQyLV3xPmzSwB3x_kEwuXFeg{hOC$!j1L^VN*#Oant$CflR2cbMAP<{oBkCp=m)$wrjJ;rz2q z8**XrX|u^TFQA%|{_x>n#a$#4e|e>CxP1m`V#L80s-W{ivX7C3+N2pJ@0N zVFNuy^@e;Q_?=5!7I6XpF{WyMaOcb?fTqmwhdyj&7H@`_ME=fsIVvSgxQ&MRNI)y~}G8?WJCS~V zF7&bH6@1CgL{5+4cH<0vEU#+#Rb)wAUunHZR234(hvrw7_q9_*Ns_g3CXL0{2+jb4*RKakG*&k6WZnRfP60wPxO4>5EoM-US+)jG`1;%>Dah+AyuhH^;l(5QSm#*rHy`h&`gt$SsES zmK)BY%UvR@;f1+TaKqe9k&WV|Op(lZMZK{s*;YYdS2ndh+x|PHSiVT3=a4T9ymR`< z&AMg=Y;_MhJ!99O@s$3tb{x+ek~1jN4o4p0zDIfVg{~c=VWqzlDPc^Q83{W+rOE0_=|7KS z3$LQSSjow!ZkuXOp8N&AL`Z86bYToWP|OOwcAfs|1>Z1wWV%K}uvDHgSF?xS&wG4K zssFmf4vS{KC~!EUdJ_=%z8A63j`v~q#&MRGH zU#VB|1(wg)8Db39Bj8ZcSDds1G7$B}I=uXQUEX8$o7BM3&}==9AouM@u5(yj5VUFb z4|9|kuIO!H%K<&|3WMyw+)rs%?L=gb5*`V$?zIRi(9Da`ZMd8tw(Hc?cQNaDmn*q? zeRJE-;K9ef@^*$BYSeN4hO02c3AzXTMXYDB@Vl{*C%b-TzMSG6Ml&v1%z5ANmVM(K za0fru$$c;9d+KtOq))=Qs(WypuFbr~%inpR+d^94+3EjD5O};glQ#9rXt%#2nX+S z=V`Z|U>4T)w4nWGCZ{~q-?g2o11c&cU|(W|acg>d1|dx<+3b#HprV?ugG} zf(%!s6=x6oG%D3#U>hM%t~Y4{DjJS*0zl2H{rFx|+|?_(>rZS{nd4i}ChCm|zTf1& z@g5bIP5PQM7o7fP%=Uy)L=R9?EL?qm&*DBNJhaKoG+gxg^A`c0-%YCWQ|NOQ9f?-T zGv}A8&d60;(#pMRE z3`x$&3hCuwarbM=U3(Xo<;12m4M%5ZB!%(DXoGCrM%UJi=+Gk_WU=RRU9dDH z9mV|m<}ez4W}K=Vl9RcqH@iBS(!z$@N&(JcQ_pR_y?N&@Wh(FL5qi(?aL{$QYJ0Nw zKJOKlq|({{`WaC^9zaqO-y*Xm`}J#K=1H1h!RvurWU?aI0Gilj-ufs3@Z! sA$M>f8dNeI6g%YzO}T8pHv ztqPQnoWwHMTnO5Lb>s4uFY7(_KI}$E!lpzyMX^`rG=$4 zOWRqKlNMY#+>eFY=4pr$!w~J|;%qSso9P)bTl3&GSA`IQogjHlE>U(Ao?Vtfz;MODyq2Jmj;x`=G1sj zKC#6SPY1^3ah4$1}HF4u8`GEJCUzlQLa2cw^UYEMhxtl zjf`wM?J1w1*Hf+-aupWf+~LvD)Rp9bHU%8wrtFpEuTz|D!x+oUe6pD7BVc zeuWuraN(%|71b=2<~RC)NH_W^r8oF|e%}H0(&=#i$UcbrmyLCP z>Jm``lg_~Jb%CWb^_NM(H9x8@3pi@egQ5^%d&y73;ic2`$`^$vd@Zv*6Oh$ zg>aeGg}K){VurFCc6-ZeNZthLBatw*ypCkqf%+spTCo;?Y8PqeTvTupTgtiJqYC7= zv@CP~{Oz^miTRY7<(+1fM;Hu^h3F$dT2Lwoj8mtf(sAD$ZpDxJKg?g39C)90s$8+a zMg+hD1AA%1*8QZy4@Q-I9L9j}zCNb&Zmw}}GJ~*&60f`s@{Bdg?8AjbRLdN+Nwmf{ zyjo?d%Mi-cA%-W`KMU@@@_5vu>Z_|W!u7@2iS-9H&0nY6@0_K+y)S`s6pVyhNjO8~ zOaBWu_KMMinz;D;Bi9W?dwNfVYOnT~(#blXVUu#kJlGE0hO&bup3uV5gHlGfbz39A z-4QQq{ju~-gVn<&&`+n9xtCZUMC*Rt;QXx7bdzv@mF8w;iNC!Hz_G zi_|E)>@m2`IFfJ;8lUS@8SK%C63-8a**!@eEMeRKEB`k?);8Msv-+9o{-Qn{GkT!0 zr(srErk7IHU_N5BM#I_Wk+;6b1TSu~?j$Ta*n*xOgOqX(zMHoJPz0%%Hk89ryt#UA znwBhc-klL`Eu1=IlF8>Ek2AGqF3esy zjba~{@+$r)67EJ!Q%e>+^k#rm5?s6|PZ<+MS;)N;Gnsxx-o{_WbWPBn#9#lg1RMge zgzt5AbeD-a%_I&@;n#dPFKZY|Ln@Q9=(b*t-{3s19A6+6Ms|g+fupljbOkW0V`0 z1gaF=O@#XA=A+pR#Tc|w$a1JN+ jDCMtBJBlCdfiMlgF;5p=A|el~+6I7k^Ks?6gi-$m3bF7g diff --git a/common/src/androidTest/resources/area/mines_around_highlighted_3.png b/common/src/androidTest/resources/area/mines_around_highlighted_3.png deleted file mode 100644 index e91d177ad88a99aa775b2858df099b1af69beeb6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2974 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 aj`xN^w33~RM*G=A1F$r+Gi@}!lk#uhvO^C5 diff --git a/common/src/androidTest/resources/area/mines_around_highlighted_4_ambient.png b/common/src/androidTest/resources/area/mines_around_highlighted_4_ambient.png deleted file mode 100644 index 2a576018541eb5e7430724e0e8f25a68153164c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1574 zcmb_ci#ODH6#vl}zZGL@v9mMYXWGJ;W*V=Zl*J5&5~7%_Jff^uGV&VaJu6Wvl00ju z@wSfgD74IM%Y?iZ%Z!9H-p`E3?9_kIIr}~5d++yt&%O7Y`#JaX`Q6UeQceab0|0;= z#fs!0_K9CE2o+mm1o5PB*cv32#OCKyu<(isU8Z+)G_?g{FvX_ zkyFaa%Tb0LqPfF9=Q5t?aj1nKIA!Z%Gl)Gao1*vDZ2?=PBvmNc zE1DZJcJ`AS3Y}=g)(y@O4-?~RF?UL|-szEDvW~`#_o`z$%@oK>#`08wkWckH!bGs8 z&t@HBu~?$I02JB26_J3Z*eP_h&8W$0f|7|I3^avr1XJe3dAl6mg?_BNZc?~Cd9Osv zAXjc-VWHX?Q|*d9UQpFjn__1@v9Y1VMmRbpbr+Zv>~+m@xihPg!?AQa$w~it#;q+k zt)%VksIHli@O%y;@`F%_tQ2_GIP>@RRIQ(}y^w_Vp{k4cf^K}yDZbI$3wb&(i!hzI zTrNCWLseC^JzA5Y4!VyT(0M5{5qZ*GtIF&L!kZ^y-K(FDjxLOA20p*=#5Wbw*`8k< zlkDvR{s|YXHxiPKyO-D266dc+y$*`A^^NtX^Eh1YX~BL8-e%2M;DKa~n7tjB7U9#& zj9FSL*C%0?HquyMeom*$=a0c#V6-dMk7S?Nd!_$H6-%2g+EY1y{ybw6(K;?$lj}L+ z>5R>O!1cLo96-#j#T?+^Su8U+MVd=LJ28fP5z#4}qFWCaA}m-fmU5a)+aF;5U6UOk{Vn?;_gsSuAQSC)7&( zD&hb*#z;?gstQyBtGJDTyl|XD(c!MzPuis0hE0()_#>5vP!z;4b6#w{t{DEM4%1aM zzi0vdp}mIb`H{fk#~bPK%?ng+#7PDFKSK!T09g!(RpiKNGqA4OF({I_nOh*-^y;(l zhH>dOKUh_tKs}s0u^y=csrtFuEhvF+v9h>!Ok5LNl`T&D95to}i!Oq3VNHm1a41J^*E}khknOtDDA|98?pEm%sSPr*54x!~1MR`H)~x{@DI_;O?75 zLWh)twa2j>cRi&3LK#a&u#Oy^-`Jd#a0J|4l)mTywc=`Y^jPH5SF)jDzo=y|Za=Us ztsv|J(3E(b?DG7mp#oXL{V2$f_^CPoRVjGiS9&Hd);`M{$8JURHE1w5CnDT-2NWfj znjJqxr0boop;mkvCBuQMQBgNLJmcP6y0&zK*05r1smu{mTV7uN{VO(8z~NY?alG1t zyO>2OF}uPfqjbD#1_}@85+F;>2ewwG_Sa&}#ZyMfG-6C*c5VzJ(a-I8ekA?&JTLYF~bu!C)pvk^M|DHq7!^Of_w6{w!izRee z3+zh6TV*~`ZNXY5z~#@$@~ diff --git a/common/src/androidTest/resources/area/mines_around_highlighted_5.png b/common/src/androidTest/resources/area/mines_around_highlighted_5.png deleted file mode 100644 index 68893bfc93162ad31da3de843f7dc2d984dab91f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2815 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 buqUbwL9VI_+QE*VSb(YV6{AY*?WlhNsJ0Z$ diff --git a/common/src/androidTest/resources/area/mines_around_highlighted_5_ambient.png b/common/src/androidTest/resources/area/mines_around_highlighted_5_ambient.png deleted file mode 100644 index 58abe8f09a2c1bcd02bb05eedd599f846818af81..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1685 zcmbVNe>l@?6#wSVTB5C}W=12C+tL)nS{SCLky$GwHIZa=7vk2s*!m$|BS}T$`ni%+ z%8!UNYD#`&)nd<3JfT^OZ!0F;)&2Yaaqs&)=bY!9^FHr6@B4Yq=RN1=yVXDsr3V0j z0cD$~zt*1mAuy;`(>!@XtyvK3zttV6>_m@g9Z0M@WhYF#IIyr(0D!tuJV`qfuPNnG zM~Z@wXWm7y^Q}Zi)so2h`5k#B0t^0G_V7d3xR$T$2bncB@e{!miRa6n3X=eCjh>rs zQBt4~%R)lY;*=pLoc@r%!ZX4zXHAbiIk#+W`{bzDR9|H8bBYO*#xs##;P4ryo6QrP z%hf6@jllrrRahf(iX{ahwo5B|J2TZtnrh0xz_cz)b|zYe^8qU!0fOC)DWCZC+_JYU zd}3l^bLidXqYuVUK6DqO-EB_K%$%^KaLda-s})l4wsT{{G^Zc^wV;jnR+sS|&-7avjK1OBu;dj0zC3k~{7%Yu$!rn|utCPoED6^@;8pfu5 zSXvfo0n@3FD*BO=L~(oj;u@LKI7ycvl;52o!V?k_1REg4u9jmBWCUbNTNV6R-0MLV z(ph*Ds!-B-p#5;Qh=o^NOYI&BM?yuo)q7%< zFJI|6xH34pKD!FLl)SXOoU597?^0^yRea&fI#hEM`3$oeeE8-^zfSxO5BuUG+33|> z;2Wi*qa)7eUhh&QFzDnvVq9_jvZ$q1EpyBX%y9spTBX`X=1wwBd1YCWa?5VXF8Oyb zi=D&bIy@W9sM1?eR38cJ=_6-)ufx?agk}sSkuT2nlBQQ<+imX$eWBGqjZ28Q^R3Up z`l80!zKpZ!mqq$q2$ZD5!=#Whn=#w=BP?;SWk|?>4EHT$Kig3-HuVgzILKCP2KZ=>sEAdfyKm~kKrZzdVWYIO(I0*qpF#TtLG~(+UVED!0PL6O)CC(6I!zA;EnINTRc|kRxr34ibb>21g;absk=`5O_$R%KJZk11 z?MHgm-&7hiaMWW_A-)ZB%pkfMZrqCI^2Prfu7AP&1aHu~SRH$anumE_#ga$LzD`S1 zU3N;ZeB#gcW6P{;PSAASQy}Oq)AP(F3F8{rrO)2gw6^BX>`o>_KRv%AS9-A4M z1bzi@K8A2OJmA)@y2eH&XOh@8F*#|GpX{=s3&aV0H-FOyv~0!2G-s@G^)u2<7GRR4 zTT;RUe?u?a*Tfl{B?ab~Q|sVV?DkN_v*1mNZ~32yi<1 zg>iqM3FNcp<7$16y2`~8`@G)kOr)RpV_c%{>?WJ`WekRcut;IIJqyA{I}S-l_9H@> vrGxdhXfYF35Uj=I=41NYjy4J@b8c=y9qM2%ggkyo`?UZRvae^Q`+n}<5T^Q{ diff --git a/common/src/androidTest/resources/area/mines_around_highlighted_6.png b/common/src/androidTest/resources/area/mines_around_highlighted_6.png deleted file mode 100644 index 96dad01bb96b64588f64083d821724ada16ec653..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2918 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 diff --git a/common/src/androidTest/resources/area/mines_around_highlighted_6_ambient.png b/common/src/androidTest/resources/area/mines_around_highlighted_6_ambient.png deleted file mode 100644 index 8a97157c2a7bf3e3ebb5a0ec199f1df9f9237441..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1737 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 HUevzN(7%^y)yfuj_8E+H@F_UeK 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 diff --git a/common/src/androidTest/resources/area/uncovered_ambient.png b/common/src/androidTest/resources/area/uncovered_ambient.png deleted file mode 100644 index c2b03e1ec54eb3aa66bd0caedffd3406ca079fa8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1036 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 diff --git a/common/src/androidTest/resources/area/uncovered_mine.png b/common/src/androidTest/resources/area/uncovered_mine.png deleted file mode 100644 index c0bdd16e33e1f24edc17da8b13c22d592221389a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3231 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 RZ&d&Q002ovPDHLkV1n_z8w&sc diff --git a/common/src/androidTest/resources/area/uncovered_mine_ambient.png b/common/src/androidTest/resources/area/uncovered_mine_ambient.png deleted file mode 100644 index 6305bb8347e7fcf73c3f1cad6f9fd944653dde9a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2894 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 V=(;G*-=6>g002ovPDHLkV1nPQHcJ2i diff --git a/common/src/androidTest/resources/area/uncovered_mine_exploded_ambient.png b/common/src/androidTest/resources/area/uncovered_mine_exploded_ambient.png deleted file mode 100644 index 6305bb8347e7fcf73c3f1cad6f9fd944653dde9a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2894 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 !area.hasMine && area.isCovered } == 0 } - private fun rightFlags() = mines().count { it.mark.isFlag() } + fun rightFlags() = mines().count { it.mark.isFlag() } fun isVictory(): Boolean = hasMines() && hasIsolatedAllMines() && !hasAnyMineExploded() diff --git a/common/src/test/java/dev/lucasnlm/antimine/common/level/database/converters/AreaConverterTest.kt b/common/src/test/java/dev/lucasnlm/antimine/common/level/database/converters/AreaConverterTest.kt index 7691f2e12..a8a8798d9 100644 --- a/common/src/test/java/dev/lucasnlm/antimine/common/level/database/converters/AreaConverterTest.kt +++ b/common/src/test/java/dev/lucasnlm/antimine/common/level/database/converters/AreaConverterTest.kt @@ -19,7 +19,8 @@ class AreaConverterTest { "isCovered":true, "mark":"None", "highlighted":true, - "revealed":false + "revealed":false, + "neighborsIds":[] }, { "id":2, @@ -31,7 +32,8 @@ class AreaConverterTest { "isCovered":false, "mark":"PurposefulNone", "highlighted":false, - "revealed":false + "revealed":false, + "neighborsIds":[] }, { "id":3, @@ -43,7 +45,8 @@ class AreaConverterTest { "isCovered":true, "mark":"Flag", "highlighted":true, - "revealed":false + "revealed":false, + "neighborsIds":[] }, { "id":4, @@ -55,7 +58,8 @@ class AreaConverterTest { "isCovered":true, "mark":"Question", "highlighted":true, - "revealed":true + "revealed":true, + "neighborsIds":[] } ] """.trimIndent().replace( @@ -73,6 +77,7 @@ class AreaConverterTest { mark = Mark.None, highlighted = true, revealed = false, + neighborsIds = listOf(), ), Area( 2, 5, 3, 0, @@ -82,6 +87,7 @@ class AreaConverterTest { mark = Mark.PurposefulNone, highlighted = false, revealed = false, + neighborsIds = listOf(), ), Area( 3, 1, 1, 3, @@ -91,6 +97,7 @@ class AreaConverterTest { mark = Mark.Flag, highlighted = true, revealed = false, + neighborsIds = listOf(), ), Area( 4, 0, 0, 6, @@ -100,6 +107,7 @@ class AreaConverterTest { mark = Mark.Question, highlighted = true, revealed = true, + neighborsIds = listOf(), ) ) diff --git a/common/src/test/java/dev/lucasnlm/antimine/common/level/database/converters/DifficultyConverterTest.kt b/common/src/test/java/dev/lucasnlm/antimine/common/level/database/converters/DifficultyConverterTest.kt index cdc2ac025..0044131e9 100644 --- a/common/src/test/java/dev/lucasnlm/antimine/common/level/database/converters/DifficultyConverterTest.kt +++ b/common/src/test/java/dev/lucasnlm/antimine/common/level/database/converters/DifficultyConverterTest.kt @@ -1,6 +1,6 @@ package dev.lucasnlm.antimine.common.level.database.converters -import dev.lucasnlm.antimine.common.level.models.Difficulty +import dev.lucasnlm.antimine.core.models.Difficulty import org.junit.Assert.assertEquals import org.junit.Test @@ -18,7 +18,7 @@ class DifficultyConverterTest { @Test(expected = IllegalArgumentException::class) fun toDifficultyInvalid() { val converter = DifficultyConverter() - converter.toDifficulty(5) + converter.toDifficulty(6) } @Test diff --git a/common/src/test/java/dev/lucasnlm/antimine/common/level/logic/GameControllerTest.kt b/common/src/test/java/dev/lucasnlm/antimine/common/level/logic/GameControllerTest.kt index b2acddd90..9ab68023c 100644 --- a/common/src/test/java/dev/lucasnlm/antimine/common/level/logic/GameControllerTest.kt +++ b/common/src/test/java/dev/lucasnlm/antimine/common/level/logic/GameControllerTest.kt @@ -1,13 +1,16 @@ package dev.lucasnlm.antimine.common.level.logic import dev.lucasnlm.antimine.common.level.GameController -import dev.lucasnlm.antimine.core.control.GameControl import dev.lucasnlm.antimine.core.models.Area import dev.lucasnlm.antimine.core.models.Score import dev.lucasnlm.antimine.preferences.models.ControlStyle +import dev.lucasnlm.antimine.preferences.models.GameControl import dev.lucasnlm.antimine.preferences.models.Minefield +import kotlinx.coroutines.delay +import kotlinx.coroutines.flow.single import kotlinx.coroutines.launch import kotlinx.coroutines.runBlocking +import kotlinx.coroutines.test.TestCoroutineScope import kotlinx.coroutines.test.runBlockingTest import org.junit.Assert.assertEquals import org.junit.Assert.assertFalse @@ -39,7 +42,7 @@ class GameControllerTest { @Test fun testGetScore() = runBlockingTest { withGameController { controller -> - assertEquals(Score(0, 20, 100), controller.getScore()) + assertEquals(Score(20, 20, 100), controller.getScore()) repeat(20) { markedMines -> controller @@ -48,10 +51,10 @@ class GameControllerTest { .filter { it.mark.isNone() } .forEach { // Put a flag. - controller.fakeLongPress(it.id) + fakeLongPress(controller, it.id) } - assertEquals(Score(markedMines, 20, 100), controller.getScore()) + assertEquals(markedMines, controller.rightFlags()) } } } @@ -67,8 +70,8 @@ class GameControllerTest { .take(5) .forEach { // Put Question Mark - controller.fakeLongPress(it.id) - controller.fakeLongPress(it.id) + fakeLongPress(controller, it.id) + fakeLongPress(controller, it.id) } assertEquals(Score(0, 20, 100), controller.getScore()) @@ -138,11 +141,11 @@ class GameControllerTest { fun testShowWrongFlags() = runBlockingTest { withGameController { controller -> controller.field().first { !it.hasMine && it.isCovered }.run { - controller.fakeLongPress(id) + fakeLongPress(controller, id) } controller.mines().first().run { - controller.fakeLongPress(id) + fakeLongPress(controller, id) } controller.showWrongFlags() @@ -173,14 +176,14 @@ class GameControllerTest { controller.field() .filter { it.hasMine } .take(10) - .forEach { controller.fakeLongPress(it.id) } + .forEach { fakeLongPress(controller, it.id) } assertFalse(controller.hasFlaggedAllMines()) controller.field() .filter { it.hasMine } .filter { it.mark.isNone() } - .forEach { controller.fakeLongPress(it.id) } + .forEach { fakeLongPress(controller, it.id) } assertTrue(controller.hasFlaggedAllMines()) } @@ -197,7 +200,7 @@ class GameControllerTest { .take(flagCount) .forEach { if (!it.mark.isFlag()) { - controller.fakeLongPress(it.id) + fakeLongPress(controller, it.id) } } assertEquals("flagging $flagCount mines", 20 - flagCount, controller.remainingMines()) @@ -257,7 +260,7 @@ class GameControllerTest { withGameController { controller -> assertFalse(controller.isVictory()) - controller.mines().forEach { controller.fakeLongPress(it.id) } + controller.mines().forEach { fakeLongPress(controller, it.id) } assertFalse(controller.isVictory()) controller.field { !it.hasMine }.forEach { controller.fakeSingleClick(it.id) } @@ -295,21 +298,21 @@ class GameControllerTest { updateGameControl(GameControl.fromControlType(ControlStyle.Standard)) useQuestionMark(true) - fakeLongPress(4) + fakeLongPress(controller, 4) assertTrue(at(4).mark.isFlag()) assertTrue(at(4).isCovered) - fakeLongPress(4) + fakeLongPress(controller, 4) assertTrue(at(4).mark.isQuestion()) assertTrue(at(4).isCovered) - fakeLongPress(4) + fakeLongPress(controller, 4) assertTrue(at(4).mark.isNone()) assertTrue(at(4).isCovered) useQuestionMark(false) - fakeLongPress(4) + fakeLongPress(controller, 4) assertTrue(at(4).mark.isFlag()) assertTrue(at(4).isCovered) - fakeLongPress(4) + fakeLongPress(controller, 4) assertTrue(at(4).mark.isNone()) assertTrue(at(4).isCovered) } @@ -328,11 +331,11 @@ class GameControllerTest { assertTrue(it.isCovered) } - mines().forEach { fakeLongPress(it.id) } + mines().forEach { fakeLongPress(controller, it.id) } mines().forEach { assertTrue(it.mark.isFlag()) } - fakeLongPress(14) + fakeLongPress(controller, 14) field().filterNeighborsOf(at(14)).forEach { if (it.hasMine) { @@ -346,17 +349,17 @@ class GameControllerTest { } @Test - fun testControlFirstActionWithFastFlag() { + fun testControlFirstActionWithFastFlag() = runBlockingTest { withGameController { controller -> controller.run { updateGameControl(GameControl.fromControlType(ControlStyle.FastFlag)) fakeSingleClick(3) assertTrue(at(3).isCovered) assertTrue(at(3).mark.isFlag()) - fakeLongPress(3) + fakeLongPress(controller, 3) assertFalse(at(3).mark.isFlag()) assertTrue(at(3).isCovered) - fakeLongPress(3) + fakeLongPress(controller, 3) assertFalse(at(3).isCovered) } } @@ -391,11 +394,11 @@ class GameControllerTest { } @Test - fun testControlFastFlagOpenMultiple() { + fun testControlFastFlagOpenMultiple() = runBlockingTest { withGameController { controller -> controller.run { updateGameControl(GameControl.fromControlType(ControlStyle.FastFlag)) - fakeLongPress(14) + fakeLongPress(controller, 14) assertFalse(at(14).isCovered) field().filterNeighborsOf(at(14)).forEach { @@ -532,19 +535,15 @@ class GameControllerTest { return this.field().first { it.id == index } } - private fun GameController.fakeSingleClick(index: Int) { - runBlocking { - launch { - singleClick(index).single() - } + private fun TestCoroutineScope.fakeSingleClick(gameController: GameController, index: Int) { + launch { + gameController.singleClick(index).single() } } - private fun GameController.fakeLongPress(index: Int) { - runBlocking { - launch { - longPress(index).single() - } + private fun TestCoroutineScope.fakeLongPress(gameController: GameController, index: Int) { + launch { + gameController.longPress(index).single() } } @@ -552,7 +551,7 @@ class GameControllerTest { runBlocking { launch { doubleClick(index).single() - } + }.join() } } } diff --git a/common/src/test/java/dev/lucasnlm/antimine/common/level/logic/MinefieldFactoryTest.kt b/common/src/test/java/dev/lucasnlm/antimine/common/level/logic/MinefieldFactoryTest.kt index d2d2db2f6..f894cb822 100644 --- a/common/src/test/java/dev/lucasnlm/antimine/common/level/logic/MinefieldFactoryTest.kt +++ b/common/src/test/java/dev/lucasnlm/antimine/common/level/logic/MinefieldFactoryTest.kt @@ -1,14 +1,11 @@ package dev.lucasnlm.antimine.common.level.logic -import android.content.Context import com.nhaarman.mockitokotlin2.doReturn import com.nhaarman.mockitokotlin2.mock -import com.nhaarman.mockitokotlin2.whenever import dev.lucasnlm.antimine.common.level.repository.MinefieldRepository import dev.lucasnlm.antimine.core.models.Difficulty import dev.lucasnlm.antimine.core.repository.IDimensionRepository import dev.lucasnlm.antimine.core.repository.Size -import dev.lucasnlm.antimine.core.isPortrait import dev.lucasnlm.antimine.preferences.IPreferencesRepository import dev.lucasnlm.antimine.preferences.models.Minefield import org.junit.Assert.assertEquals @@ -17,13 +14,10 @@ import org.junit.Test class MinefieldFactoryTest { private val dimensionRepository: IDimensionRepository = mock() private val preferencesRepository: IPreferencesRepository = mock() - private val mockContext = mock().apply { - whenever(isPortrait()) doReturn true - } @Test fun testFromDifficultyPresetBeginner() { - MinefieldRepository(mockContext).fromDifficulty( + MinefieldRepository().fromDifficulty( Difficulty.Beginner, dimensionRepository, preferencesRepository @@ -36,7 +30,7 @@ class MinefieldFactoryTest { @Test fun testFromDifficultyPresetIntermediate() { - MinefieldRepository(mockContext).fromDifficulty( + MinefieldRepository().fromDifficulty( Difficulty.Intermediate, dimensionRepository, preferencesRepository @@ -49,7 +43,7 @@ class MinefieldFactoryTest { @Test fun testFromDifficultyPresetExpert() { - MinefieldRepository(mockContext).fromDifficulty( + MinefieldRepository().fromDifficulty( Difficulty.Expert, dimensionRepository, preferencesRepository @@ -70,7 +64,7 @@ class MinefieldFactoryTest { ) } - MinefieldRepository(mockContext).fromDifficulty( + MinefieldRepository().fromDifficulty( Difficulty.Custom, mock(), preferencesRepository @@ -90,7 +84,7 @@ class MinefieldFactoryTest { on { displaySize() } doReturn Size(500, 1000) } - MinefieldRepository(mockContext).fromDifficulty( + MinefieldRepository().fromDifficulty( Difficulty.Standard, dimensionRepository, preferencesRepository diff --git a/common/src/test/java/dev/lucasnlm/antimine/common/level/repository/MinefieldRepositoryTest.kt b/common/src/test/java/dev/lucasnlm/antimine/common/level/repository/MinefieldRepositoryTest.kt index 55e1913dd..c01b248fe 100644 --- a/common/src/test/java/dev/lucasnlm/antimine/common/level/repository/MinefieldRepositoryTest.kt +++ b/common/src/test/java/dev/lucasnlm/antimine/common/level/repository/MinefieldRepositoryTest.kt @@ -21,13 +21,9 @@ class MinefieldRepositoryTest { private val expertMinefield = Minefield(24, 24, 99) private val masterMinefield = Minefield(50, 50, 200) - private val mockContext = mock().apply { - whenever(isPortrait()) doReturn true - } - @Test fun testStandardSizeCalcWithoutNavigationBar() { - val minefieldRepository = MinefieldRepository(mockContext) + val minefieldRepository = MinefieldRepository() val preferencesRepository = mockk(relaxed = true) { every { getProgressiveValue() } returns 0 } @@ -49,7 +45,7 @@ class MinefieldRepositoryTest { @Test fun testStandardSizeCalcWithNavigationBar() { - val minefieldRepository = MinefieldRepository(mockContext) + val minefieldRepository = MinefieldRepository() val preferencesRepository = mockk(relaxed = true) { every { getProgressiveValue() } returns 0 } @@ -71,7 +67,7 @@ class MinefieldRepositoryTest { @Test fun testStandardSizeCalcWithNavigationBarAndProgress() { - val minefieldRepository = MinefieldRepository(mockContext) + val minefieldRepository = MinefieldRepository() val preferencesRepository = mockk(relaxed = true) { every { getProgressiveValue() } returns 50 } @@ -93,7 +89,7 @@ class MinefieldRepositoryTest { @Test fun testStandardSizeCalcWithNavigationBarAndHighProgress() { - val minefieldRepository = MinefieldRepository(mockContext) + val minefieldRepository = MinefieldRepository() val preferencesRepository = mockk(relaxed = true) { every { getProgressiveValue() } returns 10000 } @@ -115,7 +111,7 @@ class MinefieldRepositoryTest { @Test fun testBeginnerMinefield() { - val minefieldRepository = MinefieldRepository(mockContext) + val minefieldRepository = MinefieldRepository() val preferencesRepository = mockk(relaxed = true) val dimensionRepository = mockk(relaxed = true) @@ -129,7 +125,7 @@ class MinefieldRepositoryTest { @Test fun testIntermediateMinefield() { - val minefieldRepository = MinefieldRepository(mockContext) + val minefieldRepository = MinefieldRepository() val preferencesRepository = mockk(relaxed = true) val dimensionRepository = mockk(relaxed = true) @@ -143,7 +139,7 @@ class MinefieldRepositoryTest { @Test fun testExpertMinefieldMinefield() { - val minefieldRepository = MinefieldRepository(mockContext) + val minefieldRepository = MinefieldRepository() val preferencesRepository = mockk(relaxed = true) val dimensionRepository = mockk(relaxed = true) @@ -157,7 +153,7 @@ class MinefieldRepositoryTest { @Test fun testMasterMinefieldMinefield() { - val minefieldRepository = MinefieldRepository(mockContext) + val minefieldRepository = MinefieldRepository() val preferencesRepository = mockk(relaxed = true) val dimensionRepository = mockk(relaxed = true) @@ -171,7 +167,7 @@ class MinefieldRepositoryTest { @Test fun testCustomMinefieldMinefield() { - val minefieldRepository = MinefieldRepository(mockContext) + val minefieldRepository = MinefieldRepository() val preferencesRepository = mockk(relaxed = true) { every { customGameMode() } returns Minefield(25, 20, 12) } diff --git a/control/src/test/java/dev/lucasnlm/antimine/control/viewmodel/ControlViewModelTest.kt b/control/src/test/java/dev/lucasnlm/antimine/control/viewmodel/ControlViewModelTest.kt index be3f673a3..d5037d60c 100644 --- a/control/src/test/java/dev/lucasnlm/antimine/control/viewmodel/ControlViewModelTest.kt +++ b/control/src/test/java/dev/lucasnlm/antimine/control/viewmodel/ControlViewModelTest.kt @@ -35,6 +35,7 @@ class ControlViewModelTest { every { controlStyle() } returns ControlStyle.DoubleClick every { touchSensibility() } returns 10 every { customLongPressTimeout() } returns 500L + every { getDoubleClickTimeout() } returns 500L } val viewModel = ControlViewModel(preferenceRepository) diff --git a/i18n/src/main/res/values-en-rUS/strings.xml b/i18n/src/main/res/values-en-rUS/strings.xml index 756eca252..fea16738a 100644 --- a/i18n/src/main/res/values-en-rUS/strings.xml +++ b/i18n/src/main/res/values-en-rUS/strings.xml @@ -101,7 +101,7 @@ Appearance Themes Delete all events permanently. - Remove Ads + Premium Help Back Donation diff --git a/i18n/src/main/res/values/strings.xml b/i18n/src/main/res/values/strings.xml index 5eb090d12..9a8ca8bf4 100644 --- a/i18n/src/main/res/values/strings.xml +++ b/i18n/src/main/res/values/strings.xml @@ -102,7 +102,7 @@ Appearance Themes Delete all events permanently. - Remove Ads + Premium Help Back Donation From 818481ba51e941eac202e39fd062533481f7b078 Mon Sep 17 00:00:00 2001 From: Lucas Lima Date: Thu, 20 May 2021 18:29:04 -0300 Subject: [PATCH 5/7] Update strings --- i18n/src/main/res/values-pt-rBR/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/src/main/res/values-pt-rBR/strings.xml b/i18n/src/main/res/values-pt-rBR/strings.xml index d020eb97e..11628a016 100644 --- a/i18n/src/main/res/values-pt-rBR/strings.xml +++ b/i18n/src/main/res/values-pt-rBR/strings.xml @@ -116,5 +116,5 @@ Fechar Abrir Tutorial Mestre - Allow tap on numbers + Permitir toque nos números From 06ea5197523fe0e52e1d244a5b278c873711a601 Mon Sep 17 00:00:00 2001 From: Lucas Lima Date: Thu, 20 May 2021 18:29:32 -0300 Subject: [PATCH 6/7] Bump version --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 1f826cc33..7929a687b 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -14,8 +14,8 @@ android { defaultConfig { // versionCode and versionName must be hardcoded to support F-droid - versionCode 1002001 - versionName '10.2.0' + versionCode 1003001 + versionName '10.3.0' minSdkVersion 21 targetSdkVersion 30 multiDexEnabled true From c4455313239ace93c2806a95aa78b63dbb4f7a07 Mon Sep 17 00:00:00 2001 From: Lucas Lima Date: Thu, 20 May 2021 18:45:43 -0300 Subject: [PATCH 7/7] Bump mockk --- app/build.gradle | 2 +- .../antimine/common/level/logic/GameControllerTest.kt | 1 - .../common/level/repository/MinefieldRepositoryTest.kt | 5 ----- 3 files changed, 1 insertion(+), 7 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 7929a687b..5041244fa 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -170,7 +170,7 @@ dependencies { testImplementation 'androidx.fragment:fragment-testing:1.3.4' testImplementation 'org.robolectric:robolectric:4.3.1' testImplementation 'androidx.test.ext:junit:1.1.2' - testImplementation 'io.mockk:mockk:1.10.3' + testImplementation 'io.mockk:mockk:1.11.0' // Core library androidTestImplementation 'androidx.test:core:1.3.0' diff --git a/common/src/test/java/dev/lucasnlm/antimine/common/level/logic/GameControllerTest.kt b/common/src/test/java/dev/lucasnlm/antimine/common/level/logic/GameControllerTest.kt index 9ab68023c..8a3ab8b03 100644 --- a/common/src/test/java/dev/lucasnlm/antimine/common/level/logic/GameControllerTest.kt +++ b/common/src/test/java/dev/lucasnlm/antimine/common/level/logic/GameControllerTest.kt @@ -6,7 +6,6 @@ import dev.lucasnlm.antimine.core.models.Score import dev.lucasnlm.antimine.preferences.models.ControlStyle import dev.lucasnlm.antimine.preferences.models.GameControl import dev.lucasnlm.antimine.preferences.models.Minefield -import kotlinx.coroutines.delay import kotlinx.coroutines.flow.single import kotlinx.coroutines.launch import kotlinx.coroutines.runBlocking diff --git a/common/src/test/java/dev/lucasnlm/antimine/common/level/repository/MinefieldRepositoryTest.kt b/common/src/test/java/dev/lucasnlm/antimine/common/level/repository/MinefieldRepositoryTest.kt index c01b248fe..006283632 100644 --- a/common/src/test/java/dev/lucasnlm/antimine/common/level/repository/MinefieldRepositoryTest.kt +++ b/common/src/test/java/dev/lucasnlm/antimine/common/level/repository/MinefieldRepositoryTest.kt @@ -1,13 +1,8 @@ package dev.lucasnlm.antimine.common.level.repository -import android.content.Context -import com.nhaarman.mockitokotlin2.doReturn -import com.nhaarman.mockitokotlin2.mock -import com.nhaarman.mockitokotlin2.whenever import dev.lucasnlm.antimine.core.models.Difficulty import dev.lucasnlm.antimine.core.repository.IDimensionRepository import dev.lucasnlm.antimine.core.repository.Size -import dev.lucasnlm.antimine.core.isPortrait import dev.lucasnlm.antimine.preferences.IPreferencesRepository import dev.lucasnlm.antimine.preferences.models.Minefield import io.mockk.every