Skip to content

Commit 6899a4e

Browse files
authored
Merge pull request #11 from anangkur/dashboard
Dashboard
2 parents d2f6fca + 5f4cc5d commit 6899a4e

File tree

61 files changed

+915
-344
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

61 files changed

+915
-344
lines changed

app/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ android {
1111
applicationId "com.anangkur.mediku"
1212
minSdkVersion 21
1313
targetSdkVersion 29
14-
versionCode 23
15-
versionName "2.3"
14+
versionCode 30
15+
versionName "v3.0"
1616
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
1717
}
1818
buildTypes {

app/src/main/AndroidManifest.xml

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,7 @@
1616
android:supportsRtl="true"
1717
android:theme="@style/MaterialTheme"
1818
android:usesCleartextTraffic="true">
19-
20-
<activity android:name=".feature.about.AboutActivity"/>
19+
<activity android:name=".feature.about.AboutActivity" />
2120
<activity android:name=".feature.mens.menstrualEdit.MenstrualEditActivity" />
2221
<activity android:name=".feature.mens.menstrual.MenstrualActivity" />
2322
<activity android:name=".feature.originalNews.OriginalNewsActivity" />
@@ -26,22 +25,20 @@
2625
<activity android:name=".feature.covid.covid19.CovidActivity" />
2726
<activity android:name=".feature.medicalRecords.detailMedicalRecord.DetailMedicalRecordActivity" />
2827
<activity android:name=".feature.medicalRecords.addMedicalRecord.AddMedicalRecordActivity" />
29-
<activity android:name=".feature.dashboard.home.HomeActivity" />
28+
<activity android:name=".feature.medicalRecords.listMedicalRecords.MedicalRecordsActivity" />
3029
<activity android:name=".feature.auth.forgotPassword.ForgotPasswordActivity" />
3130
<activity android:name=".feature.auth.editPassword.EditPasswordActivity" />
3231
<activity android:name=".feature.profile.editProfile.EditProfileActivity" />
3332
<activity android:name=".feature.profile.userProfile.ProfileActivity" />
3433
<activity android:name=".feature.auth.signUp.SignUpActivity" />
3534
<activity android:name=".feature.auth.signIn.SignInActivity" />
36-
3735
<activity android:name=".feature.splash.SplashActivity">
3836
<intent-filter>
3937
<action android:name="android.intent.action.MAIN" />
4038

4139
<category android:name="android.intent.category.LAUNCHER" />
4240
</intent-filter>
4341
</activity>
44-
4542
<activity
4643
android:name="com.theartofdev.edmodo.cropper.CropImageActivity"
4744
android:theme="@style/Base.Theme.AppCompat" />
@@ -55,7 +52,6 @@
5552
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
5653
</intent-filter>
5754
</service>
58-
5955
</application>
6056

6157
</manifest>

app/src/main/java/com/anangkur/mediku/data/DataSource.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@ import retrofit2.http.Path
1414

1515
interface DataSource {
1616

17+
fun saveFirebaseToken(firebaseToken: String) { throw Exception() }
18+
fun loadFirebaseToken(): String { throw Exception() }
19+
1720
suspend fun getTopHeadlinesNews(
1821
apiKey: String?,
1922
country: String?,

app/src/main/java/com/anangkur/mediku/data/Repository.kt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,14 @@ class Repository(val remoteRepository: RemoteRepository, private val localReposi
111111
return localRepository.loadCountry()
112112
}
113113

114+
fun saveFirebaseToken(firebaseToken: String){
115+
localRepository.saveFirebaseToken(firebaseToken)
116+
}
117+
118+
fun loadFirebaseToken(): String {
119+
return localRepository.loadFirebaseToken()
120+
}
121+
114122
companion object{
115123
@Volatile private var INSTANCE: Repository? = null
116124
fun getInstance(remoteRepository: RemoteRepository, localRepository: LocalRepository) = INSTANCE ?: synchronized(

app/src/main/java/com/anangkur/mediku/data/ViewModelFactory.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import com.anangkur.mediku.feature.medicalRecords.detailMedicalRecord.DetailMedi
1515
import com.anangkur.mediku.feature.auth.editPassword.EditPasswordViewModel
1616
import com.anangkur.mediku.feature.profile.editProfile.EditProfileViewModel
1717
import com.anangkur.mediku.feature.auth.forgotPassword.ForgotPasswordViewModel
18-
import com.anangkur.mediku.feature.dashboard.home.HomeViewModel
18+
import com.anangkur.mediku.feature.medicalRecords.listMedicalRecords.MedicalRecordsViewModel
1919
import com.anangkur.mediku.feature.dashboard.main.home.HomeViewModel as HomeViewModelFragment
2020
import com.anangkur.mediku.feature.dashboard.main.MainViewModel
2121
import com.anangkur.mediku.feature.mens.menstrual.MenstrualViewModel
@@ -49,7 +49,7 @@ class ViewModelFactory(private val repository: Repository): ViewModelProvider.Ne
4949

5050
isAssignableFrom(HomeViewModelFragment::class.java) -> HomeViewModelFragment(repository)
5151
isAssignableFrom(MainViewModel::class.java) -> MainViewModel(repository)
52-
isAssignableFrom(HomeViewModel::class.java) -> HomeViewModel(repository)
52+
isAssignableFrom(MedicalRecordsViewModel::class.java) -> MedicalRecordsViewModel(repository)
5353

5454
isAssignableFrom(AddMedicalRecordViewModel::class.java) -> AddMedicalRecordViewModel(repository)
5555
isAssignableFrom(DetailMedicalRecordViewModel::class.java) -> DetailMedicalRecordViewModel(repository)

app/src/main/java/com/anangkur/mediku/data/local/LocalRepository.kt

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,30 @@
11
package com.anangkur.mediku.data.local
22

33
import android.annotation.SuppressLint
4-
import android.content.Context
54
import android.content.SharedPreferences
65
import androidx.lifecycle.LiveData
76
import com.anangkur.mediku.data.DataSource
87
import com.anangkur.mediku.data.local.room.AppDao
9-
import com.anangkur.mediku.data.model.covid19.Covid19ApiResponse
108
import com.anangkur.mediku.data.model.covid19.Covid19Data
119
import com.anangkur.mediku.data.model.newCovid19.NewCovid19DataCountry
1210
import com.anangkur.mediku.data.model.newCovid19.NewCovid19Summary
1311
import com.anangkur.mediku.data.model.news.Article
14-
import com.anangkur.mediku.util.Const.EXTRA_COUNTRY
12+
import com.anangkur.mediku.util.Const
13+
import com.anangkur.mediku.util.Const.PREF_COUNTRY
1514

1615
class LocalRepository(
1716
private val preferences: SharedPreferences,
1817
private val dao: AppDao
1918
): DataSource {
2019

20+
override fun saveFirebaseToken(firebaseToken: String) {
21+
preferences.edit().putString(Const.PREF_FIREBASE_TOKEN, firebaseToken).apply()
22+
}
23+
24+
override fun loadFirebaseToken(): String {
25+
return preferences.getString(Const.PREF_FIREBASE_TOKEN, "") ?: ""
26+
}
27+
2128
/**
2229
* News
2330
*/
@@ -87,11 +94,11 @@ class LocalRepository(
8794
* preferences
8895
*/
8996
override fun saveCountry(country: String) {
90-
preferences.edit().putString(EXTRA_COUNTRY, country).apply()
97+
preferences.edit().putString(PREF_COUNTRY, country).apply()
9198
}
9299

93100
override fun loadCountry(): String {
94-
return preferences.getString(EXTRA_COUNTRY, "")?:""
101+
return preferences.getString(PREF_COUNTRY, "")?:""
95102
}
96103

97104
companion object{

app/src/main/java/com/anangkur/mediku/data/model/auth/User.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,6 @@ data class User(
77
var height: Int = 0,
88
var weight: Int = 0,
99
var photo: String = "",
10-
var providerName: String = ""
10+
var providerName: String = "",
11+
var firebaseToken: String = ""
1112
)

app/src/main/java/com/anangkur/mediku/feature/about/AboutActionListener.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,5 @@ interface AboutActionListener {
77
fun onClickResourceChild(resourceChild: Resource.ResourceChild)
88
fun onClickCovid19Api(url: String)
99
fun onClickNewsApi(url: String)
10+
fun onClickGiveRating(url: String)
1011
}

app/src/main/java/com/anangkur/mediku/feature/about/AboutActivity.kt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import com.anangkur.mediku.util.obtainViewModel
1515
import com.anangkur.mediku.util.openBrowser
1616
import com.anangkur.mediku.util.setupRecyclerViewLinear
1717
import kotlinx.android.synthetic.main.activity_about.*
18-
import kotlinx.android.synthetic.main.layout_toolbar.*
18+
import kotlinx.android.synthetic.main.layout_toolbar_back.*
1919

2020
class AboutActivity: BaseActivity<AboutViewModel>(), AboutActionListener {
2121

@@ -45,6 +45,7 @@ class AboutActivity: BaseActivity<AboutViewModel>(), AboutActionListener {
4545
tv_version_number.text = BuildConfig.VERSION_NAME
4646
tv_covid_19_data.setOnClickListener { this.onClickCovid19Api("https://covid19api.com") }
4747
tv_news_data.setOnClickListener { this.onClickNewsApi("https://newsapi.org") }
48+
btn_rate.setOnClickListener { this.onClickGiveRating("https://play.google.com/store/apps/details?id=com.anangkur.mediku") }
4849
}
4950

5051
private fun setupAdapter(){
@@ -78,4 +79,8 @@ class AboutActivity: BaseActivity<AboutViewModel>(), AboutActionListener {
7879
override fun onClickNewsApi(url: String) {
7980
openBrowser(url)
8081
}
82+
83+
override fun onClickGiveRating(url: String) {
84+
openBrowser(url)
85+
}
8186
}

app/src/main/java/com/anangkur/mediku/feature/about/AboutViewModel.kt

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ class AboutViewModel(private val repository: Repository): ViewModel() {
1717
listResource.add(createResourceGoodWare())
1818
listResource.add(createResourceNhorPhai())
1919
listResource.add(createResourceEducalyp())
20+
listResource.add(createResourceIconixar())
2021
listResourceLive.postValue(listResource)
2122
}
2223

@@ -63,6 +64,27 @@ class AboutViewModel(private val repository: Repository): ViewModel() {
6364
link = "https://www.flaticon.com/free-icon/student_167750"
6465
)
6566
)
67+
listResourceChild.add(
68+
Resource.ResourceChild(
69+
image = R.drawable.ic_medical_records,
70+
name = "Prescription",
71+
link = "https://www.flaticon.com/free-icon/prescription_2755093"
72+
)
73+
)
74+
listResourceChild.add(
75+
Resource.ResourceChild(
76+
image = R.drawable.ic_covid_stat,
77+
name = "Diagram",
78+
link = "https://www.flaticon.com/free-icon/diagram_2585314"
79+
)
80+
)
81+
listResourceChild.add(
82+
Resource.ResourceChild(
83+
image = R.drawable.ic_covid_check,
84+
name = "Medical Report",
85+
link = "https://www.flaticon.com/free-icon/medical-report_2718054"
86+
)
87+
)
6688
return Resource(
6789
title = "Icon made by Freepik from www.flaticon.com",
6890
child = listResourceChild,
@@ -156,4 +178,20 @@ class AboutViewModel(private val repository: Repository): ViewModel() {
156178
child = listResourceChild
157179
)
158180
}
181+
182+
private fun createResourceIconixar(): Resource {
183+
val listResourceChild = ArrayList<Resource.ResourceChild>()
184+
listResourceChild.add(
185+
Resource.ResourceChild(
186+
image = R.drawable.ic_menstrual_period,
187+
link = "https://www.flaticon.com/free-icon/calendar_2413771",
188+
name = "Calendar"
189+
)
190+
)
191+
return Resource(
192+
title = "Icon made by Iconixar from www.flaticon.com",
193+
link = "https://www.flaticon.com/authors/iconixar",
194+
child = listResourceChild
195+
)
196+
}
159197
}

0 commit comments

Comments
 (0)