refs #6188 feat:UI changes

This commit is contained in:
Sergio De la torre 2024-02-21 12:45:37 +01:00
parent 9cda22a4d9
commit 131dd2421b
9 changed files with 287 additions and 170 deletions

View File

@ -57,6 +57,7 @@ object ConstAndValues {
const val ENTRY = "ENTRY" const val ENTRY = "ENTRY"
const val RENEWINTERVAL = "renewInterval" const val RENEWINTERVAL = "renewInterval"
const val RENEWPERIOD = "renewPeriod" const val RENEWPERIOD = "renewPeriod"
const val MENUBYDEFAULTSELECTED = "MENUBYDEFAULTSELECTED"
} }

View File

@ -1,18 +1,15 @@
package es.verdnatura.presentation.view.feature.ajustes.adapter package es.verdnatura.presentation.view.feature.ajustes.adapter
import android.content.Context import android.content.Context
import android.content.res.Resources
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat
import androidx.core.content.res.ResourcesCompat.getColor
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import es.verdnatura.R import es.verdnatura.R
import es.verdnatura.databinding.ItemAjustesRowBinding import es.verdnatura.databinding.ItemAjustesRowBinding
import es.verdnatura.presentation.common.OnAjustesItemClickListener import es.verdnatura.presentation.common.OnAjustesItemClickListener
import es.verdnatura.presentation.view.feature.ajustes.model.AjustesItemVO import es.verdnatura.presentation.view.feature.ajustes.model.AjustesItemVO
import java.security.AccessController.getContext
class AjustesAdapter ( class AjustesAdapter (
private val items: List<AjustesItemVO>, private val items: List<AjustesItemVO>,

View File

@ -14,6 +14,7 @@ import es.verdnatura.R
import es.verdnatura.databinding.FragmentAjustesBinding import es.verdnatura.databinding.FragmentAjustesBinding
import es.verdnatura.domain.ConstAndValues.ANDROID_ID import es.verdnatura.domain.ConstAndValues.ANDROID_ID
import es.verdnatura.domain.ConstAndValues.ITEMPACKING import es.verdnatura.domain.ConstAndValues.ITEMPACKING
import es.verdnatura.domain.ConstAndValues.MENUBYDEFAULTSELECTED
import es.verdnatura.domain.ConstAndValues.NUMBEROFWAGONS import es.verdnatura.domain.ConstAndValues.NUMBEROFWAGONS
import es.verdnatura.domain.ConstAndValues.PRINTERFK import es.verdnatura.domain.ConstAndValues.PRINTERFK
import es.verdnatura.domain.ConstAndValues.PRINTERNAME import es.verdnatura.domain.ConstAndValues.PRINTERNAME
@ -36,6 +37,7 @@ import es.verdnatura.presentation.view.feature.ajustes.model.SectorItemVO
import es.verdnatura.presentation.view.feature.ajustes.model.Train import es.verdnatura.presentation.view.feature.ajustes.model.Train
import es.verdnatura.presentation.view.feature.articulo.model.ItemPackingType import es.verdnatura.presentation.view.feature.articulo.model.ItemPackingType
import es.verdnatura.presentation.view.feature.login.fragment.LoginViewModel import es.verdnatura.presentation.view.feature.login.fragment.LoginViewModel
import es.verdnatura.presentation.view.feature.pasillero.fragment.PasilleroViewModel
import es.verdnatura.presentation.view.feature.pasillero.model.PasillerosItemVO import es.verdnatura.presentation.view.feature.pasillero.model.PasillerosItemVO
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
@ -54,6 +56,7 @@ class AjustesFragment :
private var itemPackingList: List<ItemPackingType> = listOf() private var itemPackingList: List<ItemPackingType> = listOf()
private var messagePrinter: String? = null private var messagePrinter: String? = null
private lateinit var loginViewModel: LoginViewModel private lateinit var loginViewModel: LoginViewModel
private lateinit var pasilleroViewModel: PasilleroViewModel
//añadido //añadido
private var wagonList: List<String> = listOf() private var wagonList: List<String> = listOf()
@ -153,7 +156,10 @@ class AjustesFragment :
viewModel.train_get() viewModel.train_get()
} else if (item.id == 7) { } else if (item.id == 7) {
viewModel.getItemPackingTypeSalix() viewModel.getItemPackingTypeSalix()
} else if (item.title == getString(R.string.menuByDefault)) {
showMenuByDefault()
} }
} }
} }
@ -212,8 +218,8 @@ class AjustesFragment :
) )
} }
binding.ajustessItems.adapter = ajustesAdapter binding.setttingsItems.adapter = ajustesAdapter
binding.ajustessItems.layoutManager = binding.setttingsItems.layoutManager =
LinearLayoutManager(requireContext(), LinearLayoutManager.VERTICAL, false) LinearLayoutManager(requireContext(), LinearLayoutManager.VERTICAL, false)
loadSectorList.observe(viewLifecycleOwner) { event -> loadSectorList.observe(viewLifecycleOwner) { event ->
@ -343,6 +349,44 @@ class AjustesFragment :
super.observeViewModel() super.observeViewModel()
} }
private fun showMenuByDefault() {
pasilleroViewModel = PasilleroViewModel(mobileApplication)
pasilleroViewModel!!.inititializeDefaultDataInit()
var arrayList: ArrayList<String> = arrayListOf()
pasilleroViewModel!!.pasillerositem.forEach {
arrayList.add(it.title)
}
arrayList.add(getString(R.string.all))
arrayList.sorted()
val builder = AlertDialog.Builder(this.context)
builder.setTitle(getString(R.string.menuByDefault))
builder.setItems((arrayList).toTypedArray()) { _, which ->
val selected = arrayList[which]
arrayList.forEach {
if (it == selected) {
runBlocking {
mobileApplication.dataStoreApp.editDataStoreKey(
MENUBYDEFAULTSELECTED, if (it != getString(R.string.all)) {
it
} else {
""
}
)
}
viewModel.ajustesitem[6].selected = it
ajustesAdapter!!.notifyDataSetChanged()
return@forEach
}
}
}
val dialog = builder.create()
dialog.show()
}
private fun setSettings(actionIsAllowed: Boolean = false) { private fun setSettings(actionIsAllowed: Boolean = false) {
runBlocking { runBlocking {
@ -367,7 +411,10 @@ class AjustesFragment :
mobileApplication.dataStoreApp.readDataStoreKey<String>(PRINTERNAME).toString(), mobileApplication.dataStoreApp.readDataStoreKey<String>(PRINTERNAME).toString(),
mobileApplication.dataStoreApp.readDataStoreKey<String>(TRAINNAME), mobileApplication.dataStoreApp.readDataStoreKey<String>(TRAINNAME),
mobileApplication.dataStoreApp.readDataStoreKey<String>(ITEMPACKING), mobileApplication.dataStoreApp.readDataStoreKey<String>(ITEMPACKING),
actionIsAllowed = actionIsAllowed actionIsAllowed = actionIsAllowed,
menuDefault = mobileApplication.dataStoreApp.readDataStoreKey(
MENUBYDEFAULTSELECTED
)
) )
} }

