Finished StarterNameActivity

This commit is contained in:
adrienmalin 2018-12-02 23:44:10 +01:00
parent 8b8aecb1c6
commit 76d60dfb2c
31 changed files with 476 additions and 168 deletions

View File

@ -3,6 +3,53 @@
<component name="WizardSettings">
<option name="children">
<map>
<entry key="imageWizard">
<value>
<PersistentState>
<option name="children">
<map>
<entry key="imageAssetPanel">
<value>
<PersistentState>
<option name="children">
<map>
<entry key="launcher">
<value>
<PersistentState>
<option name="children">
<map>
<entry key="foregroundImage">
<value>
<PersistentState>
<option name="values">
<map>
<entry key="scalingPercent" value="90" />
</map>
</option>
</PersistentState>
</value>
</entry>
</map>
</option>
<option name="values">
<map>
<entry key="backgroundAssetType" value="COLOR" />
<entry key="foregroundImage" value="C:\Users\adima\AndroidStudioProjects\PingPoints\app\src\main\res\drawable\ic_launcher_foreground.xml" />
</map>
</option>
</PersistentState>
</value>
</entry>
</map>
</option>
</PersistentState>
</value>
</entry>
</map>
</option>
</PersistentState>
</value>
</entry>
<entry key="vectorWizard">
<value>
<PersistentState>

2
.idea/misc.xml generated
View File

@ -29,7 +29,7 @@
</value>
</option>
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>
<component name="ProjectType">

View File

@ -5,10 +5,11 @@
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:logo="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme" >
android:theme="@style/Theme.AppCompat" >
<activity
android:name=".StarterNameActivity"
android:windowSoftInputMode="adjustResize" >

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

View File

