From 76d60dfb2c1cb120044e44368ac6c517feb71b1b Mon Sep 17 00:00:00 2001 From: adrienmalin <41926238+adrienmalin@users.noreply.github.com> Date: Sun, 2 Dec 2018 23:44:10 +0100 Subject: [PATCH] Finished StarterNameActivity --- .idea/assetWizardSettings.xml | 47 ++++ .idea/misc.xml | 2 +- app/src/main/AndroidManifest.xml | 3 +- app/src/main/ic_launcher-web.png | Bin 0 -> 10399 bytes .../pingpoints/StarterNameActivity.kt | 138 +++++++--- .../java/adrienmalin/pingpoints/TextView.kt | 13 + .../res/drawable/ic_launcher_background.xml | 236 ++++++++++++------ .../res/drawable/ic_launcher_foreground.xml | 18 ++ app/src/main/res/drawable/ic_left_service.xml | 7 + app/src/main/res/drawable/ic_redo.xml | 5 + .../main/res/drawable/ic_right_service.xml | 7 + app/src/main/res/drawable/ic_undo.xml | 5 + .../res/layout-land/activity_starter_name.xml | 56 +++-- .../main/res/layout/activity_starter_name.xml | 68 +++-- .../res/mipmap-anydpi-v26/ic_launcher.xml | 2 +- .../mipmap-anydpi-v26/ic_launcher_round.xml | 2 +- app/src/main/res/mipmap-hdpi/ic_launcher.png | Bin 2963 -> 1353 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 4905 -> 3307 bytes app/src/main/res/mipmap-mdpi/ic_launcher.png | Bin 2060 -> 1085 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 2783 -> 2163 bytes app/src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 4490 -> 1870 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 6895 -> 4657 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 6387 -> 2676 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 10413 -> 7172 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 9128 -> 3628 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 15132 -> 10045 bytes app/src/main/res/values-fr/strings.xml | 7 +- app/src/main/res/values/colors.xml | 8 +- .../res/values/ic_launcher_background.xml | 4 + app/src/main/res/values/strings.xml | 7 +- app/src/main/res/values/styles.xml | 9 +- 31 files changed, 476 insertions(+), 168 deletions(-) create mode 100644 app/src/main/ic_launcher-web.png create mode 100644 app/src/main/java/adrienmalin/pingpoints/TextView.kt create mode 100644 app/src/main/res/drawable/ic_launcher_foreground.xml create mode 100644 app/src/main/res/drawable/ic_left_service.xml create mode 100644 app/src/main/res/drawable/ic_redo.xml create mode 100644 app/src/main/res/drawable/ic_right_service.xml create mode 100644 app/src/main/res/drawable/ic_undo.xml create mode 100644 app/src/main/res/values/ic_launcher_background.xml diff --git a/.idea/assetWizardSettings.xml b/.idea/assetWizardSettings.xml index 5d1fcbf..8919ee3 100644 --- a/.idea/assetWizardSettings.xml +++ b/.idea/assetWizardSettings.xml @@ -3,6 +3,53 @@ - + diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 49902dd..315ec58 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -5,10 +5,11 @@ + android:theme="@style/Theme.AppCompat" > diff --git a/app/src/main/ic_launcher-web.png b/app/src/main/ic_launcher-web.png new file mode 100644 index 0000000000000000000000000000000000000000..fffaee79540b9a1c0f99b1ff04c4f4448b1945af GIT binary patch literal 10399 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 IUG6{s5A>ma3;+NC literal 0 HcmV?d00001 diff --git a/app/src/main/java/adrienmalin/pingpoints/StarterNameActivity.kt b/app/src/main/java/adrienmalin/pingpoints/StarterNameActivity.kt index 1356a6c..c3d30b4 100644 --- a/app/src/main/java/adrienmalin/pingpoints/StarterNameActivity.kt +++ b/app/src/main/java/adrienmalin/pingpoints/StarterNameActivity.kt @@ -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 = emptySet() + @SuppressLint("ClickableViewAccessibility") override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_starter_name) + // Set HTML text for icons credits + findViewById(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( - 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 + previousMatch?.let { + previousPlayers = it.getStringSet("previousPlayers", emptySet()) + val adapter = ArrayAdapter( 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(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) { @@ -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() } } diff --git a/app/src/main/java/adrienmalin/pingpoints/TextView.kt b/app/src/main/java/adrienmalin/pingpoints/TextView.kt new file mode 100644 index 0000000..b389fac --- /dev/null +++ b/app/src/main/java/adrienmalin/pingpoints/TextView.kt @@ -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)); + } +} \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_launcher_background.xml b/app/src/main/res/drawable/ic_launcher_background.xml index 2408e30..d5fccc5 100644 --- a/app/src/main/res/drawable/ic_launcher_background.xml +++ b/app/src/main/res/drawable/ic_launcher_background.xml @@ -1,74 +1,170 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + android:viewportWidth="108"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/ic_launcher_foreground.xml b/app/src/main/res/drawable/ic_launcher_foreground.xml new file mode 100644 index 0000000..e8ba163 --- /dev/null +++ b/app/src/main/res/drawable/ic_launcher_foreground.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + diff --git a/app/src/main/res/drawable/ic_left_service.xml b/app/src/main/res/drawable/ic_left_service.xml new file mode 100644 index 0000000..86b4eb0 --- /dev/null +++ b/app/src/main/res/drawable/ic_left_service.xml @@ -0,0 +1,7 @@ + + + diff --git a/app/src/main/res/drawable/ic_redo.xml b/app/src/main/res/drawable/ic_redo.xml new file mode 100644 index 0000000..2175695 --- /dev/null +++ b/app/src/main/res/drawable/ic_redo.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_right_service.xml b/app/src/main/res/drawable/ic_right_service.xml new file mode 100644 index 0000000..f8170ee --- /dev/null +++ b/app/src/main/res/drawable/ic_right_service.xml @@ -0,0 +1,7 @@ + + + diff --git a/app/src/main/res/drawable/ic_undo.xml b/app/src/main/res/drawable/ic_undo.xml new file mode 100644 index 0000000..80efc21 --- /dev/null +++ b/app/src/main/res/drawable/ic_undo.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 85ab739..83b6e76 100644 --- a/app/src/main/res/layout-land/activity_starter_name.xml +++ b/app/src/main/res/layout-land/activity_starter_name.xml @@ -15,16 +15,6 @@ app:layout_constraintStart_toStartOf="parent" android:layout_marginLeft="8dp" android:layout_marginStart="8dp" android:textAppearance="@style/TextAppearance.AppCompat.Headline" /> -