From 4137f5e7877daa1d280f8f82d883cd4fde509985 Mon Sep 17 00:00:00 2001 From: Ludovic Goix Date: Fri, 17 Jul 2020 17:06:29 -0400 Subject: [PATCH] Fix bad connection status #84 --- .../main/java/com/geeksville/mesh/MainActivity.kt | 12 ++++++------ .../main/java/com/geeksville/mesh/model/UIState.kt | 3 +++ app/src/main/res/layout/adapter_node_layout.xml | 2 +- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/com/geeksville/mesh/MainActivity.kt b/app/src/main/java/com/geeksville/mesh/MainActivity.kt index dbc81456b..60a605bfa 100644 --- a/app/src/main/java/com/geeksville/mesh/MainActivity.kt +++ b/app/src/main/java/com/geeksville/mesh/MainActivity.kt @@ -122,8 +122,6 @@ class MainActivity : AppCompatActivity(), Logging, bluetoothManager.adapter } - private var actionBarMenu: Menu? = null - val model: UIViewModel by viewModels() data class TabInfo(val text: String, val icon: Int, val content: Fragment) @@ -420,7 +418,7 @@ class MainActivity : AppCompatActivity(), Logging, private fun updateConnectionStatusImage(connected: MeshService.ConnectionState) { - if (actionBarMenu == null) + if (model.actionBarMenu == null) return val (image, tooltip) = when (connected) { @@ -433,10 +431,9 @@ class MainActivity : AppCompatActivity(), Logging, R.drawable.cloud_off, R.string.disconnected ) - // else -> Pair(R.drawable.cloud_off, R.string.disconnected) } - val item = actionBarMenu?.findItem(R.id.connectStatusImage) + val item = model.actionBarMenu?.findItem(R.id.connectStatusImage) if (item != null) { item.setIcon(image) item.setTitle(tooltip) @@ -835,7 +832,10 @@ class MainActivity : AppCompatActivity(), Logging, override fun onCreateOptionsMenu(menu: Menu): Boolean { // Inflate the menu; this adds items to the action bar if it is present. menuInflater.inflate(R.menu.menu_main, menu) - actionBarMenu = menu + model.actionBarMenu = menu + + updateConnectionStatusImage(model.isConnected.value!!) + return true } diff --git a/app/src/main/java/com/geeksville/mesh/model/UIState.kt b/app/src/main/java/com/geeksville/mesh/model/UIState.kt index d18e10ed6..eeb100c6b 100644 --- a/app/src/main/java/com/geeksville/mesh/model/UIState.kt +++ b/app/src/main/java/com/geeksville/mesh/model/UIState.kt @@ -5,6 +5,7 @@ import android.content.Context import android.content.SharedPreferences import android.net.Uri import android.os.RemoteException +import android.view.Menu import androidx.core.content.edit import androidx.lifecycle.AndroidViewModel import androidx.lifecycle.MutableLiveData @@ -50,6 +51,8 @@ class UIViewModel(app: Application) : AndroidViewModel(app), Logging { private val context = app.applicationContext + var actionBarMenu: Menu? = null + var meshService: IMeshService? = null val nodeDB = NodeDB(this) diff --git a/app/src/main/res/layout/adapter_node_layout.xml b/app/src/main/res/layout/adapter_node_layout.xml index e519cba7f..86d70f043 100644 --- a/app/src/main/res/layout/adapter_node_layout.xml +++ b/app/src/main/res/layout/adapter_node_layout.xml @@ -87,7 +87,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginEnd="8dp" - android:text="06/14 15h01 (13 min ago)" + android:text="11h01 PM" android:visibility="visible" app:layout_constraintBottom_toBottomOf="@+id/lastCommIcon" app:layout_constraintEnd_toEndOf="parent"