diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml
index 0b911002..419822ec 100644
--- a/.github/workflows/android.yml
+++ b/.github/workflows/android.yml
@@ -1,11 +1,17 @@
name: Android CI
-on: [push]
+on:
+ push:
+ branches:
+ - master
+ pull_request:
+ branches:
+ - master
jobs:
ktlint:
name: Kotlin Linter
- runs-on: ubuntu-18.04
+ runs-on: ubuntu-latest
steps:
- name: "checkout"
@@ -20,21 +26,11 @@ jobs:
steps:
- uses: actions/checkout@v1
- - name: set up JDK 1.8
- uses: actions/setup-java@v1
- with:
- java-version: 1.8
- - name: Unit tests
- run: bash ./gradlew test --stacktrace
-
- build:
- runs-on: ubuntu-latest
-
- steps:
- - uses: actions/checkout@v2
- - name: set up JDK 1.8
+ - name: Setup JDK 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8
- name: Build with Gradle
- run: ./gradlew build
+ run: |
+ ./gradlew assembleDebug
+ ./gradlew test --stacktrace
diff --git a/README.md b/README.md
index 900d8e25..415a216f 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,5 @@
## Anti-mine
-![Android CI](https://github.com/lucasnlm/antimine-android/workflows/Android%20CI/badge.svg) [![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) [![GitHub release](https://img.shields.io/github/release/lucasnlm/antimine-android.svg?maxAge=60)](https://github.com/lucasnlm/antimine-android/releases) [![ktlint](https://img.shields.io/badge/code%20style-%E2%9D%A4-FF4081.svg)](https://ktlint.github.io/) [![crowdin](https://badges.crowdin.net/antimine-android/localized.svg)](https://crowdin.com/project/antimine-android)
+![Android CI](https://github.com/lucasnlm/antimine-android/workflows/Android%20CI/badge.svg) [![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) [![GitHub release](https://img.shields.io/github/release/lucasnlm/antimine-android.svg?maxAge=60)](https://github.com/lucasnlm/antimine-android/releases) [![ktlint](https://img.shields.io/badge/code%20style-%E2%9D%A4-FF4081.svg)](https://ktlint.github.io/) [![crowdin](https://badges.crowdin.net/antimine-android/localized.svg)](https://crowdin.com/project/antimine-android) [![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Flucasnlm%2Fantimine-android.svg?type=shield)](https://app.fossa.io/projects/git%2Bgithub.com%2Flucasnlm%2Fantimine-android?ref=badge_shield)
### Description
@@ -63,3 +63,7 @@ Where `ANDROID_JRE` is the Java runtime provided by Android Studio.
- [Room](https://developer.android.com/training/data-storage/room)
- [Robolectric](http://robolectric.org/)
- [Coroutines](https://kotlinlang.org/docs/reference/coroutines-overview.html)
+
+
+## License
+[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Flucasnlm%2Fantimine-android.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Flucasnlm%2Fantimine-android?ref=badge_large)
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index 0eed9964..07ee8862 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -101,3 +101,12 @@ dependencies {
testImplementation 'androidx.fragment:fragment-testing:1.1.0'
testImplementation 'org.robolectric:robolectric:4.3.1'
}
+
+tasks.withType(Test) {
+ testLogging {
+ exceptionFormat "full"
+ }
+ afterTest { desc, result ->
+ println "Executing test ${desc.name} [${desc.className}] with result: ${result.resultType}"
+ }
+}
diff --git a/app/src/test/java/dev/lucasnlm/antimine/level/view/LevelFragmentTest.kt b/app/src/test/java/dev/lucasnlm/antimine/level/view/LevelFragmentTest.kt
index 9636d59f..8fa0454d 100644
--- a/app/src/test/java/dev/lucasnlm/antimine/level/view/LevelFragmentTest.kt
+++ b/app/src/test/java/dev/lucasnlm/antimine/level/view/LevelFragmentTest.kt
@@ -16,7 +16,7 @@ import org.robolectric.shadows.ShadowLooper
import java.util.concurrent.TimeUnit
@RunWith(RobolectricTestRunner::class)
-@Config(minSdk = 16, maxSdk = 27, application = TestApplication::class)
+@Config(sdk = [16, 19, 21, 26, 27], application = TestApplication::class)
@LooperMode(LooperMode.Mode.PAUSED)
class LevelFragmentTest {
@Test
diff --git a/common/build.gradle b/common/build.gradle
index 297d673d..e4682860 100644
--- a/common/build.gradle
+++ b/common/build.gradle
@@ -70,3 +70,12 @@ dependencies {
androidTestImplementation 'androidx.test:rules:1.2.0'
androidTestUtil 'androidx.test:orchestrator:1.2.0'
}
+
+tasks.withType(Test) {
+ testLogging {
+ exceptionFormat "full"
+ }
+ afterTest { desc, result ->
+ println "Executing test ${desc.name} [${desc.className}] with result: ${result.resultType}"
+ }
+}
diff --git a/common/src/main/res/values-it/strings.xml b/common/src/main/res/values-it/strings.xml
new file mode 100644
index 00000000..290dd510
--- /dev/null
+++ b/common/src/main/res/values-it/strings.xml
@@ -0,0 +1,95 @@
+
+
+ Antimine
+ L\'obbiettivo del gioco è ripulire un campo rettangolare che contiene mine nascoste senza detonarne nessuna.
+ Mine rimanenti
+ Installare
+ Difficoltà
+ Predefinito
+ Principiante
+ Normale
+ Esperto
+ Apri menu
+ Chiudi menu
+ Impostazioni
+ Animazioni
+ Feedback tattile
+ Informazioni
+ Nessuna connessione internet.
+ Statistiche
+ Nuova partita
+ Se inizi una nuova partita,\nperderai i progressi.
+ Annulla
+ Riprendi
+ Visualizza licenze
+ Codice sorgente
+ Traduzione
+ Licenze
+ Google Play Games
+ Classifiche
+ Connetti
+ Connessione in corso…
+ Disconnetti
+ Disconnesso
+ Nuova partita
+ Condividi
+ Condividi…
+ Vuoi iniziare una nuova partita?
+ Sì
+ Generale
+ Tutte le mine sono state disattivate.
+ %d mine
+ Tempo di gioco
+ Campo coperto
+ Scava
+ Mina esplosa
+ Partita iniziata
+ Hai esploso una mina!
+ Bandiera piazzata!
+ Bandiera rimossa!
+ Questo gioco utilizza il seguente software di terze parti:
+ Questo gioco è stato tradotto dalle seguenti persone:
+ Impossibile accedere. Controllare la connessione di rete e riprovare.
+ Errore sconosciuto.
+ Riprova
+ Vuoto
+ Perderai tutte le mosse effettuate nella partita in corso.\nMa puoi anche installare il gioco prima di uscire.
+ Hai vinto!
+ Hai perso!
+ Tieni premuto un quadrato per piazzare una bandiera.
+ Buona fortuna nella prossima partita.
+ Trovate %1$d/%2$d mine in %3$d secondi.
+ Ce l\'hai quasi fatta!
+ Hai finito il campo minato in %1$d secondi.
+ Ho trovato %1$d/%2$d mine in %3$d secondi.
+ Sto giocando %1$s
+ Impossibile condividere la partita
+ Versione %1$s
+ Effetti Sonori
+ Esci
+ Sei sicuro?
+ Personalizza
+ Inizia
+ Larghezza
+ Altezza
+ Mine
+ Assistente di gioco
+ Area coperta
+ Area segnata
+ Area incerta
+ Area segnata erronamente
+ Generale
+ Vibra all\'esplosione di una mina oppure quando si piazza una bandiera
+ Fa un suono di esplosione
+ Aggiunge automaticamente una bandiera sulle mine risolte
+ Gameplay
+ Accessibilità
+ Usa grandi aree
+ Aumenta l\'area di tocco
+ Doppio click
+ Suggerimenti
+ Suggerimenti ❤
+ Se ti piace questo gioco, per favore inviaci suggerimenti. Puoi aiutare a migliorarlo.
+ Sì ❤️️️
+ No
+
diff --git a/wear/src/main/res/values-it/strings.xml b/wear/src/main/res/values-it/strings.xml
new file mode 100644
index 00000000..864ba805
--- /dev/null
+++ b/wear/src/main/res/values-it/strings.xml
@@ -0,0 +1,6 @@
+
+
+ Nuova partita
+ Hai vinto! 😎
+ Esploso! 😢
+