@ -1,55 +1,75 @@
package adrienmalin.pingpoints
import android.annotation.SuppressLint
import android.content.Context
import android.content.SharedPreferences
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.text.method.LinkMovementMethod
import android.view.View
import android.widget.*
import android.speech.tts.TextToSpeech
import android.content.Intent
import android.speech.SpeechRecognizer
val CHECK_TTS = 1
class StarterNameActivity : AppCompatActivity() {
var player1NameInput: AutoCompleteTextView = null
var player2NameInput: AutoCompleteTextView = null
var starterRadioGroup: RadioGroup = null
var previousMatch: SharedPreferences = null
var player1NameInput: AutoCompleteTextView? = null
var player2NameInput: AutoCompleteTextView? = null
var starterRadioGroup: RadioGroup? = null
var enableTtsSwitch: Switch? = null
var enableSttSwitch: Switch? = null
var previousMatch: SharedPreferences? = null
var previousPlayers: Set<String> = emptySet()
@SuppressLint("ClickableViewAccessibility")
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_starter_name)
// Set HTML text for icons credits
findViewById<TextView>(R.id.iconsCredit).run {
setHtmlText(getString(R.string.iconCredits))
movementMethod = LinkMovementMethod.getInstance()
}
// Find views
player1NameInput = findViewById(R.id.player1Name)
player2NameInput = findViewById(R.id.player2Name)
starterRadioGroup = findViewById(R.id.starterRadioGroup)
enableTtsSwitch = findViewById(R.id.enableTtsSwitch)
enableSttSwitch = findViewById(R.id.enableSttSwitch)
enableTtsSwitch?.setOnCheckedChangeListener { view, isChecked -> checkTTS() }
enableTtsSwitch?.setOnTouchListener { view, event -> checkTTS(); false}
enableSttSwitch?.setOnCheckedChangeListener { view, isChecked -> checkSTT() }
enableSttSwitch?.setOnTouchListener { view, event -> checkSTT(); false}
// Restore
previousMatch = getPreferences(Context.MODE_PRIVATE)
previousPlayers = previousMatch.getStringSet("previousPlayers", emptySet())
val previousPlayersAdapter = ArrayAdapter<String>(
this,
R.layout.activity_starter_name,
previousPlayers.toList())
player1NameInput = findViewById<AutoCompleteTextView>(R.id.player1Name)
player1NameInput?.run {
setText(
previousMatch.getString(
"previousPlayer2",
getString(R.string.player_1_default_name)),
TextView.BufferType.EDITABLE)
setAdapter(previousPlayersAdapter)
threshold = 1
previousMatch?.let {
previousPlayers = it.getStringSet("previousPlayers", emptySet())
val adapter = ArrayAdapter<String>( this, android.R.layout.simple_list_item_1, previousPlayers.toList())
player1NameInput?.run {
setText(
it.getString("previousPlayer2", getString(R.string.player_1_default_name)),
TextView.BufferType.EDITABLE)
setAdapter(adapter)
}
player2NameInput?.run{
setText(
it.getString("previousPlayer1", getString(R.string.player_2_default_name)),
TextView.BufferType.EDITABLE)
setAdapter(adapter)
}
starterRadioGroup?.check(it.getInt("previousStarterId", R.id.radioPlayer1Starts))
enableTtsSwitch?.isChecked = it.getBoolean("enableTTS", false)
enableSttSwitch?.isChecked = it.getBoolean("enableSTT", false)
}
player2NameInput = findViewById<AutoCompleteTextView>(R.id.player2Name)
player2NameInput?.run{
setText(
previousMatch.getString(
"previousPlayer1",
getString(R.string.player_2_default_name)),
TextView.BufferType.EDITABLE)
setAdapter(previousPlayersAdapter)
threshold = 1
}
starterRadioGroup = findViewById<RadioGroup>(R.id.starterRadioGroup)
starterRadioGroup?.check(previousMatch.getInt("previousStarterId", 0))
}
fun swapNames(view: View) {
@ -58,19 +78,61 @@ class StarterNameActivity : AppCompatActivity() {
}
}
fun checkTTS(){
enableTtsSwitch?.let {
if (it.isChecked) {
Intent().run {
action = TextToSpeech.Engine.ACTION_CHECK_TTS_DATA
startActivityForResult(this, CHECK_TTS)
}
}
}
}
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
when (requestCode) {
CHECK_TTS -> {
if (resultCode != TextToSpeech.Engine.CHECK_VOICE_DATA_PASS) {
Toast.makeText(applicationContext, R.string.TTS_unavailable, Toast.LENGTH_LONG).show()
enableTtsSwitch?.isChecked = false
Intent().run {
action = TextToSpeech.Engine.ACTION_INSTALL_TTS_DATA
startActivity(this)
}
}
}
else -> {
}
}
}
fun checkSTT(){
enableSttSwitch?.let {
if (it.isChecked) {
if (!SpeechRecognizer.isRecognitionAvailable(this)) {
Toast.makeText(applicationContext, R.string.STT_unavailable, Toast.LENGTH_LONG).show()
it.isChecked = false
}
}
}
}
fun startMatch(view: View) {
val player1Name = player1NameInput?.text.toString()
val player2Name = player2NameInput?.text.toString()
// Save
previousMatch.edit().run{
previousMatch?.edit()?.run{
putString("previousPlayer1", player1Name)
putString("previousPlayer2", player2Name)
putInt("previousStarterId", starterRadioGroup?.checkedRadioButtonId)
putStringSet(
"previousPlayers",
previousPlayers.plus(player1Name).plus(player2Name))
starterRadioGroup?.let{ putInt("previousStarterId", it.checkedRadioButtonId) }
previousPlayers?.let { putStringSet("previousPlayers", it.plus(player1Name).plus(player2Name)) }
enableTtsSwitch?.let { putBoolean("enableTTS", it.isChecked) }
enableSttSwitch?.let { putBoolean("enableSTT", it.isChecked) }
commit()
}
finish()
}
}

View File

@ -0,0 +1,13 @@
package adrienmalin.pingpoints
import android.os.Build
import android.text.Html
import android.widget.TextView
fun TextView.setHtmlText(htmlText: String) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
this.setText(Html.fromHtml(htmlText, Html.FROM_HTML_MODE_COMPACT));
} else {
this.setText(Html.fromHtml(htmlText));
}
}

View File

