From f117b04b59455812e5f64c53c89a33c8a9fef09a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bart=C5=82omiej=20Przemys=C5=82aw=20Pluta?= Date: Sat, 9 May 2020 16:38:34 +0200 Subject: [PATCH] Improve main activity user experience --- app/src/main/java/io/bartek/MainActivity.kt | 18 ++++++++++++++---- app/src/main/res/drawable/ic_power_off.xml | 5 +++++ app/src/main/res/drawable/ic_power_on.xml | 5 +++++ app/src/main/res/layout/activity_main.xml | 16 ++++++++++++---- app/src/main/res/values/strings.xml | 2 ++ 5 files changed, 38 insertions(+), 8 deletions(-) create mode 100644 app/src/main/res/drawable/ic_power_off.xml create mode 100644 app/src/main/res/drawable/ic_power_on.xml diff --git a/app/src/main/java/io/bartek/MainActivity.kt b/app/src/main/java/io/bartek/MainActivity.kt index 9256a5e..88b3237 100644 --- a/app/src/main/java/io/bartek/MainActivity.kt +++ b/app/src/main/java/io/bartek/MainActivity.kt @@ -6,8 +6,10 @@ import android.os.Bundle import android.view.Menu import android.view.MenuItem import android.view.View -import android.widget.Button +import android.widget.TextView +import android.widget.Toast import androidx.appcompat.app.AppCompatActivity +import androidx.appcompat.widget.AppCompatImageButton import androidx.localbroadcastmanager.content.LocalBroadcastManager import io.bartek.preference.PreferencesActivity import io.bartek.service.ForegroundService @@ -15,7 +17,8 @@ import io.bartek.service.ServiceState class MainActivity : AppCompatActivity() { - private lateinit var controlServerButton: Button + private lateinit var controlServerButton: AppCompatImageButton + private lateinit var promptText: TextView private val receiver = object : BroadcastReceiver() { override fun onReceive(context: Context?, intent: Intent?) { @@ -43,8 +46,14 @@ class MainActivity : AppCompatActivity() { private fun updateViewAccordingToServiceState(newState: ServiceState) { controlServerButton.isEnabled = true when (newState) { - ServiceState.STOPPED -> controlServerButton.text = getString(R.string.main_activity_run) - ServiceState.RUNNING -> controlServerButton.text = getString(R.string.main_activity_stop) + ServiceState.STOPPED -> { + controlServerButton.setImageResource(R.drawable.ic_power_off) + promptText.text = getString(R.string.main_activity_prompt_to_run) + } + ServiceState.RUNNING -> { + controlServerButton.setImageResource(R.drawable.ic_power_on) + promptText.text = getString(R.string.main_activity_prompt_to_stop) + } } } @@ -52,6 +61,7 @@ class MainActivity : AppCompatActivity() { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) controlServerButton = findViewById(R.id.control_server_button) + promptText = findViewById(R.id.prompt_text) } override fun onResume() { diff --git a/app/src/main/res/drawable/ic_power_off.xml b/app/src/main/res/drawable/ic_power_off.xml new file mode 100644 index 0000000..5b4d42f --- /dev/null +++ b/app/src/main/res/drawable/ic_power_off.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_power_on.xml b/app/src/main/res/drawable/ic_power_on.xml new file mode 100644 index 0000000..03ca0e6 --- /dev/null +++ b/app/src/main/res/drawable/ic_power_on.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index db539c0..21e289c 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -7,11 +7,19 @@ android:orientation="vertical" tools:context=".MainActivity"> -