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 e666eae..41ba9fb 100644 Binary files a/.idea/caches/build_file_checksums.ser and b/.idea/caches/build_file_checksums.ser differ 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