@ -1,74 +1,170 @@
<?xml version="1.0" encoding="utf-8"?>
<vector
android:height="108dp"
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="108dp"
android:height="108dp"
android:viewportHeight="108"
android:viewportWidth="108"
xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#008577"
android:pathData="M0,0h108v108h-108z"/>
<path android:fillColor="#00000000" android:pathData="M9,0L9,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M19,0L19,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M29,0L29,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M39,0L39,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M49,0L49,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M59,0L59,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M69,0L69,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M79,0L79,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M89,0L89,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M99,0L99,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M0,9L108,9"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M0,19L108,19"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M0,29L108,29"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M0,39L108,39"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M0,49L108,49"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M0,59L108,59"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M0,69L108,69"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M0,79L108,79"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M0,89L108,89"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M0,99L108,99"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M19,29L89,29"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M19,39L89,39"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M19,49L89,49"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M19,59L89,59"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M19,69L89,69"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M19,79L89,79"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M29,19L29,89"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M39,19L39,89"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M49,19L49,89"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M59,19L59,89"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M69,19L69,89"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M79,19L79,89"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
android:viewportWidth="108">
<path
android:fillColor="#26A69A"
android:pathData="M0,0h108v108h-108z" />
<path
android:fillColor="#00000000"
android:pathData="M9,0L9,108"
android:strokeColor="#33FFFFFF"
android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M19,0L19,108"
android:strokeColor="#33FFFFFF"
android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M29,0L29,108"
android:strokeColor="#33FFFFFF"
android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M39,0L39,108"
android:strokeColor="#33FFFFFF"
android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M49,0L49,108"
android:strokeColor="#33FFFFFF"
android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M59,0L59,108"
android:strokeColor="#33FFFFFF"
android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M69,0L69,108"
android:strokeColor="#33FFFFFF"
android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M79,0L79,108"
android:strokeColor="#33FFFFFF"
android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M89,0L89,108"
android:strokeColor="#33FFFFFF"
android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M99,0L99,108"
android:strokeColor="#33FFFFFF"
android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M0,9L108,9"
android:strokeColor="#33FFFFFF"
android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M0,19L108,19"
android:strokeColor="#33FFFFFF"
android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M0,29L108,29"
android:strokeColor="#33FFFFFF"
android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M0,39L108,39"
android:strokeColor="#33FFFFFF"
android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M0,49L108,49"
android:strokeColor="#33FFFFFF"
android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M0,59L108,59"
android:strokeColor="#33FFFFFF"
android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M0,69L108,69"
android:strokeColor="#33FFFFFF"
android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M0,79L108,79"
android:strokeColor="#33FFFFFF"
android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M0,89L108,89"
android:strokeColor="#33FFFFFF"
android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M0,99L108,99"
android:strokeColor="#33FFFFFF"
android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M19,29L89,29"
android:strokeColor="#33FFFFFF"
android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M19,39L89,39"
android:strokeColor="#33FFFFFF"
android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M19,49L89,49"
android:strokeColor="#33FFFFFF"
android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M19,59L89,59"
android:strokeColor="#33FFFFFF"
android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M19,69L89,69"
android:strokeColor="#33FFFFFF"
android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M19,79L89,79"
android:strokeColor="#33FFFFFF"
android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M29,19L29,89"
android:strokeColor="#33FFFFFF"
android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M39,19L39,89"
android:strokeColor="#33FFFFFF"
android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M49,19L49,89"
android:strokeColor="#33FFFFFF"
android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M59,19L59,89"
android:strokeColor="#33FFFFFF"
android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M69,19L69,89"
android:strokeColor="#33FFFFFF"
android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M79,19L79,89"
android:strokeColor="#33FFFFFF"
android:strokeWidth="0.8" />
</vector>

View File

