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? + + 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! 😢 +