Commit ac18280e authored by shohboz's avatar shohboz

[ADD] MUS-199 Feature, added service screen

parent de52bb36
package com.mobiuz.app.dev.ui.service
import android.content.Intent
import android.os.Bundle
import android.view.View
import androidx.lifecycle.ViewModelProvider
import com.mobiuz.app.R
import com.mobiuz.app.databinding.FragmentServiceBinding
import com.mobiuz.app.dev.MainViewModel
import com.mobiuz.app.dev.ui.base.BaseFragment
import com.mobiuz.app.dev.ui.global.ButtonClick
import com.mobiuz.app.dev.ui.global.CONSTANTS
import dagger.hilt.android.AndroidEntryPoint
@AndroidEntryPoint
class ServiceFragment : BaseFragment(R.layout.fragment_service) {
private lateinit var mainViewModel: MainViewModel
private var _bn: FragmentServiceBinding? = null
private val bn get() = _bn ?: throw NullPointerException("cannot inflate")
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
mainViewModel = ViewModelProvider(requireActivity())[MainViewModel::class.java]
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
_bn = FragmentServiceBinding.bind(view)
setUpUI()
collects()
val window = requireActivity().window.decorView
window.systemUiVisibility = window.systemUiVisibility or View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
}
override fun setUpUI() {
bn.apply {
toolbar.setNavigationOnClickListener {
mainViewModel.mainIndex(System.currentTimeMillis())
}
btnUsdCommand.setOnClickListener(object : ButtonClick(){
override fun onSingleClick(v: View?) {
val intent = Intent(requireContext(), ServicesActivity::class.java)
intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_TASK_ON_HOME
startActivity(intent)
}
})
btnTarifi.setOnClickListener(object : ButtonClick(){
override fun onSingleClick(v: View?) {
val intent = Intent(requireContext(), ServicesActivity::class.java)
intent.putExtra(CONSTANTS.TYPE_SERVICE, CONSTANTS.TARIFFS)
intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_TASK_ON_HOME
startActivity(intent)
}
})
btnPaketi.setOnClickListener(object : ButtonClick(){
override fun onSingleClick(v: View?) {
val intent = Intent(requireContext(), ServicesActivity::class.java)
intent.putExtra(CONSTANTS.TYPE_SERVICE, CONSTANTS.PACKETS)
intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_TASK_ON_HOME
startActivity(intent)
}
})
btnMinutesAndSms.setOnClickListener(object : ButtonClick(){
override fun onSingleClick(v: View?) {
val intent = Intent(requireContext(), ServicesActivity::class.java)
intent.putExtra(CONSTANTS.TYPE_SERVICE, CONSTANTS.MINUTES)
intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_TASK_ON_HOME
startActivity(intent)
}
})
}
}
override fun collects() {
}
override fun onDestroy() {
_bn = null
super.onDestroy()
}
}
\ No newline at end of file
package com.mobiuz.app.dev.ui.service
import android.os.Bundle
import android.view.View
import androidx.appcompat.app.AppCompatActivity
import androidx.navigation.NavController
import androidx.navigation.fragment.NavHostFragment
import com.mobiuz.app.R
import com.mobiuz.app.databinding.ActivityServicesBinding
import com.mobiuz.app.dev.model.SharedPref
import com.mobiuz.app.dev.ui.global.CONSTANTS
import com.mobiuz.app.dev.utils.LocaleHelper
import com.mobiuz.app.dev.utils.Utils
import dagger.hilt.android.AndroidEntryPoint
import javax.inject.Inject
@AndroidEntryPoint
class ServicesActivity : AppCompatActivity() {
private var _bn: ActivityServicesBinding? = null
private val bn get() = _bn ?: throw NullPointerException("cannot inflate")
private lateinit var navController: NavController
@Inject
lateinit var pref: SharedPref
override fun onCreate(savedInstanceState: Bundle?) {
LocaleHelper.setLocale(this)
super.onCreate(savedInstanceState)
_bn = ActivityServicesBinding.inflate(layoutInflater)
setContentView(bn.root)
val window = window.decorView
window.systemUiVisibility = window.systemUiVisibility or View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
val fragment = supportFragmentManager.findFragmentById(R.id.services_container) as NavHostFragment
navController = NavHostFragment.findNavController(fragment)
intent?.let {
val type = it.getStringExtra(CONSTANTS.TYPE_SERVICE)
when (type) {
CONSTANTS.TARIFFS -> {
navController.popBackStack()
navController.navigate(R.id.tariffsFragment, null, Utils.navOptions())
}
CONSTANTS.PACKETS -> {
navController.popBackStack()
navController.navigate(R.id.packetsFragment, null, Utils.navOptions())
}
CONSTANTS.MINUTES -> {
navController.popBackStack()
navController.navigate(R.id.minutesFragment, null, Utils.navOptions())
}
else -> Unit
}
}
}
override fun onDestroy() {
_bn = null
super.onDestroy()
}
}
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:fitsSystemWindows="false">
<androidx.fragment.app.FragmentContainerView
android:id="@+id/services_container"
android:name="androidx.navigation.fragment.NavHostFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:defaultNavHost="true"
app:navGraph="@navigation/nav_graph_services"
tools:context=".dev.ui.auth.AuthActivity"/>
</LinearLayout>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment