From bd888779e99ab41cef6571f2779baaea1e5b210b Mon Sep 17 00:00:00 2001 From: Fabian Zobrist Date: Sun, 23 Aug 2020 22:06:04 +0200 Subject: [PATCH 01/24] BugFix: Make Round Serializable to prevent application crash on switching to another app. --- app/src/main/java/me/zobrist/tichucounter/Round.kt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/me/zobrist/tichucounter/Round.kt b/app/src/main/java/me/zobrist/tichucounter/Round.kt index fad6b61..7bd3aa0 100644 --- a/app/src/main/java/me/zobrist/tichucounter/Round.kt +++ b/app/src/main/java/me/zobrist/tichucounter/Round.kt @@ -1,6 +1,8 @@ package me.zobrist.tichucounter -class Round() { +import java.io.Serializable + +class Round(): Serializable { var scoreA: Int = 0 var scoreB: Int = 0 From 1dbc27ee6304a9dc6ae38dc1c0fdfba0c8deefa1 Mon Sep 17 00:00:00 2001 From: Fabian Zobrist Date: Sun, 23 Aug 2020 22:09:47 +0200 Subject: [PATCH 02/24] reduce size of team name. make score bold. --- app/src/main/res/layout-land/content_main.xml | 10 ++++++---- app/src/main/res/layout/content_main.xml | 12 +++++++----- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/app/src/main/res/layout-land/content_main.xml b/app/src/main/res/layout-land/content_main.xml index de790fa..3e3d66d 100644 --- a/app/src/main/res/layout-land/content_main.xml +++ b/app/src/main/res/layout-land/content_main.xml @@ -34,7 +34,7 @@ android:selectAllOnFocus="true" android:singleLine="true" android:text="@string/team_a" - android:textAppearance="@style/TextAppearance.AppCompat.Display1" /> + android:textAppearance="@style/TextAppearance.AppCompat.Large" /> + android:textAppearance="@style/TextAppearance.AppCompat.Large" /> @@ -66,7 +66,8 @@ android:gravity="center" android:text="0" android:textAppearance="@style/TextAppearance.AppCompat.Body1" - android:textSize="18sp" /> + android:textSize="18sp" + android:textStyle="bold" /> + android:textSize="18sp" + android:textStyle="bold" /> diff --git a/app/src/main/res/layout/content_main.xml b/app/src/main/res/layout/content_main.xml index c014338..fdeae6e 100644 --- a/app/src/main/res/layout/content_main.xml +++ b/app/src/main/res/layout/content_main.xml @@ -25,21 +25,21 @@ android:selectAllOnFocus="true" android:singleLine="true" android:text="@string/team_a" - android:textAppearance="@style/TextAppearance.AppCompat.Display1" /> + android:textAppearance="@style/TextAppearance.AppCompat.Large" /> + android:textAppearance="@style/TextAppearance.AppCompat.Large" /> @@ -58,7 +58,8 @@ android:gravity="center" android:text="0" android:textAppearance="@style/TextAppearance.AppCompat.Body1" - android:textSize="18sp" /> + android:textSize="18sp" + android:textStyle="bold" /> + android:textSize="18sp" + android:textStyle="bold" /> From 95bc9b3d3c344edca8c1c7f4a2daa7699cf350ff Mon Sep 17 00:00:00 2001 From: Fabian Zobrist Date: Sun, 23 Aug 2020 22:24:51 +0200 Subject: [PATCH 03/24] Increase Version --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 335d9cc..b08b7de 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,8 +10,8 @@ android { applicationId "me.zobrist.tichucounter" minSdkVersion 16 targetSdkVersion 30 - versionCode 1 - versionName "1.0" + versionCode 2 + versionName "1.0.0Beta1" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } From dfc17b40680de7ea3404b81770f6fdfb954fe393 Mon Sep 17 00:00:00 2001 From: Fabian Zobrist Date: Tue, 25 Aug 2020 14:45:57 +0200 Subject: [PATCH 04/24] Update version of build tools and kotlin --- app/build.gradle | 2 +- build.gradle | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index b08b7de..d6cae1f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -4,7 +4,7 @@ apply plugin: 'kotlin-android-extensions' android { compileSdkVersion 30 - buildToolsVersion "30.0.1" + buildToolsVersion "30.0.2" defaultConfig { applicationId "me.zobrist.tichucounter" diff --git a/build.gradle b/build.gradle index 1241d12..0cbe343 100644 --- a/build.gradle +++ b/build.gradle @@ -1,6 +1,6 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { - ext.kotlin_version = "1.3.72" + ext.kotlin_version = "1.4.0" repositories { google() jcenter() From dd9c8d56ad9a511e7223597db1860018fbe36c4d Mon Sep 17 00:00:00 2001 From: Fabian Zobrist Date: Tue, 25 Aug 2020 14:51:07 +0200 Subject: [PATCH 05/24] Add menu entry to keep screen on --- .../me/zobrist/tichucounter/MainActivity.kt | 29 +++++++++++++++++++ app/src/main/res/menu/menu_main.xml | 5 ++++ app/src/main/res/values-de/strings.xml | 1 + app/src/main/res/values-gsw-rCH/strings.xml | 1 + app/src/main/res/values/strings.xml | 1 + 5 files changed, 37 insertions(+) diff --git a/app/src/main/java/me/zobrist/tichucounter/MainActivity.kt b/app/src/main/java/me/zobrist/tichucounter/MainActivity.kt index 7da4264..c528d15 100644 --- a/app/src/main/java/me/zobrist/tichucounter/MainActivity.kt +++ b/app/src/main/java/me/zobrist/tichucounter/MainActivity.kt @@ -6,6 +6,7 @@ import android.os.Bundle import android.text.InputType import android.view.Menu import android.view.MenuItem +import android.view.WindowManager import android.widget.ScrollView import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatDelegate @@ -31,6 +32,12 @@ class MainActivity : AppCompatActivity() { inputTeamA.requestFocus() disableSubmitButton() updateTheme(this.getSharedPreferences("Settings", Context.MODE_PRIVATE).getInt("Theme", 2)) + keepScreenOn( + this.getSharedPreferences("Settings", Context.MODE_PRIVATE) + .getBoolean("Screen_On", false) + ) + + history = savedInstanceState?.getParcelable("history") ?: History() updateView() @@ -265,9 +272,14 @@ class MainActivity : AppCompatActivity() { override fun onCreateOptionsMenu(menu: Menu): Boolean { // Inflate the menu; this adds items to the action bar if it is present. menuInflater.inflate(R.menu.menu_main, menu) + + menu.findItem(R.id.action_screenOn).isChecked = + this.getSharedPreferences("Settings", Context.MODE_PRIVATE) + .getBoolean("Screen_On", false) return true } + override fun onOptionsItemSelected(item: MenuItem): Boolean { return when (item.itemId) { R.id.action_clear -> { @@ -282,6 +294,11 @@ class MainActivity : AppCompatActivity() { chooseThemeDialog() true } + R.id.action_screenOn -> { + item.isChecked = !item.isChecked + keepScreenOn(item.isChecked) + true + } else -> super.onOptionsItemSelected(item) } } @@ -381,4 +398,16 @@ class MainActivity : AppCompatActivity() { } delegate.applyDayNight() } + + private fun keepScreenOn(keepOn: Boolean) { + if (keepOn) { + window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON) + } else { + window.clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON) + } + + val prefs = this.getSharedPreferences("Settings", Context.MODE_PRIVATE).edit() + prefs.putBoolean("Screen_On", keepOn) + prefs.apply() + } } \ No newline at end of file diff --git a/app/src/main/res/menu/menu_main.xml b/app/src/main/res/menu/menu_main.xml index 779bead..dd7f051 100644 --- a/app/src/main/res/menu/menu_main.xml +++ b/app/src/main/res/menu/menu_main.xml @@ -17,4 +17,9 @@ android:id="@+id/action_theme" android:orderInCategory="15" android:title="@string/choose_theme_text" /> + \ No newline at end of file diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 560610f..d7fc65a 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -3,4 +3,5 @@ Neues Spiel Starten Letzte Runde Löschen Theme auswählen + Bildschirm eingeschaltet lassen \ No newline at end of file diff --git a/app/src/main/res/values-gsw-rCH/strings.xml b/app/src/main/res/values-gsw-rCH/strings.xml index c8d4afd..b6bd626 100644 --- a/app/src/main/res/values-gsw-rCH/strings.xml +++ b/app/src/main/res/values-gsw-rCH/strings.xml @@ -3,4 +3,5 @@ Neus Spil Starte Letschti Rundi Lösche Usgsehe ändere + Bildschirm igschalted la \ 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 0e770fb..2ecf4a7 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -7,4 +7,5 @@ Start New Game Undo Last Round Choose theme + Keep screen on \ No newline at end of file From 1b9183950f5fa05afd98a47304198992d6cd8837 Mon Sep 17 00:00:00 2001 From: Fabian Zobrist Date: Sun, 30 Aug 2020 17:44:37 +0200 Subject: [PATCH 06/24] Correct typos --- app/src/main/res/values-de/strings.xml | 7 +++++-- app/src/main/res/values-gsw-rCH/strings.xml | 7 +++++-- app/src/main/res/values/strings.xml | 7 +++++-- 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index d7fc65a..045db62 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -1,7 +1,10 @@ - Neues Spiel Starten - Letzte Runde Löschen + Neues Spiel starten + Letzte Runde löschen Theme auswählen Bildschirm eingeschaltet lassen + Möchten Sie das laufende Spiel wirklich löshen? + Ja + Nein \ No newline at end of file diff --git a/app/src/main/res/values-gsw-rCH/strings.xml b/app/src/main/res/values-gsw-rCH/strings.xml index b6bd626..3559d30 100644 --- a/app/src/main/res/values-gsw-rCH/strings.xml +++ b/app/src/main/res/values-gsw-rCH/strings.xml @@ -1,7 +1,10 @@ - Neus Spil Starte - Letschti Rundi Lösche + Neus Spil starte + Letschti Rundi lösche Usgsehe ändere Bildschirm igschalted la + Wosch ds loufende Spil würklech lösche? + Ja + Nei \ 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 2ecf4a7..0944156 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -4,8 +4,11 @@ Team A Team B - Start New Game - Undo Last Round + Start new game + Undo last round Choose theme Keep screen on + Do you really want to delete the current game? + Yes + No \ No newline at end of file From 4069fe86a7e5e78b1909bd7790e7c9ed12ed931f Mon Sep 17 00:00:00 2001 From: Fabian Zobrist Date: Sun, 30 Aug 2020 17:44:50 +0200 Subject: [PATCH 07/24] Reformat Code --- .../me/zobrist/tichucounter/MainActivity.kt | 70 ++++++++++++------- .../java/me/zobrist/tichucounter/Round.kt | 2 +- 2 files changed, 44 insertions(+), 28 deletions(-) diff --git a/app/src/main/java/me/zobrist/tichucounter/MainActivity.kt b/app/src/main/java/me/zobrist/tichucounter/MainActivity.kt index c528d15..6e0b5f9 100644 --- a/app/src/main/java/me/zobrist/tichucounter/MainActivity.kt +++ b/app/src/main/java/me/zobrist/tichucounter/MainActivity.kt @@ -54,18 +54,18 @@ class MainActivity : AppCompatActivity() { Round(0, 0) } inputTeamB.setText(currentRound.scoreB.toString()) - }else{ + } else { updateOnChange = true } - }else{ + } else { inputTeamA.text.clear() inputTeamB.text.clear() } } - if(currentRound.isValidRound()){ + if (currentRound.isValidRound()) { enableSubmitButton() - }else{ + } else { disableSubmitButton() } } @@ -74,29 +74,29 @@ class MainActivity : AppCompatActivity() { inputTeamB.doOnTextChanged { text, start, count, after -> if (inputTeamB.isFocused) { - if (inputTeamB.text.isNotEmpty()){ - if(updateOnChange){ + if (inputTeamB.text.isNotEmpty()) { + if (updateOnChange) { currentRound = try { Round(text.toString().toInt(), false) - } catch (e: java.lang.Exception){ + } catch (e: java.lang.Exception) { Round(0, 0) } inputTeamA.setText(currentRound.scoreA.toString()) - }else{ + } else { updateOnChange = true } - }else{ + } else { inputTeamA.text.clear() inputTeamB.text.clear() } } - if(currentRound.isValidRound()){ + if (currentRound.isValidRound()) { enableSubmitButton() - }else{ + } else { disableSubmitButton() } } @@ -206,21 +206,21 @@ class MainActivity : AppCompatActivity() { giveFocusToAIfNone() - if(inputTeamA.isFocused ){ - if (inputTeamA.text.isNotEmpty()){ + if (inputTeamA.isFocused) { + if (inputTeamA.text.isNotEmpty()) { tempInt = inputTeamA.text.toString().toInt() * -1 inputTeamA.setText(tempInt.toString()) - }else{ + } else { invertB = false invertA = true } - }else if(inputTeamB.isFocused) { - if(inputTeamB.text.isNotEmpty()){ + } else if (inputTeamB.isFocused) { + if (inputTeamB.text.isNotEmpty()) { tempInt = inputTeamB.text.toString().toInt() * -1 inputTeamB.setText(tempInt.toString()) - } else{ + } else { invertA = false invertB = true } @@ -249,7 +249,12 @@ class MainActivity : AppCompatActivity() { if (inputTeamA.text.isNotEmpty() && inputTeamB.text.isNotEmpty()) { - history.logRound(Round(inputTeamA.text.toString().toInt(), inputTeamB.text.toString().toInt())) + history.logRound( + Round( + inputTeamA.text.toString().toInt(), + inputTeamB.text.toString().toInt() + ) + ) updateView() @@ -283,7 +288,19 @@ class MainActivity : AppCompatActivity() { override fun onOptionsItemSelected(item: MenuItem): Boolean { return when (item.itemId) { R.id.action_clear -> { - clearAll() + val builder = AlertDialog.Builder(this) + builder.setMessage(getString(R.string.confirmClear)) + .setTitle(R.string.clear) + .setCancelable(false) + .setPositiveButton(getString(R.string.yes)) { dialog, id -> + dialog.dismiss() + clearAll() + } + .setNegativeButton(getString(R.string.no)) { dialog, id -> + dialog.cancel() + } + + builder.create().show() true } R.id.action_undo -> { @@ -335,17 +352,16 @@ class MainActivity : AppCompatActivity() { history.clearAll() } - private fun appendToFocusedInput(toAppend: Char){ - if(inputTeamA.isFocused){ - if(invertA){ + private fun appendToFocusedInput(toAppend: Char) { + if (inputTeamA.isFocused) { + if (invertA) { invertA = false inputTeamA.text.append('-') } inputTeamA.text.append(toAppend) - }else if(inputTeamB.isFocused) - { - if(invertB){ + } else if (inputTeamB.isFocused) { + if (invertB) { invertB = false inputTeamB.text.append('-') } @@ -360,7 +376,7 @@ class MainActivity : AppCompatActivity() { submit.isEnabled = true } - private fun disableSubmitButton(){ + private fun disableSubmitButton() { submit.imageAlpha = 60 // 0 being transparent and 255 being opaque submit.isEnabled = false } @@ -369,7 +385,7 @@ class MainActivity : AppCompatActivity() { val builder = AlertDialog.Builder(this) builder.setTitle(getString(R.string.choose_theme_text)) - val styles = arrayOf("Light","Dark","System default") + val styles = arrayOf("Light", "Dark", "System default") val checkedItem = this.getSharedPreferences("", Context.MODE_PRIVATE).getInt("Theme", 2) diff --git a/app/src/main/java/me/zobrist/tichucounter/Round.kt b/app/src/main/java/me/zobrist/tichucounter/Round.kt index 7bd3aa0..3f0b7f6 100644 --- a/app/src/main/java/me/zobrist/tichucounter/Round.kt +++ b/app/src/main/java/me/zobrist/tichucounter/Round.kt @@ -2,7 +2,7 @@ package me.zobrist.tichucounter import java.io.Serializable -class Round(): Serializable { +class Round() : Serializable { var scoreA: Int = 0 var scoreB: Int = 0 From 587651d697d4108ec5b16db460fd6b4d4bb4aa8c Mon Sep 17 00:00:00 2001 From: Fabian Zobrist Date: Sun, 30 Aug 2020 18:13:14 +0200 Subject: [PATCH 08/24] Bugfix: Just working with Add100 and Sub100 button does not allow to submit values. --- .../me/zobrist/tichucounter/MainActivity.kt | 33 ++++++++++++------- 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/me/zobrist/tichucounter/MainActivity.kt b/app/src/main/java/me/zobrist/tichucounter/MainActivity.kt index 6e0b5f9..0f0babf 100644 --- a/app/src/main/java/me/zobrist/tichucounter/MainActivity.kt +++ b/app/src/main/java/me/zobrist/tichucounter/MainActivity.kt @@ -63,7 +63,7 @@ class MainActivity : AppCompatActivity() { } } - if (currentRound.isValidRound()) { + if (currentRound.isValidRound() && inputTeamA.text.isNotEmpty() && inputTeamB.text.isNotEmpty()) { enableSubmitButton() } else { disableSubmitButton() @@ -94,7 +94,7 @@ class MainActivity : AppCompatActivity() { } } - if (currentRound.isValidRound()) { + if (currentRound.isValidRound() && inputTeamA.text.isNotEmpty() && inputTeamB.text.isNotEmpty()) { enableSubmitButton() } else { disableSubmitButton() @@ -104,50 +104,58 @@ class MainActivity : AppCompatActivity() { buttonAdd100.setOnClickListener { if (inputTeamA.isFocused) { - val temp = try { + currentRound.scoreA = try { inputTeamA.text.toString().toInt() + 100 } catch (e: Exception) { - inputTeamB.setText(0.toString()) + currentRound.scoreB = 0 + inputTeamB.setText(currentRound.scoreB.toString()) 100 } updateOnChange = false - inputTeamA.setText(temp.toString()) + inputTeamA.setText(currentRound.scoreA.toString()) } if (inputTeamB.isFocused) { - val temp = try { + currentRound.scoreB = try { inputTeamB.text.toString().toInt() + 100 } catch (e: Exception) { - inputTeamA.setText(0.toString()) + currentRound.scoreA = 0 + inputTeamA.setText(currentRound.scoreA.toString()) 100 } updateOnChange = false - inputTeamB.setText(temp.toString()) + inputTeamB.setText(currentRound.scoreB.toString()) + } } buttonSub100.setOnClickListener { if (inputTeamA.isFocused) { - val temp = try { + currentRound.scoreA = try { inputTeamA.text.toString().toInt() - 100 } catch (e: Exception) { + currentRound.scoreB = 0 + inputTeamB.setText(currentRound.scoreB.toString()) -100 } updateOnChange = false - inputTeamA.setText(temp.toString()) + inputTeamA.setText(currentRound.scoreA.toString()) + } if (inputTeamB.isFocused) { - val temp = try { + currentRound.scoreB = try { inputTeamB.text.toString().toInt() - 100 } catch (e: Exception) { + currentRound.scoreA = 0 + inputTeamA.setText(currentRound.scoreA.toString()) -100 } updateOnChange = false - inputTeamB.setText(temp.toString()) + inputTeamB.setText(currentRound.scoreB.toString()) } } @@ -262,6 +270,7 @@ class MainActivity : AppCompatActivity() { inputTeamA.text.clear() inputTeamB.text.clear() + disableSubmitButton() scrollViewHistory.fullScroll(ScrollView.FOCUS_DOWN) From f5cd5775cf0097903f036e658444dd199c147900 Mon Sep 17 00:00:00 2001 From: Fabian Zobrist Date: Sun, 30 Aug 2020 20:39:38 +0200 Subject: [PATCH 09/24] Hide keyboard when clicked outside of name input field. --- .../me/zobrist/tichucounter/MainActivity.kt | 25 +++++++++++++++++-- app/src/main/res/layout-land/content_main.xml | 13 +++++----- app/src/main/res/layout/content_main.xml | 19 +++++++------- 3 files changed, 40 insertions(+), 17 deletions(-) diff --git a/app/src/main/java/me/zobrist/tichucounter/MainActivity.kt b/app/src/main/java/me/zobrist/tichucounter/MainActivity.kt index 0f0babf..38ddb2d 100644 --- a/app/src/main/java/me/zobrist/tichucounter/MainActivity.kt +++ b/app/src/main/java/me/zobrist/tichucounter/MainActivity.kt @@ -7,6 +7,7 @@ import android.text.InputType import android.view.Menu import android.view.MenuItem import android.view.WindowManager +import android.view.inputmethod.InputMethodManager import android.widget.ScrollView import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatDelegate @@ -43,6 +44,18 @@ class MainActivity : AppCompatActivity() { updateView() + inputTeamA.setOnFocusChangeListener { view, b -> + if (b) { + hideKeyboard() + } + } + + inputTeamB.setOnFocusChangeListener { view, b -> + if (b) { + hideKeyboard() + } + } + inputTeamA.doOnTextChanged { text, start, count, after -> if (inputTeamA.isFocused) { if (inputTeamA.text.isNotEmpty()) { @@ -102,6 +115,8 @@ class MainActivity : AppCompatActivity() { } buttonAdd100.setOnClickListener { + giveFocusToAIfNone() + if (inputTeamA.isFocused) { currentRound.scoreA = try { @@ -132,6 +147,8 @@ class MainActivity : AppCompatActivity() { } buttonSub100.setOnClickListener { + giveFocusToAIfNone() + if (inputTeamA.isFocused) { currentRound.scoreA = try { inputTeamA.text.toString().toInt() - 100 @@ -329,6 +346,12 @@ class MainActivity : AppCompatActivity() { } } + private fun hideKeyboard() { + val imm: InputMethodManager = + getSystemService(INPUT_METHOD_SERVICE) as InputMethodManager + imm.hideSoftInputFromWindow(currentFocus!!.windowToken, 0) + } + private fun giveFocusToAIfNone() { if (!inputTeamA.isFocused && !inputTeamB.isFocused) { inputTeamA.requestFocus() @@ -336,10 +359,8 @@ class MainActivity : AppCompatActivity() { } private fun undoLastRound() { - history.revertLastRound() updateView() - } private fun updateView() { diff --git a/app/src/main/res/layout-land/content_main.xml b/app/src/main/res/layout-land/content_main.xml index 3e3d66d..4dd9685 100644 --- a/app/src/main/res/layout-land/content_main.xml +++ b/app/src/main/res/layout-land/content_main.xml @@ -17,13 +17,13 @@ app:layout_constraintTop_toTopOf="parent"> @@ -86,7 +86,8 @@ android:id="@+id/scrollViewHistory" android:layout_width="match_parent" android:layout_height="match_parent" - android:layout_marginTop="16dp"> + android:layout_marginTop="16dp" + android:clickable="true"> diff --git a/app/src/main/res/layout/content_main.xml b/app/src/main/res/layout/content_main.xml index fdeae6e..f556b16 100644 --- a/app/src/main/res/layout/content_main.xml +++ b/app/src/main/res/layout/content_main.xml @@ -7,14 +7,14 @@ app:layout_behavior="@string/appbar_scrolling_view_behavior"> + app:layout_constraintTop_toBottomOf="@+id/viewNames"> + android:clickable="true" + app:layout_constraintBottom_toTopOf="@+id/viewInput" + app:layout_constraintTop_toBottomOf="@+id/viewScore"> + app:layout_constraintBottom_toBottomOf="@+id/viewScore" /> Date: Sun, 30 Aug 2020 21:18:59 +0200 Subject: [PATCH 10/24] bump version number, reduce size of app. --- app/build.gradle | 7 ++++--- app/src/main/java/me/zobrist/tichucounter/MainActivity.kt | 8 -------- 2 files changed, 4 insertions(+), 11 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index d6cae1f..d8e3ff7 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,15 +10,16 @@ android { applicationId "me.zobrist.tichucounter" minSdkVersion 16 targetSdkVersion 30 - versionCode 2 - versionName "1.0.0Beta1" + versionCode 3 + versionName "1.0.0Beta2" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } buildTypes { release { - minifyEnabled false + minifyEnabled true + shrinkResources true proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } diff --git a/app/src/main/java/me/zobrist/tichucounter/MainActivity.kt b/app/src/main/java/me/zobrist/tichucounter/MainActivity.kt index 38ddb2d..efe17e7 100644 --- a/app/src/main/java/me/zobrist/tichucounter/MainActivity.kt +++ b/app/src/main/java/me/zobrist/tichucounter/MainActivity.kt @@ -125,7 +125,6 @@ class MainActivity : AppCompatActivity() { currentRound.scoreB = 0 inputTeamB.setText(currentRound.scoreB.toString()) 100 - } updateOnChange = false inputTeamA.setText(currentRound.scoreA.toString()) @@ -159,8 +158,6 @@ class MainActivity : AppCompatActivity() { } updateOnChange = false inputTeamA.setText(currentRound.scoreA.toString()) - - } if (inputTeamB.isFocused) { @@ -281,16 +278,13 @@ class MainActivity : AppCompatActivity() { ) ) - updateView() - inputTeamA.text.clear() inputTeamB.text.clear() disableSubmitButton() scrollViewHistory.fullScroll(ScrollView.FOCUS_DOWN) - } } } @@ -397,8 +391,6 @@ class MainActivity : AppCompatActivity() { } inputTeamB.text.append(toAppend) } - - } private fun enableSubmitButton() { From be66a505411a97f73fcf0f97438d22e10883ce66 Mon Sep 17 00:00:00 2001 From: Fabian Zobrist Date: Sun, 30 Aug 2020 21:46:54 +0200 Subject: [PATCH 11/24] cleanup and optimizations --- app/build.gradle | 6 +++--- app/src/main/AndroidManifest.xml | 3 ++- app/src/main/res/layout-land/content_main.xml | 8 +++++--- app/src/main/res/layout/content_main.xml | 8 +++++--- app/src/main/res/xml/backup_descriptor.xml | 4 ++++ 5 files changed, 19 insertions(+), 10 deletions(-) create mode 100644 app/src/main/res/xml/backup_descriptor.xml diff --git a/app/build.gradle b/app/build.gradle index d8e3ff7..8706a55 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -38,11 +38,11 @@ dependencies { implementation 'androidx.core:core-ktx:1.3.1' implementation 'androidx.appcompat:appcompat:1.2.0' implementation 'com.google.android.material:material:1.2.0' - implementation 'androidx.constraintlayout:constraintlayout:1.1.3' + implementation 'androidx.constraintlayout:constraintlayout:2.0.1' implementation 'androidx.navigation:navigation-fragment-ktx:2.3.0' implementation 'androidx.navigation:navigation-ui-ktx:2.3.0' testImplementation 'junit:junit:4.12' - androidTestImplementation 'androidx.test.ext:junit:1.1.1' - androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0' + androidTestImplementation 'androidx.test.ext:junit:1.1.2' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0' } \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index d7ced19..e35f381 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -8,7 +8,8 @@ android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" - android:theme="@style/AppTheme"> + android:theme="@style/AppTheme" + android:fullBackupContent="@xml/backup_descriptor"> + android:clickable="false"> + app:srcCompat="@drawable/back" + android:contentDescription="TODO" /> @@ -312,7 +313,8 @@ android:layout_height="match_parent" android:layout_weight="1.0" android:scaleType="fitCenter" - app:srcCompat="@drawable/checkmark" /> + app:srcCompat="@drawable/checkmark" + android:contentDescription="TODO" /> diff --git a/app/src/main/res/layout/content_main.xml b/app/src/main/res/layout/content_main.xml index f556b16..31da6fa 100644 --- a/app/src/main/res/layout/content_main.xml +++ b/app/src/main/res/layout/content_main.xml @@ -86,7 +86,7 @@ android:layout_width="match_parent" android:layout_height="0dp" android:layout_marginTop="16dp" - android:clickable="true" + android:clickable="false" app:layout_constraintBottom_toTopOf="@+id/viewInput" app:layout_constraintTop_toBottomOf="@+id/viewScore"> @@ -275,7 +275,8 @@ android:paddingTop="15dp" android:paddingBottom="15dp" android:scaleType="fitCenter" - app:srcCompat="@drawable/back" /> + app:srcCompat="@drawable/back" + android:contentDescription="TODO" /> @@ -317,6 +318,7 @@ android:layout_height="match_parent" android:layout_weight="1.0" android:scaleType="fitCenter" - app:srcCompat="@drawable/checkmark" /> + app:srcCompat="@drawable/checkmark" + android:contentDescription="TODO" /> \ No newline at end of file diff --git a/app/src/main/res/xml/backup_descriptor.xml b/app/src/main/res/xml/backup_descriptor.xml new file mode 100644 index 0000000..6fd6103 --- /dev/null +++ b/app/src/main/res/xml/backup_descriptor.xml @@ -0,0 +1,4 @@ + + + + From 65581ae2574497793d054a9faadff8b15eb5a700 Mon Sep 17 00:00:00 2001 From: Fabian Zobrist Date: Mon, 31 Aug 2020 22:03:08 +0200 Subject: [PATCH 12/24] Bugfix: choosen Theme isnot displayed when setting is opened. --- app/src/main/java/me/zobrist/tichucounter/MainActivity.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/me/zobrist/tichucounter/MainActivity.kt b/app/src/main/java/me/zobrist/tichucounter/MainActivity.kt index efe17e7..18b7d79 100644 --- a/app/src/main/java/me/zobrist/tichucounter/MainActivity.kt +++ b/app/src/main/java/me/zobrist/tichucounter/MainActivity.kt @@ -409,7 +409,7 @@ class MainActivity : AppCompatActivity() { builder.setTitle(getString(R.string.choose_theme_text)) val styles = arrayOf("Light", "Dark", "System default") - val checkedItem = this.getSharedPreferences("", Context.MODE_PRIVATE).getInt("Theme", 2) + val checkedItem = this.getSharedPreferences("Settings", Context.MODE_PRIVATE).getInt("Theme", 2) val prefs = this.getSharedPreferences("Settings", Context.MODE_PRIVATE).edit() From be1e819f90f9e546572e7e504624a4a05c8fe4c9 Mon Sep 17 00:00:00 2001 From: Fabian Zobrist Date: Mon, 31 Aug 2020 22:52:59 +0200 Subject: [PATCH 13/24] Remove unneeded attribute --- app/src/main/res/layout/content_main.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/app/src/main/res/layout/content_main.xml b/app/src/main/res/layout/content_main.xml index 31da6fa..4b36db1 100644 --- a/app/src/main/res/layout/content_main.xml +++ b/app/src/main/res/layout/content_main.xml @@ -86,7 +86,6 @@ android:layout_width="match_parent" android:layout_height="0dp" android:layout_marginTop="16dp" - android:clickable="false" app:layout_constraintBottom_toTopOf="@+id/viewInput" app:layout_constraintTop_toBottomOf="@+id/viewScore"> From 20d9fa79a6f2002ee7da7c9619acba3d4c684363 Mon Sep 17 00:00:00 2001 From: Fabian Zobrist Date: Mon, 31 Aug 2020 22:57:41 +0200 Subject: [PATCH 14/24] bump version --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 8706a55..30514af 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,8 +10,8 @@ android { applicationId "me.zobrist.tichucounter" minSdkVersion 16 targetSdkVersion 30 - versionCode 3 - versionName "1.0.0Beta2" + versionCode 4 + versionName "1.0.0RC" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } From 214d5e61a4a5171f0c510f977d5194decffaa565 Mon Sep 17 00:00:00 2001 From: Fabian Zobrist Date: Sun, 20 Sep 2020 20:29:20 +0200 Subject: [PATCH 15/24] Increase Version --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 30514af..a214c20 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,8 +10,8 @@ android { applicationId "me.zobrist.tichucounter" minSdkVersion 16 targetSdkVersion 30 - versionCode 4 - versionName "1.0.0RC" + versionCode 5 + versionName "1.0.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } From f1dad279e0253849a048731f093ef7b0ad520f67 Mon Sep 17 00:00:00 2001 From: Fabian Zobrist Date: Sun, 20 Sep 2020 20:30:02 +0200 Subject: [PATCH 16/24] Show negative sign if entered first. --- .../me/zobrist/tichucounter/MainActivity.kt | 35 ++++++++----------- 1 file changed, 14 insertions(+), 21 deletions(-) diff --git a/app/src/main/java/me/zobrist/tichucounter/MainActivity.kt b/app/src/main/java/me/zobrist/tichucounter/MainActivity.kt index 18b7d79..4f6a59a 100644 --- a/app/src/main/java/me/zobrist/tichucounter/MainActivity.kt +++ b/app/src/main/java/me/zobrist/tichucounter/MainActivity.kt @@ -16,9 +16,6 @@ import kotlinx.android.synthetic.main.content_main.* class MainActivity : AppCompatActivity() { - private var invertA: Boolean = false - private var invertB: Boolean = false - private var updateOnChange: Boolean = true private lateinit var history: History @@ -64,7 +61,7 @@ class MainActivity : AppCompatActivity() { Round(text.toString().toInt(), true) } catch (e: java.lang.Exception) { - Round(0, 0) + Round(1, 1) } inputTeamB.setText(currentRound.scoreB.toString()) } else { @@ -93,7 +90,7 @@ class MainActivity : AppCompatActivity() { Round(text.toString().toInt(), false) } catch (e: java.lang.Exception) { - Round(0, 0) + Round(1, 1) } inputTeamA.setText(currentRound.scoreA.toString()) @@ -229,22 +226,26 @@ class MainActivity : AppCompatActivity() { giveFocusToAIfNone() if (inputTeamA.isFocused) { - if (inputTeamA.text.isNotEmpty()) { + if (inputTeamA.text.toString().equals("-")) { + inputTeamA.text.clear() + } else if (inputTeamA.text.isNotEmpty()) { tempInt = inputTeamA.text.toString().toInt() * -1 inputTeamA.setText(tempInt.toString()) } else { - invertB = false - invertA = true + updateOnChange = false + appendToFocusedInput('-') } } else if (inputTeamB.isFocused) { - if (inputTeamB.text.isNotEmpty()) { + if (inputTeamB.text.toString().equals("-")) { + inputTeamB.text.clear() + } else if (inputTeamB.text.isNotEmpty()) { tempInt = inputTeamB.text.toString().toInt() * -1 inputTeamB.setText(tempInt.toString()) } else { - invertA = false - invertB = true + updateOnChange = false + appendToFocusedInput('-') } } } @@ -378,17 +379,8 @@ class MainActivity : AppCompatActivity() { private fun appendToFocusedInput(toAppend: Char) { if (inputTeamA.isFocused) { - if (invertA) { - invertA = false - inputTeamA.text.append('-') - } - inputTeamA.text.append(toAppend) } else if (inputTeamB.isFocused) { - if (invertB) { - invertB = false - inputTeamB.text.append('-') - } inputTeamB.text.append(toAppend) } } @@ -409,7 +401,8 @@ class MainActivity : AppCompatActivity() { builder.setTitle(getString(R.string.choose_theme_text)) val styles = arrayOf("Light", "Dark", "System default") - val checkedItem = this.getSharedPreferences("Settings", Context.MODE_PRIVATE).getInt("Theme", 2) + val checkedItem = + this.getSharedPreferences("Settings", Context.MODE_PRIVATE).getInt("Theme", 2) val prefs = this.getSharedPreferences("Settings", Context.MODE_PRIVATE).edit() From 437fae633ad0800e6f0dc9276bc166570f45317d Mon Sep 17 00:00:00 2001 From: Fabian Zobrist Date: Sun, 20 Sep 2020 22:33:38 +0200 Subject: [PATCH 17/24] Store history and team names persistent in shared preferences. --- app/build.gradle | 1 + .../java/me/zobrist/tichucounter/History.kt | 31 ++----------------- .../me/zobrist/tichucounter/MainActivity.kt | 16 +++++++--- 3 files changed, 16 insertions(+), 32 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index a214c20..92291c2 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -38,6 +38,7 @@ dependencies { implementation 'androidx.core:core-ktx:1.3.1' implementation 'androidx.appcompat:appcompat:1.2.0' implementation 'com.google.android.material:material:1.2.0' + implementation 'com.google.code.gson:gson:2.8.5' implementation 'androidx.constraintlayout:constraintlayout:2.0.1' implementation 'androidx.navigation:navigation-fragment-ktx:2.3.0' implementation 'androidx.navigation:navigation-ui-ktx:2.3.0' diff --git a/app/src/main/java/me/zobrist/tichucounter/History.kt b/app/src/main/java/me/zobrist/tichucounter/History.kt index 9f2cd3a..8a77698 100644 --- a/app/src/main/java/me/zobrist/tichucounter/History.kt +++ b/app/src/main/java/me/zobrist/tichucounter/History.kt @@ -2,16 +2,10 @@ package me.zobrist.tichucounter -import android.os.Parcel -import android.os.Parcelable -class History() : Parcelable { +class History() { private var scores: ArrayList = ArrayList() - constructor(parcel: Parcel) : this() { - scores = parcel.readSerializable() as ArrayList - } - fun getScoreA(): Int { var tempScore = 0 scores.forEach { @@ -31,7 +25,7 @@ class History() : Parcelable { fun getHistoryA(): String { var tempHistory = String() scores.forEach { - tempHistory = tempHistory.plus(it.scoreA.toString()).plus("\n") + tempHistory += it.scoreA.toString() + "\n" } return tempHistory } @@ -39,7 +33,7 @@ class History() : Parcelable { fun getHistoryB(): String { var tempHistory = String() scores.forEach { - tempHistory = tempHistory.plus(it.scoreB.toString()).plus("\n") + tempHistory += it.scoreB.toString() + "\n" } return tempHistory } @@ -61,23 +55,4 @@ class History() : Parcelable { fun isEmpty(): Boolean { return scores.isEmpty() } - - override fun writeToParcel(parcel: Parcel, flags: Int) { - parcel.writeSerializable(scores) - } - - override fun describeContents(): Int { - return 0 - } - - companion object CREATOR : Parcelable.Creator { - override fun createFromParcel(parcel: Parcel): History { - return History(parcel) - } - - override fun newArray(size: Int): Array { - return arrayOfNulls(size) - } - } - } \ No newline at end of file diff --git a/app/src/main/java/me/zobrist/tichucounter/MainActivity.kt b/app/src/main/java/me/zobrist/tichucounter/MainActivity.kt index 4f6a59a..ac0b0cc 100644 --- a/app/src/main/java/me/zobrist/tichucounter/MainActivity.kt +++ b/app/src/main/java/me/zobrist/tichucounter/MainActivity.kt @@ -12,6 +12,7 @@ import android.widget.ScrollView import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatDelegate import androidx.core.widget.doOnTextChanged +import com.google.gson.Gson import kotlinx.android.synthetic.main.content_main.* class MainActivity : AppCompatActivity() { @@ -35,9 +36,10 @@ class MainActivity : AppCompatActivity() { .getBoolean("Screen_On", false) ) - - - history = savedInstanceState?.getParcelable("history") ?: History() + val json = this.getSharedPreferences("Settings", Context.MODE_PRIVATE).getString("history", "{\"scores\":[]}") + history = Gson().fromJson(json, History::class.java) + nameTeamA.setText(this.getSharedPreferences("Settings", Context.MODE_PRIVATE).getString("nameTeamA", "TeamA")) + nameTeamB.setText(this.getSharedPreferences("Settings", Context.MODE_PRIVATE).getString("nameTeamB", "TeamB")) updateView() @@ -292,7 +294,13 @@ class MainActivity : AppCompatActivity() { override fun onSaveInstanceState(outState: Bundle) { super.onSaveInstanceState(outState) - outState.putParcelable("history", history) + + val prefs = this.getSharedPreferences("Settings", Context.MODE_PRIVATE).edit() + prefs.putString("history", Gson().toJson(history)) + prefs.putString("nameTeamA", nameTeamA.text.toString()) + prefs.putString("nameTeamB", nameTeamB.text.toString()) + prefs.apply() + } override fun onCreateOptionsMenu(menu: Menu): Boolean { From ac468e2e84f91de7fca54a81bd27434e02337efe Mon Sep 17 00:00:00 2001 From: Fabian Zobrist Date: Mon, 21 Sep 2020 08:49:51 +0200 Subject: [PATCH 18/24] Bugfix: prevent submit when both inputs hold a '-' --- app/src/main/java/me/zobrist/tichucounter/MainActivity.kt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/src/main/java/me/zobrist/tichucounter/MainActivity.kt b/app/src/main/java/me/zobrist/tichucounter/MainActivity.kt index ac0b0cc..4a8f94e 100644 --- a/app/src/main/java/me/zobrist/tichucounter/MainActivity.kt +++ b/app/src/main/java/me/zobrist/tichucounter/MainActivity.kt @@ -236,6 +236,7 @@ class MainActivity : AppCompatActivity() { } else { updateOnChange = false appendToFocusedInput('-') + currentRound = Round(1,1) } @@ -248,6 +249,7 @@ class MainActivity : AppCompatActivity() { } else { updateOnChange = false appendToFocusedInput('-') + currentRound = Round(1,1) } } } From 3229e51d01b5bf0f50c472995b1e19fdf67fd482 Mon Sep 17 00:00:00 2001 From: Fabian Zobrist Date: Mon, 21 Sep 2020 08:50:19 +0200 Subject: [PATCH 19/24] Add in app review. --- app/build.gradle | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/build.gradle b/app/build.gradle index 92291c2..e17c743 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -38,6 +38,8 @@ dependencies { implementation 'androidx.core:core-ktx:1.3.1' implementation 'androidx.appcompat:appcompat:1.2.0' implementation 'com.google.android.material:material:1.2.0' + implementation 'com.google.android.play:core:1.8.0' + implementation 'com.google.android.play:core-ktx:1.8.1' implementation 'com.google.code.gson:gson:2.8.5' implementation 'androidx.constraintlayout:constraintlayout:2.0.1' implementation 'androidx.navigation:navigation-fragment-ktx:2.3.0' From 2cb496ea8fc2a627400a2adc09fe6122fe8356e8 Mon Sep 17 00:00:00 2001 From: Fabian Zobrist Date: Mon, 21 Sep 2020 08:51:54 +0200 Subject: [PATCH 20/24] correct typo --- app/src/main/res/values-de/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 045db62..aa8ffe5 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -4,7 +4,7 @@ Letzte Runde löschen Theme auswählen Bildschirm eingeschaltet lassen - Möchten Sie das laufende Spiel wirklich löshen? + Möchten Sie das laufende Spiel wirklich löschen? Ja Nein \ No newline at end of file From 92bb0dc86f39fad1c62006daa80aec9053e08a00 Mon Sep 17 00:00:00 2001 From: Fabian Zobrist Date: Mon, 21 Sep 2020 08:52:15 +0200 Subject: [PATCH 21/24] implement in app review --- app/build.gradle | 2 +- .../me/zobrist/tichucounter/MainActivity.kt | 37 ++++++++++++++++++- 2 files changed, 36 insertions(+), 3 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index e17c743..4026a09 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,7 +10,7 @@ android { applicationId "me.zobrist.tichucounter" minSdkVersion 16 targetSdkVersion 30 - versionCode 5 + versionCode 6 versionName "1.0.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" diff --git a/app/src/main/java/me/zobrist/tichucounter/MainActivity.kt b/app/src/main/java/me/zobrist/tichucounter/MainActivity.kt index 4a8f94e..473d330 100644 --- a/app/src/main/java/me/zobrist/tichucounter/MainActivity.kt +++ b/app/src/main/java/me/zobrist/tichucounter/MainActivity.kt @@ -12,6 +12,10 @@ import android.widget.ScrollView import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatDelegate import androidx.core.widget.doOnTextChanged +import com.google.android.play.core.review.ReviewInfo +import com.google.android.play.core.review.ReviewManager +import com.google.android.play.core.review.ReviewManagerFactory +import com.google.android.play.core.review.testing.FakeReviewManager import com.google.gson.Gson import kotlinx.android.synthetic.main.content_main.* @@ -22,6 +26,9 @@ class MainActivity : AppCompatActivity() { private lateinit var history: History private var currentRound = Round() + lateinit var manager: ReviewManager + lateinit var reviewInfo: ReviewInfo + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) @@ -42,6 +49,8 @@ class MainActivity : AppCompatActivity() { nameTeamB.setText(this.getSharedPreferences("Settings", Context.MODE_PRIVATE).getString("nameTeamB", "TeamB")) updateView() + initReviews() + inputTeamA.setOnFocusChangeListener { view, b -> if (b) { @@ -62,7 +71,7 @@ class MainActivity : AppCompatActivity() { currentRound = try { Round(text.toString().toInt(), true) - } catch (e: java.lang.Exception) { + } catch (e: Exception) { Round(1, 1) } inputTeamB.setText(currentRound.scoreB.toString()) @@ -91,7 +100,7 @@ class MainActivity : AppCompatActivity() { currentRound = try { Round(text.toString().toInt(), false) - } catch (e: java.lang.Exception) { + } catch (e: Exception) { Round(1, 1) } inputTeamA.setText(currentRound.scoreA.toString()) @@ -385,6 +394,30 @@ class MainActivity : AppCompatActivity() { scoreB.text = "0" history.clearAll() + + askForReview() + + } + + private fun initReviews() { + manager = ReviewManagerFactory.create(this) + manager.requestReviewFlow().addOnCompleteListener { request -> + if (request.isSuccessful) { + reviewInfo = request.result + } + } + } + + // Call this when you want to show the dialog + private fun askForReview() { + try{ + manager.launchReviewFlow(this, reviewInfo).addOnFailureListener { + // Log error and continue with the flow + }.addOnCompleteListener { _ -> + // Log success and continue with the flow + } + } catch (e: Exception){ + } } private fun appendToFocusedInput(toAppend: Char) { From 16bfcd328890df3b8f6456df4282070c131d6028 Mon Sep 17 00:00:00 2001 From: Fabian Zobrist Date: Mon, 21 Sep 2020 08:55:52 +0200 Subject: [PATCH 22/24] =?UTF-8?q?clean=20up=C3=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/java/me/zobrist/tichucounter/History.kt | 2 +- build.gradle | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/me/zobrist/tichucounter/History.kt b/app/src/main/java/me/zobrist/tichucounter/History.kt index 8a77698..15da7af 100644 --- a/app/src/main/java/me/zobrist/tichucounter/History.kt +++ b/app/src/main/java/me/zobrist/tichucounter/History.kt @@ -3,7 +3,7 @@ package me.zobrist.tichucounter -class History() { +class History { private var scores: ArrayList = ArrayList() fun getScoreA(): Int { diff --git a/build.gradle b/build.gradle index 0cbe343..33d6ece 100644 --- a/build.gradle +++ b/build.gradle @@ -1,6 +1,6 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { - ext.kotlin_version = "1.4.0" + ext.kotlin_version = "1.4.10" repositories { google() jcenter() From 00fbc60eee28c064e305f7c752be09a2f5a84db0 Mon Sep 17 00:00:00 2001 From: Fabian Zobrist Date: Tue, 29 Sep 2020 11:07:50 +0200 Subject: [PATCH 23/24] Revert "implement in app review" This reverts commit 92bb0dc8 --- app/build.gradle | 2 +- .../me/zobrist/tichucounter/MainActivity.kt | 37 +------------------ 2 files changed, 3 insertions(+), 36 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 4026a09..e17c743 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,7 +10,7 @@ android { applicationId "me.zobrist.tichucounter" minSdkVersion 16 targetSdkVersion 30 - versionCode 6 + versionCode 5 versionName "1.0.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" diff --git a/app/src/main/java/me/zobrist/tichucounter/MainActivity.kt b/app/src/main/java/me/zobrist/tichucounter/MainActivity.kt index 473d330..4a8f94e 100644 --- a/app/src/main/java/me/zobrist/tichucounter/MainActivity.kt +++ b/app/src/main/java/me/zobrist/tichucounter/MainActivity.kt @@ -12,10 +12,6 @@ import android.widget.ScrollView import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatDelegate import androidx.core.widget.doOnTextChanged -import com.google.android.play.core.review.ReviewInfo -import com.google.android.play.core.review.ReviewManager -import com.google.android.play.core.review.ReviewManagerFactory -import com.google.android.play.core.review.testing.FakeReviewManager import com.google.gson.Gson import kotlinx.android.synthetic.main.content_main.* @@ -26,9 +22,6 @@ class MainActivity : AppCompatActivity() { private lateinit var history: History private var currentRound = Round() - lateinit var manager: ReviewManager - lateinit var reviewInfo: ReviewInfo - override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) @@ -49,8 +42,6 @@ class MainActivity : AppCompatActivity() { nameTeamB.setText(this.getSharedPreferences("Settings", Context.MODE_PRIVATE).getString("nameTeamB", "TeamB")) updateView() - initReviews() - inputTeamA.setOnFocusChangeListener { view, b -> if (b) { @@ -71,7 +62,7 @@ class MainActivity : AppCompatActivity() { currentRound = try { Round(text.toString().toInt(), true) - } catch (e: Exception) { + } catch (e: java.lang.Exception) { Round(1, 1) } inputTeamB.setText(currentRound.scoreB.toString()) @@ -100,7 +91,7 @@ class MainActivity : AppCompatActivity() { currentRound = try { Round(text.toString().toInt(), false) - } catch (e: Exception) { + } catch (e: java.lang.Exception) { Round(1, 1) } inputTeamA.setText(currentRound.scoreA.toString()) @@ -394,30 +385,6 @@ class MainActivity : AppCompatActivity() { scoreB.text = "0" history.clearAll() - - askForReview() - - } - - private fun initReviews() { - manager = ReviewManagerFactory.create(this) - manager.requestReviewFlow().addOnCompleteListener { request -> - if (request.isSuccessful) { - reviewInfo = request.result - } - } - } - - // Call this when you want to show the dialog - private fun askForReview() { - try{ - manager.launchReviewFlow(this, reviewInfo).addOnFailureListener { - // Log error and continue with the flow - }.addOnCompleteListener { _ -> - // Log success and continue with the flow - } - } catch (e: Exception){ - } } private fun appendToFocusedInput(toAppend: Char) { From 5b6e33304c9c117a5a73691f026defbda21c71f7 Mon Sep 17 00:00:00 2001 From: Fabian Zobrist Date: Sun, 4 Oct 2020 18:14:36 +0200 Subject: [PATCH 24/24] Increase App version --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index e17c743..609f0dc 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,7 +10,7 @@ android { applicationId "me.zobrist.tichucounter" minSdkVersion 16 targetSdkVersion 30 - versionCode 5 + versionCode 7 versionName "1.0.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"