From 2839dd636aa2b8dc80e8860118286a26363be2a1 Mon Sep 17 00:00:00 2001 From: beige Date: Tue, 17 Mar 2026 12:08:51 -0400 Subject: [PATCH 1/4] fixed issue where orientation change would call RollDie() function --- .idea/AndroidProjectSystem.xml | 6 +++++ .idea/deviceManager.xml | 13 ++++++++++ .idea/gradle.xml | 2 +- .idea/misc.xml | 1 - .idea/vcs.xml | 4 ++- .../java/edu/temple/dicethrow/BaseBundle.java | 4 +++ .../java/edu/temple/dicethrow/DieFragment.kt | 25 +++++++++++++++---- .../java/edu/temple/dicethrow/MainActivity.kt | 12 ++++++--- 8 files changed, 56 insertions(+), 11 deletions(-) create mode 100644 .idea/AndroidProjectSystem.xml create mode 100644 .idea/deviceManager.xml create mode 100644 app/src/main/java/edu/temple/dicethrow/BaseBundle.java 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 @@ + 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..d1c4a50 100644 --- a/app/src/main/java/edu/temple/dicethrow/DieFragment.kt +++ b/app/src/main/java/edu/temple/dicethrow/DieFragment.kt @@ -10,10 +10,13 @@ import kotlin.random.Random class DieFragment : Fragment() { - val DIESIDE = "sidenumber" + private val DIESIDE = "sidenumber" + private val ROLL_KEY = "current_role" lateinit var dieTextView: TextView + var currentRoll = 1 + var dieSides: Int = 6 override fun onCreate(savedInstanceState: Bundle?) { @@ -23,6 +26,10 @@ class DieFragment : Fragment() { dieSides = this } } + + savedInstanceState?.getInt(ROLL_KEY)?.run { + currentRoll = this + } } override fun onCreateView( @@ -37,13 +44,21 @@ class DieFragment : Fragment() { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - throwDie() - view.setOnClickListener{ + + if (currentRoll == 0) throwDie() - } + else + 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() } } \ 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..f0fd0a4 100644 --- a/app/src/main/java/edu/temple/dicethrow/MainActivity.kt +++ b/app/src/main/java/edu/temple/dicethrow/MainActivity.kt @@ -1,14 +1,20 @@ 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) + + findViewById