@ -0,0 +1,18 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="108dp"
android:height="108dp"
android:viewportWidth="1034.3434"
android:viewportHeight="1034.3434"
android:autoMirrored="true">
<group android:translateX="51.71717"
android:translateY="51.71717">
<group android:translateX="209.45454"
android:translateY="205.14478">
<path android:fillColor="#A1D8F6" android:pathData="M8.348,89.733h495.304v331.386h-495.304z"/>
<path android:fillColor="#0088FF" android:pathData="M43.542,117.136h424.504v276.58h-424.504z"/>
<path android:fillColor="#016DF5" android:pathData="M255.8,117.136h212.257v276.58h-212.257z"/>
<path android:fillColor="#FFFFFF" android:pathData="M235.976,69.398h41.06v373.203h-41.06z"/>
<path android:fillColor="#3C3A41" android:pathData="M503.652,81.386H285.38V69.399c0,-4.611 -3.736,-8.348 -8.348,-8.348h-41.06c-4.61,0 -8.348,3.736 -8.348,8.348v11.989H99.981c-4.61,0 -8.348,3.736 -8.348,8.348s3.738,8.348 8.348,8.348h127.644v10.704h-77.956H43.542c-4.61,0 -8.348,3.736 -8.348,8.348v138.864v137.719c0,4.611 3.738,8.348 8.348,8.348h106.126h77.956v10.704H16.696V98.082h26.852c4.61,0 8.348,-3.736 8.348,-8.348s-3.738,-8.348 -8.348,-8.348h-35.2C3.738,81.386 0,85.123 0,89.734v331.385c0,4.611 3.738,8.348 8.348,8.348h219.276v13.134c0,4.611 3.738,8.348 8.348,8.348h41.06c4.611,0 8.348,-3.736 8.348,-8.348v-13.134h130.937c4.611,0 8.348,-3.736 8.348,-8.348c0,-4.611 -3.736,-8.348 -8.348,-8.348H285.38v-10.704h76.542h106.126c4.611,0 8.348,-3.736 8.348,-8.348v-137.72V117.134c0,-4.611 -3.736,-8.348 -8.348,-8.348H361.922H285.38V98.082h209.924v314.69h-27.248c-4.611,0 -8.348,3.736 -8.348,8.348c0,4.611 3.736,8.348 8.348,8.348h35.596c4.611,0 8.348,-3.736 8.348,-8.348V89.734C512,85.124 508.263,81.386 503.652,81.386zM51.89,125.482h89.431v122.17H51.89V125.482zM51.89,385.371V264.347h89.431v121.023H51.89zM158.015,385.371V255.999V125.482h69.609v259.889H158.015zM268.684,434.252H244.32v-13.134v-27.4V117.134v-27.4V77.747h24.365v11.989v27.4V393.72v27.4V434.252zM370.269,385.371V264.347H459.7v121.023H370.269zM459.7,125.482v122.17h-89.431v-122.17H459.7zM353.574,125.482v130.518v129.371H285.38V125.482H353.574z"/>
</group>
</group>
</vector>

View File

@ -0,0 +1,7 @@
<vector
xmlns:android="http://schemas.android.com/apk/res/android"
android:autoMirrored="true"
android:height="48dp" android:width="48dp"
android:viewportHeight="285.876" android:viewportWidth="285.876">
<path android:fillColor="#FFFFFF" android:pathData="M261.207,76.226c-8.573,9.43 -20.236,13.134 -27.668,9.293c0.605,6.751 -3.436,13.287 -10.141,15.544c-18.231,6.139 -37.408,9.21 -56.583,9.21c-10.257,0 -20.512,-0.885 -30.624,-2.643c15.289,20.576 39.358,32.753 65.156,32.753c8.284,0 15,6.716 15,15s-6.716,15 -15,15c-32.82,0 -63.598,-14.394 -84.591,-39.029l-26.497,44.097c30.164,25.599 53.935,55.258 70.763,88.411c3.749,7.387 0.801,16.415 -6.587,20.165c-2.176,1.104 -4.494,1.627 -6.777,1.627c-5.47,0 -10.742,-3.002 -13.388,-8.214c-14.607,-28.78 -35.188,-54.695 -61.282,-77.281c-3.667,27.708 -13.553,54.145 -29.537,78.86c-2.871,4.438 -7.69,6.855 -12.609,6.855c-2.792,0 -5.614,-0.778 -8.132,-2.406c-6.957,-4.499 -8.935,-13.785 -4.436,-20.741c17.485,-27.035 26.365,-56.402 26.365,-87.284v-3.058c0,-4.645 0.568,-9.303 3.111,-13.535L92.94,83.63c6.162,-13.495 19.867,-12.797 26.78,-11.028l0.941,0.311c30.074,9.922 63.158,9.825 93.164,-0.28c4.559,-1.533 9.328,-0.743 13.052,1.715c-0.392,-6.599 2.662,-14.617 8.781,-21.348c9.621,-10.583 23.14,-13.963 30.195,-7.549C272.908,51.864 270.828,65.643 261.207,76.226zM244.508,138.119c-4.768,0 -8.632,3.865 -8.632,8.632s3.865,8.632 8.632,8.632c4.768,0 8.632,-3.865 8.632,-8.632S249.276,138.119 244.508,138.119zM121.3,62.781c17.337,0 31.391,-14.054 31.391,-31.391S138.636,0 121.3,0c-17.337,0 -31.391,14.054 -31.391,31.391S103.963,62.781 121.3,62.781z"/>
</vector>

