Version 9.2Beta-Controlador sin animacion y vuelve al sitio

This commit is contained in:
Sergio De la torre 2022-09-27 13:04:15 +02:00
parent efb565d32c
commit 13ca9e5c47
9 changed files with 245 additions and 162 deletions

View File

@ -13,8 +13,9 @@ android {
applicationId "es.verdnatura" applicationId "es.verdnatura"
minSdkVersion 21 //21 minSdkVersion 21 //21
targetSdkVersion 30 targetSdkVersion 30
versionCode 132 versionCode 133
versionName = "9.1Beta" versionName = "9.2Beta"
//versionName = "9.1Beta" versionCode 132
//versionName = "9Beta"// versionCode 131 //versionName = "9Beta"// versionCode 131
//versionName = "8.9" versionCode 130 //versionName = "8.9" versionCode 130
//versionName = "8.9Beta" versionCode 129 //versionName = "8.9Beta" versionCode 129

View File

@ -11,8 +11,8 @@
"type": "SINGLE", "type": "SINGLE",
"filters": [], "filters": [],
"attributes": [], "attributes": [],
"versionCode": 132, "versionCode": 133,
"versionName": "9.1Beta", "versionName": "9.2Beta",
"outputFile": "app-release.apk" "outputFile": "app-release.apk"
} }
], ],

Binary file not shown.

View File

