diff --git a/.idea/assetWizardSettings.xml b/.idea/assetWizardSettings.xml
index d945b23..4bd198a 100644
--- a/.idea/assetWizardSettings.xml
+++ b/.idea/assetWizardSettings.xml
@@ -3,6 +3,295 @@
-
+
diff --git a/.idea/modules.xml b/.idea/modules.xml
deleted file mode 100644
index 97d7060..0000000
--- a/.idea/modules.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/runConfigurations.xml b/.idea/runConfigurations.xml
deleted file mode 100644
index 7f68460..0000000
--- a/.idea/runConfigurations.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index 1e583e9..f210e82 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -4,7 +4,6 @@ apply plugin: 'kotlin-android-extensions'
android {
compileSdkVersion 28
- buildToolsVersion '28.0.3'
defaultConfig {
applicationId "com.marceljurtz.lifecounter"
@@ -22,6 +21,7 @@ android {
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
+ namespace 'com.marceljurtz.lifecounter'
}
dependencies {
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index add0246..6396b43 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -1,6 +1,5 @@
-
+
{
val players = ArrayList()
- val p1 = Player.GetInstanceByJson(preferences.getString(PlayerIdEnum.ONE.toString(), null))
- val p2 = Player.GetInstanceByJson(preferences.getString(PlayerIdEnum.TWO.toString(), null))
- val p3 = Player.GetInstanceByJson(preferences.getString(PlayerIdEnum.THREE.toString(), null))
- val p4 = Player.GetInstanceByJson(preferences.getString(PlayerIdEnum.FOUR.toString(), null))
+ val p1 = preferences.getString(PlayerIdEnum.ONE.toString(), "0")
+ ?.let { Player.GetInstanceByJson(it) }
+ val p2 = preferences.getString(PlayerIdEnum.TWO.toString(), "0")
+ ?.let { Player.GetInstanceByJson(it) }
+ val p3 = preferences.getString(PlayerIdEnum.THREE.toString(), "0")
+ ?.let { Player.GetInstanceByJson(it) }
+ val p4 = preferences.getString(PlayerIdEnum.FOUR.toString(), "0")
+ ?.let { Player.GetInstanceByJson(it) }
if (p1 != null)
players.add(p1)
@@ -232,8 +236,10 @@ object PreferenceManager {
fun load2PlayerPointsData(preferences: SharedPreferences): Array {
val players = arrayOfNulls(2)
- val p1 = Player.GetInstanceByJson(preferences.getString(PlayerIdEnum.ONE.toString() + SUFFIX_2PLAYER, null))
- val p2 = Player.GetInstanceByJson(preferences.getString(PlayerIdEnum.TWO.toString() + SUFFIX_2PLAYER, null))
+ val p1 = preferences.getString(PlayerIdEnum.ONE.toString() + SUFFIX_2PLAYER, null)
+ ?.let { Player.GetInstanceByJson(it) }
+ val p2 = preferences.getString(PlayerIdEnum.TWO.toString() + SUFFIX_2PLAYER, null)
+ ?.let { Player.GetInstanceByJson(it) }
if (p1 != null)
players[0] = p1
@@ -261,10 +267,14 @@ object PreferenceManager {
fun load4PlayerPointsData(preferences: SharedPreferences): Array {
val players = arrayOfNulls(4)
- val p1 = Player.GetInstanceByJson(preferences.getString(PlayerIdEnum.ONE.toString() + SUFFIX_4PLAYER, null))
- val p2 = Player.GetInstanceByJson(preferences.getString(PlayerIdEnum.TWO.toString() + SUFFIX_4PLAYER, null))
- val p3 = Player.GetInstanceByJson(preferences.getString(PlayerIdEnum.THREE.toString() + SUFFIX_4PLAYER, null))
- val p4 = Player.GetInstanceByJson(preferences.getString(PlayerIdEnum.FOUR.toString() + SUFFIX_4PLAYER, null))
+ val p1 = preferences.getString(PlayerIdEnum.ONE.toString() + SUFFIX_4PLAYER, null)
+ ?.let { Player.GetInstanceByJson(it) }
+ val p2 = preferences.getString(PlayerIdEnum.TWO.toString() + SUFFIX_4PLAYER, null)
+ ?.let { Player.GetInstanceByJson(it) }
+ val p3 = preferences.getString(PlayerIdEnum.THREE.toString() + SUFFIX_4PLAYER, null)
+ ?.let { Player.GetInstanceByJson(it) }
+ val p4 = preferences.getString(PlayerIdEnum.FOUR.toString() + SUFFIX_4PLAYER, null)
+ ?.let { Player.GetInstanceByJson(it) }
if (p1 != null)
players[0] = p1
diff --git a/app/src/main/java/com/marceljurtz/lifecounter/views/Game/GameActivity.kt b/app/src/main/java/com/marceljurtz/lifecounter/views/Game/GameActivity.kt
index 33f42cd..ea38cc0 100644
--- a/app/src/main/java/com/marceljurtz/lifecounter/views/Game/GameActivity.kt
+++ b/app/src/main/java/com/marceljurtz/lifecounter/views/Game/GameActivity.kt
@@ -30,106 +30,105 @@ import com.marceljurtz.lifecounter.views.Intro.IntroActivity
import androidx.appcompat.widget.Toolbar
import androidx.drawerlayout.widget.DrawerLayout
+@Suppress("DEPRECATION")
class GameActivity : com.marceljurtz.lifecounter.views.Base.View(), IGameView {
//endregion
-
+ private lateinit var preferences: SharedPreferences
override var playerAmount: Int = 0
-// internal set(value: Int) {
-// super.playerAmount = value
-// }
- internal var player1: Player? = null
- internal var player2: Player? = null
- internal var player3: Player? = null
- internal var player4: Player? = null
+ private var player1: Player? = null
+ private var player2: Player? = null
+ private var player3: Player? = null
+ private var player4: Player? = null
- internal val preferences: SharedPreferences = getSharedPreferences(PreferenceManager.PREFS, Activity.MODE_PRIVATE)
+// private val preferences: SharedPreferences = this.getSharedPreferences(PreferenceManager.PREFS, Activity.MODE_PRIVATE)
//region Controls
- internal var mainLayout: DrawerLayout? = null;
- internal var layoutPlayer1: RelativeLayout? = null;
- internal var layoutPlayer2: RelativeLayout? = null;
- internal var layoutPlayer3: RelativeLayout? = null;
- internal var layoutPlayer4: RelativeLayout? = null;
+ private var mainLayout: DrawerLayout? = null;
+ private var layoutPlayer1: RelativeLayout? = null;
+ private var layoutPlayer2: RelativeLayout? = null;
+ private var layoutPlayer3: RelativeLayout? = null;
+ private var layoutPlayer4: RelativeLayout? = null;
+
+ private var cmdPlusPlayer1: ImageButton? = null;
+ private var cmdPlusPlayer2: ImageButton? = null;
+ private var cmdPlusPlayer3: ImageButton? = null;
+ private var cmdPlusPlayer4: ImageButton? = null;
- internal var cmdPlusPlayer1: ImageButton? = null;
- internal var cmdPlusPlayer2: ImageButton? = null;
- internal var cmdPlusPlayer3: ImageButton? = null;
- internal var cmdPlusPlayer4: ImageButton? = null;
+ private var cmdMinusPlayer1: ImageButton? = null;
+ private var cmdMinusPlayer2: ImageButton? = null;
+ private var cmdMinusPlayer3: ImageButton? = null;
+ private var cmdMinusPlayer4: ImageButton? = null;
- internal var cmdMinusPlayer1: ImageButton? = null;
- internal var cmdMinusPlayer2: ImageButton? = null;
- internal var cmdMinusPlayer3: ImageButton? = null;
- internal var cmdMinusPlayer4: ImageButton? = null;
+ private var cmdResetLP: ImageButton? = null;
+ private var cmdTogglePoison: ImageButton? = null;
- internal var cmdResetLP: ImageButton? = null;
- internal var cmdTogglePoison: ImageButton? = null;
+ private var cmdPlusPoisonPlayer1: ImageButton? = null
+ private var cmdPlusPoisonPlayer2: ImageButton? = null
+ private var cmdPlusPoisonPlayer3: ImageButton? = null
+ private var cmdPlusPoisonPlayer4: ImageButton? = null
- internal var cmdPlusPoisonPlayer1: ImageButton? = null;
- internal var cmdPlusPoisonPlayer2: ImageButton? = null;
- internal var cmdPlusPoisonPlayer3: ImageButton? = null;
- internal var cmdPlusPoisonPlayer4: ImageButton? = null;
+ private var cmdMinusPoisonPlayer1: ImageButton? = null
+ private var cmdMinusPoisonPlayer2: ImageButton? = null
+ private var cmdMinusPoisonPlayer3: ImageButton? = null
+ private var cmdMinusPoisonPlayer4: ImageButton? = null
- internal var cmdMinusPoisonPlayer1: ImageButton? = null;
- internal var cmdMinusPoisonPlayer2: ImageButton? = null;
- internal var cmdMinusPoisonPlayer3: ImageButton? = null;
- internal var cmdMinusPoisonPlayer4: ImageButton? = null;
+ private var cmdToggleColorSettings: ImageButton? = null
- internal var cmdToggleColorSettings: ImageButton? = null;
+ private var cmdBlackPlayer1: Button? = null
+ private var cmdBlackPlayer2: Button? = null
+ private var cmdBlackPlayer3: Button? = null
+ private var cmdBlackPlayer4: Button? = null
- internal var cmdBlackPlayer1: Button? = null;
- internal var cmdBlackPlayer2: Button? = null;
- internal var cmdBlackPlayer3: Button? = null;
- internal var cmdBlackPlayer4: Button? = null;
+ private var cmdBluePlayer1: Button? = null
+ private var cmdBluePlayer2: Button? = null
+ private var cmdBluePlayer3: Button? = null
+ private var cmdBluePlayer4: Button? = null
- internal var cmdBluePlayer1: Button? = null;
- internal var cmdBluePlayer2: Button? = null;
- internal var cmdBluePlayer3: Button? = null;
- internal var cmdBluePlayer4: Button? = null;
+ private var cmdGreenPlayer1: Button? = null
+ private var cmdGreenPlayer2: Button? = null
+ private var cmdGreenPlayer3: Button? = null
+ private var cmdGreenPlayer4: Button? = null
- internal var cmdGreenPlayer1: Button? = null;
- internal var cmdGreenPlayer2: Button? = null;
- internal var cmdGreenPlayer3: Button? = null;
- internal var cmdGreenPlayer4: Button? = null;
+ private var cmdRedPlayer1: Button? = null
+ private var cmdRedPlayer2: Button? = null
+ private var cmdRedPlayer3: Button? = null
+ private var cmdRedPlayer4: Button? = null
- internal var cmdRedPlayer1: Button? = null;
- internal var cmdRedPlayer2: Button? = null;
- internal var cmdRedPlayer3: Button? = null;
- internal var cmdRedPlayer4: Button? = null;
+ private var cmdWhitePlayer1: Button? = null
+ private var cmdWhitePlayer2: Button? = null
+ private var cmdWhitePlayer3: Button? = null
+ private var cmdWhitePlayer4: Button? = null
- internal var cmdWhitePlayer1: Button? = null;
- internal var cmdWhitePlayer2: Button? = null;
- internal var cmdWhitePlayer3: Button? = null;
- internal var cmdWhitePlayer4: Button? = null;
+ private var txtLifeCountPlayer1: TextView? = null
+ private var txtLifeCountPlayer2: TextView? = null
+ private var txtLifeCountPlayer3: TextView? = null
+ private var txtLifeCountPlayer4: TextView? = null
- internal var txtLifeCountPlayer1: TextView? = null;
- internal var txtLifeCountPlayer2: TextView? = null;
- internal var txtLifeCountPlayer3: TextView? = null;
- internal var txtLifeCountPlayer4: TextView? = null;
+ private var txtPoisonCountPlayer1: TextView? = null
+ private var txtPoisonCountPlayer2: TextView? = null
+ private var txtPoisonCountPlayer3: TextView? = null
+ private var txtPoisonCountPlayer4: TextView? = null
- internal var txtPoisonCountPlayer1: TextView? = null;
- internal var txtPoisonCountPlayer2: TextView? = null;
- internal var txtPoisonCountPlayer3: TextView? = null;
- internal var txtPoisonCountPlayer4: TextView? = null;
+ private var navigationView: NavigationView? = null
- internal var navigationView: NavigationView? = null;
+ private var toolbar: Toolbar? = null
- internal var toolbar: Toolbar? = null;
//endregion Controls
- internal var showResetConfirmation: Boolean = false
+ private var showResetConfirmation: Boolean = false
override val screenSize: Int
get() = resources.configuration.screenLayout and Configuration.SCREENLAYOUT_SIZE_MASK
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
+ preferences = this.getSharedPreferences(PreferenceManager.PREFS, Activity.MODE_PRIVATE)
checkFirstLaunch()
-
playerAmount = PreferenceManager.getPlayerAmount(preferences)
if (playerAmount == 4) {
@@ -221,12 +220,6 @@ class GameActivity : com.marceljurtz.lifecounter.views.Base.View(), IGameView {
buttonPlayer3 = cmdWhitePlayer3
buttonPlayer4 = cmdWhitePlayer4
}
- else -> {
- buttonPlayer1 = null
- buttonPlayer2 = null
- buttonPlayer3 = null
- buttonPlayer4 = null
- }
}
if (buttonPlayer1 != null && buttonPlayer2 != null) {
(buttonPlayer1.background as GradientDrawable).setColor(color)
diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
new file mode 100644
index 0000000..036d09b
--- /dev/null
+++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
new file mode 100644
index 0000000..036d09b
--- /dev/null
+++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.png b/app/src/main/res/mipmap-hdpi/ic_launcher.png
deleted file mode 100644
index 29fcd4a..0000000
Binary files a/app/src/main/res/mipmap-hdpi/ic_launcher.png and /dev/null differ
diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.webp b/app/src/main/res/mipmap-hdpi/ic_launcher.webp
new file mode 100644
index 0000000..0e7cecd
Binary files /dev/null and b/app/src/main/res/mipmap-hdpi/ic_launcher.webp differ
diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.webp b/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.webp
new file mode 100644
index 0000000..3968c8c
Binary files /dev/null and b/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.webp differ
diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp
new file mode 100644
index 0000000..530b135
Binary files /dev/null and b/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp differ
diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher.png b/app/src/main/res/mipmap-mdpi/ic_launcher.png
deleted file mode 100644
index 6005f75..0000000
Binary files a/app/src/main/res/mipmap-mdpi/ic_launcher.png and /dev/null differ
diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher.webp b/app/src/main/res/mipmap-mdpi/ic_launcher.webp
new file mode 100644
index 0000000..321fd26
Binary files /dev/null and b/app/src/main/res/mipmap-mdpi/ic_launcher.webp differ
diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.webp b/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.webp
new file mode 100644
index 0000000..38ba089
Binary files /dev/null and b/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.webp differ
diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp
new file mode 100644
index 0000000..f63fd76
Binary files /dev/null and b/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/app/src/main/res/mipmap-xhdpi/ic_launcher.png
deleted file mode 100644
index b6a43cb..0000000
Binary files a/app/src/main/res/mipmap-xhdpi/ic_launcher.png and /dev/null differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher.webp
new file mode 100644
index 0000000..10d6d7a
Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/ic_launcher.webp differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.webp
new file mode 100644
index 0000000..0964f9d
Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.webp differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp
new file mode 100644
index 0000000..4df06cd
Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp differ
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
deleted file mode 100644
index 8bfb73b..0000000
Binary files a/app/src/main/res/mipmap-xxhdpi/ic_launcher.png and /dev/null differ
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp
new file mode 100644
index 0000000..6005aea
Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp differ
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.webp b/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.webp
new file mode 100644
index 0000000..f67da82
Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.webp differ
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp
new file mode 100644
index 0000000..d127882
Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
deleted file mode 100644
index ee28983..0000000
Binary files a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png and /dev/null differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp
new file mode 100644
index 0000000..0c096c7
Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.webp b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.webp
new file mode 100644
index 0000000..446f0b4
Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.webp differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp
new file mode 100644
index 0000000..2a98448
Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp differ
diff --git a/app/src/main/res/values/ic_launcher_background.xml b/app/src/main/res/values/ic_launcher_background.xml
new file mode 100644
index 0000000..beab31f
--- /dev/null
+++ b/app/src/main/res/values/ic_launcher_background.xml
@@ -0,0 +1,4 @@
+
+
+ #000000
+
\ No newline at end of file
diff --git a/build.gradle b/build.gradle
index 7ab8719..15ef571 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,7 +1,7 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
- ext.kotlin_version = '1.3.10'
+ ext.kotlin_version = '1.6.21'
repositories {
jcenter()
google()
@@ -9,7 +9,7 @@ buildscript {
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath "org.jetbrains.kotlin:kotlin-allopen:$kotlin_version"
- classpath 'com.android.tools.build:gradle:3.5.3'
+ classpath 'com.android.tools.build:gradle:8.1.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
diff --git a/gradle.properties b/gradle.properties
index ccb748f..c2b896e 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -18,4 +18,7 @@
# org.gradle.parallel=true
android.useAndroidX=true
-android.enableJetifier=true
\ No newline at end of file
+android.enableJetifier=true
+android.defaults.buildfeatures.buildconfig=true
+android.nonTransitiveRClass=false
+android.nonFinalResIds=false
\ No newline at end of file
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index f0e7243..3a0ed9b 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-all.zip