From 18d40997e4d423d7155f8f416371af2097bdcf8b Mon Sep 17 00:00:00 2001 From: Jim Martens Date: Mon, 15 Jul 2019 21:31:10 +0200 Subject: [PATCH] Fixed remaining flow issues --- .../com/example/myfirstapp/MainActivity.kt | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/example/myfirstapp/MainActivity.kt b/app/src/main/java/com/example/myfirstapp/MainActivity.kt index 00163f7..d08f320 100644 --- a/app/src/main/java/com/example/myfirstapp/MainActivity.kt +++ b/app/src/main/java/com/example/myfirstapp/MainActivity.kt @@ -53,6 +53,7 @@ class MainActivity : AppCompatActivity() { val text: String = spinner.selectedItem.toString() val message = Message(text, true, System.currentTimeMillis()) data.add(message) + recyclerView.scrollToPosition(data.size - 1) viewAdapter.notifyItemInserted(data.size - 1) nextStage(text) @@ -73,6 +74,7 @@ class MainActivity : AppCompatActivity() { // second selection problem = Problem.valueOf(selection.toUpperCase().replace(' ', '_')) data.add(Message(getString(R.string.okay), false, System.currentTimeMillis())) + recyclerView.scrollToPosition(data.size - 1) solutionQuestion() } in resources.getStringArray(R.array.binary) -> { @@ -87,14 +89,16 @@ class MainActivity : AppCompatActivity() { false, System.currentTimeMillis() )) - TODO("disable button or otherwise indicate end of program reached") + recyclerView.scrollToPosition(data.size - 1) + // disable button or otherwise indicate end of program reached } getString(R.string.can_you_say_sth_different) -> { data.add(Message(getString(R.string.okay), false, System.currentTimeMillis())) data.add(Message(getString(R.string.im_gardner), false, System.currentTimeMillis())) data.add(Message(getString(R.string.okay_saves_time), false, System.currentTimeMillis())) data.add(Message(getString(R.string.its_funny), false, System.currentTimeMillis())) - TODO("disable button or otherwise indicate end of program reached") + recyclerView.scrollToPosition(data.size - 1) + // disable button or otherwise indicate end of program reached } } } @@ -115,6 +119,7 @@ class MainActivity : AppCompatActivity() { private fun secondChoice() { data.add(Message(getString(R.string.okay), false, System.currentTimeMillis())) data.add(Message(getString(R.string.select_problem), false, System.currentTimeMillis())) + recyclerView.scrollToPosition(data.size - 1) spinnerOptions.clear() when (component) { Component.PRINTER -> spinnerOptions.addAll(resources.getStringArray(R.array.printer_problems)) @@ -135,6 +140,7 @@ class MainActivity : AppCompatActivity() { val firstSolutionQuestion = getString(R.string.have_you_tried, solutions[0]) nextSolutionIndex++ data.add(Message(firstSolutionQuestion, false, System.currentTimeMillis())) + recyclerView.scrollToPosition(data.size - 1) spinnerOptions.clear() spinnerOptions.addAll(resources.getStringArray(R.array.binary)) adapter.notifyDataSetChanged() @@ -157,6 +163,7 @@ class MainActivity : AppCompatActivity() { private fun didItWorkQuestion() { data.add(Message(getString(R.string.okay), false, System.currentTimeMillis())) data.add(Message(getString(R.string.did_it_work), false, System.currentTimeMillis())) + recyclerView.scrollToPosition(data.size - 1) currentSolutionState = State.DID_IT_WORK } @@ -164,11 +171,13 @@ class MainActivity : AppCompatActivity() { data.add(Message(getString(R.string.okay), false, System.currentTimeMillis())) data.add(Message(getString(R.string.please_try), false, System.currentTimeMillis())) data.add(Message(getString(R.string.i_wait), false, System.currentTimeMillis())) - data.add(Message(getString(R.string.have_you_tried), false, System.currentTimeMillis())) + data.add(Message(getString(R.string.have_you_tried, solutions[nextSolutionIndex - 1]), false, System.currentTimeMillis())) + recyclerView.scrollToPosition(data.size - 1) } private fun problemSolved() { data.add(Message(getString(R.string.okay), false, System.currentTimeMillis())) + recyclerView.scrollToPosition(data.size - 1) spinnerOptions.clear() spinnerOptions.add(getString(R.string.can_you_say_sth_different)) adapter.notifyDataSetChanged() @@ -194,6 +203,7 @@ class MainActivity : AppCompatActivity() { summary = summary.plus(item) } data.add(Message(summary, false, System.currentTimeMillis())) + recyclerView.scrollToPosition(data.size - 1) spinnerOptions.clear() spinnerOptions.add(getString(R.string.who_are_you)) adapter.notifyDataSetChanged() @@ -201,7 +211,9 @@ class MainActivity : AppCompatActivity() { else { val solutionQuestion = getString(R.string.have_you_tried, solutions[nextSolutionIndex]) nextSolutionIndex++ + currentSolutionState = State.HAVE_YOU_TRIED data.add(Message(solutionQuestion, false, System.currentTimeMillis())) + recyclerView.scrollToPosition(data.size - 1) spinnerOptions.clear() spinnerOptions.addAll(resources.getStringArray(R.array.binary)) adapter.notifyDataSetChanged()