@ -13,12 +13,9 @@ import android.speech.RecognitionListener
import android.speech.RecognizerIntent import android.speech.RecognizerIntent
import android.speech.SpeechRecognizer import android.speech.SpeechRecognizer
import android.speech.tts.TextToSpeech import android.speech.tts.TextToSpeech
import android.speech.tts.UtteranceProgressListener
import android.util.Log
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 android.widget.ImageView
import androidx.activity.result.contract.ActivityResultContracts import androidx.activity.result.contract.ActivityResultContracts
import androidx.annotation.LayoutRes import androidx.annotation.LayoutRes
import androidx.databinding.DataBindingUtil import androidx.databinding.DataBindingUtil
@ -29,7 +26,6 @@ import com.google.gson.Gson
import com.google.gson.reflect.TypeToken import com.google.gson.reflect.TypeToken
import es.verdnatura.R import es.verdnatura.R
import es.verdnatura.databinding.ToolbarFragmentBinding import es.verdnatura.databinding.ToolbarFragmentBinding
import es.verdnatura.domain.ConstAndValues
import es.verdnatura.domain.ConstAndValues.SECTORFKDEFAULT import es.verdnatura.domain.ConstAndValues.SECTORFKDEFAULT
import es.verdnatura.domain.ConstAndValues.WAREHOUSEFKDEFAULT import es.verdnatura.domain.ConstAndValues.WAREHOUSEFKDEFAULT
import es.verdnatura.domain.toast import es.verdnatura.domain.toast
@ -38,6 +34,7 @@ import es.verdnatura.presentation.view.feature.main.activity.MainActivity
import org.koin.androidx.viewmodel.ext.android.viewModel import org.koin.androidx.viewmodel.ext.android.viewModel
import timber.log.Timber import timber.log.Timber
import java.util.* import java.util.*
import kotlin.collections.ArrayList
import kotlin.reflect.KClass import kotlin.reflect.KClass
@ -52,8 +49,8 @@ abstract class BaseFragment<T : ViewDataBinding, V : BaseViewModel>(viewModelCla
protected val TOKEN = "token" protected val TOKEN = "token"
protected val SECTORDESCRIP = "sectordescrip" protected val SECTORDESCRIP = "sectordescrip"
protected val SECTORFK = "sectorFk" protected val SECTORFK = "sectorFk"
protected val NUMBEROFWAGONS="operatorNumberOfWagons" protected val NUMBEROFWAGONS = "operatorNumberOfWagons"
protected val PRINTERNAME= "printername" protected val PRINTERNAME = "printername"
protected val PRINTERFK = "printerFk" protected val PRINTERFK = "printerFk"
protected val WAREHOUSEFK = "warehouseFk" protected val WAREHOUSEFK = "warehouseFk"
protected val REMEMBER = "recordar" protected val REMEMBER = "recordar"
@ -64,6 +61,7 @@ abstract class BaseFragment<T : ViewDataBinding, V : BaseViewModel>(viewModelCla
protected val ITEMPACKING = "itemPackingType" protected val ITEMPACKING = "itemPackingType"
protected val ITEMPACKINGFK = "itemPackingTypeFk" protected val ITEMPACKINGFK = "itemPackingTypeFk"
//protected val VOZ = "voz" //protected val VOZ = "voz"
//nuevo campo número carros ajustes y campos para guardar el buyerid y buyernickname //nuevo campo número carros ajustes y campos para guardar el buyerid y buyernickname
protected val BUYER = "buyernickname" protected val BUYER = "buyernickname"
@ -71,9 +69,9 @@ abstract class BaseFragment<T : ViewDataBinding, V : BaseViewModel>(viewModelCla
protected val WAGON = "wagon" protected val WAGON = "wagon"
protected val TAGSTYPE = "tagstype" protected val TAGSTYPE = "tagstype"
protected val WAREHOUSEFK_DEFAULT = 60 protected val WAREHOUSEFK_DEFAULT = 60
protected val DATENOVEHICLE="DATENOVEHICLE" protected val DATENOVEHICLE = "DATENOVEHICLE"
protected val DEPARTMENTMISTAKE="DEPARTMENTMISTAKE" protected val DEPARTMENTMISTAKE = "DEPARTMENTMISTAKE"
protected val DEPARTMENTMISTAKEID="DEPARTMENTMISTAKEID" protected val DEPARTMENTMISTAKEID = "DEPARTMENTMISTAKEID"
protected val viewModel: V by viewModel(viewModelClass) protected val viewModel: V by viewModel(viewModelClass)
protected lateinit var binding: T protected lateinit var binding: T
@ -108,9 +106,9 @@ abstract class BaseFragment<T : ViewDataBinding, V : BaseViewModel>(viewModelCla
override fun onAttach(context: Context) { override fun onAttach(context: Context) {
super.onAttach(context) super.onAttach(context)
if ((requireActivity().componentName).toString().contains("MainActivity")){ if ((requireActivity().componentName).toString().contains("MainActivity")) {
ma=activity as MainActivity ma = activity as MainActivity
} }
} }
@ -133,23 +131,21 @@ abstract class BaseFragment<T : ViewDataBinding, V : BaseViewModel>(viewModelCla
init() init()
}*/ }*/
override fun onViewCreated(view: View, savedInstanceState: Bundle?) override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
{ super.onViewCreated(view, savedInstanceState)
super.onViewCreated(view,savedInstanceState) initDataBinding()
initDataBinding() getBundleArguments()
getBundleArguments() observeViewModel()
observeViewModel() runSound()
runSound() //requestRecordAudioPermission()
//requestRecordAudioPermission() //requestRecordAudioPermissionNew()
//requestRecordAudioPermissionNew()
//sergio: para llamadas con SIP //sergio: para llamadas con SIP
//requestCallPhonePermissionNew() //requestCallPhonePermissionNew()
init() init()
}
}
@LayoutRes @LayoutRes
abstract fun getLayoutId(): Int abstract fun getLayoutId(): Int
@ -210,21 +206,22 @@ override fun onViewCreated(view: View, savedInstanceState: Bundle?)
addBindingVariables() addBindingVariables()
} }
fun textScanned_filterDouble(textScanned: String):String{ fun textScanned_filterDouble(textScanned: String): String {
if (textScanned.length>13) { if (textScanned.length > 13) {
var size = textScanned.length var size = textScanned.length
if (textScanned.substring((size / 2), size) == textScanned.substring(0, size / 2) if (textScanned.substring((size / 2), size) == textScanned.substring(0, size / 2)
) { ) {
return textScanned.substring(0, size / 2) return textScanned.substring(0, size / 2)
} }
} }
return textScanned return textScanned
} }
fun getTooltip(image: Int):String {
fun getTooltip(image: Int): String {
return when (image) { return when (image) {
//itemCard //itemCard
@ -233,75 +230,77 @@ override fun onViewCreated(view: View, savedInstanceState: Bundle?)
} }
R.drawable.ic_history_black_24dp -> getString(R.string.showHistoricalItem) R.drawable.ic_history_black_24dp -> getString(R.string.showHistoricalItem)
//presacador //presacador
R.drawable.ic_local_parking_black_24dp->getString(R.string.allowParking) R.drawable.ic_local_parking_black_24dp -> getString(R.string.allowParking)
//collection //collection
R.drawable.ic_print_black_24dp->getString(R.string.printTicket) R.drawable.ic_print_black_24dp -> getString(R.string.printTicket)
R.drawable.ic_playlist_add_black_24dp->getString(R.string.addItem) R.drawable.ic_playlist_add_black_24dp -> getString(R.string.addItem)
R.drawable.ic_worker->getString(R.string.showFacePicker) R.drawable.ic_worker -> getString(R.string.showFacePicker)
R.drawable.phone_call->getString(R.string.callPicker) R.drawable.phone_call -> getString(R.string.callPicker)
R.drawable.car->getString(R.string.allowSelectVehicle) R.drawable.car -> getString(R.string.allowSelectVehicle)
R.drawable.car_off->getString(R.string.allowTakeoffVehicle) R.drawable.car_off -> getString(R.string.allowTakeoffVehicle)
//REPETIDO:R.drawable.ic_history_black_24dp->"Realiza llamada al sacador" //REPETIDO:R.drawable.ic_history_black_24dp->"Realiza llamada al sacador"
//sacador //sacador
R.drawable.ic_add_black_24dp->getString(R.string.newCollection) R.drawable.ic_add_black_24dp -> getString(R.string.newCollection)
//REPETIDO: R.drawable.car->"Permite coger vehículo" //REPETIDO: R.drawable.car->"Permite coger vehículo"
//ubicador: //ubicador:
//REPETIDO: R.drawable.ic_add_black_24dp->"Genera colección para sacar" //REPETIDO: R.drawable.ic_add_black_24dp->"Genera colección para sacar"
//REPETIDO: ic_autorenew_black_24dp //REPETIDO: ic_autorenew_black_24dp
//historico articulo //historico articulo
R.drawable.ic_transaction->getString(R.string.showFilter) R.drawable.ic_transaction -> getString(R.string.showFilter)
R.drawable.alpha_f_circle_outline->getString(R.string.showFaults) R.drawable.alpha_f_circle_outline -> getString(R.string.showFaults)
R.drawable.alpha_b_circle_outline->getString(R.string.showTrash) R.drawable.alpha_b_circle_outline -> getString(R.string.showTrash)
R.drawable.filter_outline->getString(R.string.filterFlower) R.drawable.filter_outline -> getString(R.string.filterFlower)
R.drawable.ic_mode_edit_black_24dp->getString(R.string.allowChangeShelving) R.drawable.ic_mode_edit_black_24dp -> getString(R.string.allowChangeShelving)
R.drawable.ic_delete_forever_black_24dp->getString(R.string.deleteAllitems) R.drawable.ic_delete_forever_black_24dp -> getString(R.string.deleteAllitems)
R.drawable.ic_flash_auto_black_24dp->getString(R.string.allowAutomaticAddItem) R.drawable.ic_flash_auto_black_24dp -> getString(R.string.allowAutomaticAddItem)
R.drawable.ic_logo_salix->getString(R.string.accessSalix) R.drawable.ic_logo_salix -> getString(R.string.accessSalix)
else -> {""} else -> {
""
}
} }
} }
override fun onInit(status: Int) { override fun onInit(status: Int) {
/* if (status == TextToSpeech.SUCCESS) { /* if (status == TextToSpeech.SUCCESS) {
val spanish = Locale("es", "ES") val spanish = Locale("es", "ES")
textToSpeech!!.language = spanish textToSpeech!!.language = spanish
textToSpeech!!.setOnUtteranceProgressListener(object : UtteranceProgressListener() { textToSpeech!!.setOnUtteranceProgressListener(object : UtteranceProgressListener() {
override fun onDone(utteranceId: String?) { override fun onDone(utteranceId: String?) {
//Log.i("SPEEAK", "on done") //Log.i("SPEEAK", "on done")
requireActivity().runOnUiThread(Runnable { requireActivity().runOnUiThread(Runnable {
if (mSpeechRecognizer != null) { if (mSpeechRecognizer != null) {
mSpeechRecognizer!!.destroy() mSpeechRecognizer!!.destroy()
mSpeechRecognizer = null mSpeechRecognizer = null
} }
initialize() initialize()
}) })
} }
override fun onError(utteranceId: String?) { override fun onError(utteranceId: String?) {
"Error to speak".toast(requireContext()) "Error to speak".toast(requireContext())
} }
override fun onStart(utteranceId: String?) { override fun onStart(utteranceId: String?) {
Log.i("SPEEAK", "on start") Log.i("SPEEAK", "on start")
runSound() runSound()
} }
}) })
} else { } else {
"La voz no se ha podido iniciar".toast(requireContext()) "La voz no se ha podido iniciar".toast(requireContext())
}*/ }*/
} }
private fun runSound() { private fun runSound() {
// Get the maximum media/music volume // Get the maximum media/music volume
//sergio: se quita por no utilizar //sergio: se quita por no utilizar
// val maxVolume = mAudioManager?.mediaMaxVolume // val maxVolume = mAudioManager?.mediaMaxVolume
// mAudioManager?.setMediaVolume(maxVolume!!) // mAudioManager?.setMediaVolume(maxVolume!!)
} }
@ -326,21 +325,21 @@ override fun onViewCreated(view: View, savedInstanceState: Bundle?)
override fun onReadyForSpeech(params: Bundle?) { override fun onReadyForSpeech(params: Bundle?) {
isOnReadyForSpeech = true isOnReadyForSpeech = true
// Log.i("Speech", "onReadyForSpeech") // Log.i("Speech", "onReadyForSpeech")
} }
override fun onBeginningOfSpeech() { override fun onBeginningOfSpeech() {
// Log.i("Speech", "onBeginningOfSpeech") // Log.i("Speech", "onBeginningOfSpeech")
} }
override fun onRmsChanged(rmsdB: Float) {} override fun onRmsChanged(rmsdB: Float) {}
override fun onBufferReceived(buffer: ByteArray?) { override fun onBufferReceived(buffer: ByteArray?) {
// Log.i("Speech", "onBufferReceived") // Log.i("Speech", "onBufferReceived")
} }
override fun onEndOfSpeech() { override fun onEndOfSpeech() {
// Log.i("Speech", "onEndOfSpeech") // Log.i("Speech", "onEndOfSpeech")
} }
override fun onError(error: Int) { override fun onError(error: Int) {
@ -444,53 +443,51 @@ override fun onViewCreated(view: View, savedInstanceState: Bundle?)
}*/ }*/
/*sergio:deprecated /*sergio:deprecated
private fun requestRecordAudioPermission() { private fun requestRecordAudioPermission() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
val requiredPermission: String = Manifest.permission.RECORD_AUDIO val requiredPermission: String = Manifest.permission.RECORD_AUDIO
val res = requireContext().checkCallingOrSelfPermission(requiredPermission) val res = requireContext().checkCallingOrSelfPermission(requiredPermission)
// If the user previously denied this permission then show a message explaining why // If the user previously denied this permission then show a message explaining why
// this permission is needed // this permission is needed
if (res == PackageManager.PERMISSION_DENIED) { if (res == PackageManager.PERMISSION_DENIED) {
requestPermissions(arrayOf(requiredPermission), 101) requestPermissions(arrayOf(requiredPermission), 101)
} }
} }
}*/ }*/
private fun requestCallPhonePermission(){ private fun requestCallPhonePermission() {
val permissionLauncher = registerForActivityResult( val permissionLauncher = registerForActivityResult(
ActivityResultContracts.RequestPermission() ActivityResultContracts.RequestPermission()
) )
{ isGranted -> { isGranted ->
if (isGranted) { if (isGranted) {
Timber.i("permisos ok") Timber.i("permisos ok")
} } else {
else {
Timber.i("Denegados permisos") Timber.i("Denegados permisos")
} }
} }
permissionLauncher.launch(Manifest.permission.CALL_PHONE) permissionLauncher.launch(Manifest.permission.CALL_PHONE)
} }
private fun requestRecordAudioPermissionNew() { private fun requestRecordAudioPermissionNew() {
val permissionLauncher = registerForActivityResult( val permissionLauncher = registerForActivityResult(
ActivityResultContracts.RequestPermission() ActivityResultContracts.RequestPermission()
) )
{ isGranted -> { isGranted ->
if (isGranted) { if (isGranted) {
Timber.i("permisos ok") Timber.i("permisos ok")
} } else {
else {
Timber.i("Denegados permisos") Timber.i("Denegados permisos")
} }
} }
permissionLauncher.launch(Manifest.permission.RECORD_AUDIO) permissionLauncher.launch(Manifest.permission.RECORD_AUDIO)
} }
private fun requestCallPhonePermissionNew() { private fun requestCallPhonePermissionNew() {
val permissionLauncher = registerForActivityResult( val permissionLauncher = registerForActivityResult(
@ -499,9 +496,7 @@ override fun onViewCreated(view: View, savedInstanceState: Bundle?)
{ isGranted -> { isGranted ->
if (isGranted) { if (isGranted) {
Timber.i("permisos ok") Timber.i("permisos ok")
} } else {
else {
Timber.i("Denegados permisos") Timber.i("Denegados permisos")
} }
} }
@ -510,59 +505,64 @@ override fun onViewCreated(view: View, savedInstanceState: Bundle?)
} }
fun hideBackButton(tool: ToolbarFragmentBinding) { fun hideBackButton(tool: ToolbarFragmentBinding) {
tool.backButton.visibility=View.INVISIBLE tool.backButton.visibility = View.INVISIBLE
} }
fun cancelSpeech() { fun cancelSpeech() {
if (mSpeechRecognizer != null) { if (mSpeechRecognizer != null) {
mSpeechRecognizer!!.destroy() mSpeechRecognizer!!.destroy()
mSpeechRecognizer = null mSpeechRecognizer = null
} }
} }
private fun getDefaults(key: String?, context: Context?): String? { private fun getDefaults(key: String?, context: Context?): String? {
val preferences = PreferenceManager.getDefaultSharedPreferences(context) val preferences = PreferenceManager.getDefaultSharedPreferences(context)
return preferences.getString(key, null) return preferences.getString(key, null)
} }
fun getData(name:String):String{
val prefs: SharedPreferences = requireActivity().getSharedPreferences(PREFS_USER, 0)
return when (name){
TOKEN->prefs.getString(name, "").toString()
ANDROID_ID->prefs.getString(name, "0").toString()
USERFK->prefs.getString(USERFK, "").toString() //el id
USER->prefs.getString(USER, "").toString()
PASSWORD -> prefs.getString(PASSWORD, "").toString()
SECTORFK->prefs.getInt(name, SECTORFKDEFAULT).toString()
WAREHOUSEFK->prefs.getInt(name, WAREHOUSEFKDEFAULT).toString()
//VOZ->prefs.getString(name, "NO").toString()
WAGON->prefs.getInt(name, 2).toString()
TAGSTYPE-> prefs.getString(name, getString(R.string.stickers)).toString()
SECTORDESCRIP->prefs.getString(name,getString(R.string.Sinsector)).toString()
BUYER->prefs.getString(name,"").toString()
BUYERID->prefs.getString(name,"").toString()
DATENOVEHICLE->prefs.getString(name,"0").toString()
DEPARTMENTMISTAKE->prefs.getString(name,"").toString()
DEPARTMENTMISTAKEID->prefs.getString(name,"").toString()
PRINTERFK->prefs.getInt(name,0).toString()
PRINTERNAME->prefs.getString(name,getString(R.string.noprinter)).toString()
NUMBEROFWAGONS->prefs.getInt(name,1).toString()
TRAINFK->prefs.getString(name,"").toString()
TRAINNAME->prefs.getString(name,"").toString()
ITEMPACKING->prefs.getString(name,"").toString()
ITEMPACKINGFK->prefs.getString(name,"").toString()
"base_url"->{ fun getData(name: String): String {
val prefs: SharedPreferences = requireActivity().getSharedPreferences(PREFS_USER, 0)
return when (name) {
TOKEN -> prefs.getString(name, "").toString()
ANDROID_ID -> prefs.getString(name, "0").toString()
USERFK -> prefs.getString(USERFK, "").toString() //el id
USER -> prefs.getString(USER, "").toString()
PASSWORD -> prefs.getString(PASSWORD, "").toString()
SECTORFK -> prefs.getInt(name, SECTORFKDEFAULT).toString()
WAREHOUSEFK -> prefs.getInt(name, WAREHOUSEFKDEFAULT).toString()
//VOZ->prefs.getString(name, "NO").toString()
WAGON -> prefs.getInt(name, 2).toString()
TAGSTYPE -> prefs.getString(name, getString(R.string.stickers)).toString()
SECTORDESCRIP -> prefs.getString(name, getString(R.string.Sinsector)).toString()
BUYER -> prefs.getString(name, "").toString()
BUYERID -> prefs.getString(name, "").toString()
DATENOVEHICLE -> prefs.getString(name, "0").toString()
DEPARTMENTMISTAKE -> prefs.getString(name, "").toString()
DEPARTMENTMISTAKEID -> prefs.getString(name, "").toString()
PRINTERFK -> prefs.getInt(name, 0).toString()
PRINTERNAME -> prefs.getString(name, getString(R.string.noprinter)).toString()
NUMBEROFWAGONS -> prefs.getInt(name, 1).toString()
TRAINFK -> prefs.getString(name, "").toString()
TRAINNAME -> prefs.getString(name, "").toString()
ITEMPACKING -> prefs.getString(name, "").toString()
ITEMPACKINGFK -> prefs.getString(name, "").toString()
"base_url" -> {
val preferences = PreferenceManager.getDefaultSharedPreferences(context) val preferences = PreferenceManager.getDefaultSharedPreferences(context)
preferences.getString(getString(R.string.baseurl),"").toString() preferences.getString(getString(R.string.baseurl), "").toString()
} }
"base_urlSalix"->{ "base_urlSalix" -> {
val preferences = PreferenceManager.getDefaultSharedPreferences(context) val preferences = PreferenceManager.getDefaultSharedPreferences(context)
preferences.getString(getString(R.string.base_urlSalix),"").toString() preferences.getString(getString(R.string.base_urlSalix), "").toString()
}
else -> {
""
} }
else -> {""}
} }
} }
fun removeSector(){ fun removeSector() {
val prefs: SharedPreferences = requireActivity().getSharedPreferences(PREFS_USER, 0) val prefs: SharedPreferences = requireActivity().getSharedPreferences(PREFS_USER, 0)
val editor = prefs.edit() val editor = prefs.edit()
editor.remove(SECTORFK).commit() editor.remove(SECTORFK).commit()
@ -570,6 +570,7 @@ override fun onViewCreated(view: View, savedInstanceState: Bundle?)
editor.remove(WAREHOUSEFK).commit() editor.remove(WAREHOUSEFK).commit()
} }
fun setDefaults(key: String?, value: String?, context: Context?) { fun setDefaults(key: String?, value: String?, context: Context?) {
val preferences: SharedPreferences = PreferenceManager.getDefaultSharedPreferences(context) val preferences: SharedPreferences = PreferenceManager.getDefaultSharedPreferences(context)
@ -578,14 +579,15 @@ override fun onViewCreated(view: View, savedInstanceState: Bundle?)
editor.commit() editor.commit()
} }
fun removePrinter(){ fun removePrinter() {
val prefs: SharedPreferences = requireActivity().getSharedPreferences(PREFS_USER, 0) val prefs: SharedPreferences = requireActivity().getSharedPreferences(PREFS_USER, 0)
val editor = prefs.edit() val editor = prefs.edit()
editor.remove(PRINTERFK).commit() editor.remove(PRINTERFK).commit()
editor.remove(PRINTERNAME).commit() editor.remove(PRINTERNAME).commit()
} }
fun saveData(name:String,value:String){
fun saveData(name: String, value: String) {
val prefs: SharedPreferences = requireActivity().getSharedPreferences(PREFS_USER, 0) val prefs: SharedPreferences = requireActivity().getSharedPreferences(PREFS_USER, 0)
val editor = prefs.edit() val editor = prefs.edit()
@ -600,7 +602,7 @@ override fun onViewCreated(view: View, savedInstanceState: Bundle?)
editorPref.commit() editorPref.commit()
} }
"base_urlSalix"->{ "base_urlSalix" -> {
val preferences = PreferenceManager.getDefaultSharedPreferences(context) val preferences = PreferenceManager.getDefaultSharedPreferences(context)
val editorPref = preferences.edit() val editorPref = preferences.edit()
editorPref.putString("base_urlSalix", value) editorPref.putString("base_urlSalix", value)
@ -617,14 +619,14 @@ override fun onViewCreated(view: View, savedInstanceState: Bundle?)
} }
fun saveDataInt(name:String,value:Int){ fun saveDataInt(name: String, value: Int) {
val prefs: SharedPreferences = requireActivity().getSharedPreferences(PREFS_USER, 0) val prefs: SharedPreferences = requireActivity().getSharedPreferences(PREFS_USER, 0)
val editor = prefs.edit() val editor = prefs.edit()
when (name){ when (name) {
name-> editor.putInt(name, value) name -> editor.putInt(name, value)
ANDROID_ID->editor.putInt(name, value) ANDROID_ID -> editor.putInt(name, value)
} }
editor.apply() editor.apply()
@ -632,6 +634,20 @@ override fun onViewCreated(view: View, savedInstanceState: Bundle?)
} }
fun saveWorkingForms(list: ArrayList<String>) {
val prefs: SharedPreferences = requireActivity().getSharedPreferences(PREFS_USER, 0)
val editor = prefs.edit()
editor.putString("workingForms", list.toString())
editor.apply()
}
fun getWorkingForms(): Array<String> {
val prefs: SharedPreferences = requireActivity().getSharedPreferences(PREFS_USER, 0)
val jsonStr: String? = prefs.getString("workingForms", null)
val gson = Gson()
val lista: Array<String> = gson.fromJson(jsonStr, Array<String>::class.java)
return lista
}
fun saveBuyer(buyernickname: String) { fun saveBuyer(buyernickname: String) {
val prefs: SharedPreferences = requireActivity().getSharedPreferences(PREFS_USER, 0) val prefs: SharedPreferences = requireActivity().getSharedPreferences(PREFS_USER, 0)
@ -679,10 +695,10 @@ override fun onViewCreated(view: View, savedInstanceState: Bundle?)
gson.fromJson(json, object : TypeToken<Map<String, Any>>() {}.type) gson.fromJson(json, object : TypeToken<Map<String, Any>>() {}.type)
tutorialMap.forEach { tutorialMap.forEach {
list.add(it.key +":"+ it.value) list.add(it.key + ":" + it.value)
} }
return list return list
} }

View File

@ -9,6 +9,7 @@ import android.net.Uri
import android.os.Build import android.os.Build
import android.os.Bundle import android.os.Bundle
import android.speech.SpeechRecognizer import android.speech.SpeechRecognizer
import android.util.Log
import android.view.View import android.view.View
import android.view.View.GONE import android.view.View.GONE
import android.view.View.VISIBLE import android.view.View.VISIBLE
@ -150,6 +151,8 @@ class CollectionFragment(
override fun onResume() { override fun onResume() {
if (type==CONTROLADOR && storedBackPosition!=0){
setListPosition(storedBackPosition, true)}
super.onResume() super.onResume()
scanRequest() scanRequest()
} }
@ -1394,7 +1397,7 @@ class CollectionFragment(
private fun saleTrackingReplace(position: Int, type: String) { private fun saleTrackingReplace(position: Int, type: String) {
//Tarea #4371 se quita para ver si funciona correctamente //Tarea #4371 se quita para ver si funciona correctamente
binding.splashProgress.visibility=VISIBLE //binding.splashProgress.visibility=VISIBLE
viewModel.saleTrackingReplace( viewModel.saleTrackingReplace(
getData(USER), getData(USER),
getData(PASSWORD), getData(PASSWORD),

View File

@ -2,10 +2,12 @@ package es.verdnatura.presentation.view.feature.login.fragment
//import es.verdnatura.presentation.view.feature.login.model.LoginItemVO //import es.verdnatura.presentation.view.feature.login.model.LoginItemVO
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.app.AlertDialog
import android.content.Intent import android.content.Intent
import android.content.SharedPreferences import android.content.SharedPreferences
import android.content.pm.PackageInfo import android.content.pm.PackageInfo
import android.content.pm.PackageManager import android.content.pm.PackageManager
import android.icu.text.Transliterator
import android.net.Uri import android.net.Uri
import android.provider.Settings import android.provider.Settings
import android.view.KeyEvent import android.view.KeyEvent
@ -23,6 +25,7 @@ import kotlinx.coroutines.*
import java.lang.Boolean.TRUE import java.lang.Boolean.TRUE
import kotlin.system.exitProcess import kotlin.system.exitProcess
class LoginFragment : BaseFragment<FragmentLoginBinding, LoginViewModel>(LoginViewModel::class) { class LoginFragment : BaseFragment<FragmentLoginBinding, LoginViewModel>(LoginViewModel::class) {
private lateinit var customDialog: CustomDialog private lateinit var customDialog: CustomDialog
@ -118,6 +121,9 @@ class LoginFragment : BaseFragment<FragmentLoginBinding, LoginViewModel>(LoginVi
true true
} }
binding.edittextServer.setOnClickListener {
// showWorkingForms()
}
} }
@ -130,6 +136,57 @@ class LoginFragment : BaseFragment<FragmentLoginBinding, LoginViewModel>(LoginVi
} }
private fun showWorkingForms() {
/*Log.d("VERDNATURA::", "click")*/
val listForms: ArrayList<workForms> = ArrayList()
listForms.add(
workForms(
"Producción",
"https://app.verdnatura.es",
"https://salix.verdnatura.es"
)
)
listForms.add(
workForms(
"Test",
"https://test-app.verdnatura.es",
"https://test-salix.verdnatura.es"
)
)
listForms.add(workForms("Añadir otra forma", " ", " "))
val array = arrayOfNulls<String>(listForms.size)
var showList: ArrayList<String> = ArrayList()
for (l in listForms){
showList.add(l.name)
}
val builder = AlertDialog.Builder(this.context)
builder.setTitle(getString(R.string.selectWorkingForm))
builder.setItems(showList.toArray(array)) { _, which ->
val selected = array[which]
showList.forEach {
if (it == selected) {
binding.edittextServer.setText(it)
saveData(
"base_urlSalix",
it)
return@forEach
}
}
}
val dialog = builder.create()
dialog.show()
}
private fun checkUser() { private fun checkUser() {
val prefs: SharedPreferences = requireActivity().getSharedPreferences(PREFS_USER, 0) val prefs: SharedPreferences = requireActivity().getSharedPreferences(PREFS_USER, 0)
if (prefs.getBoolean(REMEMBER, false)) { if (prefs.getBoolean(REMEMBER, false)) {
@ -219,10 +276,10 @@ class LoginFragment : BaseFragment<FragmentLoginBinding, LoginViewModel>(LoginVi
) )
/* viewModel.operator_getNumberOfWagons( /* viewModel.operator_getNumberOfWagons(
binding.edittextUsername.text.toString(), binding.edittextUsername.text.toString(),
binding.edittextPassword.text.toString() binding.edittextPassword.text.toString()
)*/ )*/
viewModel.worker_getPrinter( viewModel.worker_getPrinter(
binding.edittextUsername.text.toString(), binding.edittextUsername.text.toString(),
@ -298,7 +355,7 @@ class LoginFragment : BaseFragment<FragmentLoginBinding, LoginViewModel>(LoginVi
customDialog.dismiss() customDialog.dismiss()
}.show() }.show()
} }
viewModel.operator_getNumberOfWagons(getData(USER),getData(PASSWORD)) viewModel.operator_getNumberOfWagons(getData(USER), getData(PASSWORD))
viewModel.device_checkLogin( viewModel.device_checkLogin(
binding.edittextUsername.text.toString(), binding.edittextUsername.text.toString(),
@ -398,13 +455,13 @@ class LoginFragment : BaseFragment<FragmentLoginBinding, LoginViewModel>(LoginVi
saveTokenPref(it.token) saveTokenPref(it.token)
//Tarea 4351 quitar el if y poner e device_checkLogin a continuación del response de operator_add //Tarea 4351 quitar el if y poner e device_checkLogin a continuación del response de operator_add
viewModel.operator_add(getData(USER),getData(PASSWORD)) viewModel.operator_add(getData(USER), getData(PASSWORD))
/* viewModel.device_checkLogin( /* viewModel.device_checkLogin(
binding.edittextUsername.text.toString(), binding.edittextUsername.text.toString(),
binding.edittextPassword.text.toString(), binding.edittextPassword.text.toString(),
getData(ANDROID_ID) getData(ANDROID_ID)
)*/ )*/
} }
} }
@ -490,3 +547,5 @@ class LoginFragment : BaseFragment<FragmentLoginBinding, LoginViewModel>(LoginVi
} }
data class workForms(val name: String, val urlSilex: String, val urlSalix: String)

View File

@ -55,6 +55,7 @@
android:maxLines="1" android:maxLines="1"
android:textColor="@color/verdnatura_white" android:textColor="@color/verdnatura_white"
android:textColorHint="@android:color/darker_gray" /> android:textColorHint="@android:color/darker_gray" />
<!-- android:drawableRight="@drawable/ic_chevron_right_black_24dp" -->
</com.google.android.material.textfield.TextInputLayout> </com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout <com.google.android.material.textfield.TextInputLayout
@ -176,6 +177,7 @@
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="vertical" android:orientation="vertical"
android:background="@color/verdnatura_black_8_alpha_6" android:background="@color/verdnatura_black_8_alpha_6"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"

View File

@ -479,4 +479,5 @@
<string name="itemFilter">Filtro ítem</string> <string name="itemFilter">Filtro ítem</string>
<string name="itemUpdated">Actualizado</string> <string name="itemUpdated">Actualizado</string>
<string name="errorCmrNotScanned">CMR no escaneado</string> <string name="errorCmrNotScanned">CMR no escaneado</string>
<string name="selectWorkingForm">Selecciona la forma de trabajo:</string>
</resources> </resources>

View File

@ -93,6 +93,7 @@
<string name="packingType">Packing type</string> <string name="packingType">Packing type</string>
<string name="sinubicar">Downstairs</string> <string name="sinubicar">Downstairs</string>
<string name="Seleccionauncarro">Select a wagon</string> <string name="Seleccionauncarro">Select a wagon</string>
<string name="selectWorkingForm">Select a way of work :</string>
<string name="itemShelvingRadar">Inventory Radar</string> <string name="itemShelvingRadar">Inventory Radar</string>
<string name="buscarcomprador">Search buyer</string> <string name="buscarcomprador">Search buyer</string>
<string name="escribirparteNombre">Write here</string> <string name="escribirparteNombre">Write here</string>