Made more reliable display of connectivity state on main screen.

This commit is contained in:
Revertron 2024-11-25 16:48:12 +01:00
parent 054e1c9792
commit ff23d3418e

View file

@ -152,15 +152,15 @@ class MainActivity : AppCompatActivity() {
override fun onReceive(context: Context?, intent: Intent) { override fun onReceive(context: Context?, intent: Intent) {
when (intent.getStringExtra("type")) { when (intent.getStringExtra("type")) {
"state" -> { "state" -> {
enabledLabel.text = if (intent.getBooleanExtra("started", false)) { val peerState = JSONArray(intent.getStringExtra("peers") ?: "[]")
var count = 0 var count = 0
if (intent.hasExtra("peers")) { for (i in 0..<peerState.length()) {
val peers = intent.getStringExtra("peers") val peer = peerState.getJSONObject(i)
if (peers != null && peers != "null") { if (peer.getString("IP").isNotEmpty()) {
val peerState = JSONArray(peers) count += 1
count = peerState.length()
}
} }
}
enabledLabel.text = if (intent.getBooleanExtra("started", false)) {
if (count == 0) { if (count == 0) {
enabledLabel.setTextColor(Color.RED) enabledLabel.setTextColor(Color.RED)
getString(R.string.main_no_connectivity) getString(R.string.main_no_connectivity)
@ -175,8 +175,7 @@ class MainActivity : AppCompatActivity() {
ipAddressLabel.text = intent.getStringExtra("ip") ?: "N/A" ipAddressLabel.text = intent.getStringExtra("ip") ?: "N/A"
subnetLabel.text = intent.getStringExtra("subnet") ?: "N/A" subnetLabel.text = intent.getStringExtra("subnet") ?: "N/A"
if (intent.hasExtra("peers")) { if (intent.hasExtra("peers")) {
val peerState = JSONArray(intent.getStringExtra("peers") ?: "[]") peersLabel.text = when (count) {
peersLabel.text = when (val count = peerState.length()) {
0 -> getString(R.string.main_no_peers) 0 -> getString(R.string.main_no_peers)
1 -> getString(R.string.main_one_peer) 1 -> getString(R.string.main_one_peer)
else -> getString(R.string.main_many_peers, count) else -> getString(R.string.main_many_peers, count)