View File

@ -0,0 +1,5 @@
<vector android:autoMirrored="true" android:height="24dp"
android:tint="#FFFFFF" android:viewportHeight="24.0"
android:viewportWidth="24.0" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#FF000000" android:pathData="M18.4,10.6C16.55,8.99 14.15,8 11.5,8c-4.65,0 -8.58,3.03 -9.96,7.22L3.9,16c1.05,-3.19 4.05,-5.5 7.6,-5.5 1.95,0 3.73,0.72 5.12,1.88L13,16h9V7l-3.6,3.6z"/>
</vector>

View File

@ -0,0 +1,7 @@
<vector
xmlns:android="http://schemas.android.com/apk/res/android"
android:autoMirrored="true"
android:height="48dp" android:width="48dp"
android:viewportHeight="285.876" android:viewportWidth="285.876">
<path android:fillColor="#ffffff" android:pathData="m24.693,76.226c8.573,9.43 20.236,13.134 27.668,9.293 -0.605,6.751 3.436,13.287 10.141,15.544 18.231,6.139 37.408,9.21 56.583,9.21 10.257,0 20.512,-0.885 30.624,-2.643 -15.289,20.576 -39.358,32.753 -65.156,32.753 -8.284,0 -15,6.716 -15,15 -0,8.284 6.716,15 15,15 32.82,0 63.598,-14.394 84.591,-39.029l26.497,44.097c-30.164,25.599 -53.935,55.258 -70.763,88.411 -3.749,7.387 -0.801,16.415 6.587,20.165 2.176,1.104 4.494,1.627 6.777,1.627 5.47,0 10.742,-3.002 13.388,-8.214 14.607,-28.78 35.188,-54.695 61.282,-77.281 3.667,27.708 13.553,54.145 29.537,78.86 2.871,4.438 7.69,6.855 12.609,6.855 2.792,0 5.614,-0.778 8.132,-2.406 6.957,-4.499 8.935,-13.785 4.436,-20.741 -17.485,-27.035 -26.365,-56.402 -26.365,-87.284l-0,-3.058c-0,-4.645 -0.568,-9.303 -3.111,-13.535L192.96,83.63c-6.162,-13.495 -19.867,-12.797 -26.78,-11.028l-0.941,0.311c-30.074,9.922 -63.158,9.825 -93.164,-0.28 -4.559,-1.533 -9.328,-0.743 -13.052,1.715 0.392,-6.599 -2.662,-14.617 -8.781,-21.348 -9.621,-10.583 -23.14,-13.963 -30.195,-7.549 -7.055,6.413 -4.975,20.192 4.646,30.775zM41.392,138.119c4.768,0 8.632,3.865 8.632,8.632 -0,4.767 -3.865,8.632 -8.632,8.632 -4.768,0 -8.632,-3.865 -8.632,-8.632 -0,-4.767 3.864,-8.632 8.632,-8.632zM164.6,62.781c-17.337,0 -31.391,-14.054 -31.391,-31.391C133.209,14.053 147.264,0 164.6,0 181.937,0 195.991,14.054 195.991,31.391c-0,17.337 -14.054,31.39 -31.391,31.39z"/>
</vector>

View File

@ -0,0 +1,5 @@
<vector android:autoMirrored="true" android:height="24dp"
android:tint="#FFFFFF" android:viewportHeight="24.0"
android:viewportWidth="24.0" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#FF000000" android:pathData="M12.5,8c-2.65,0 -5.05,0.99 -6.9,2.6L2,7v9h9l-3.62,-3.62c1.39,-1.16 3.16,-1.88 5.12,-1.88 3.54,0 6.55,2.31 7.6,5.5l2.37,-0.78C21.08,11.03 17.15,8 12.5,8z"/>
</vector>

View File

