show connection status in appbar

This commit is contained in:
geeksville
2020-04-08 11:57:31 -07:00
parent db0656f7b9
commit 737b98076a
5 changed files with 72 additions and 24 deletions

View File

@@ -21,8 +21,8 @@ import androidx.appcompat.app.AppCompatActivity
import androidx.core.app.ActivityCompat
import androidx.core.content.ContextCompat
import androidx.fragment.app.Fragment
import androidx.lifecycle.Observer
import androidx.viewpager2.adapter.FragmentStateAdapter
import androidx.viewpager2.widget.ViewPager2
import com.geeksville.android.Logging
import com.geeksville.android.ServiceClient
import com.geeksville.mesh.model.TextMessage
@@ -35,8 +35,8 @@ import com.geeksville.util.exceptionReporter
import com.google.android.gms.auth.api.signin.GoogleSignIn
import com.google.android.gms.auth.api.signin.GoogleSignInAccount
import com.google.android.gms.tasks.Task
import com.google.android.material.tabs.TabLayout
import com.google.android.material.tabs.TabLayoutMediator
import kotlinx.android.synthetic.main.activity_main.*
import java.nio.charset.Charset
/*
@@ -280,8 +280,6 @@ class MainActivity : AppCompatActivity(), Logging,
} */
setContentView(R.layout.activity_main)
val tab_layout = findViewById<TabLayout>(R.id.tab_layout)
val pager = findViewById<ViewPager2>(R.id.pager)
pager.adapter = tabsAdapter
pager.isUserInputEnabled =
false // Gestures for screen switching doesn't work so good with the map view
@@ -289,6 +287,12 @@ class MainActivity : AppCompatActivity(), Logging,
// tab.text = tabInfos[position].text // I think it looks better with icons only
tab.icon = getDrawable(tabInfos[position].icon)
}.attach()
model.isConnected.observe(this, Observer { connected ->
val image =
if (connected != MeshService.ConnectionState.DISCONNECTED) R.drawable.cloud_on else R.drawable.cloud_off
connectStatusImage.setImageDrawable(getDrawable(image))
})
}

View File

@@ -1,7 +1,6 @@
package com.geeksville.mesh.ui
import android.content.Intent
import android.graphics.drawable.BitmapDrawable
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
@@ -68,9 +67,8 @@ class ChannelFragment : ScreenFragment("Channel"), Logging {
channelNameEdit.visibility = View.VISIBLE
channelNameEdit.setText(channel.name)
editableCheckbox.isEnabled = true
val d = BitmapDrawable(resources, channel.getChannelQR())
qrView.setImageDrawable(d)
qrView.setImageBitmap(channel.getChannelQR())
// Share this particular channel if someone clicks share
shareButton.setOnClickListener {
GeeksvilleApplication.analytics.track(