Added custom action bar with USB icon.

This commit is contained in:
vsuryakumar
2023-01-31 17:41:29 +05:30
parent 8c1da820e0
commit ab6e0d50da
10 changed files with 125 additions and 10 deletions

View File

@@ -1,6 +1,5 @@
package com.example.hpos.presentation.testRight
import android.R
import android.app.PendingIntent
import android.content.*
import android.hardware.usb.UsbDevice
@@ -9,16 +8,18 @@ import android.hardware.usb.UsbManager
import android.os.Bundle
import android.os.IBinder
import android.util.Log
import android.view.Menu
import android.view.MenuItem
import android.view.View
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
import androidx.core.content.ContextCompat
import androidx.core.view.get
import androidx.lifecycle.ViewModelProvider
import com.example.hpos.R
import com.example.hpos.data.DataHolder
import com.example.hpos.data.constant.Constants
import com.example.hpos.databinding.ActivityTestRightBinding
import com.example.hpos.util.MyViewModelFactory
import com.google.android.material.snackbar.Snackbar
import com.hoho.android.usbserial.driver.UsbSerialDriver
import com.hoho.android.usbserial.driver.UsbSerialProber
@@ -26,6 +27,7 @@ class TestRightActivity : AppCompatActivity() {
private lateinit var binding: ActivityTestRightBinding
private lateinit var viewModel: TestRightViewModel
private var myMenu: Menu? = null
private lateinit var mDriver: UsbSerialDriver
private var mConnection: UsbDeviceConnection? = null
@@ -74,13 +76,32 @@ class TestRightActivity : AppCompatActivity() {
MyViewModelFactory(this.applicationContext)
)[TestRightViewModel::class.java]
setSupportActionBar(binding.myToolbar)
supportActionBar?.setDisplayHomeAsUpEnabled(true)
// Connected or not connected icon with livetime status using live data
connectUsb(false)
// testing()
// Todo: uncomment it
// connectUsb(false)
}
override fun onCreateOptionsMenu(menu: Menu?): Boolean {
menuInflater.inflate(R.menu.my_menu, menu)
myMenu = menu
// menu?.get(0)?.icon = ContextCompat.getDrawable(this, R.drawable.ic_baseline_circle_24)
return true
}
override fun onOptionsItemSelected(item: MenuItem) = when (item.itemId) {
R.id.action_usb -> {
Toast.makeText(this, "USB Connected", Toast.LENGTH_SHORT).show()
myMenu?.get(0)?.icon = ContextCompat.getDrawable(this, R.drawable.ic_baseline_usb_off_24)
true
}
else -> {super.onOptionsItemSelected(item)}
}
// private fun testing() {
// supportFragmentManager.beginTransaction()
// .replace(binding.flMain.id, TestRightExpSample()).commit()
@@ -168,6 +189,14 @@ class TestRightActivity : AppCompatActivity() {
fun onUsbError(msg: String) {
Toast.makeText(this, msg, Toast.LENGTH_SHORT).show()
// Snackbar.make(binding.flMain, msg, Snackbar.LENGTH_LONG)
// .setAction("CLOSE", object : View.OnClickListener {
// override fun onClick(p0: View?) {
// TODO("Not yet implemented")
// }
// })
// .setActionTextColor(resources.getColor(R.color.holo_red_light))
// .show()
if (!isFinishing)
onBackPressed()
}