Commit be590066 authored by Aneta Steimarova's avatar Aneta Steimarova

#929 Merge V3.7 + small changes

parent 083686e7
......@@ -64,7 +64,7 @@ release:
only:
- tags
script:
- ./gradlew clean assemble -PTABLEXIA_ASSETS_UPLOAD=true -PTABLEXIA_HD_ASSETS=true -PTABLEXIA_RELEASE_BUILD=true
- ./gradlew clean assemble -PTABLEXIA_ASSETS_UPLOAD=true -PTABLEXIA_HD_ASSETS=true -PTABLEXIA_RELEASE_BUILD=true -PTABLEXIA_ASSETS_OPTIMIZE=true
artifacts:
paths:
- android/build/outputs/apk/*release*.apk
......
......@@ -74,6 +74,8 @@ gamedifficulty_tutorial=Cvičení
gamedifficulty_easy=Lehká
gamedifficulty_medium=Střední
gamedifficulty_hard=Těžká
gamedifficulty_bonus=Bonus
gamedifficulty_bonus_locked=Obtížnost BONUS je prozatím uzamčená
victoryscreen_button_replay=Hrát znovu
victoryscreen_button_finish=Ukončit
......@@ -108,6 +110,7 @@ game_pursuit_preloader_desktop=Sestav mapu přemisťováním a\u00A0otáčením
game_night_watch_title=Hlídka
game_night_watch_description=Procvičování zrakové paměti
game_night_watch_preloader=Dávej pozor, která okna se po setmění rozsvítí a\u00A0v\u00A0kolik hodin.\r\n\r\nPo rozednění nastav na hodinách čas a\u00A0označ okna, která byla rozsvícená.
game_night_watch_preloader_bonus=Pozorně sleduj, ve kterých z rozsvícených oknech, se objeví [BLACK]silueta zloděje[] a v kolik hodin. Po rozednění nastav na hodinách čas a [BLACK]označ okna, ve kterých se silueta zloděje objevila.[]
game_shooting_range_title=Střelnice
game_shooting_range_description=Procvičování pozornosti
game_shooting_range_preloader1=Pozorně sleduj kytku v\u00A0pravém horním rohu. Na střelnici trefuj kytky stejného tvaru a\u00A0barvy.
......@@ -135,6 +138,7 @@ game_protocol_preloader=Pozorně si přečti protokol. Poskládej podle něj chy
game_safe_title = Tajný kód
game_safe_description = Procvičování sluchové seriality
game_safe_preloader=Poslechni si pozorně přehrané zvuky.[BLACK]Doplň, jaký zvuk by měl následovat.[]
game_safe_preloader_bonus=Poslechni si pozorně přehrané zvuky a najdi v nich pravidelné opakování. [BLACK]Urči, který zvuk je špatně.[]
game_safe_preloader_headphones=Se sluchátky zvuky lépe uslyšíš.
# <!-- Robbery -->
......
......@@ -75,6 +75,8 @@ gamedifficulty_tutorial=Lernprogramm
gamedifficulty_easy=Leicht
gamedifficulty_medium=Mittel
gamedifficulty_hard=Schwierig
gamedifficulty_bonus=Bonus
gamedifficulty_bonus_locked=BONUS Schwierigkeit ist jetzt noch gesperrt
victoryscreen_button_replay=Nochmal spielen
victoryscreen_button_finish=Beenden
......@@ -109,6 +111,7 @@ game_pursuit_preloader_desktop=Stelle die\u00A0Karte zusammen, indem du einzelne
game_night_watch_title=Wache
game_night_watch_description=Training des Sehgedächtnisses
game_night_watch_preloader=Pass auf, welche Fenster nach Einbruch der Dunkelheit leuchten und um wieviel Uhr.\r\n\r\nStelle nach Tageseinbruch in der Uhr die Zeit ein und markiere die Fenster, die geleuchtet haben.
game_night_watch_preloader_bonus=Pozorně sleduj, ve kterých z rozsvícených oknech, se objeví [BLACK]silueta zloděje[] a v kolik hodin. Po rozednění nastav na hodinách čas a [BLACK]označ okna, ve kterých se silueta zloděje objevila.[]
game_shooting_range_title=Schießwarte
game_shooting_range_description=Aufmerksamkeitstraining
game_shooting_range_preloader1=Verfolge aufmerksam die\u00A0Blume im oberen rechten Eck. Versuche, auf dem\u00A0Schießstand Blumen mit gleicher Form und\u00A0Farbe zu treffen.
......@@ -136,6 +139,7 @@ game_protocol_preloader=Lies dir das Protokoll genau durch. Lege danach die fehl
game_safe_title = Geheimcode
game_safe_description=Training der akustischen Serialität
game_safe_preloader=Höre dir aufmerksam die abgespielten Geräusche an.[BLACK]Ergänze, welches Geräusch folgen sollte.[]
game_safe_preloader_bonus=Höre dir aufmerksam die abgespielten Geräusche an. Finde darin eine regelmäßige Wiederholung und [BLACK]bestimme, welches Geräusch falsch ist.[]
game_safe_preloader_headphones=Mit Kopfhörern hörst du die\u00A0Geräusche besser.
# <!-- Robbery -->
......
......@@ -76,6 +76,8 @@ gamedifficulty_tutorial=Cvičenie
gamedifficulty_easy=Ľahká
gamedifficulty_medium=Stredná
gamedifficulty_hard=Ťažká
gamedifficulty_bonus=Bonus
gamedifficulty_bonus_locked=obtiažnosť BONUS je zatiaľ uzamknutá
victoryscreen_button_replay=Hrať znovu
victoryscreen_button_finish=Ukončiť
......@@ -110,6 +112,7 @@ game_pursuit_preloader_desktop=Zostav mapu priemiestňovaniam a\u00A0otáčaniam
game_night_watch_title=Hliadka
game_night_watch_description=Precvičovanie zrakovej pamäti
game_night_watch_preloader=Dávaj pozor, ktoré okná sa po zotmení rozsvietia a\u00A0o\u00A0ktorej hodine.\r\n\r\nPo svitaní nastav na hodinách čas a\u00A0označ okná, ktoré boli rozsvietené.
game_night_watch_preloader_bonus=Pozorne sleduj, v ktorých z [BLACK]rozsvietených okien[] sa objaví [BLACK]silueta zlodeja[] a [BLACK]o koľkej[].
game_shooting_range_title=Strelnica
game_shooting_range_description=Precvičovanie pozornosti
game_shooting_range_preloader1=Pozorne sleduj kvet v\u00A0pravom hornom rohu. Na strelnici triafaj kvety rovnakého tvaru a\u00A0farby.
......@@ -137,6 +140,7 @@ game_protocol_preloader=Pozorne si prečítaj protokol. Poskladaj podľa neho ch
game_safe_title=Tajný kód
game_safe_description =Precvičovanie sluchovej seriality
game_safe_preloader=Pozorne si vypočuj prehraté zvuky.[BLACK]Doplň aký zvuk by mal následovať.[]
game_safe_preloader_bonus=Pozorne si vypočuj prehraté zvuky a nájdi v nich pravidelné opakovanie. [BLACK]Urči, ktorý zvuk je nesprávny.[]
game_safe_preloader_headphones=So slúchadlami budeš zvuky počuť lepšie.
# <!-- Robbery -->
......
......@@ -28,3 +28,4 @@ game_kidnapping_stats=Tvoje skóre: [BLACK]{0}/6[]
game_kidnapping_rule_easy=Najdi ulici se\u00A0stejně znějícím zvukem nebo slovem.
game_kidnapping_rule_medium=Najdi ulici se\u00A0stejně znějícím zvukem nebo slovem, jehož hláskovaná varianta odpovídá té\u00A0čtené.
game_kidnapping_rule_hardcore=Najdi ulici se\u00A0stejně znějícím zvukem nebo slovem, kterému chybí předposlední písmeno.
game_kidnapping_rule_bonus=Najdi ulici se stejně znějícím zvukem nebo slovem, jehož varianta čtená pozpátku odpovídá té\u00A0slyšené.
......@@ -28,3 +28,4 @@ game_kidnapping_stats=Punktzahl: [BLACK]{0}/6[]
game_kidnapping_rule_easy=Finde die Straße mit\u00A0dem gleich klingenden Geräusch oder Wort.
game_kidnapping_rule_medium=Finde die Straße mit\u00A0dem gleich klingenden Geräusch oder Wort, dessen buchstabierte Variante der\u00A0gelesenen entspricht.
game_kidnapping_rule_hardcore=Finde die Straße mit\u00A0dem gleich klingenden Geräusch oder Wort, dem der vorletzte Buchstabe fehlt.
game_kidnapping_rule_bonus=Finde eine Straße mit dem gleichen Geräusch oder einem Wort, dessen Variante rückwärts gelesen dem gehörten entspricht.
......@@ -28,5 +28,6 @@ game_kidnapping_stats=Tvoje skóre: [BLACK]{0}/6[]
game_kidnapping_rule_easy=Nájdi ulicu s rovnako znejúcim zvukom alebo slovom.
game_kidnapping_rule_medium=Nájdi ulicu s rovnako znejúcim zvukom alebo slovom, ktorého hláskový variant odpovedá tomu čítanému.
game_kidnapping_rule_hardcore=Nájdi ulicu s rovnako znejúcim zvukom alebo slovom, ktorému chýba predposledné písmeno.
game_kidnapping_rule_bonus=Nájdi ulicu s rovnako znejúcim zvukom alebo slovom, ktorého varianta prečítaná zozadu je rovnaká ako tá, ktorú si počul.
......@@ -23,6 +23,7 @@ game_robbery_victorytext_twostar=Tvoje jméno si už začínají štěbetat i st
game_robbery_victorytext_onestar=Otázka je, jestli zůstal trezor poloplný, nebo poloprázdný.
game_robbery_victorytext_nostar=U lupičů jsi rozhodně nejoblíbenější hlídač. Když budeš trénovat, určitě se tě budou brzy bát.
game_robbery_victorytext_summary=Správně jsi {0} [BLACK]{1}/{2}[] návštěvníků.
game_robbery_victorytext_summary_bonus=Správně jsi {0} [BLACK]{1}[] návštěvníků.
game_robbery_victorytext_summary_identification=identifikoval/a
game_robbery_victorytext_summary_identification_male=identifikoval
game_robbery_victorytext_summary_identification_female=identifikovala
......
......@@ -23,6 +23,7 @@ game_robbery_victorytext_twostar=Deinen Namen pfeifen langsam schon die Elstern
game_robbery_victorytext_onestar=Nicht schlecht! Einige Einbrecher hast du jedoch entwischen lassen!
game_robbery_victorytext_nostar=Du bist bei den Einbrechern zurzeit eindeutig am Beliebtesten. Wenn du aber trainierst, werden sie bald Angst vor dir haben!
game_robbery_victorytext_summary=Du hast [BLACK]{1}/{2}[] Besuchern richtig {0}.
game_robbery_victorytext_summary_bonus=Du hast [BLACK]{1}[] Besuchern richtig {0}.
game_robbery_victorytext_summary_identification=identifiziert
game_robbery_victorytext_summary_identification_male=identifiziert
game_robbery_victorytext_summary_identification_female=identifiziert
......
......@@ -22,6 +22,7 @@ game_robbery_victorytext_twostar=Tvoje meno si začínajú štebotať aj straky
game_robbery_victorytext_onestar=Otázka je, či ostal trezor poloplný alebo poloprázdný.
game_robbery_victorytext_nostar=U lupičov si rozhodne najobľúbenejší strážca. Ak budeš trénovať, určite sa ťa budú čo skoro báť.
game_robbery_victorytext_summary=Správne si {0} [BLACK]{1}/{2}[] návštevníkov.
game_robbery_victorytext_summary_bonus=Správne si {0} [BLACK]{1}[] návštevníkov.
game_robbery_victorytext_summary_identification=identifikoval/a
game_robbery_victorytext_summary_identification_male=identifikoval
game_robbery_victorytext_summary_identification_female=identifikovala
......
......@@ -26,6 +26,8 @@ import android.os.Build;
import android.os.Bundle;
import android.provider.MediaStore;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.Net;
import com.badlogic.gdx.backends.android.AndroidApplication;
import com.badlogic.gdx.backends.android.AndroidApplicationConfiguration;
import com.badlogic.gdx.files.FileHandle;
......@@ -51,6 +53,7 @@ public class AndroidLauncher extends AndroidApplication {
private static final int MULTI_SAMPLING_2X = 2;
private static final boolean HAS_SOFT_BACK_BUTTON = false;
private static final boolean HAS_ALTERNATIVE_CONTROLS = false;
private static final int ANDROID_OREO_API_LEVEL = 27;
protected Tablexia tablexia;
private AndroidCameraOpener cameraOpener;
......@@ -70,6 +73,7 @@ public class AndroidLauncher extends AndroidApplication {
}
QRCodeScanner qrCodeScanner = android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP ? new AndroidCamera2QRCodeScanner(this) : new AndroidQRCodeScanner(this);
Net tablexiaNet = android.os.Build.VERSION.SDK_INT >= ANDROID_OREO_API_LEVEL ? new TablexiaAndroidNet(this) : Gdx.net;
AndroidApplicationConfiguration config = new AndroidApplicationConfiguration();
config.useWakelock = true;
......@@ -86,7 +90,9 @@ public class AndroidLauncher extends AndroidApplication {
HAS_SOFT_BACK_BUTTON,
HAS_ALTERNATIVE_CONTROLS,
savedInstanceState == null,
Build.SERIAL), config);
Build.SERIAL,
false,
tablexiaNet), config);
}
@Override
......
/*
*
* * Copyright (C) 2016 CZ.NIC, z.s.p.o. (http://www.nic.cz/)
* *
* * This program is free software: you can redistribute it and/or modify
* * it under the terms of the GNU General Public License as published by
* * the Free Software Foundation, either version 3 of the License, or
* * (at your option) any later version.
* *
* * This program is distributed in the hope that it will be useful,
* * but WITHOUT ANY WARRANTY; without even the implied warranty of
* * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* * GNU General Public License for more details.
* *
* * You should have received a copy of the GNU General Public License
* * along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
/*******************************************************************************
* Copyright 2011 See AUTHORS file.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
******************************************************************************/
package cz.nic.tablexia.android;
import android.app.Activity;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.Uri;
import com.badlogic.gdx.Net;
import com.badlogic.gdx.backends.android.AndroidApplicationBase;
import com.badlogic.gdx.net.NetJavaServerSocketImpl;
import com.badlogic.gdx.net.NetJavaSocketImpl;
import com.badlogic.gdx.net.ServerSocket;
import com.badlogic.gdx.net.ServerSocketHints;
import com.badlogic.gdx.net.Socket;
import com.badlogic.gdx.net.SocketHints;
public class TablexiaAndroidNet implements Net {
final AndroidApplicationBase app;
TablexiaNetJavaImpl netJavaImpl;
public TablexiaAndroidNet(AndroidApplicationBase app) {
this.app = app;
netJavaImpl = new TablexiaNetJavaImpl();
}
@Override
public void sendHttpRequest(HttpRequest httpRequest, HttpResponseListener httpResponseListener) {
netJavaImpl.sendHttpRequest(httpRequest, httpResponseListener);
}
@Override
public void cancelHttpRequest(HttpRequest httpRequest) {
netJavaImpl.cancelHttpRequest(httpRequest);
}
@Override
public ServerSocket newServerSocket(Protocol protocol, String hostname, int port, ServerSocketHints hints) {
return new NetJavaServerSocketImpl(protocol, hostname, port, hints);
}
@Override
public ServerSocket newServerSocket(Protocol protocol, int port, ServerSocketHints hints) {
return new NetJavaServerSocketImpl(protocol, port, hints);
}
@Override
public Socket newClientSocket(Protocol protocol, String host, int port, SocketHints hints) {
return new NetJavaSocketImpl(protocol, host, port, hints);
}
@Override
public boolean openURI(String URI) {
boolean result = false;
final Uri uri = Uri.parse(URI);
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
PackageManager pm = app.getContext().getPackageManager();
if (pm.resolveActivity(intent, PackageManager.MATCH_DEFAULT_ONLY) != null) {
app.runOnUiThread(new Runnable() {
@Override
public void run () {
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
// LiveWallpaper and Daydream applications need this flag
if (!(app.getContext() instanceof Activity))
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
app.startActivity(intent);
}
});
result = true;
}
return result;
}
}
......@@ -96,7 +96,7 @@ allprojects {
sentryDSNFallbackValue = "None"
sentryDSN = isReleaseBuild() ? getPropertyValueOrFallbackValue("TABLEXIA_SENTRY_DSN_RELEASE", sentryDSNFallbackValue) : getPropertyValueOrFallbackValue("TABLEXIA_SENTRY_DSN_DEBUG", sentryDSNFallbackValue)
gdxVersion = '1.9.6'
gdxVersion = '1.9.8'
gdxUtilsVersion = '0.13.2'
mbassadorVersion = '1.2.0'
roboVMVersion = '2.3.1'
......@@ -543,7 +543,7 @@ def getTablexiaAppId() {
if (isReleaseBuild()) {
return ""
} else {
return ".${getBranchNameFromGit().trim().replaceAll('-', '').replaceAll('\\.', '').toLowerCase()}"
return ".${getBranchNameFromGit().trim().replaceAll('-', '').replaceAll('\\.', '').replaceAll('\\d', '').toLowerCase()}"
}
}
......