@ -15,16 +15,6 @@
app:layout_constraintStart_toStartOf="parent" android:layout_marginLeft="8dp"
android:layout_marginStart="8dp" android:textAppearance="@style/TextAppearance.AppCompat.Headline"
/>
<Button
android:text="@string/start"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button2"
android:layout_marginBottom="8dp"
app:layout_constraintBottom_toBottomOf="parent" android:layout_marginEnd="8dp"
app:layout_constraintEnd_toEndOf="parent" android:layout_marginRight="8dp"
style="@style/Widget.AppCompat.Button.Colored" android:drawableStart="@drawable/ic_new_match"
android:onClick="startMatch"/>
<RadioGroup
android:layout_width="0dp"
android:layout_height="wrap_content"
@ -36,14 +26,16 @@
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content" tools:layout_editor_absoluteY="93dp"
tools:layout_editor_absoluteX="16dp" android:id="@+id/radioPlayer1Starts" android:layout_weight="0"/>
tools:layout_editor_absoluteX="16dp" android:id="@+id/radioPlayer1Starts" android:layout_weight="0"
android:checked="true"/>
<AutoCompleteTextView
android:text="@string/player_1_default_name"
android:layout_width="match_parent"
android:layout_height="wrap_content" tools:layout_editor_absoluteY="48dp"
android:id="@+id/player1Name"
tools:layout_editor_absoluteX="143dp" android:hint="@string/player_name_hint"
android:layout_weight="1"/>
tools:layout_editor_absoluteX="143dp" android:hint="@string/player_1_default_name"
android:layout_weight="1"
android:completionThreshold="1"/>
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content" app:srcCompat="@drawable/ic_swap_horiz"
@ -58,13 +50,14 @@
android:text="@string/player_2_default_name"
android:layout_width="match_parent"
tools:layout_editor_absoluteX="136dp" android:id="@+id/player2Name"
android:hint="@string/player_name_hint" android:layout_height="wrap_content" android:layout_weight="1"/>
android:hint="@string/player_2_default_name" android:layout_height="wrap_content" android:layout_weight="1"
android:completionThreshold="1"/>
</RadioGroup>
<Switch
android:text="@string/TTS"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:id="@+id/enableTTS"
android:id="@+id/enableTtsSwitch"
android:layout_marginTop="8dp" app:layout_constraintTop_toBottomOf="@+id/starterRadioGroup"
android:layout_marginEnd="8dp" app:layout_constraintEnd_toEndOf="parent" android:layout_marginRight="8dp"
android:layout_marginStart="8dp" app:layout_constraintStart_toStartOf="parent"
@ -73,9 +66,38 @@
android:text="@string/STT"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:id="@+id/enableSTT" android:layout_marginTop="8dp"
app:layout_constraintTop_toBottomOf="@+id/enableTTS" app:layout_constraintEnd_toEndOf="parent"
android:id="@+id/enableSttSwitch" android:layout_marginTop="8dp"
app:layout_constraintTop_toBottomOf="@+id/enableTtsSwitch" app:layout_constraintEnd_toEndOf="parent"
android:layout_marginEnd="8dp" android:layout_marginRight="8dp"
app:layout_constraintStart_toStartOf="parent" android:layout_marginLeft="8dp"
android:layout_marginStart="8dp"/>
<TextView
android:id="@+id/pingPointsCredit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/PingPointsCredits"
app:layout_constraintTop_toBottomOf="@+id/enableSttSwitch" app:layout_constraintStart_toStartOf="parent"
android:layout_marginLeft="8dp" android:layout_marginStart="8dp" app:layout_constraintEnd_toEndOf="parent"
android:layout_marginEnd="8dp" android:layout_marginRight="8dp" android:layout_marginTop="24dp"/>
<TextView
android:id="@+id/iconsCredit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/iconCredits"
app:layout_constraintTop_toBottomOf="@+id/pingPointsCredit"
app:layout_constraintStart_toStartOf="parent" android:layout_marginLeft="8dp"
android:layout_marginStart="8dp" app:layout_constraintEnd_toEndOf="parent" android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"/>
<Button
android:text="@string/start"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button2"
android:layout_marginBottom="8dp"
app:layout_constraintBottom_toBottomOf="parent" android:layout_marginEnd="8dp"
app:layout_constraintEnd_toEndOf="parent" android:layout_marginRight="8dp"
style="@android:style/Widget.DeviceDefault.Button"
android:drawableStart="@drawable/ic_new_match"
android:drawableLeft="@drawable/ic_new_match"
android:onClick="startMatch"/>
</android.support.constraint.ConstraintLayout>

View File

