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"
minSdkVersion 21 //21
targetSdkVersion 30
versionCode 132
versionName = "9.1Beta"
versionCode 133
versionName = "9.2Beta"
//versionName = "9.1Beta" versionCode 132
//versionName = "9Beta"// versionCode 131
//versionName = "8.9" versionCode 130
//versionName = "8.9Beta" versionCode 129

View File

@ -11,8 +11,8 @@
"type": "SINGLE",
"filters": [],
"attributes": [],
"versionCode": 132,
"versionName": "9.1Beta",
"versionCode": 133,
"versionName": "9.2Beta",
"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.SpeechRecognizer
import android.speech.tts.TextToSpeech
import android.speech.tts.UtteranceProgressListener
import android.util.Log
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.ImageView
import androidx.activity.result.contract.ActivityResultContracts
import androidx.annotation.LayoutRes
import androidx.databinding.DataBindingUtil
@ -29,7 +26,6 @@ import com.google.gson.Gson
import com.google.gson.reflect.TypeToken
import es.verdnatura.R
import es.verdnatura.databinding.ToolbarFragmentBinding
import es.verdnatura.domain.ConstAndValues
import es.verdnatura.domain.ConstAndValues.SECTORFKDEFAULT
import es.verdnatura.domain.ConstAndValues.WAREHOUSEFKDEFAULT
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 timber.log.Timber
import java.util.*
import kotlin.collections.ArrayList
import kotlin.reflect.KClass
@ -52,8 +49,8 @@ abstract class BaseFragment<T : ViewDataBinding, V : BaseViewModel>(viewModelCla
protected val TOKEN = "token"
protected val SECTORDESCRIP = "sectordescrip"
protected val SECTORFK = "sectorFk"
protected val NUMBEROFWAGONS="operatorNumberOfWagons"
protected val PRINTERNAME= "printername"
protected val NUMBEROFWAGONS = "operatorNumberOfWagons"
protected val PRINTERNAME = "printername"
protected val PRINTERFK = "printerFk"
protected val WAREHOUSEFK = "warehouseFk"
protected val REMEMBER = "recordar"
@ -64,6 +61,7 @@ abstract class BaseFragment<T : ViewDataBinding, V : BaseViewModel>(viewModelCla
protected val ITEMPACKING = "itemPackingType"
protected val ITEMPACKINGFK = "itemPackingTypeFk"
//protected val VOZ = "voz"
//nuevo campo número carros ajustes y campos para guardar el buyerid y buyernickname
protected val BUYER = "buyernickname"
@ -71,9 +69,9 @@ abstract class BaseFragment<T : ViewDataBinding, V : BaseViewModel>(viewModelCla
protected val WAGON = "wagon"
protected val TAGSTYPE = "tagstype"
protected val WAREHOUSEFK_DEFAULT = 60
protected val DATENOVEHICLE="DATENOVEHICLE"
protected val DEPARTMENTMISTAKE="DEPARTMENTMISTAKE"
protected val DEPARTMENTMISTAKEID="DEPARTMENTMISTAKEID"
protected val DATENOVEHICLE = "DATENOVEHICLE"
protected val DEPARTMENTMISTAKE = "DEPARTMENTMISTAKE"
protected val DEPARTMENTMISTAKEID = "DEPARTMENTMISTAKEID"
protected val viewModel: V by viewModel(viewModelClass)
protected lateinit var binding: T
@ -108,9 +106,9 @@ abstract class BaseFragment<T : ViewDataBinding, V : BaseViewModel>(viewModelCla
override fun onAttach(context: 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,9 +131,8 @@ abstract class BaseFragment<T : ViewDataBinding, V : BaseViewModel>(viewModelCla
init()
}*/
override fun onViewCreated(view: View, savedInstanceState: Bundle?)
{
super.onViewCreated(view,savedInstanceState)
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
initDataBinding()
getBundleArguments()
observeViewModel()
@ -148,8 +145,7 @@ override fun onViewCreated(view: View, savedInstanceState: Bundle?)
init()
}
}
@LayoutRes
abstract fun getLayoutId(): Int
@ -210,9 +206,9 @@ override fun onViewCreated(view: View, savedInstanceState: Bundle?)
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
if (textScanned.substring((size / 2), size) == textScanned.substring(0, size / 2)
) {
@ -224,7 +220,8 @@ override fun onViewCreated(view: View, savedInstanceState: Bundle?)
return textScanned
}
fun getTooltip(image: Int):String {
fun getTooltip(image: Int): String {
return when (image) {
//itemCard
@ -233,34 +230,36 @@ override fun onViewCreated(view: View, savedInstanceState: Bundle?)
}
R.drawable.ic_history_black_24dp -> getString(R.string.showHistoricalItem)
//presacador
R.drawable.ic_local_parking_black_24dp->getString(R.string.allowParking)
R.drawable.ic_local_parking_black_24dp -> getString(R.string.allowParking)
//collection
R.drawable.ic_print_black_24dp->getString(R.string.printTicket)
R.drawable.ic_playlist_add_black_24dp->getString(R.string.addItem)
R.drawable.ic_worker->getString(R.string.showFacePicker)
R.drawable.phone_call->getString(R.string.callPicker)
R.drawable.car->getString(R.string.allowSelectVehicle)
R.drawable.car_off->getString(R.string.allowTakeoffVehicle)
R.drawable.ic_print_black_24dp -> getString(R.string.printTicket)
R.drawable.ic_playlist_add_black_24dp -> getString(R.string.addItem)
R.drawable.ic_worker -> getString(R.string.showFacePicker)
R.drawable.phone_call -> getString(R.string.callPicker)
R.drawable.car -> getString(R.string.allowSelectVehicle)
R.drawable.car_off -> getString(R.string.allowTakeoffVehicle)
//REPETIDO:R.drawable.ic_history_black_24dp->"Realiza llamada al 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"
//ubicador:
//REPETIDO: R.drawable.ic_add_black_24dp->"Genera colección para sacar"
//REPETIDO: ic_autorenew_black_24dp
//historico articulo
R.drawable.ic_transaction->getString(R.string.showFilter)
R.drawable.alpha_f_circle_outline->getString(R.string.showFaults)
R.drawable.alpha_b_circle_outline->getString(R.string.showTrash)
R.drawable.ic_transaction -> getString(R.string.showFilter)
R.drawable.alpha_f_circle_outline -> getString(R.string.showFaults)
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_delete_forever_black_24dp->getString(R.string.deleteAllitems)
R.drawable.ic_flash_auto_black_24dp->getString(R.string.allowAutomaticAddItem)
R.drawable.ic_logo_salix->getString(R.string.accessSalix)
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_flash_auto_black_24dp -> getString(R.string.allowAutomaticAddItem)
R.drawable.ic_logo_salix -> getString(R.string.accessSalix)
else -> {""}
else -> {
""
}
}
}
@ -458,22 +457,21 @@ override fun onViewCreated(view: View, savedInstanceState: Bundle?)
}
}*/
private fun requestCallPhonePermission(){
private fun requestCallPhonePermission() {
val permissionLauncher = registerForActivityResult(
ActivityResultContracts.RequestPermission()
)
{ isGranted ->
if (isGranted) {
Timber.i("permisos ok")
}
else {
} else {
Timber.i("Denegados permisos")
}
}
permissionLauncher.launch(Manifest.permission.CALL_PHONE)
}
private fun requestRecordAudioPermissionNew() {
val permissionLauncher = registerForActivityResult(
@ -482,15 +480,14 @@ override fun onViewCreated(view: View, savedInstanceState: Bundle?)
{ isGranted ->
if (isGranted) {
Timber.i("permisos ok")
}
else {
} else {
Timber.i("Denegados permisos")
}
}
permissionLauncher.launch(Manifest.permission.RECORD_AUDIO)
}
private fun requestCallPhonePermissionNew() {
val permissionLauncher = registerForActivityResult(
@ -499,9 +496,7 @@ override fun onViewCreated(view: View, savedInstanceState: Bundle?)
{ isGranted ->
if (isGranted) {
Timber.i("permisos ok")
}
else {
} else {
Timber.i("Denegados permisos")
}
}
@ -510,59 +505,64 @@ override fun onViewCreated(view: View, savedInstanceState: Bundle?)
}
fun hideBackButton(tool: ToolbarFragmentBinding) {
tool.backButton.visibility=View.INVISIBLE
tool.backButton.visibility = View.INVISIBLE
}
fun cancelSpeech() {
if (mSpeechRecognizer != null) {
mSpeechRecognizer!!.destroy()
mSpeechRecognizer = null
}
}
private fun getDefaults(key: String?, context: Context?): String? {
val preferences = PreferenceManager.getDefaultSharedPreferences(context)
return preferences.getString(key, null)
}
fun getData(name:String):String{
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()
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()
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()
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"->{
"base_url" -> {
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)
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 editor = prefs.edit()
editor.remove(SECTORFK).commit()
@ -570,6 +570,7 @@ override fun onViewCreated(view: View, savedInstanceState: Bundle?)
editor.remove(WAREHOUSEFK).commit()
}
fun setDefaults(key: String?, value: String?, context: Context?) {
val preferences: SharedPreferences = PreferenceManager.getDefaultSharedPreferences(context)
@ -578,14 +579,15 @@ override fun onViewCreated(view: View, savedInstanceState: Bundle?)
editor.commit()
}
fun removePrinter(){
fun removePrinter() {
val prefs: SharedPreferences = requireActivity().getSharedPreferences(PREFS_USER, 0)
val editor = prefs.edit()
editor.remove(PRINTERFK).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 editor = prefs.edit()
@ -600,7 +602,7 @@ override fun onViewCreated(view: View, savedInstanceState: Bundle?)
editorPref.commit()
}
"base_urlSalix"->{
"base_urlSalix" -> {
val preferences = PreferenceManager.getDefaultSharedPreferences(context)
val editorPref = preferences.edit()
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 editor = prefs.edit()
when (name){
name-> editor.putInt(name, value)
ANDROID_ID->editor.putInt(name, value)
when (name) {
name -> editor.putInt(name, value)
ANDROID_ID -> editor.putInt(name, value)
}
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) {
val prefs: SharedPreferences = requireActivity().getSharedPreferences(PREFS_USER, 0)
@ -679,7 +695,7 @@ override fun onViewCreated(view: View, savedInstanceState: Bundle?)
gson.fromJson(json, object : TypeToken<Map<String, Any>>() {}.type)
tutorialMap.forEach {
list.add(it.key +":"+ it.value)
list.add(it.key + ":" + it.value)
}
return list

View File

@ -9,6 +9,7 @@ import android.net.Uri
import android.os.Build
import android.os.Bundle
import android.speech.SpeechRecognizer
import android.util.Log
import android.view.View
import android.view.View.GONE
import android.view.View.VISIBLE
@ -150,6 +151,8 @@ class CollectionFragment(
override fun onResume() {
if (type==CONTROLADOR && storedBackPosition!=0){
setListPosition(storedBackPosition, true)}
super.onResume()
scanRequest()
}
@ -1394,7 +1397,7 @@ class CollectionFragment(
private fun saleTrackingReplace(position: Int, type: String) {
//Tarea #4371 se quita para ver si funciona correctamente
binding.splashProgress.visibility=VISIBLE
//binding.splashProgress.visibility=VISIBLE
viewModel.saleTrackingReplace(
getData(USER),
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 android.annotation.SuppressLint
import android.app.AlertDialog
import android.content.Intent
import android.content.SharedPreferences
import android.content.pm.PackageInfo
import android.content.pm.PackageManager
import android.icu.text.Transliterator
import android.net.Uri
import android.provider.Settings
import android.view.KeyEvent
@ -23,6 +25,7 @@ import kotlinx.coroutines.*
import java.lang.Boolean.TRUE
import kotlin.system.exitProcess
class LoginFragment : BaseFragment<FragmentLoginBinding, LoginViewModel>(LoginViewModel::class) {
private lateinit var customDialog: CustomDialog
@ -118,6 +121,9 @@ class LoginFragment : BaseFragment<FragmentLoginBinding, LoginViewModel>(LoginVi
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() {
val prefs: SharedPreferences = requireActivity().getSharedPreferences(PREFS_USER, 0)
if (prefs.getBoolean(REMEMBER, false)) {
@ -298,7 +355,7 @@ class LoginFragment : BaseFragment<FragmentLoginBinding, LoginViewModel>(LoginVi
customDialog.dismiss()
}.show()
}
viewModel.operator_getNumberOfWagons(getData(USER),getData(PASSWORD))
viewModel.operator_getNumberOfWagons(getData(USER), getData(PASSWORD))
viewModel.device_checkLogin(
binding.edittextUsername.text.toString(),
@ -398,7 +455,7 @@ class LoginFragment : BaseFragment<FragmentLoginBinding, LoginViewModel>(LoginVi
saveTokenPref(it.token)
//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(
binding.edittextUsername.text.toString(),
@ -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:textColor="@color/verdnatura_white"
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
@ -176,6 +177,7 @@
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@color/verdnatura_black_8_alpha_6"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"

View File

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

View File

@ -93,6 +93,7 @@
<string name="packingType">Packing type</string>
<string name="sinubicar">Downstairs</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="buscarcomprador">Search buyer</string>
<string name="escribirparteNombre">Write here</string>