Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Open sidebar
iptriana
Pesquisa Virtual
Commits
e12534fc
"src/views/sections/src/views/sections/ProFeatures.vue" did not exist on "ccda68dc8c6a383ff8f9a4a041d2f2f4ee63baa5"
Commit
e12534fc
authored
Aug 11, 2021
by
iptriana
Browse files
Issuses correct
parent
3805ca52
Changes
22
Show whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
386 additions
and
267 deletions
+386
-267
app/src/main/java/cu/iptriana/pesquisavirtual/data/PersonRepository.kt
...java/cu/iptriana/pesquisavirtual/data/PersonRepository.kt
+13
-1
app/src/main/java/cu/iptriana/pesquisavirtual/data/TestRepository.kt
...n/java/cu/iptriana/pesquisavirtual/data/TestRepository.kt
+12
-1
app/src/main/java/cu/iptriana/pesquisavirtual/di/Injector.kt
app/src/main/java/cu/iptriana/pesquisavirtual/di/Injector.kt
+13
-0
app/src/main/java/cu/iptriana/pesquisavirtual/preferences/AppPreferences.kt
...cu/iptriana/pesquisavirtual/preferences/AppPreferences.kt
+32
-1
app/src/main/java/cu/iptriana/pesquisavirtual/ui/add_person/AddPersonActivity.kt
...triana/pesquisavirtual/ui/add_person/AddPersonActivity.kt
+1
-1
app/src/main/java/cu/iptriana/pesquisavirtual/ui/add_person/AddPersonViewModelFactory.kt
...esquisavirtual/ui/add_person/AddPersonViewModelFactory.kt
+14
-1
app/src/main/java/cu/iptriana/pesquisavirtual/ui/change_person/ChangePersonViewModelFactory.kt
...avirtual/ui/change_person/ChangePersonViewModelFactory.kt
+14
-1
app/src/main/java/cu/iptriana/pesquisavirtual/ui/change_person/ListPersonActivity.kt
...na/pesquisavirtual/ui/change_person/ListPersonActivity.kt
+26
-0
app/src/main/java/cu/iptriana/pesquisavirtual/ui/diagnose/AddTestActivity.kt
...u/iptriana/pesquisavirtual/ui/diagnose/AddTestActivity.kt
+13
-0
app/src/main/java/cu/iptriana/pesquisavirtual/ui/diagnose/DiagnoseFragment.kt
.../iptriana/pesquisavirtual/ui/diagnose/DiagnoseFragment.kt
+37
-32
app/src/main/java/cu/iptriana/pesquisavirtual/ui/diagnose/DiagnoseViewModel.kt
...iptriana/pesquisavirtual/ui/diagnose/DiagnoseViewModel.kt
+76
-61
app/src/main/java/cu/iptriana/pesquisavirtual/ui/diagnose/DiagnoseViewModelFactory.kt
...a/pesquisavirtual/ui/diagnose/DiagnoseViewModelFactory.kt
+14
-1
app/src/main/java/cu/iptriana/pesquisavirtual/ui/edit/Edit.kt
...src/main/java/cu/iptriana/pesquisavirtual/ui/edit/Edit.kt
+8
-77
app/src/main/java/cu/iptriana/pesquisavirtual/ui/fatality/FatalityFragment.kt
.../iptriana/pesquisavirtual/ui/fatality/FatalityFragment.kt
+4
-4
app/src/main/java/cu/iptriana/pesquisavirtual/ui/fatality/FatalityViewModel.kt
...iptriana/pesquisavirtual/ui/fatality/FatalityViewModel.kt
+6
-7
app/src/main/java/cu/iptriana/pesquisavirtual/ui/splash/SplashActivity.kt
...a/cu/iptriana/pesquisavirtual/ui/splash/SplashActivity.kt
+19
-4
app/src/main/java/cu/iptriana/pesquisavirtual/ui/splash/SplashViewModel.kt
.../cu/iptriana/pesquisavirtual/ui/splash/SplashViewModel.kt
+26
-1
app/src/main/java/cu/iptriana/pesquisavirtual/ui/splash/SplashViewModelFactory.kt
...riana/pesquisavirtual/ui/splash/SplashViewModelFactory.kt
+12
-1
app/src/main/java/cu/iptriana/pesquisavirtual/ui/user/UserActivity.kt
.../java/cu/iptriana/pesquisavirtual/ui/user/UserActivity.kt
+29
-72
app/src/main/java/cu/iptriana/pesquisavirtual/ui/user/UserViewModel.kt
...java/cu/iptriana/pesquisavirtual/ui/user/UserViewModel.kt
+17
-1
No files found.
app/src/main/java/cu/iptriana/pesquisavirtual/data/PersonRepository.kt
View file @
e12534fc
package
cu.iptriana.pesquisavirtual.data
class
PersonRepository
{
import
androidx.lifecycle.LiveData
class
PersonRepository
(
private
val
personDao
:
PersonDao
)
{
fun
getAll
():
LiveData
<
List
<
Person
>>
=
personDao
.
getAll
()
fun
getById
(
id
:
Int
):
LiveData
<
Person
>
=
personDao
.
getById
(
id
)
suspend
fun
update
(
person
:
Person
)
=
personDao
.
update
(
person
)
suspend
fun
insert
(
person
:
Person
):
Long
{
return
personDao
.
insert
(
person
)
}
suspend
fun
delete
(
person
:
Person
)
=
personDao
.
delete
(
person
)
}
\ No newline at end of file
app/src/main/java/cu/iptriana/pesquisavirtual/data/TestRepository.kt
View file @
e12534fc
package
cu.iptriana.pesquisavirtual.data
class
TestRepository
{
import
androidx.lifecycle.LiveData
class
TestRepository
(
private
val
testDao
:
TestDao
)
{
fun
getAll
(
id_person
:
Int
):
LiveData
<
List
<
Test
>>
=
testDao
.
getAll
(
id_person
)
suspend
fun
getById
(
id
:
Int
):
Test
=
testDao
.
getById
(
id
)
suspend
fun
update
(
test
:
Test
)
=
testDao
.
update
(
test
)
suspend
fun
insert
(
test
:
Test
)
=
testDao
.
insert
(
test
)
suspend
fun
delete
(
test
:
Test
)
=
testDao
.
delete
(
test
)
}
\ No newline at end of file
app/src/main/java/cu/iptriana/pesquisavirtual/di/Injector.kt
View file @
e12534fc
package
cu.iptriana.pesquisavirtual.di
import
android.content.Context
import
cu.iptriana.pesquisavirtual.data.AplicationDB
import
cu.iptriana.pesquisavirtual.data.PersonRepository
import
cu.iptriana.pesquisavirtual.data.TestRepository
import
cu.iptriana.pesquisavirtual.preferences.AppPreferences
object
Injector
{
private
fun
getPersonDao
(
context
:
Context
)
=
AplicationDB
.
getAplicationDB
(
context
).
personDao
()
private
fun
getTestDao
(
context
:
Context
)
=
AplicationDB
.
getAplicationDB
(
context
).
testDao
()
fun
getPreferences
(
context
:
Context
):
AppPreferences
=
AppPreferences
.
create
(
context
)
fun
getPersonRepository
(
context
:
Context
)
=
PersonRepository
(
getPersonDao
(
context
))
fun
getTestRepository
(
context
:
Context
)
=
TestRepository
(
getTestDao
(
context
))
}
\ No newline at end of file
app/src/main/java/cu/iptriana/pesquisavirtual/preferences/AppPreferences.kt
View file @
e12534fc
package
cu.iptriana.pesquisavirtual.preferences
class
AppPreferences
{
import
android.content.Context
import
android.content.SharedPreferences
import
cu.iptriana.pesquisavirtual.data.Person
class
AppPreferences
(
private
val
sharedPreferences
:
SharedPreferences
)
{
fun
getAll
():
Map
<
String
,
*
>
=
sharedPreferences
.
all
fun
isEmpty
():
Boolean
=
sharedPreferences
.
all
.
isEmpty
()
fun
changePerson
(
model
:
Person
){
val
edit
:
SharedPreferences
.
Editor
=
sharedPreferences
.
edit
()
edit
.
clear
()
edit
.
putInt
(
"id"
,
model
.
id
)
edit
.
apply
()
}
fun
getPersonId
()
:
Int
{
var
id
=
0
for
(
entry
in
sharedPreferences
.
all
){
if
(
entry
.
key
==
"id"
)
{
id
=
entry
.
value
as
Int
}
break
}
return
id
}
companion
object
{
fun
create
(
context
:
Context
):
AppPreferences
=
AppPreferences
(
context
.
getSharedPreferences
(
"MyPrefer"
,
Context
.
MODE_PRIVATE
))
}
}
\ No newline at end of file
app/src/main/java/cu/iptriana/pesquisavirtual/ui/add_person/AddPersonActivity.kt
View file @
e12534fc
...
...
@@ -7,7 +7,7 @@ import androidx.appcompat.widget.Toolbar
import
cu.iptriana.pesquisavirtual.R
class
Add
User
Activity
:
AppCompatActivity
()
{
class
Add
Person
Activity
:
AppCompatActivity
()
{
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
super
.
onCreate
(
savedInstanceState
)
setContentView
(
R
.
layout
.
activity_add_user
)
...
...
app/src/main/java/cu/iptriana/pesquisavirtual/ui/add_person/AddPersonViewModelFactory.kt
View file @
e12534fc
package
cu.iptriana.pesquisavirtual.ui.add_person
class
AddPersonViewModelFactory
{
import
androidx.lifecycle.ViewModel
import
androidx.lifecycle.ViewModelProvider
import
cu.iptriana.pesquisavirtual.data.PersonRepository
import
cu.iptriana.pesquisavirtual.preferences.AppPreferences
@Suppress
(
"UNCHECKED_CAST"
)
class
AddPersonViewModelFactory
(
private
val
personRepository
:
PersonRepository
,
private
val
preferences
:
AppPreferences
)
:
ViewModelProvider
.
NewInstanceFactory
()
{
override
fun
<
T
:
ViewModel
?
>
create
(
modelClass
:
Class
<
T
>):
T
{
return
AddPersonViewModel
(
personRepository
,
preferences
)
as
T
}
}
\ No newline at end of file
app/src/main/java/cu/iptriana/pesquisavirtual/ui/change_person/ChangePersonViewModelFactory.kt
View file @
e12534fc
package
cu.iptriana.pesquisavirtual.ui.change_person
class
ChangePersonViewModelFactory
{
import
androidx.lifecycle.ViewModel
import
androidx.lifecycle.ViewModelProvider
import
cu.iptriana.pesquisavirtual.data.PersonRepository
import
cu.iptriana.pesquisavirtual.preferences.AppPreferences
@Suppress
(
"UNCHECKED_CAST"
)
class
ChangePersonViewModelFactory
(
private
val
personRepository
:
PersonRepository
,
private
val
preferences
:
AppPreferences
)
:
ViewModelProvider
.
NewInstanceFactory
()
{
override
fun
<
T
:
ViewModel
?
>
create
(
modelClass
:
Class
<
T
>):
T
{
return
ChangePersonViewModel
(
personRepository
,
preferences
)
as
T
}
}
\ No newline at end of file
app/src/main/java/cu/iptriana/pesquisavirtual/ui/change_person/ListPersonActivity.kt
0 → 100644
View file @
e12534fc
package
cu.iptriana.pesquisavirtual.ui.change_person
import
android.content.Intent
import
android.os.Bundle
import
android.view.View
import
androidx.appcompat.app.AppCompatActivity
import
androidx.appcompat.widget.Toolbar
import
com.google.android.material.floatingactionbutton.FloatingActionButton
import
cu.iptriana.pesquisavirtual.R
import
cu.iptriana.pesquisavirtual.ui.add_person.AddPersonActivity
class
ListPersonActivity
:
AppCompatActivity
()
{
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
super
.
onCreate
(
savedInstanceState
)
setContentView
(
R
.
layout
.
activity_list_person
)
val
myToolbar
:
Toolbar
=
findViewById
<
View
>(
R
.
id
.
toolbar
)
as
Toolbar
setSupportActionBar
(
myToolbar
)
val
fab
=
findViewById
<
FloatingActionButton
>(
R
.
id
.
fab
)
fab
.
setOnClickListener
{
startActivity
(
Intent
(
this
@ListPersonActivity
,
AddPersonActivity
::
class
.
java
)
)
}
}
}
\ No newline at end of file
app/src/main/java/cu/iptriana/pesquisavirtual/ui/diagnose/AddTestActivity.kt
0 → 100644
View file @
e12534fc
package
cu.iptriana.pesquisavirtual.ui.diagnose
import
android.os.Bundle
import
androidx.appcompat.app.AppCompatActivity
import
cu.iptriana.pesquisavirtual.R
class
AddTestActivity
:
AppCompatActivity
()
{
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
super
.
onCreate
(
savedInstanceState
)
setContentView
(
R
.
layout
.
activity_add_test
)
}
}
app/src/main/java/cu/iptriana/pesquisavirtual/ui/diagnose/DiagnoseFragment.kt
View file @
e12534fc
package
cu.iptriana.pesquisavirtual.ui.diagnose
import
android.content.
Co
nte
x
t
import
android.content.
I
nte
n
t
import
android.os.Bundle
import
android.view.LayoutInflater
import
android.view.View
import
android.view.ViewGroup
import
android.widget.Toast
import
androidx.fragment.app.Fragment
import
androidx.lifecycle.Observer
import
androidx.lifecycle.ViewModelProvider
import
androidx.lifecycle.lifecycleScope
import
cu.iptriana.pesquisavirtual.MainActivity
import
cu.iptriana.pesquisavirtual.databinding.FragmentDiagnosticarBinding
import
kotlinx.coroutines.launch
import
cu.iptriana.pesquisavirtual.di.Injector
class
DiagnosticarFragment
:
Fragment
()
{
private
lateinit
var
viewModel
:
DiagnosticarViewModel
private
lateinit
var
allEntrys
:
Map
<
String
,
*
>
class
DiagnoseFragment
:
Fragment
()
{
private
lateinit
var
viewModel
:
DiagnoseViewModel
override
fun
onCreateView
(
inflater
:
LayoutInflater
,
container
:
ViewGroup
?,
savedInstanceState
:
Bundle
?
):
View
?
{
viewModel
=
ViewModelProvider
(
this
)
.
get
(
DiagnosticarViewModel
::
class
.
java
)
viewModel
=
ViewModelProvider
(
this
,
DiagnoseViewModelFactory
(
Injector
.
getTestRepository
(
requireContext
()),
Injector
.
getPreferences
(
requireContext
())
)
).
get
(
DiagnoseViewModel
::
class
.
java
)
val
binding
=
FragmentDiagnosticarBinding
.
inflate
(
LayoutInflater
.
from
(
context
),
container
,
false
)
val
pref
=
context
?.
getSharedPreferences
(
"MyPrefer"
,
Context
.
MODE_PRIVATE
)
if
(
pref
!=
null
)
{
allEntrys
=
pref
.
all
}
LayoutInflater
.
from
(
context
),
container
,
false
)
with
(
binding
)
{
buttonEvaluarDiagnostico
.
setOnClickListener
{
lifecycleScope
.
launch
{
context
?.
let
{
it1
->
viewModel
.
evaluar
(
it1
,
viewModel
.
evalTest
(
radioButtonViajeSi
.
isChecked
,
radioButtonContactoViajeSi
.
isChecked
,
radioButton2ContContagioSi
.
isChecked
,
...
...
@@ -43,14 +44,18 @@ class DiagnosticarFragment : Fragment() {
radioButtonTosSi
.
isChecked
,
radioButtonFatigaSi
.
isChecked
,
radioButtonDisneaSi
.
isChecked
,
radioButtonDolorAbdominalSi
.
isChecked
,
allEntrys
radioButtonDolorAbdominalSi
.
isChecked
)
viewModel
.
resultText
.
observe
(
requireActivity
(),
Observer
{
Toast
.
makeText
(
requireContext
(),
it
,
Toast
.
LENGTH_SHORT
).
show
()
})
startActivity
(
Intent
(
requireContext
(),
MainActivity
::
class
.
java
)
)
}
requireActivity
().
finish
()
}
}
}
return
binding
.
root
}
}
\ No newline at end of file
app/src/main/java/cu/iptriana/pesquisavirtual/ui/diagnose/DiagnoseViewModel.kt
View file @
e12534fc
package
cu.iptriana.pesquisavirtual.ui.diagnose
import
android.content.Context
import
android.content.Intent
import
android.widget.Toast
import
androidx.core.content.ContextCompat
import
androidx.lifecycle.MutableLiveData
import
androidx.lifecycle.ViewModel
import
cu.iptriana.pesquisavirtual.MainActivity
import
cu.iptriana.pesquisavirtual.data.AplicationDB
import
androidx.lifecycle.viewModelScope
import
cu.iptriana.pesquisavirtual.data.Test
import
cu.iptriana.pesquisavirtual.databinding.FragmentDiagnosticarBinding
import
cu.iptriana.pesquisavirtual.data.TestRepository
import
cu.iptriana.pesquisavirtual.preferences.AppPreferences
import
kotlinx.coroutines.launch
import
java.util.*
class
DiagnosticarViewModel
:
ViewModel
()
{
class
DiagnoseViewModel
(
private
val
testRepository
:
TestRepository
,
private
val
preferences
:
AppPreferences
)
:
ViewModel
()
{
suspend
fun
evaluar
(
context
:
Context
,
val
resultText
=
MutableLiveData
<
String
>()
fun
evalTest
(
diasRegreso
:
Boolean
,
cantPersonasContacto
:
Boolean
,
cantPersonasCOVID
:
Boolean
,
...
...
@@ -23,23 +26,23 @@ class DiagnosticarViewModel : ViewModel() {
tosSeca
:
Boolean
,
fatiga
:
Boolean
,
disnea
:
Boolean
,
dolorAbdominal
:
Boolean
,
allEntrys
:
Map
<
String
,
*
>
dolorAbdominal
:
Boolean
)
{
var
flat
=
false
if
(
diasRegreso
||
cantPersonasContacto
||
cantPersonasCOVID
||
relacionSospechoso
)
flat
=
true
else
if
(
fiebre
&&
problemasRespiratorios
)
flat
=
true
else
if
(
fiebre
&&
tosSeca
)
flat
=
true
else
if
(
fiebre
&&
fatiga
&&
disnea
)
flat
=
true
else
if
(
fiebre
&&
fatiga
&&
dolorAbdominal
)
flat
=
true
else
if
(
tosSeca
&&
fatiga
&&
disnea
&&
dolorAbdominal
)
flat
=
true
val
flat
=
eval
(
diasRegreso
,
cantPersonasContacto
,
cantPersonasCOVID
,
relacionSospechoso
,
fiebre
,
problemasRespiratorios
,
tosSeca
,
fatiga
,
disnea
,
dolorAbdominal
)
val
date
=
Date
()
val
str
=
android
.
text
.
format
.
DateFormat
.
format
(
"dd-MMM-yyyy"
,
date
.
time
)
val
str
=
currentDate
()
val
test
=
Test
(
viewModelScope
.
launch
{
insertTest
(
Test
(
0
,
diasRegreso
,
cantPersonasContacto
,
...
...
@@ -52,34 +55,46 @@ class DiagnosticarViewModel : ViewModel() {
disnea
,
dolorAbdominal
,
flat
,
getPersonId
(
allEntrys
),
preferences
.
getPersonId
(),
str
.
toString
()
)
))
}
result
(
flat
)
}
val
db
=
AplicationDB
.
getAplicationDB
(
context
)
db
?.
testDao
()
?.
insert
(
test
)
private
fun
eval
(
diasRegreso
:
Boolean
,
cantPersonasContacto
:
Boolean
,
cantPersonasCOVID
:
Boolean
,
relacionSospechoso
:
Boolean
,
fiebre
:
Boolean
,
problemasRespiratorios
:
Boolean
,
tosSeca
:
Boolean
,
fatiga
:
Boolean
,
disnea
:
Boolean
,
dolorAbdominal
:
Boolean
):
Boolean
{
if
(
diasRegreso
||
cantPersonasContacto
||
cantPersonasCOVID
||
relacionSospechoso
)
return
true
else
if
(
fiebre
&&
problemasRespiratorios
)
return
true
else
if
(
fiebre
&&
tosSeca
)
return
true
else
if
(
fiebre
&&
fatiga
&&
disnea
)
return
true
else
if
(
fiebre
&&
fatiga
&&
dolorAbdominal
)
return
true
else
if
(
tosSeca
&&
fatiga
&&
disnea
&&
dolorAbdominal
)
return
true
return
false
}
private
suspend
fun
insertTest
(
test
:
Test
){
testRepository
.
insert
(
test
)
}
private
fun
result
(
flat
:
Boolean
){
if
(
flat
)
Toast
.
makeText
(
context
,
"Usted es sospechoso/a, debe acudir al centro hospitalario más cerca"
,
Toast
.
LENGTH_SHORT
).
show
()
resultText
.
value
=
"Usted es sospechoso/a, debe acudir al centro hospitalario más cerca"
else
Toast
.
makeText
(
context
,
"Usted no es sospechoso/a"
,
Toast
.
LENGTH_SHORT
).
show
()
ContextCompat
.
startActivity
(
context
,
Intent
(
context
,
MainActivity
::
class
.
java
),
null
)
resultText
.
value
=
"Usted no es sospechoso/a"
}
private
fun
getPersonId
(
allEntrys
:
Map
<
String
,
*
>)
:
Int
{
var
id
:
Int
=
0
for
(
entry
in
allEntrys
){
if
(
entry
.
key
==
"id"
)
id
=
entry
.
value
as
Int
break
}
return
id
private
fun
currentDate
():
CharSequence
{
val
date
=
Date
()
return
android
.
text
.
format
.
DateFormat
.
format
(
"dd-MMM-yyyy"
,
date
.
time
)
}
}
\ No newline at end of file
app/src/main/java/cu/iptriana/pesquisavirtual/ui/diagnose/DiagnoseViewModelFactory.kt
View file @
e12534fc
package
cu.iptriana.pesquisavirtual.ui.diagnose
class
DiagnoseViewModelFactory
{
import
androidx.lifecycle.ViewModel
import
androidx.lifecycle.ViewModelProvider
import
cu.iptriana.pesquisavirtual.data.TestRepository
import
cu.iptriana.pesquisavirtual.preferences.AppPreferences
@Suppress
(
"UNCHECKED_CAST"
)
class
DiagnoseViewModelFactory
(
private
val
testRepository
:
TestRepository
,
private
val
preferences
:
AppPreferences
)
:
ViewModelProvider
.
NewInstanceFactory
()
{
override
fun
<
T
:
ViewModel
?
>
create
(
modelClass
:
Class
<
T
>):
T
{
return
DiagnoseViewModel
(
testRepository
,
preferences
)
as
T
}
}
\ No newline at end of file
app/src/main/java/cu/iptriana/pesquisavirtual/ui/edit/Edit.kt
View file @
e12534fc
package
cu.iptriana.pesquisavirtual
package
cu.iptriana.pesquisavirtual
.ui.edit
import
android.content.Context
import
android.os.Bundle
import
android.
widget.Toast
import
android.
view.View
import
androidx.appcompat.app.AppCompatActivity
import
androidx.lifecycle.lifecycleScope
import
cu.iptriana.pesquisavirtual.data.AplicationDB
import
cu.iptriana.pesquisavirtual.data.Person
import
cu.iptriana.pesquisavirtual.databinding.ActivityAddUserBinding
import
kotlinx.android.synthetic.main.toolbar.*
import
kotlinx.coroutines.launch
import
androidx.appcompat.widget.Toolbar
import
cu.iptriana.pesquisavirtual.R
class
Edit
:
AppCompatActivity
()
{
private
lateinit
var
binding
:
ActivityAddUserBinding
private
lateinit
var
person
:
Person
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
super
.
onCreate
(
savedInstanceState
)
binding
=
ActivityAddUserBinding
.
inflate
(
layoutInflater
)
with
(
binding
)
{
setContentView
(
root
)
setContentView
(
R
.
layout
.
activity_add_user
)
val
toolbar
=
findViewById
<
View
>(
R
.
id
.
toolbar
)
as
Toolbar
setSupportActionBar
(
toolbar
)
supportActionBar
?.
setDisplayHomeAsUpEnabled
(
true
)
// buttonAgregar.text = "Actualizar"
// buttonAgregar.setOnClickListener {
// val personUpdated = Person(
// person.id
// , txtName.text.toString()
// , txtLastName.text.toString()
// , txtCi.text.toString()
// , txtAge.text.toString().toInt()
// , isMale(radioButtonMasculino.isChecked)
// )
// lifecycleScope.launch {
// val db = AplicationDB.getAplicationDB(this@Edit)
// db?.personDao()?.update(personUpdated)
// Toast.makeText(
// this@Edit,
// "Registro actualizado correctamente",
// Toast.LENGTH_SHORT
// ).show()
// }
// finish()
// }
// buttonCancelar.setOnClickListener { finish() }
// getPersonById(getPersonId())
}
}
private
fun
getPersonId
()
:
Int
{
val
pref
=
getSharedPreferences
(
"MyPrefer"
,
Context
.
MODE_PRIVATE
)
var
allEntrys
:
Map
<
String
,
*
>?
=
null
if
(
pref
!=
null
)
{
allEntrys
=
pref
.
all
}
var
id
:
Int
=
0
if
(
allEntrys
!=
null
)
{
for
(
entry
in
allEntrys
){
if
(
entry
.
key
==
"id"
)
id
=
entry
.
value
as
Int
break
}
}
return
id
}
private
fun
getPersonById
(
id
:
Int
){
lifecycleScope
.
launch
{
// val db = AplicationDB.getAplicationDB(this@Edit)
// person = db?.personDao()?.getById(id)!!
// binding.txtName.setText(person.name)
// binding.txtLastName.setText(person.last_name)
// binding.txtCi.setText(person.ci)
// binding.txtAge.setText(person.age.toString())
// if(person.sex.equals("Masculino")) binding.radioButtonMasculino.isChecked = true
// else binding.radioButtonFemenino.isChecked = true
}
}
private
fun
isMale
(
flag
:
Boolean
):
String
{
if
(
flag
)
return
"Masculino"
return
"Femenino"
}
}
\ No newline at end of file
app/src/main/java/cu/iptriana/pesquisavirtual/ui/fatality/FatalityFragment.kt
View file @
e12534fc
...
...
@@ -13,14 +13,14 @@ import cu.iptriana.pesquisavirtual.MainActivity
import
cu.iptriana.pesquisavirtual.databinding.FragmentFatalidadBinding
class
FatalityFragment
:
Fragment
()
{
private
lateinit
var
fatali
dad
ViewModel
:
Fatali
dad
ViewModel
private
lateinit
var
fatali
ty
ViewModel
:
Fatali
ty
ViewModel
override
fun
onCreateView
(
inflater
:
LayoutInflater
,
container
:
ViewGroup
?,
savedInstanceState
:
Bundle
?
):
View
?
{
fatali
dad
ViewModel
=
ViewModelProvider
(
this
).
get
(
Fatali
dad
ViewModel
::
class
.
java
)
fatali
ty
ViewModel
=
ViewModelProvider
(
this
).
get
(
Fatali
ty
ViewModel
::
class
.
java
)
val
binding
=
FragmentFatalidadBinding
.
inflate
(
LayoutInflater
.
from
(
context
),
container
,
false
)
with
(
binding
){
...
...
@@ -35,7 +35,7 @@ class FatalityFragment: Fragment() {
requireActivity
().
finish
()
}
btnCalcularFatalidad
.
setOnClickListener
{
if
(
fatali
dad
ViewModel
.
desarrolloFatal
(
editTextLhd
.
text
.
toString
().
toDouble
(),
if
(
fatali
ty
ViewModel
.
fatalDevelop
(
editTextLhd
.
text
.
toString
().
toDouble
(),
editTextHsCRP
.
text
.
toString
().
toDouble
(),
editTextL
.
text
.
toString
().
toDouble
()))
Toast
.
makeText
(
context
,
"Muestra positiva"
,
Toast
.
LENGTH_LONG
).
show
()
else
Toast
.
makeText
(
context
,
"Muestra negativa"
,
Toast
.
LENGTH_LONG
).
show
()
...
...
app/src/main/java/cu/iptriana/pesquisavirtual/ui/fatality/FatalityViewModel.kt
View file @
e12534fc
...
...
@@ -4,17 +4,16 @@ import androidx.lifecycle.ViewModel
class
FatalityViewModel
:
ViewModel
()
{
fun
desarrolloFatal
(
fun
fatalDevelop
(
LDH
:
Double
,
hs_CRP
:
Double
,
L
:
Double
):
Boolean
{
var
flat
=
false
if
(
LDH
>=
365
)
flat
=
true
else
if
(
LDH
<
365
&&
hs_CRP
<
41.2
)
flat
=
true
else
if
(
LDH
<
365
&&
hs_CRP
>=
41.2
&&
L
>
14.7
)
flat
=
true
else
if
(
LDH
<
365
&&
hs_CRP
>=
41.2
&&
L
<=
14.7
)
flat
=
true
return
flat
if
(
LDH
>=
365
)
return
true
else
if
(
LDH
<
365
&&
hs_CRP
<
41.2
)
return
true
else
if
(
LDH
<
365
&&
hs_CRP
>=
41.2
&&
L
>
14.7
)
return
true
else
if
(
LDH
<
365
&&
hs_CRP
>=
41.2
&&
L
<=
14.7
)
return
true
return
false
}
}
\ No newline at end of file
app/src/main/java/cu/iptriana/pesquisavirtual/ui/splash/SplashActivity.kt
View file @
e12534fc
package
cu.iptriana.pesquisavirtual.ui.splash
import
android.content.Intent
import
android.os.Bundle
import
androidx.activity.viewModels
import
androidx.appcompat.app.AppCompatActivity
import
androidx.lifecycle.Observer
import
androidx.lifecycle.ViewModelProvider
import
cu.iptriana.pesquisavirtual.R
import
cu.iptriana.pesquisavirtual.di.Injector
class
Splash
:
AppCompatActivity
()
{
private
va
l
viewModel
by
viewModels
<
SplashViewModel
>()
class
Splash
Activity
:
AppCompatActivity
()
{
private
lateinit
va
r
viewModel
:
SplashViewModel
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
super
.
onCreate
(
savedInstanceState
)
setContentView
(
R
.
layout
.
activity_splash
)
viewModel
=
ViewModelProvider
(
this
,
SplashViewModelFactory
(
Injector
.
getPreferences
(
this
@SplashActivity
)
)
).
get
(
SplashViewModel
::
class
.
java
)
viewModel
.
onCreate
()
viewModel
.
activityToStart
.
observe
(
this
,
Observer
{
value
->
val
intent
=
Intent
(
this
,
value
.
first
.
java
)
startActivity
(
intent
)
finish
()
})
}
}
\ No newline at end of file
app/src/main/java/cu/iptriana/pesquisavirtual/ui/splash/SplashViewModel.kt
View file @
e12534fc
package
cu.iptriana.pesquisavirtual.ui.splash
class
SplashViewModel
{
import
android.os.Bundle
import
androidx.lifecycle.MutableLiveData
import
androidx.lifecycle.ViewModel
import
androidx.lifecycle.viewModelScope
import
cu.iptriana.pesquisavirtual.ui.add_person.AddPersonActivity
import
cu.iptriana.pesquisavirtual.MainActivity
import
cu.iptriana.pesquisavirtual.preferences.AppPreferences
import
kotlinx.coroutines.delay
import
kotlinx.coroutines.launch
import
kotlin.reflect.KClass
class
SplashViewModel
(
private
val
pref
:
AppPreferences
):
ViewModel
()
{
val
activityToStart
=
MutableLiveData
<
Pair
<
KClass
<
*
>,
Bundle
?
>>()
fun
onCreate
(){
viewModelScope
.
launch
{
val
allEntry
=
pref
.
getAll
()
delay
(
2000
)
if
(
allEntry
.
isEmpty
())
{
activityToStart
.
value
=
Pair
(
AddPersonActivity
::
class
,
Bundle
())
}
else
{
activityToStart
.
value
=
Pair
(
MainActivity
::
class
,
Bundle
())
}
}
}
}
\ No newline at end of file
app/src/main/java/cu/iptriana/pesquisavirtual/ui/splash/SplashViewModelFactory.kt
View file @
e12534fc
package
cu.iptriana.pesquisavirtual.ui.splash
class
SplashViewModelFactory
{
import
android.content.SharedPreferences
import
androidx.lifecycle.ViewModel
import
androidx.lifecycle.ViewModelProvider
import
cu.iptriana.pesquisavirtual.preferences.AppPreferences
@Suppress
(
"UNCHECKED_CAST"
)
class
SplashViewModelFactory
(
private
val
sharedPreferences
:
AppPreferences
)
:
ViewModelProvider
.
Factory
{
override
fun
<
T
:
ViewModel
?
>
create
(
p0
:
Class
<
T
>):
T
{
return
SplashViewModel
(
sharedPreferences
)
as
T
}
}
\ No newline at end of file
app/src/main/java/cu/iptriana/pesquisavirtual/ui/user/UserActivity.kt
View file @
e12534fc
package
cu.iptriana.pesquisavirtual.ui.user
import
android.content.Context
import
android.content.Intent
import
android.content.SharedPreferences
import
android.os.Bundle
import
android.view.LayoutInflater
import
android.view.Menu
import
android.view.MenuItem
import
androidx.appcompat.app.AppCompatActivity
import
androidx.lifecycle.lifecycleScope
import
androidx.lifecycle.Observer
import
androidx.lifecycle.ViewModelProvider
import
androidx.recyclerview.widget.LinearLayoutManager
import
androidx.recyclerview.widget.RecyclerView
import
cu.iptriana.pesquisavirtual.MainActivity
import
cu.iptriana.pesquisavirtual.R
import
cu.iptriana.pesquisavirtual.adapter.TestAdapter
import
cu.iptriana.pesquisavirtual.data.AplicationDB
import
cu.iptriana.pesquisavirtual.data.Person
import
cu.iptriana.pesquisavirtual.data.Test
import
cu.iptriana.pesquisavirtual.databinding.ActivityUserBinding
import
cu.iptriana.pesquisavirtual.di.Injector
import
cu.iptriana.pesquisavirtual.ui.diagnose.AddTestActivity
import
cu.iptriana.pesquisavirtual.ui.edit.Edit
import
kotlinx.android.synthetic.main.content_main_activity.*
import
kotlinx.android.synthetic.main.toolbar.*
import
kotlinx.coroutines.launch
class
User
:
AppCompatActivity
()
{
private
lateinit
var
items
:
List
<
Test
>
private
lateinit
var
recycler
:
RecyclerView
private
lateinit
var
adapter
:
TestAdapter
private
lateinit
var
person
:
Person
private
lateinit
var
binding
:
ActivityUserBinding
class
UserActivity
:
AppCompatActivity
()
{
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
super
.
onCreate
(
savedInstanceState
)
binding
=
ActivityUserBinding
.
inflate
(
val
viewModel
=
ViewModelProvider
(
this
,
UserViewModelFactory
(
Injector
.
getTestRepository
(
this
@UserActivity
),
Injector
.
getPreferences
(
this
@UserActivity
),
Injector
.
getPersonRepository
(
this
@UserActivity
)
)
).
get
(
UserViewModel
::
class
.
java
)
val
binding
=
ActivityUserBinding
.
inflate
(
LayoutInflater
.
from
(
this
))
with
(
binding
){
setContentView
(
root
)
setSupportActionBar
(
toolbar
)
supportActionBar
?.
setDisplayHomeAsUpEnabled
(
true
)
fab
.
setOnClickListener
{
view
->
fab
.
setOnClickListener
{
startActivity
(
Intent
(
this
@User
,
AddTestActivity
::
class
.
java
)
Intent
(
this
@User
Activity
,
AddTestActivity
::
class
.
java
)
)
}
items
=
listOf
()
recycler
=
recyclerview
recycler
.
layoutManager
=
LinearLayoutManager
(
this
@User
)
adapter
=
TestAdapter
(
items
)
recyclerview
.
layoutManager
=
LinearLayoutManager
(
this
@UserActivity
)
val
adapter
=
TestAdapter
(
listOf
())
adapter
.
setOnItemClickListener
(
object
:
TestAdapter
.
OnRecyclerClickListener
<
Test
>{
override
fun
onClick
(
model
:
Test
)
{
startActivity
(
Intent
(
this
@User
,
MainActivity
::
class
.
java
))
val
sharedPreferences
=
getSharedPreferences
(
"MyPrefer"
,
Context
.
MODE_PRIVATE
)
val
edit
:
SharedPreferences
.
Editor
=
sharedPreferences
.
edit
()
edit
.
putInt
(
"id"
,
model
.
id
)
edit
.
apply
()
startActivity
(
Intent
(
this
@UserActivity
,
MainActivity
::
class
.
java
))
finish
()
}
...
...
@@ -66,23 +57,21 @@ class User : AppCompatActivity() {
}
})
}
}
private
fun
getPersonById
(
id
:
Int
){
lifecycleScope
.
launch
{
val
db
=
AplicationDB
.
getAplicationDB
(
this
@User
)
person
=
db
?.
personDao
()
?.
getById
(
id
)
!!
binding
.
userTxtName
.
text
=
person
.
name
binding
.
userTxtLastName
.
text
=
person
.
last_name
binding
.
userTxtCi
.
text
=
person
.
ci
binding
.
userTxtAge
.
text
=
person
.
age
.
toString
()
viewModel
.
allTest
.
observe
(
this
@UserActivity
,
Observer
{
adapter
.
tests
=
it
recyclerview
.
adapter
=
adapter
})
viewModel
.
person
.
observe
(
this
@UserActivity
,
Observer
{
userTxtName
.
text
=
it
.
name
userTxtLastName
.
text
=
it
.
last_name
userTxtCi
.
text
=
it
.
ci
userTxtAge
.
text
=
it
.
age
.
toString
()
})
}
}
override
fun
onCreateOptionsMenu
(
menu
:
Menu
):
Boolean
{
// Inflate the menu; this adds items to the action bar if it is present.
menuInflater
.
inflate
(
R
.
menu
.
user
,
menu
)
return
true
}
...
...
@@ -93,36 +82,4 @@ class User : AppCompatActivity() {
}
return
false
}
override
fun
onResume
()
{
super
.
onResume
()
actualizar
()
}
private
fun
getPersonId
()
:
Int
{
val
pref
=
getSharedPreferences
(
"MyPrefer"
,
Context
.
MODE_PRIVATE
)
var
allEntrys
:
Map
<
String
,
*
>?
=
null
if
(
pref
!=
null
)
{
allEntrys
=
pref
.
all
}
var
id
:
Int
=
0
if
(
allEntrys
!=
null
)
{
for
(
entry
in
allEntrys
){
if
(
entry
.
key
==
"id"
)
id
=
entry
.
value
as
Int
break
}
}
return
id
}
fun
actualizar
()
{
lifecycleScope
.
launch
{
// val db: AplicationDB? = AplicationDB.getAplicationDB(context = this@User)
// adapter.tests = db?.testDao()?.getAll(id_person = getPersonId())!!
// recycler.adapter = adapter
}
getPersonById
(
getPersonId
())
}
}
\ No newline at end of file
app/src/main/java/cu/iptriana/pesquisavirtual/ui/user/UserViewModel.kt
View file @
e12534fc
package
cu.iptriana.pesquisavirtual.ui.user
class
UserViewModel
{
import
androidx.lifecycle.LiveData
import
androidx.lifecycle.ViewModel
import
cu.iptriana.pesquisavirtual.data.Person
import
cu.iptriana.pesquisavirtual.data.PersonRepository
import
cu.iptriana.pesquisavirtual.data.Test
import
cu.iptriana.pesquisavirtual.data.TestRepository
import
cu.iptriana.pesquisavirtual.preferences.AppPreferences
class
UserViewModel
(
testRepository
:
TestRepository
,
private
val
preferences
:
AppPreferences
,
personRepository
:
PersonRepository
):
ViewModel
()
{
val
allTest
:
LiveData
<
List
<
Test
>>
=
testRepository
.
getAll
(
getPersonId
())
var
person
:
LiveData
<
Person
>
=
personRepository
.
getById
(
getPersonId
())
private
fun
getPersonId
():
Int
=
preferences
.
getPersonId
()
}
\ No newline at end of file
Prev
1
2
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment