diff --git a/.idea/AndroidProjectSystem.xml b/.idea/AndroidProjectSystem.xml
new file mode 100644
index 0000000..4a53bee
--- /dev/null
+++ b/.idea/AndroidProjectSystem.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/deviceManager.xml b/.idea/deviceManager.xml
new file mode 100644
index 0000000..91f9558
--- /dev/null
+++ b/.idea/deviceManager.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/gradle.xml b/.idea/gradle.xml
index ae733f1..639c779 100644
--- a/.idea/gradle.xml
+++ b/.idea/gradle.xml
@@ -1,5 +1,6 @@
+
@@ -12,7 +13,6 @@
-
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 74dd639..b2c751a 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -1,4 +1,3 @@
-
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
index d843f34..35eb1dd 100644
--- a/.idea/vcs.xml
+++ b/.idea/vcs.xml
@@ -1,4 +1,6 @@
-
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/edu/temple/dicethrow/BaseBundle.java b/app/src/main/java/edu/temple/dicethrow/BaseBundle.java
new file mode 100644
index 0000000..15c310f
--- /dev/null
+++ b/app/src/main/java/edu/temple/dicethrow/BaseBundle.java
@@ -0,0 +1,4 @@
+package edu.temple.dicethrow;
+
+public class BaseBundle {
+}
diff --git a/app/src/main/java/edu/temple/dicethrow/DieFragment.kt b/app/src/main/java/edu/temple/dicethrow/DieFragment.kt
index 90530d7..22fed5d 100644
--- a/app/src/main/java/edu/temple/dicethrow/DieFragment.kt
+++ b/app/src/main/java/edu/temple/dicethrow/DieFragment.kt
@@ -10,18 +10,19 @@ import kotlin.random.Random
class DieFragment : Fragment() {
- val DIESIDE = "sidenumber"
-
lateinit var dieTextView: TextView
+ var currentRoll = 1
var dieSides: Int = 6
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
arguments?.let {
- it.getInt(DIESIDE).run {
- dieSides = this
- }
+ dieSides = it.getInt(DIESIDE, 6)
+ }
+
+ savedInstanceState?.getInt(ROLL_KEY)?.run {
+ currentRoll = this
}
}
@@ -37,13 +38,27 @@ class DieFragment : Fragment() {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
- throwDie()
- view.setOnClickListener{
- throwDie()
- }
+ dieTextView.text = currentRoll.toString()
+ }
+
+ override fun onSaveInstanceState(outState: Bundle) {
+ super.onSaveInstanceState(outState)
+ outState.putInt(ROLL_KEY, currentRoll)
}
fun throwDie() {
- dieTextView.text = Random.nextInt(dieSides).toString()
+ currentRoll = Random.nextInt(dieSides) + 1
+ dieTextView.text = currentRoll.toString()
+ }
+
+ companion object {
+ private const val DIESIDE = "sidenumber"
+ private const val ROLL_KEY = "current_role"
+
+ fun newInstance(sides: Int) = DieFragment().apply {
+ arguments = Bundle().apply {
+ putInt(DIESIDE, sides)
+ }
+ }
}
}
\ No newline at end of file
diff --git a/app/src/main/java/edu/temple/dicethrow/MainActivity.kt b/app/src/main/java/edu/temple/dicethrow/MainActivity.kt
index aa91cf6..64079ee 100644
--- a/app/src/main/java/edu/temple/dicethrow/MainActivity.kt
+++ b/app/src/main/java/edu/temple/dicethrow/MainActivity.kt
@@ -1,14 +1,28 @@
package edu.temple.dicethrow
import android.os.Bundle
-import androidx.activity.enableEdgeToEdge
+import android.widget.Button
import androidx.appcompat.app.AppCompatActivity
-import androidx.core.view.ViewCompat
-import androidx.core.view.WindowInsetsCompat
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
+
+ // Add fragments only the first time the activity is created
+ if (savedInstanceState == null) {
+ supportFragmentManager
+ .beginTransaction()
+ .replace(R.id.fragmentContainerView, DieFragment.newInstance(6))
+ .replace(R.id.fragmentContainerView2, DieFragment.newInstance(10))
+ .commit()
+ }
+
+ val rollButton = findViewById