View File

@ -3,7 +3,7 @@ package es.verdnatura.presentation.view.feature.ajustes.fragment
import android.content.Context import android.content.Context
import androidx.lifecycle.LiveData import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.Transformations import androidx.lifecycle.map
import com.google.gson.JsonObject import com.google.gson.JsonObject
import es.verdnatura.MobileApplication import es.verdnatura.MobileApplication
import es.verdnatura.R import es.verdnatura.R
@ -76,11 +76,20 @@ class AjustesViewModel(val context: Context) : BaseViewModel(context) {
val trainList: LiveData<TrainList> val trainList: LiveData<TrainList>
get() = _trainList get() = _trainList
val loadSectorList = Transformations.map(_sectorList) { Event(it) } //val loadSectorList = Transformations.map(_sectorList) { Event(it) }
val loadPrintersList = Transformations.map(_printerList) { Event(it) } val loadSectorList: LiveData<Event<SectorListVO>> = _sectorList.map { Event(it) }
val loadItemPackingList = Transformations.map(_itemspackinglist) { Event(it) }
val loadTrainList = Transformations.map(_trainList) { Event(it) } //val loadPrintersList = Transformations.map(_printerList) { Event(it) }
val loadUpdatePacking = Transformations.map(_actionUpdatePackingTicket) { Event(it) } val loadPrintersList: LiveData<Event<PrintersList>> = _printerList.map { Event(it) }
//val loadItemPackingList = Transformations.map(_itemspackinglist) { Event(it) }
val loadItemPackingList: LiveData<Event<ItemPackingTypeList>> = _itemspackinglist.map { Event(it) }
//val loadTrainList = Transformations.map(_trainList) { Event(it) }
val loadTrainList: LiveData<Event<TrainList>> = _trainList.map { Event(it) }
//val loadUpdatePacking = Transformations.map(_actionUpdatePackingTicket) { Event(it) }
val loadUpdatePacking: LiveData<Event<ResponseItemVO>> = _actionUpdatePackingTicket.map { Event(it) }
fun inititializeDefaultAjusts( fun inititializeDefaultAjusts(
sectorDescrip: String, sectorDescrip: String,
@ -91,7 +100,8 @@ class AjustesViewModel(val context: Context) : BaseViewModel(context) {
printerSelected: String, printerSelected: String,
train: String?, train: String?,
itemPackingType: String?, itemPackingType: String?,
actionIsAllowed: Boolean actionIsAllowed: Boolean,
menuDefault: String
) { ) {
_ajustesitem.clear() _ajustesitem.clear()
_ajustesitem.add( _ajustesitem.add(
@ -165,6 +175,17 @@ class AjustesViewModel(val context: Context) : BaseViewModel(context) {
true true
) )
) )
_ajustesitem.add(
AjustesItemVO(
9,
context.getString(R.string.menuByDefault),
selected = menuDefault,
0,
0,
0, "",
true
)
)
_ajustesitem.add( _ajustesitem.add(
AjustesItemVO( AjustesItemVO(
5, 5,

View File

@ -9,6 +9,7 @@ import android.os.Build
import android.os.Environment import android.os.Environment
import android.provider.Settings import android.provider.Settings
import android.util.Log.d import android.util.Log.d
import android.view.View.VISIBLE
import androidx.annotation.RequiresApi import androidx.annotation.RequiresApi
import androidx.datastore.preferences.core.stringPreferencesKey import androidx.datastore.preferences.core.stringPreferencesKey
import androidx.lifecycle.Observer import androidx.lifecycle.Observer
@ -116,6 +117,10 @@ class LoginFragment(var imageUri: Uri?) :
//deleteWorkForm("all") //deleteWorkForm("all")
listForms = runBlocking { mobileApplication.dataStoreApp.getWorkForm() } listForms = runBlocking { mobileApplication.dataStoreApp.getWorkForm() }
binding.edittextServer.keyListener = null binding.edittextServer.keyListener = null
binding.textviewWelcome.setOnLongClickListener {
binding.textinputlayoutServer.visibility = VISIBLE
true
}
binding.edittextServer.setOnLongClickListener { binding.edittextServer.setOnLongClickListener {
showWorkingForms() showWorkingForms()
true true

View File

@ -17,6 +17,7 @@ import es.verdnatura.MobileApplication
import es.verdnatura.R import es.verdnatura.R
import es.verdnatura.databinding.ActivityMainBinding import es.verdnatura.databinding.ActivityMainBinding
import es.verdnatura.domain.ConstAndValues.MAINACTIVITY import es.verdnatura.domain.ConstAndValues.MAINACTIVITY
import es.verdnatura.domain.ConstAndValues.MENUBYDEFAULTSELECTED
import es.verdnatura.domain.ConstAndValues.PREITEMPICKER import es.verdnatura.domain.ConstAndValues.PREITEMPICKER
import es.verdnatura.domain.ConstAndValues.PRINTERFK import es.verdnatura.domain.ConstAndValues.PRINTERFK
import es.verdnatura.domain.ConstAndValues.PRINTERFKDEFAULT import es.verdnatura.domain.ConstAndValues.PRINTERFKDEFAULT
@ -224,12 +225,17 @@ class MainActivity : BaseActivity<ActivityMainBinding>(), OnPasillerosItemClickL
PasilleroFragment.TAG, PasilleroFragment.TAG,
false false
) )
else addFragment( else {
mobileApplication.dataStoreApp.readDataStoreKey<String>(MENUBYDEFAULTSELECTED)
.ifBlank {
addFragment(
AjustesFragment.newInstance(), AjustesFragment.newInstance(),
R.id.main_frame_layout, R.id.main_frame_layout,
AjustesFragment.TAG, AjustesFragment.TAG,
false false
) )
}
}
} }

View File

@ -9,10 +9,12 @@ import androidx.recyclerview.widget.DividerItemDecoration
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import es.verdnatura.R import es.verdnatura.R
import es.verdnatura.databinding.FragmentPasilleroBinding import es.verdnatura.databinding.FragmentPasilleroBinding
import es.verdnatura.domain.ConstAndValues.MENUBYDEFAULTSELECTED
import es.verdnatura.domain.ConstAndValues.WORKFORMSELECTED import es.verdnatura.domain.ConstAndValues.WORKFORMSELECTED
import es.verdnatura.presentation.base.BaseFragment import es.verdnatura.presentation.base.BaseFragment
import es.verdnatura.presentation.common.OnPasillerosItemClickListener import es.verdnatura.presentation.common.OnPasillerosItemClickListener
import es.verdnatura.presentation.view.feature.pasillero.adapter.PasillerosAdapter import es.verdnatura.presentation.view.feature.pasillero.adapter.PasillerosAdapter
import es.verdnatura.presentation.view.feature.pasillero.model.PasillerosItemVO
class PasilleroFragment( class PasilleroFragment(
private var tagName: String = "", private var tagName: String = "",
@ -45,8 +47,11 @@ class PasilleroFragment(
var myWorkSelected: String = mobileApplication.dataStoreApp.readDataStoreKey( var myWorkSelected: String = mobileApplication.dataStoreApp.readDataStoreKey(
WORKFORMSELECTED WORKFORMSELECTED
) )
//6188 modificar apariencia
binding.mainToolbarDesign.layoutTool.visibility = View.GONE
if (myWorkSelected != "Producción") { if (myWorkSelected != "Producción") {
binding.pasillerosItems.setBackgroundColor(Color.RED)
binding.mainToolbarDesign.toolbarTitle.setBackgroundColor(Color.RED) binding.mainToolbarDesign.toolbarTitle.setBackgroundColor(Color.RED)
binding.mainToolbarDesign.toolbarTitle.text = binding.mainToolbarDesign.toolbarTitle.text =
String.format(getString(R.string.mode, myWorkSelected)) String.format(getString(R.string.mode, myWorkSelected))
@ -56,6 +61,14 @@ class PasilleroFragment(
binding.mainToolbarDesign.backButton.visibility = View.GONE binding.mainToolbarDesign.backButton.visibility = View.GONE
} }
} else { } else {
//6188 modificar apariencia
val toolbarHeight = resources.getDimensionPixelSize(R.dimen.toolbar_height)
binding.pasillerosItems.setPaddingRelative(
binding.pasillerosItems.paddingStart,
toolbarHeight,
binding.pasillerosItems.paddingEnd,
binding.pasillerosItems.paddingBottom
)
if (tagName == getString(R.string.titleCorridors)) { if (tagName == getString(R.string.titleCorridors)) {
binding.mainToolbarDesign.backButton.visibility = View.GONE binding.mainToolbarDesign.backButton.visibility = View.GONE
} }
@ -74,7 +87,11 @@ class PasilleroFragment(
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
when (tagName) { var showMenu = mobileApplication.dataStoreApp.readDataStoreKey<String>(
MENUBYDEFAULTSELECTED
).ifBlank { tagName }
when (showMenu) {
getString(R.string.titleCorridors) -> { getString(R.string.titleCorridors) -> {
viewModel.inititializeDefaultData() viewModel.inititializeDefaultData()
} }
@ -88,6 +105,32 @@ class PasilleroFragment(
getString(R.string.titleControllers) -> viewModel.inititializeDefaultChecker() getString(R.string.titleControllers) -> viewModel.inititializeDefaultChecker()
getString(R.string.titleOther) -> viewModel.inititializeDefaultOther() getString(R.string.titleOther) -> viewModel.inititializeDefaultOther()
getString(R.string.historicals) -> viewModel.inititializeDefaultHistorical() getString(R.string.historicals) -> viewModel.inititializeDefaultHistorical()
getString(R.string.titlePhotos) -> {
viewModel.inititializeDefaultDataInit(
PasillerosItemVO(
6,
R.drawable.photo_camera,
requireContext().getString(R.string.titlePhotos),
R.string.titlePhotos,
requireContext().getString(R.string.titlePhotos)
)
)
}
getString(R.string.titlePickers) -> {
viewModel.inititializeDefaultDataInit(
PasillerosItemVO(
7,
R.drawable.ic_picker_ui,
requireContext().getString(R.string.titlePickers),
R.string.titlePickers,
requireContext().getString(
R.string.titlePickersDescrip
)
)
)
}
else -> { else -> {
//Tarea 5313 //Tarea 5313

View File

@ -2,6 +2,7 @@ package es.verdnatura.presentation.view.feature.pasillero.fragment
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.content.Context import android.content.Context
import es.verdnatura.MobileApplication
import es.verdnatura.R import es.verdnatura.R
import es.verdnatura.presentation.base.BaseViewModel import es.verdnatura.presentation.base.BaseViewModel
import es.verdnatura.presentation.view.feature.pasillero.model.PasillerosItemVO import es.verdnatura.presentation.view.feature.pasillero.model.PasillerosItemVO
@ -13,7 +14,6 @@ class PasilleroViewModel(context: Context) : BaseViewModel(context) {
val pasillerositem: List<PasillerosItemVO> val pasillerositem: List<PasillerosItemVO>
get() = _pasillerositem get() = _pasillerositem
fun inititializeDefaultData() { fun inititializeDefaultData() {
/* _pasillerositem.add( /* _pasillerositem.add(
@ -55,7 +55,6 @@ class PasilleroViewModel(context: Context) : BaseViewModel(context) {
) )
) )
/* /*
_pasillerositem.add( _pasillerositem.add(
@ -168,7 +167,6 @@ class PasilleroViewModel(context: Context) : BaseViewModel(context) {
} }
fun inititializeDefaultPallet() { fun inititializeDefaultPallet() {
_pasillerositem.add( _pasillerositem.add(
@ -251,7 +249,6 @@ class PasilleroViewModel(context: Context) : BaseViewModel(context) {
) )
) )
/* _pasillerositem.add( /* _pasillerositem.add(
PasillerosItemVO( PasillerosItemVO(
33, 33,
@ -342,9 +339,11 @@ class PasilleroViewModel(context: Context) : BaseViewModel(context) {
) )
} }
fun inititializeDefaultDataInit() { fun inititializeDefaultDataInit(pasillero: PasillerosItemVO? = null) {
if (pasillero != null) {
_pasillerositem.add(pasillero)
} else {
_pasillerositem.add( _pasillerositem.add(
PasillerosItemVO( PasillerosItemVO(
30, 30,
@ -376,8 +375,9 @@ class PasilleroViewModel(context: Context) : BaseViewModel(context) {
) )
) )
) )
val working_in_testMenu = false //val working_in_testMenu = false
if (working_in_testMenu) { var userId = (contextApp as MobileApplication).userId
if (userId == 19591 || userId == 822) {
_pasillerositem.add( _pasillerositem.add(
PasillerosItemVO( PasillerosItemVO(
7, 7,
@ -438,7 +438,6 @@ class PasilleroViewModel(context: Context) : BaseViewModel(context) {
) )
) )
//#tarea4021 //#tarea4021
/* _pasillerositem.add( /* _pasillerositem.add(
PasillerosItemVO( PasillerosItemVO(
@ -483,7 +482,7 @@ class PasilleroViewModel(context: Context) : BaseViewModel(context) {
) )
} }
} }
}
fun inititializeDefaultClaim() { fun inititializeDefaultClaim() {
@ -512,13 +511,10 @@ class PasilleroViewModel(context: Context) : BaseViewModel(context) {
) )
) )
} }
fun inititializeDefaultDelivery() { fun inititializeDefaultDelivery() {
_pasillerositem.add( _pasillerositem.add(
PasillerosItemVO( PasillerosItemVO(
6, 6,
@ -572,7 +568,6 @@ class PasilleroViewModel(context: Context) : BaseViewModel(context) {
fun inititializeDefaultChecker() { fun inititializeDefaultChecker() {
_pasillerositem.add( _pasillerositem.add(
PasillerosItemVO( PasillerosItemVO(
7, 7,
@ -610,6 +605,7 @@ class PasilleroViewModel(context: Context) : BaseViewModel(context) {
) )
} }
fun inititializeDefaultOther() { fun inititializeDefaultOther() {
_pasillerositem.add( _pasillerositem.add(
@ -625,6 +621,7 @@ class PasilleroViewModel(context: Context) : BaseViewModel(context) {
) )
} }
fun inititializeDefaultHistorical() { fun inititializeDefaultHistorical() {
_pasillerositem.add( _pasillerositem.add(
PasillerosItemVO( PasillerosItemVO(
@ -674,6 +671,5 @@ class PasilleroViewModel(context: Context) : BaseViewModel(context) {
) )
) )
} }
} }

View File

@ -4,6 +4,7 @@
xmlns:tool="http://schemas.android.com/tools"> xmlns:tool="http://schemas.android.com/tools">
<LinearLayout <LinearLayout
android:id="@+id/layout_tool"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical"> android:orientation="vertical">