From 8b8aecb1c6e3875c26eadad2ad96943b90fdcb99 Mon Sep 17 00:00:00 2001
From: adrienmalin <41926238+adrienmalin@users.noreply.github.com>
Date: Sat, 1 Dec 2018 14:42:04 +0100
Subject: [PATCH] StarterNameActivity code
---
.idea/assetWizardSettings.xml | 47 +++++++++++++
.idea/caches/build_file_checksums.ser | Bin 548 -> 537 bytes
app/build.gradle | 1 +
app/src/main/AndroidManifest.xml | 4 +-
.../pingpoints/StarterNameActivity.kt | 64 ++++++++++++++++++
app/src/main/res/drawable/ic_swap_horiz.xml | 5 ++
app/src/main/res/drawable/ic_swap_vert.xml | 5 ++
.../res/layout-land/activity_starter_name.xml | 22 +++---
.../main/res/layout/activity_starter_name.xml | 19 ++++--
app/src/main/res/values-fr/strings.xml | 1 +
app/src/main/res/values/strings.xml | 1 +
11 files changed, 154 insertions(+), 15 deletions(-)
create mode 100644 .idea/assetWizardSettings.xml
create mode 100644 app/src/main/res/drawable/ic_swap_horiz.xml
create mode 100644 app/src/main/res/drawable/ic_swap_vert.xml
diff --git a/.idea/assetWizardSettings.xml b/.idea/assetWizardSettings.xml
new file mode 100644
index 0000000..5d1fcbf
--- /dev/null
+++ b/.idea/assetWizardSettings.xml
@@ -0,0 +1,47 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser
index e666eae7fe1caaab3dde4454f74a7dad7dc11f0f..41ba9fbb165d325c94e2ec5100a3795d3f82cfd9 100644
GIT binary patch
delta 107
zcmV-x0F?iv1epYom;`BpvYnBfcMu`}=PEA$LH%h-|3l;TfBcgp0dgT9gK*7F-bq6;
zIWLF&Hcx$Y04PH`Tvc;ra&uf^WNB?-lfeNb8Ppw&*^dCS1nGbYnC$pMeslm4XL4a=
NY-N*x0Tq)I0uc>DEYbh~
delta 112
zcmV-$0FVEf1f&Fzm;_`~t5lJkcM!e@oqU6&6pElh(5!)v)nJn&0dg$$bu^ao0G05d~6Tvc;ra&uf^WO8X`ZZ2(MY-w(1a%FjwwgDs)+1zwCauce0>iYfo
Shg^&UbN~^PzX2PQ2m%p3lrdZY
diff --git a/app/build.gradle b/app/build.gradle
index 9fe4f74..167350b 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -13,6 +13,7 @@ android {
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
+ vectorDrawables.useSupportLibrary true
}
buildTypes {
release {
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index c1565b3..49902dd 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -9,7 +9,9 @@
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme" >
-
+
diff --git a/app/src/main/java/adrienmalin/pingpoints/StarterNameActivity.kt b/app/src/main/java/adrienmalin/pingpoints/StarterNameActivity.kt
index 2573a08..1356a6c 100644
--- a/app/src/main/java/adrienmalin/pingpoints/StarterNameActivity.kt
+++ b/app/src/main/java/adrienmalin/pingpoints/StarterNameActivity.kt
@@ -1,12 +1,76 @@
package adrienmalin.pingpoints
+import android.content.Context
+import android.content.SharedPreferences
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
+import android.view.View
+import android.widget.*
+
class StarterNameActivity : AppCompatActivity() {
+ var player1NameInput: AutoCompleteTextView = null
+ var player2NameInput: AutoCompleteTextView = null
+ var starterRadioGroup: RadioGroup = null
+ var previousMatch: SharedPreferences = null
+ var previousPlayers: Set = emptySet()
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_starter_name)
+
+ previousMatch = getPreferences(Context.MODE_PRIVATE)
+ previousPlayers = previousMatch.getStringSet("previousPlayers", emptySet())
+ val previousPlayersAdapter = ArrayAdapter(
+ this,
+ R.layout.activity_starter_name,
+ previousPlayers.toList())
+
+ player1NameInput = findViewById(R.id.player1Name)
+ player1NameInput?.run {
+ setText(
+ previousMatch.getString(
+ "previousPlayer2",
+ getString(R.string.player_1_default_name)),
+ TextView.BufferType.EDITABLE)
+ setAdapter(previousPlayersAdapter)
+ threshold = 1
+ }
+
+ player2NameInput = findViewById(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(R.id.starterRadioGroup)
+ starterRadioGroup?.check(previousMatch.getInt("previousStarterId", 0))
+ }
+
+ fun swapNames(view: View) {
+ player1NameInput?.text = player2NameInput?.text.also {
+ player2NameInput?.text = player1NameInput?.text
+ }
+ }
+
+ fun startMatch(view: View) {
+ val player1Name = player1NameInput?.text.toString()
+ val player2Name = player2NameInput?.text.toString()
+
+ // Save
+ previousMatch.edit().run{
+ putString("previousPlayer1", player1Name)
+ putString("previousPlayer2", player2Name)
+ putInt("previousStarterId", starterRadioGroup?.checkedRadioButtonId)
+ putStringSet(
+ "previousPlayers",
+ previousPlayers.plus(player1Name).plus(player2Name))
+ commit()
+ }
}
}
diff --git a/app/src/main/res/drawable/ic_swap_horiz.xml b/app/src/main/res/drawable/ic_swap_horiz.xml
new file mode 100644
index 0000000..8a3d095
--- /dev/null
+++ b/app/src/main/res/drawable/ic_swap_horiz.xml
@@ -0,0 +1,5 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_swap_vert.xml b/app/src/main/res/drawable/ic_swap_vert.xml
new file mode 100644
index 0000000..2bae693
--- /dev/null
+++ b/app/src/main/res/drawable/ic_swap_vert.xml
@@ -0,0 +1,5 @@
+
+
+
diff --git a/app/src/main/res/layout-land/activity_starter_name.xml b/app/src/main/res/layout-land/activity_starter_name.xml
index 5003b24..85ab739 100644
--- a/app/src/main/res/layout-land/activity_starter_name.xml
+++ b/app/src/main/res/layout-land/activity_starter_name.xml
@@ -20,15 +20,16 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button2"
- android:drawableLeft="@drawable/ic_new_match" android:layout_marginBottom="8dp"
+ 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"/>
+ style="@style/Widget.AppCompat.Button.Colored" android:drawableStart="@drawable/ic_new_match"
+ android:onClick="startMatch"/>
@@ -43,6 +44,11 @@
android:id="@+id/player1Name"
tools:layout_editor_absoluteX="143dp" android:hint="@string/player_name_hint"
android:layout_weight="1"/>
+
+ android:layout_marginStart="8dp"/>
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_starter_name.xml b/app/src/main/res/layout/activity_starter_name.xml
index d9a4a6b..2a9f7ad 100644
--- a/app/src/main/res/layout/activity_starter_name.xml
+++ b/app/src/main/res/layout/activity_starter_name.xml
@@ -23,25 +23,27 @@
app:layout_constraintTop_toBottomOf="@+id/WhoStarts"
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:id="@+id/linearLayout">
+ android:layout_marginEnd="8dp" android:layout_marginRight="8dp" android:id="@+id/linearLayout"
+ android:layout_margin="8dp">
+ android:layout_marginRight="8dp" android:layout_marginBottom="8dp">
+ android:layout_weight="1" android:gravity="top"/>
+ android:layout_width="wrap_content" android:layout_weight="1"
+ android:gravity="bottom"/>
+
+ android:drawableStart="@drawable/ic_new_match" android:onClick="startMatch"/>
\ No newline at end of file
diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml
index 0c1d4bc..c7379b6 100644
--- a/app/src/main/res/values-fr/strings.xml
+++ b/app/src/main/res/values-fr/strings.xml
@@ -8,4 +8,5 @@
Synthèse vocale
Reconnaissance vocale
Allons-y !
+ Échanger les noms
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 795c10f..75c502f 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -7,4 +7,5 @@
Text to speech
Voice recognizer
Let\'s go!
+ Swap names