@@ -5,13 +5,8 @@ import androidx.lifecycle.MutableLiveData
5
5
import androidx.lifecycle.ViewModel
6
6
import androidx.lifecycle.viewModelScope
7
7
import ca.bc.gov.common.BuildConfig.LOCAL_API_VERSION
8
- import ca.bc.gov.common.model.AppFeatureName
9
- import ca.bc.gov.common.model.QuickAccessLinkName
10
- import ca.bc.gov.common.model.settings.AppFeatureDto
11
- import ca.bc.gov.common.model.settings.QuickAccessTileDto
12
8
import ca.bc.gov.repository.OnBoardingRepository
13
9
import ca.bc.gov.repository.settings.AppFeatureRepository
14
- import ca.bc.gov.repository.settings.QuickAccessTileRepository
15
10
import ca.bc.gov.repository.worker.MobileConfigRepository
16
11
import dagger.hilt.android.lifecycle.HiltViewModel
17
12
import kotlinx.coroutines.async
@@ -25,8 +20,7 @@ private const val MAX_SPLASH_DELAY = 2000L
25
20
class SplashViewModel @Inject constructor(
26
21
private val mobileConfigRepository : MobileConfigRepository ,
27
22
onBoardingRepository : OnBoardingRepository ,
28
- private val appFeatureRepository : AppFeatureRepository ,
29
- private val quickAccessTileRepository : QuickAccessTileRepository
23
+ private val appFeatureRepository : AppFeatureRepository
30
24
) : ViewModel() {
31
25
32
26
private val _updateType : MutableLiveData <UpdateType > = MutableLiveData ()
@@ -35,8 +29,10 @@ class SplashViewModel @Inject constructor(
35
29
36
30
init {
37
31
onBoardingRepository.checkIfReOnBoardingRequired(BuildConfig .VERSION_CODE )
38
- initializeAppData()
39
- addBCCancerQuickLink()
32
+ viewModelScope.launch {
33
+ appFeatureRepository.initializeAppData()
34
+ appFeatureRepository.addBCCancerQuickLink()
35
+ }
40
36
}
41
37
42
38
fun checkAppVersion () {
@@ -60,152 +56,6 @@ class SplashViewModel @Inject constructor(
60
56
}
61
57
}
62
58
63
- private fun initializeAppData () = viewModelScope.launch {
64
- val healthRecord = AppFeatureDto (
65
- name = AppFeatureName .HEALTH_RECORDS ,
66
- hasManageableQuickAccessLinks = true ,
67
- showAsQuickAccess = true
68
- )
69
- val id = appFeatureRepository.insert(healthRecord)
70
-
71
- if (id > 0 ) {
72
-
73
- val tiles = timelineQuickLinkTiles(id)
74
- quickAccessTileRepository.insertAll(tiles)
75
- }
76
-
77
- val immunizationSchedule = AppFeatureDto (
78
- name = AppFeatureName .IMMUNIZATION_SCHEDULES ,
79
- hasManageableQuickAccessLinks = false ,
80
- showAsQuickAccess = true
81
- )
82
- appFeatureRepository.insert(immunizationSchedule)
83
-
84
- val recommendations = AppFeatureDto (
85
- name = AppFeatureName .RECOMMENDED_IMMUNIZATIONS ,
86
- hasManageableQuickAccessLinks = false ,
87
- showAsQuickAccess = true
88
- )
89
- appFeatureRepository.insert(recommendations)
90
-
91
- val healthResources = AppFeatureDto (
92
- name = AppFeatureName .HEALTH_RESOURCES ,
93
- hasManageableQuickAccessLinks = false ,
94
- showAsQuickAccess = true
95
- )
96
- appFeatureRepository.insert(healthResources)
97
-
98
- val proofOfVaccine = AppFeatureDto (
99
- name = AppFeatureName .PROOF_OF_VACCINE ,
100
- hasManageableQuickAccessLinks = false ,
101
- showAsQuickAccess = true
102
- )
103
- appFeatureRepository.insert(proofOfVaccine)
104
-
105
- val services = AppFeatureDto (
106
- name = AppFeatureName .SERVICES ,
107
- hasManageableQuickAccessLinks = true ,
108
- showAsQuickAccess = false
109
- )
110
-
111
- val serviceId = appFeatureRepository.insert(services)
112
- if (serviceId > 0 ) {
113
- quickAccessTileRepository.insertAll(serviceQuickLinkTilesItem(serviceId))
114
- }
115
- }
116
-
117
- private fun addBCCancerQuickLink () = viewModelScope.launch {
118
- try {
119
- val appFeature = appFeatureRepository.getAppFeature(AppFeatureName .HEALTH_RECORDS )
120
- val tile = QuickAccessTileDto (
121
- featureId = appFeature.id,
122
- tileName = QuickAccessLinkName .BC_CANCER_SCREENING ,
123
- tilePayload = " CancerScreening" ,
124
- showAsQuickAccess = false
125
- )
126
- quickAccessTileRepository.insert(tile)
127
- } catch (e: Exception ) {
128
- e.printStackTrace()
129
- }
130
- }
131
-
132
- private fun serviceQuickLinkTilesItem (id : Long ): List <QuickAccessTileDto > {
133
- return listOf (
134
- QuickAccessTileDto (
135
- featureId = id,
136
- tileName = QuickAccessLinkName .ORGAN_DONOR ,
137
- tilePayload = " Organ Donor" ,
138
- showAsQuickAccess = false
139
- )
140
- )
141
- }
142
-
143
- private fun timelineQuickLinkTiles (id : Long ): List <QuickAccessTileDto > {
144
- return listOf (
145
- QuickAccessTileDto (
146
- featureId = id,
147
- tileName = QuickAccessLinkName .IMMUNIZATIONS ,
148
- tilePayload = " Immunization" ,
149
- showAsQuickAccess = false
150
- ),
151
- QuickAccessTileDto (
152
- featureId = id,
153
- tileName = QuickAccessLinkName .MEDICATIONS ,
154
- tilePayload = " Medications" ,
155
- showAsQuickAccess = false
156
- ),
157
- QuickAccessTileDto (
158
- featureId = id,
159
- tileName = QuickAccessLinkName .LAB_RESULTS ,
160
- tilePayload = " Laboratory" ,
161
- showAsQuickAccess = false
162
- ),
163
- QuickAccessTileDto (
164
- featureId = id,
165
- tileName = QuickAccessLinkName .COVID_19_TESTS ,
166
- tilePayload = " COVID19Laboratory" ,
167
- showAsQuickAccess = false
168
- ),
169
- QuickAccessTileDto (
170
- featureId = id,
171
- tileName = QuickAccessLinkName .HEALTH_VISITS ,
172
- tilePayload = " HealthVisit" ,
173
- showAsQuickAccess = false
174
- ),
175
- QuickAccessTileDto (
176
- featureId = id,
177
- tileName = QuickAccessLinkName .SPECIAL_AUTHORITY ,
178
- tilePayload = " SpecialAuthority" ,
179
- showAsQuickAccess = false
180
- ),
181
- QuickAccessTileDto (
182
- featureId = id,
183
- tileName = QuickAccessLinkName .HOSPITAL_VISITS ,
184
- tilePayload = " HospitalVisit" ,
185
- showAsQuickAccess = false
186
- ),
187
- QuickAccessTileDto (
188
- featureId = id,
189
- tileName = QuickAccessLinkName .CLINICAL_DOCUMENTS ,
190
- tilePayload = " ClinicalDocument" ,
191
- showAsQuickAccess = false
192
- ),
193
- QuickAccessTileDto (
194
- featureId = id,
195
- tileName = QuickAccessLinkName .IMAGING_REPORTS ,
196
- tilePayload = " ImagingReports" ,
197
- showAsQuickAccess = false
198
- ),
199
- QuickAccessTileDto (
200
- featureId = id,
201
- tileName = QuickAccessLinkName .BC_CANCER_SCREENING ,
202
- tilePayload = " CancerScreening" ,
203
- showAsQuickAccess = false
204
- )
205
-
206
- )
207
- }
208
-
209
59
enum class UpdateType {
210
60
FORCE_UPDATE , CHECK_SOFT_UPDATE
211
61
}
0 commit comments