diff --git a/app/src/main/java/com/geeksville/mesh/MainActivity.kt b/app/src/main/java/com/geeksville/mesh/MainActivity.kt index 518310272..8c958c4b9 100644 --- a/app/src/main/java/com/geeksville/mesh/MainActivity.kt +++ b/app/src/main/java/com/geeksville/mesh/MainActivity.kt @@ -25,6 +25,7 @@ import android.view.MotionEvent import android.widget.Toast import androidx.activity.viewModels import androidx.appcompat.app.AppCompatActivity +import androidx.appcompat.widget.TooltipCompat import androidx.core.app.ActivityCompat import androidx.core.content.ContextCompat import androidx.fragment.app.Fragment @@ -390,14 +391,7 @@ class MainActivity : AppCompatActivity(), Logging, }.attach() model.isConnected.observe(this, Observer { connected -> - val image = when (connected) { - MeshService.ConnectionState.CONNECTED -> R.drawable.cloud_on - MeshService.ConnectionState.DEVICE_SLEEP -> R.drawable.ic_twotone_cloud_upload_24 - MeshService.ConnectionState.DISCONNECTED -> R.drawable.cloud_off - else -> R.drawable.cloud_off - } - - connectStatusImage.setImageResource(image) + updateConnectionStatusImage(connected) }) // Handle any intent @@ -406,6 +400,26 @@ class MainActivity : AppCompatActivity(), Logging, askToRate() } + private fun updateConnectionStatusImage(connected: MeshService.ConnectionState) { + + val (image, tooltip) = when (connected) { + MeshService.ConnectionState.CONNECTED -> Pair(R.drawable.cloud_on, R.string.connected) + MeshService.ConnectionState.DEVICE_SLEEP -> Pair( + R.drawable.ic_twotone_cloud_upload_24, + R.string.device_sleeping + ) + MeshService.ConnectionState.DISCONNECTED -> Pair( + R.drawable.cloud_off, + R.string.disconnected + ) + else -> Pair(R.drawable.cloud_off, R.string.disconnected) + } + + connectStatusImage.setImageResource(image) + TooltipCompat.setTooltipText(connectStatusImage, getString(tooltip)) + } + + override fun onNewIntent(intent: Intent) { super.onNewIntent(intent) diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 017a300f0..7c3063cca 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -55,6 +55,7 @@ Connected: %s of %s online A list of nodes in the network Update Firmware + Connected to radio Connected to radio (%s) Not connected, select radio below Connected to radio, but it is sleeping