@ -1,11 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".StarterNameActivity">
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".StarterNameActivity">
<TextView
android:layout_width="0dp"
@ -38,7 +38,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content" tools:layout_editor_absoluteY="93dp"
tools:layout_editor_absoluteX="16dp" android:id="@+id/radioPlayer1Starts"
android:layout_weight="1" android:gravity="top"/>
android:layout_weight="1" android:gravity="top" android:checked="true"/>
<RadioButton
android:layout_height="wrap_content" tools:layout_editor_absoluteY="93dp"
tools:layout_editor_absoluteX="16dp" android:id="@+id/radioPlayer2Starts"
@ -54,8 +54,9 @@
android:layout_width="match_parent"
android:layout_height="wrap_content" tools:layout_editor_absoluteY="48dp"
android:id="@+id/player1Name"
tools:layout_editor_absoluteX="143dp" android:hint="@string/player_name_hint"
android:selectAllOnFocus="true"/>
tools:layout_editor_absoluteX="143dp" android:hint="@string/player_1_default_name"
android:selectAllOnFocus="true"
android:completionThreshold="1"/>
<ImageButton
android:layout_width="match_parent"
android:layout_height="wrap_content" app:srcCompat="@drawable/ic_swap_vert"
@ -64,35 +65,54 @@
<AutoCompleteTextView
android:text="@string/player_2_default_name"
tools:layout_editor_absoluteX="136dp" android:id="@+id/player2Name"
android:hint="@string/player_name_hint" android:layout_height="wrap_content"
android:layout_width="match_parent" android:selectAllOnFocus="true"/>
android:hint="@string/player_2_default_name" android:layout_height="wrap_content"
android:layout_width="match_parent" android:selectAllOnFocus="true"
android:completionThreshold="1"/>
</LinearLayout>
</LinearLayout>
<Switch
android:text="@string/STT"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:id="@+id/enableSTT"
android:layout_marginTop="8dp"
app:layout_constraintTop_toBottomOf="@+id/enableTTS" android:layout_marginStart="8dp"
app:layout_constraintStart_toStartOf="parent" android:layout_marginLeft="8dp" android:layout_marginEnd="8dp"
app:layout_constraintEnd_toEndOf="parent" android:layout_marginRight="8dp"/>
<Switch
android:text="@string/TTS"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:id="@+id/enableTTS"
android:id="@+id/enableTtsSwitch"
app:layout_constraintStart_toStartOf="parent"
android:layout_marginLeft="8dp" android:layout_marginStart="8dp" app:layout_constraintEnd_toEndOf="parent"
android:layout_marginEnd="8dp" android:layout_marginRight="8dp" app:layout_constraintHorizontal_bias="0.0"
android:layout_marginEnd="6dp" android:layout_marginRight="6dp" app:layout_constraintHorizontal_bias="0.0"
android:layout_marginTop="8dp" app:layout_constraintTop_toBottomOf="@+id/linearLayout"/>
<Switch
android:text="@string/STT"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:id="@+id/enableSttSwitch"
android:layout_marginTop="8dp"
app:layout_constraintTop_toBottomOf="@+id/enableTtsSwitch" android:layout_marginStart="8dp"
app:layout_constraintStart_toStartOf="parent" android:layout_marginLeft="8dp" android:layout_marginEnd="8dp"
app:layout_constraintEnd_toEndOf="parent" android:layout_marginRight="8dp"/>
<TextView
android:id="@+id/PingPointsCredit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/PingPointsCredits"
app:layout_constraintTop_toBottomOf="@+id/enableSttSwitch" app:layout_constraintStart_toStartOf="parent"
android:layout_marginLeft="8dp" android:layout_marginStart="8dp" app:layout_constraintEnd_toEndOf="parent"
android:layout_marginEnd="8dp" android:layout_marginRight="8dp" android:layout_marginTop="24dp"/>
<TextView
android:id="@+id/iconsCredit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/iconCredits"
app:layout_constraintTop_toBottomOf="@+id/PingPointsCredit"
app:layout_constraintStart_toStartOf="parent" android:layout_marginLeft="8dp"
android:layout_marginStart="8dp" app:layout_constraintEnd_toEndOf="parent" android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"/>
<Button
android:text="@string/start"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button"
style="@style/Widget.AppCompat.Button.Colored"
style="@android:style/Widget.DeviceDefault.Button"
android:layout_marginEnd="8dp" app:layout_constraintEnd_toEndOf="parent" android:layout_marginRight="8dp"
android:layout_marginBottom="8dp" app:layout_constraintBottom_toBottomOf="parent"
android:drawableStart="@drawable/ic_new_match" android:onClick="startMatch"/>
android:drawableStart="@drawable/ic_new_match"
android:drawableLeft="@drawable/ic_new_match" android:onClick="startMatch"/>
</android.support.constraint.ConstraintLayout>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_launcher_background"/>
<background android:drawable="@color/ic_launcher_background"/>
<foreground android:drawable="@drawable/ic_launcher_foreground"/>
</adaptive-icon>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_launcher_background"/>
<background android:drawable="@color/ic_launcher_background"/>
<foreground android:drawable="@drawable/ic_launcher_foreground"/>
</adaptive-icon>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.7 KiB

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.2 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.9 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 9.8 KiB

