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
Commit
e12534fc
authored
Aug 11, 2021
by
iptriana
Browse files
Issuses correct
parent
3805ca52
Changes
22
Hide 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
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
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
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
{
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
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
...
@@ -7,7 +7,7 @@ import androidx.appcompat.widget.Toolbar
import
cu.iptriana.pesquisavirtual.R
import
cu.iptriana.pesquisavirtual.R
class
Add
User
Activity
:
AppCompatActivity
()
{
class
Add
Person
Activity
:
AppCompatActivity
()
{
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
super
.
onCreate
(
savedInstanceState
)
super
.
onCreate
(
savedInstanceState
)
setContentView
(
R
.
layout
.
activity_add_user
)
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
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
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
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.os.Bundle
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.Toast
import
androidx.fragment.app.Fragment
import
androidx.fragment.app.Fragment
import
androidx.lifecycle.Observer
import
androidx.lifecycle.ViewModelProvider
import
androidx.lifecycle.ViewModelProvider
import
androidx.lifecycle.lifecycleScope
import
cu.iptriana.pesquisavirtual.MainActivity
import
cu.iptriana.pesquisavirtual.databinding.FragmentDiagnosticarBinding
import
cu.iptriana.pesquisavirtual.databinding.FragmentDiagnosticarBinding
import
kotlinx.coroutines.launch
import
cu.iptriana.pesquisavirtual.di.Injector
class
DiagnosticarFragment
:
Fragment
()
{
class
DiagnoseFragment
:
Fragment
()
{
private
lateinit
var
viewModel
:
DiagnosticarViewModel
private
lateinit
var
viewModel
:
DiagnoseViewModel
private
lateinit
var
allEntrys
:
Map
<
String
,
*
>
override
fun
onCreateView
(
override
fun
onCreateView
(
inflater
:
LayoutInflater
,
inflater
:
LayoutInflater
,
container
:
ViewGroup
?,
container
:
ViewGroup
?,
savedInstanceState
:
Bundle
?
savedInstanceState
:
Bundle
?
):
View
?
{
):
View
?
{
viewModel
=
ViewModelProvider
(
this
)
viewModel
=
ViewModelProvider
(
.
get
(
DiagnosticarViewModel
::
class
.
java
)
this
,
DiagnoseViewModelFactory
(
Injector
.
getTestRepository
(
requireContext
()),
Injector
.
getPreferences
(
requireContext
())
)
).
get
(
DiagnoseViewModel
::
class
.
java
)
val
binding
=
FragmentDiagnosticarBinding
.
inflate
(
val
binding
=
FragmentDiagnosticarBinding
.
inflate
(
LayoutInflater
.
from
(
context
),
container
,
false
)
LayoutInflater
.
from
(
context
),
container
,
false
val
pref
=
context
?.
getSharedPreferences
(
"MyPrefer"
,
Context
.
MODE_PRIVATE
)
)
if
(
pref
!=
null
)
{
allEntrys
=
pref
.
all
}
with
(
binding
)
{
with
(
binding
)
{
buttonEvaluarDiagnostico
.
setOnClickListener
{
buttonEvaluarDiagnostico
.
setOnClickListener
{
lifecycleScope
.
launch
{
viewModel
.
evalTest
(
context
?.
let
{
it1
->
radioButtonViajeSi
.
isChecked
,
viewModel
.
evaluar
(
radioButtonContactoViajeSi
.
isChecked
,
it1
,
radioButton2ContContagioSi
.
isChecked
,
radioButton
Viaje
Si
.
isChecked
,
radioButton
2RelSosp
Si
.
isChecked
,
radioButton
ContactoViaj
eSi
.
isChecked
,
radioButton
Fiebr
eSi
.
isChecked
,
radioButton
2ContContagio
Si
.
isChecked
,
radioButton
SintomaResp
Si
.
isChecked
,
radioButton
2RelS
os
p
Si
.
isChecked
,
radioButton
T
osSi
.
isChecked
,
radioButtonF
iebre
Si
.
isChecked
,
radioButtonF
atiga
Si
.
isChecked
,
radioButton
SintomaResp
Si
.
isChecked
,
radioButton
Disnea
Si
.
isChecked
,
radioButton
Tos
Si
.
isChecked
,
radioButton
DolorAbdominal
Si
.
isChecked
radioButtonFatigaSi
.
isChecked
,
)
radioButtonDisneaSi
.
isChecked
,
viewModel
.
resultText
.
observe
(
requireActivity
(),
Observer
{
radioButtonDolorAbdominalSi
.
isChecked
,
Toast
.
makeText
(
requireContext
(),
it
,
Toast
.
LENGTH_SHORT
).
show
()
allEntrys
})
)
startActivity
(
}
Intent
(
requireContext
(),
MainActivity
::
class
.
java
)
requireActivity
().
finish
(
)
)
}
requireActivity
().
finish
()
}
}
}
}
return
binding
.
root
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
package
cu.iptriana.pesquisavirtual.ui.diagnose
import
android.content.Context
import
androidx.lifecycle.MutableLiveData
import
android.content.Intent
import
android.widget.Toast
import
androidx.core.content.ContextCompat
import
androidx.lifecycle.ViewModel
import
androidx.lifecycle.ViewModel
import
cu.iptriana.pesquisavirtual.MainActivity
import
androidx.lifecycle.viewModelScope
import
cu.iptriana.pesquisavirtual.data.AplicationDB
import
cu.iptriana.pesquisavirtual.data.Test
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.*
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
>()
diasRegreso
:
Boolean
,
cantPersonasContacto
:
Boolean
,
cantPersonasCOVID
:
Boolean
,
relacionSospechoso
:
Boolean
,
fiebre
:
Boolean
,
problemasRespiratorios
:
Boolean
,
tosSeca
:
Boolean
,
fatiga
:
Boolean
,
disnea
:
Boolean
,
dolorAbdominal
:
Boolean
,
allEntrys
:
Map
<
String
,
*
>
)
{
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
date
=
Date
()
val
str
=
android
.
text
.
format
.
DateFormat
.
format
(
"dd-MMM-yyyy"
,
date
.
time
)
val
test
=
Test
(
fun
evalTest
(
0
diasRegreso
:
Boolean
,
,
diasRegreso
,
cantPersonasContacto
:
Boolean
,
cantPersonasCOVID
:
Boolean
,
relacionSospechoso
:
Boolean
,
fiebre
:
Boolean
,
problemasRespiratorios
:
Boolean
,
tosSeca
:
Boolean
,
fatiga
:
Boolean
,
disnea
:
Boolean
,
dolorAbdominal
:
Boolean
)
{
val
flat
=
eval
(
diasRegreso
,
cantPersonasContacto
,
cantPersonasContacto
,
cantPersonasCOVID
,
cantPersonasCOVID
,
relacionSospechoso
,
relacionSospechoso
,
...
@@ -50,36 +37,64 @@ class DiagnosticarViewModel : ViewModel() {
...
@@ -50,36 +37,64 @@ class DiagnosticarViewModel : ViewModel() {
tosSeca
,
tosSeca
,
fatiga
,
fatiga
,
disnea
,
disnea
,
dolorAbdominal
,
dolorAbdominal
)
flat
,
getPersonId
(
allEntrys
),
val
str
=
currentDate
()
str
.
toString
()
)
viewModelScope
.
launch
{
insertTest
(
Test
(
0
,
diasRegreso
,
cantPersonasContacto
,
cantPersonasCOVID
,
relacionSospechoso
,
fiebre
,
problemasRespiratorios
,
tosSeca
,
fatiga
,
disnea
,
dolorAbdominal
,
flat
,
preferences
.
getPersonId
(),
str
.
toString
()
))
}
result
(
flat
)
}
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
}
val
db
=
AplicationDB
.
getAplicationDB
(
context
)
private
suspend
fun
insertTest
(
test
:
Test
){
db
?.
testDao
()
?.
insert
(
test
)
testRepository
.
insert
(
test
)
}
private
fun
result
(
flat
:
Boolean
){
if
(
flat
)
if
(
flat
)
Toast
.
makeText
(
resultText
.
value
=
"Usted es sospechoso/a, debe acudir al centro hospitalario más cerca"
context
,
"Usted es sospechoso/a, debe acudir al centro hospitalario más cerca"
,
Toast
.
LENGTH_SHORT
).
show
()
else
else
Toast
.
makeText
(
resultText
.
value
=
"Usted no es sospechoso/a"
context
,
"Usted no es sospechoso/a"
,
Toast
.
LENGTH_SHORT
).
show
()
ContextCompat
.
startActivity
(
context
,
Intent
(
context
,
MainActivity
::
class
.
java
),
null
)
}
}
private
fun
getPersonId
(
allEntrys
:
Map
<
String
,
*
>)
:
Int
{
private
fun
currentDate
():
CharSequence
{
var
id
:
Int
=
0
val
date
=
Date
()
for
(
entry
in
allEntrys
){
return
android
.
text
.
format
.
DateFormat
.
format
(
"dd-MMM-yyyy"
,
date
.
time
)
if
(
entry
.
key
==
"id"
)
id
=
entry
.
value
as
Int
break
}
return
id
}
}
}
}
\ 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
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.os.Bundle
import
android.
widget.Toast
import
android.
view.View
import
androidx.appcompat.app.AppCompatActivity
import
androidx.appcompat.app.AppCompatActivity
import
androidx.lifecycle.lifecycleScope
import
androidx.appcompat.widget.Toolbar
import
cu.iptriana.pesquisavirtual.data.AplicationDB
import
cu.iptriana.pesquisavirtual.R
import
cu.iptriana.pesquisavirtual.data.Person
import
cu.iptriana.pesquisavirtual.databinding.ActivityAddUserBinding
import
kotlinx.android.synthetic.main.toolbar.*
import
kotlinx.coroutines.launch
class
Edit
:
AppCompatActivity
()
{
class
Edit
:
AppCompatActivity
()
{
private
lateinit
var
binding
:
ActivityAddUserBinding
private
lateinit
var
person
:
Person
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
super
.
onCreate
(
savedInstanceState
)
super
.
onCreate
(
savedInstanceState
)
binding
=
ActivityAddUserBinding
.
inflate
(
layoutInflater
)
setContentView
(
R
.
layout
.
activity_add_user
)
with
(
binding
)
{
val
toolbar
=
findViewById
<
View
>(
R
.
id
.
toolbar
)
as
Toolbar
setContentView
(
root
)
setSupportActionBar
(
toolbar
)
setSupportActionBar
(
toolbar
)
supportActionBar
?.
setDisplayHomeAsUpEnabled
(
true
)
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
...
@@ -13,14 +13,14 @@ import cu.iptriana.pesquisavirtual.MainActivity
import
cu.iptriana.pesquisavirtual.databinding.FragmentFatalidadBinding
import
cu.iptriana.pesquisavirtual.databinding.FragmentFatalidadBinding
class
FatalityFragment
:
Fragment
()
{
class
FatalityFragment
:
Fragment
()
{
private
lateinit
var
fatali
dad
ViewModel
:
Fatali
dad
ViewModel
private
lateinit
var
fatali
ty
ViewModel
:
Fatali
ty
ViewModel
override
fun
onCreateView
(
override
fun
onCreateView
(
inflater
:
LayoutInflater
,
inflater
:
LayoutInflater
,
container
:
ViewGroup
?,
container
:
ViewGroup
?,
savedInstanceState
:
Bundle
?
savedInstanceState
:
Bundle
?
):
View
?
{
):
View
?
{
fatali
dad
ViewModel
=
fatali
ty
ViewModel
=
ViewModelProvider
(
this
).
get
(
Fatali
dad
ViewModel
::
class
.
java
)
ViewModelProvider
(
this
).
get
(
Fatali
ty
ViewModel
::
class
.
java
)
val
binding
=
FragmentFatalidadBinding
.
inflate
(
val
binding
=
FragmentFatalidadBinding
.
inflate
(
LayoutInflater
.
from
(
context
),
container
,
false
)
LayoutInflater
.
from
(
context
),
container
,
false
)
with
(
binding
){
with
(
binding
){
...
@@ -35,7 +35,7 @@ class FatalityFragment: Fragment() {
...
@@ -35,7 +35,7 @@ class FatalityFragment: Fragment() {
requireActivity
().
finish
()
requireActivity
().
finish
()
}
}
btnCalcularFatalidad
.
setOnClickListener
{
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
()))
editTextHsCRP
.
text
.
toString
().
toDouble
(),
editTextL
.
text
.
toString
().
toDouble
()))
Toast
.
makeText
(
context
,
"Muestra positiva"
,
Toast
.
LENGTH_LONG
).
show
()
Toast
.
makeText
(
context
,
"Muestra positiva"
,
Toast
.
LENGTH_LONG
).
show
()
else
Toast
.
makeText
(
context
,
"Muestra negativa"
,
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
...
@@ -4,17 +4,16 @@ import androidx.lifecycle.ViewModel
class
FatalityViewModel
:
ViewModel
()
{
class
FatalityViewModel
:
ViewModel
()
{
fun
desarrolloFatal
(
fun
fatalDevelop
(
LDH
:
Double
,
LDH
:
Double
,
hs_CRP
:
Double
,
hs_CRP
:
Double
,
L
:
Double
L
:
Double
):
Boolean
{
):
Boolean
{
var
flat
=
false
if
(
LDH
>=
365
)
return
true
if
(
LDH
>=
365
)
flat
=
true
else
if
(
LDH
<
365
&&
hs_CRP
<
41.2
)
return
true
else
if
(
LDH
<
365
&&
hs_CRP
<
41.2
)
flat
=
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
)
flat
=
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
)
flat
=
true
return
false
return
flat
}
}
}
}
\ 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
package
cu.iptriana.pesquisavirtual.ui.splash
import
android.content.Intent
import
android.os.Bundle
import
android.os.Bundle
import
androidx.activity.viewModels
import
androidx.appcompat.app.AppCompatActivity
import
androidx.appcompat.app.AppCompatActivity
import
androidx.lifecycle.Observer
import
androidx.lifecycle.ViewModelProvider
import
cu.iptriana.pesquisavirtual.R
import
cu.iptriana.pesquisavirtual.R
import
cu.iptriana.pesquisavirtual.di.Injector
class
Splash
:
AppCompatActivity
()
{
class
Splash
Activity
:
AppCompatActivity
()
{
private
va
l
viewModel
by
viewModels
<
SplashViewModel
>()
private
lateinit
va
r
viewModel
:
SplashViewModel
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
super
.
onCreate
(
savedInstanceState
)
super
.
onCreate
(
savedInstanceState
)
setContentView
(
R
.
layout
.
activity_splash
)
setContentView
(
R
.
layout
.
activity_splash
)
viewModel
=
ViewModelProvider
(
this
,
SplashViewModelFactory
(
Injector
.
getPreferences
(
this
@SplashActivity
)
)
).
get
(
SplashViewModel
::
class
.
java
)
viewModel
.
onCreate
()
viewModel
.
onCreate
()
finish
()
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
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
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
package
cu.iptriana.pesquisavirtual.ui.user
import
android.content.Context
import
android.content.Intent
import
android.content.Intent
import
android.content.SharedPreferences
import
android.os.Bundle
import
android.os.Bundle
import
android.view.LayoutInflater
import
android.view.LayoutInflater
import
android.view.Menu
import
android.view.Menu
import
android.view.MenuItem
import
android.view.MenuItem
import
androidx.appcompat.app.AppCompatActivity
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.LinearLayoutManager
import
androidx.recyclerview.widget.RecyclerView
import
cu.iptriana.pesquisavirtual.MainActivity
import
cu.iptriana.pesquisavirtual.MainActivity
import
cu.iptriana.pesquisavirtual.R
import
cu.iptriana.pesquisavirtual.R
import
cu.iptriana.pesquisavirtual.adapter.TestAdapter
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.data.Test
import
cu.iptriana.pesquisavirtual.databinding.ActivityUserBinding
import
cu.iptriana.pesquisavirtual.databinding.ActivityUserBinding
import
cu.iptriana.pesquisavirtual.di.Injector
import
cu.iptriana.pesquisavirtual.ui.diagnose.AddTestActivity
import
cu.iptriana.pesquisavirtual.ui.diagnose.AddTestActivity
import
cu.iptriana.pesquisavirtual.ui.edit.Edit
import
cu.iptriana.pesquisavirtual.ui.edit.Edit
import
kotlinx.android.synthetic.main.content_main_activity.*
import
kotlinx.android.synthetic.main.toolbar.*
import
kotlinx.android.synthetic.main.toolbar.*
import
kotlinx.coroutines.launch
class
User
:
AppCompatActivity
()
{
class
UserActivity
:
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
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
super
.
onCreate
(
savedInstanceState
)
super
.
onCreate
(
savedInstanceState
)
val
viewModel
=
ViewModelProvider
(
binding
=
ActivityUserBinding
.
inflate
(
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
))
LayoutInflater
.
from
(
this
))
with
(
binding
){
with
(
binding
){
setContentView
(
root
)
setContentView
(
root
)
setSupportActionBar
(
toolbar
)
setSupportActionBar
(
toolbar
)
supportActionBar
?.
setDisplayHomeAsUpEnabled
(
true
)
supportActionBar
?.
setDisplayHomeAsUpEnabled
(
true
)
fab
.
setOnClickListener
{
view
->
fab
.
setOnClickListener
{
startActivity
(
startActivity
(
Intent
(
this
@User
,
AddTestActivity
::
class
.
java
)
Intent
(
this
@User
Activity
,
AddTestActivity
::
class
.
java
)
)
)
}
}
items
=
listOf
()
recycler
=
recyclerview
recyclerview
.
layoutManager
=
LinearLayoutManager
(
this
@UserActivity
)
recycler
.
layoutManager
=
LinearLayoutManager
(
this
@User
)
val
adapter
=
TestAdapter
(
listOf
())
adapter
=
TestAdapter
(
items
)
adapter
.
setOnItemClickListener
(
object
:
TestAdapter
.
OnRecyclerClickListener
<
Test
>{
adapter
.
setOnItemClickListener
(
object
:
TestAdapter
.
OnRecyclerClickListener
<
Test
>{
override
fun
onClick
(
model
:
Test
)
{
override
fun
onClick
(
model
:
Test
)
{
startActivity
(
Intent
(
this
@User
,
MainActivity
::
class
.
java
))
startActivity
(
Intent
(
this
@UserActivity
,
MainActivity
::
class
.
java
))
val
sharedPreferences
=
getSharedPreferences
(
"MyPrefer"
,
Context
.
MODE_PRIVATE
)
val
edit
:
SharedPreferences
.
Editor
=
sharedPreferences
.
edit
()
edit
.
putInt
(
"id"
,
model
.
id
)
edit
.
apply
()
finish
()
finish
()
}
}
...
@@ -66,23 +57,21 @@ class User : AppCompatActivity() {
...
@@ -66,23 +57,21 @@ class User : AppCompatActivity() {
}
}
})
})
}
}
viewModel
.
allTest
.
observe
(
this
@UserActivity
,
Observer
{
private
fun
getPersonById
(
id
:
Int
){
adapter
.
tests
=
it
lifecycleScope
.
launch
{
recyclerview
.
adapter
=
adapter
val
db
=
AplicationDB
.
getAplicationDB
(
this
@User
)
})
person
=
db
?.
personDao
()
?.
getById
(
id
)
!!
viewModel
.
person
.
observe
(
this
@UserActivity
,
Observer
{
binding
.
userTxtName
.
text
=
person
.
name
userTxtName
.
text
=
it
.
name
binding
.
userTxtLastName
.
text
=
person
.
last_name
userTxtLastName
.
text
=
it
.
last_name
binding
.
userTxtCi
.
text
=
person
.
ci
userTxtCi
.
text
=
it
.
ci
binding
.
userTxtAge
.
text
=
person
.
age
.
toString
()
userTxtAge
.
text
=
it
.
age
.
toString
()
})
}
}
}
}
override
fun
onCreateOptionsMenu
(
menu
:
Menu
):
Boolean
{
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
)
menuInflater
.
inflate
(
R
.
menu
.
user
,
menu
)
return
true
return
true
}
}
...
@@ -93,36 +82,4 @@ class User : AppCompatActivity() {
...
@@ -93,36 +82,4 @@ class User : AppCompatActivity() {
}
}
return
false
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
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