Fix bad connection status #84

This commit is contained in:
Ludovic Goix 2020-07-17 17:06:29 -04:00
parent c10beb816a
commit 4137f5e787
3 changed files with 10 additions and 7 deletions

View file

@ -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
}

View file

@ -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)