View File

@ -1,12 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">PingPoints</string>
<string name="app_name">Ping Points</string>
<string name="who_starts">Qui commence ?</string>
<string name="player_1_default_name">Joueur 1</string>
<string name="player_2_default_name">Joueur 2</string>
<string name="player_name_hint">Nom du joueur</string>
<string name="TTS">Synthèse vocale</string>
<string name="STT">Reconnaissance vocale</string>
<string name="start">Allons-y !</string>
<string name="swap_names">Échanger les noms</string>
<string name="PingPointsCredits">Ping Points par Adrien Malin</string>
<string name="iconCredits">&lt;html&gt;Icônes par &lt;a href=&quot;http://www.freepik.com&quot; title=&quot;Freepik&quot;&gt;Freepik&lt;/a&gt; chez &lt;a href=&quot;https://www.flaticon.com/&quot; title=&quot;Flaticon&quot;&gt;flaticon.com&lt;/a&gt; Licence &lt;a href=&quot;http://creativecommons.org/licenses/by/3.0/&quot; title=&quot;Creative Commons BY 3.0&quot; target=&quot;_blank&quot;&gt;CC 3.0 BY&lt;/a&gt;&lt;/html&gt;</string>
<string name="TTS_unavailable">Désolé, votre appareil ne permet pas la synthèse vocale.</string>
<string name="STT_unavailable">Désolé, votre appareil ne permet pas la reconnaissance vocale.</string>
</resources>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="colorPrimary">#008577</color>
<color name="colorPrimaryDark">#00574B</color>
<color name="colorAccent">#D81B60</color>
</resources>
<color name="colorPrimary">#016df5</color>
<color name="colorPrimaryDark">#004aa7</color>
<color name="colorAccent">#0088FF</color>
</resources>

View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="ic_launcher_background">#26A69A</color>
</resources>

View File

@ -1,11 +1,14 @@
<resources>
<string name="app_name">PingPoints</string>
<string name="app_name">Ping Points</string>
<string name="who_starts">Who starts?</string>
<string name="player_1_default_name">Player 1</string>
<string name="player_2_default_name">Player 2</string>
<string name="player_name_hint">Player\'s name</string>
<string name="TTS">Text to speech</string>
<string name="STT">Voice recognizer</string>
<string name="start">Let\'s go!</string>
<string name="swap_names">Swap names</string>
<string name="PingPointsCredits">Ping Points by Adrien Malin</string>
<string name="iconCredits">"&lt;html&gt;Icons made by &lt;a href=&quot;http://www.freepik.com&quot; title=&quot;Freepik&quot;&gt;Freepik&lt;/a&gt; from &lt;a href=&quot;https://www.flaticon.com/&quot; title=&quot;Flaticon&quot;&gt;flaticon.com&lt;/a&gt; is licensed by &lt;a href=&quot;http://creativecommons.org/licenses/by/3.0/&quot; title=&quot;Creative Commons BY 3.0&quot; target=&quot;_blank&quot;&gt;CC 3.0 BY&lt;/a&gt;&lt;/html&gt;"</string>
<string name="TTS_unavailable">Sorry, your device doesn\'t support text to speech.</string>
<string name="STT_unavailable">Sorry, your device doesn\'t support voice recognition.</string>
</resources>

View File

@ -1,11 +1,6 @@
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
<style name="AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
<style name="PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />
</resources>