Skip to content

Commit

Permalink
minor change, optimize code
Browse files Browse the repository at this point in the history
  • Loading branch information
whoishusni committed May 5, 2020
1 parent 66beec3 commit 8c2db49
Show file tree
Hide file tree
Showing 12 changed files with 46 additions and 67 deletions.
14 changes: 10 additions & 4 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ android {
applicationId "id.husni.sultengcovid"
minSdkVersion 22
targetSdkVersion 29
versionCode 2
versionName "1.3"
versionCode 3
versionName "1.5"
//TODO : INSERT YOUR API FROM NEWSAPI.ORG HERE
buildConfigField("String", "KEY_NEWS_API", '"{API_KEY_HERE}"')
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
Expand All @@ -37,7 +37,7 @@ dependencies {
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'androidx.core:core-ktx:1.2.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation 'com.google.firebase:firebase-messaging:20.1.5'
implementation 'com.google.firebase:firebase-messaging:20.1.6'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
Expand All @@ -48,7 +48,7 @@ dependencies {
//Gson
implementation 'com.squareup.retrofit2:converter-gson:2.8.0'
//Retrofit
implementation 'com.squareup.retrofit2:retrofit:2.8.0'
implementation 'com.squareup.retrofit2:retrofit:2.8.1'
// ViewModel
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.2.0"
// LiveData
Expand All @@ -59,4 +59,10 @@ dependencies {
//Glide
implementation 'com.github.bumptech.glide:glide:4.11.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0'
//Rx Android
implementation 'io.reactivex.rxjava3:rxandroid:3.0.0'
//Rx Java
implementation 'io.reactivex.rxjava3:rxjava:3.0.3'
//Rx Java 3 Adapter
implementation 'com.github.akarnokd:rxjava3-retrofit-adapter:3.0.0'
}
37 changes: 21 additions & 16 deletions app/src/main/java/id/husni/sultengcovid/activity/MainActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,15 @@ import android.view.Menu
import android.view.MenuItem
import androidx.appcompat.app.AlertDialog
import androidx.appcompat.app.AppCompatActivity
import androidx.lifecycle.Observer
import androidx.lifecycle.ViewModelProvider
import androidx.lifecycle.ViewModelProvider.NewInstanceFactory
import com.google.firebase.iid.FirebaseInstanceId
import com.google.firebase.messaging.FirebaseMessaging
import id.husni.sultengcovid.R
import id.husni.sultengcovid.model.Province
import id.husni.sultengcovid.viewmodel.ProvinceViewModel
import id.husni.sultengcovid.serviceapi.ApiEndpoint
import id.husni.sultengcovid.serviceapi.RetrofitServiceApi
import id.husni.sultengcovid.viewpager.MainPagerAdapter
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
import io.reactivex.rxjava3.schedulers.Schedulers
import kotlinx.android.synthetic.main.activity_main.*


Expand All @@ -42,14 +42,19 @@ class MainActivity : AppCompatActivity() {
mainViewPager.adapter = MainPagerAdapter(this,supportFragmentManager)
mainTabLayout.setupWithViewPager(mainViewPager)

val viewModel : ProvinceViewModel = ViewModelProvider(this, NewInstanceFactory()).get(ProvinceViewModel::class.java)
viewModel.setProvinceData()
viewModel.getProvinceLiveData().observe(this, Observer<Province> { provinceModel ->
tvProvinceName.text = provinceModel.dataProvince.provinceName
tvProvincePositive.text = provinceModel.dataProvince.provincePositive.toString()
tvProvinceRecovered.text = provinceModel.dataProvince.provinceRecovered.toString()
tvProvinceDeath.text = provinceModel.dataProvince.provinceDeath.toString()
})
val retrofit = RetrofitServiceApi.retrofit
val endPoint = retrofit.create(ApiEndpoint::class.java)
endPoint.getProvinceData()
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.subscribe { getProvinceData(it) }
}

private fun getProvinceData(province: Province?) {
tvProvinceName.text = province?.dataProvince?.provinceName
tvProvincePositive.text = province?.dataProvince?.provincePositive.toString()
tvProvinceRecovered.text = province?.dataProvince?.provinceRecovered.toString()
tvProvinceDeath.text = province?.dataProvince?.provinceDeath.toString()
}

override fun onCreateOptionsMenu(menu: Menu?): Boolean {
Expand Down Expand Up @@ -85,12 +90,12 @@ class MainActivity : AppCompatActivity() {
val alertDialogBuilder= AlertDialog.Builder(this)
.setTitle(getString(R.string.exit))
.setMessage(getString(R.string.exit_message))
.setPositiveButton(getString(R.string.yes),DialogInterface.OnClickListener { _, _ ->
.setPositiveButton(getString(R.string.yes)) { _, _ ->
finish()
})
.setNegativeButton(getString(R.string.no), DialogInterface.OnClickListener { dialog, _ ->
}
.setNegativeButton(getString(R.string.no)) { dialog, _ ->
dialog.dismiss()
})
}
val dialog : AlertDialog = alertDialogBuilder.create()
dialog.show()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ class DistrictAdapter(val context: Context?) :

}

override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): DistrictAdapter.ViewHolder {
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
val view : View = LayoutInflater.from(context).inflate(R.layout.district_item_holder, parent, false)
return ViewHolder(view)
}
Expand All @@ -52,7 +52,7 @@ class DistrictAdapter(val context: Context?) :
return districtArray.size
}

override fun onBindViewHolder(holder: DistrictAdapter.ViewHolder, position: Int) {
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
holder.bindData(districtArray[position])
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ class HospitalAdapter (val context: Context?) :

}

override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): HospitalAdapter.ViewHolder {
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
val view : View = LayoutInflater.from(context).inflate(R.layout.hospital_item_holder, parent, false)
return ViewHolder(view)
}
Expand All @@ -58,7 +58,7 @@ class HospitalAdapter (val context: Context?) :
return hospitalArray.size
}

override fun onBindViewHolder(holder: HospitalAdapter.ViewHolder, position: Int) {
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
holder.bindData(hospitalArray[position])
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ class NewsAdapter (val context : Context) : RecyclerView.Adapter<NewsAdapter.Vie

}

override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): NewsAdapter.ViewHolder {
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
val view : View = LayoutInflater.from(context).inflate(R.layout.news_item_holder,parent, false)
return ViewHolder(view)
}
Expand All @@ -55,7 +55,7 @@ class NewsAdapter (val context : Context) : RecyclerView.Adapter<NewsAdapter.Vie
return newsArrayList.size
}

override fun onBindViewHolder(holder: NewsAdapter.ViewHolder, position: Int) {
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
holder.bindData(newsArrayList[position])
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,15 @@ import id.husni.sultengcovid.model.DistrictResponse
import id.husni.sultengcovid.model.HospitalResponse
import id.husni.sultengcovid.model.NewsResponse
import id.husni.sultengcovid.model.Province
import io.reactivex.rxjava3.core.Observable
import retrofit2.Call
import retrofit2.http.GET
import retrofit2.http.Query

interface ApiEndpoint {
//Province
@GET(AppsUtilities.ENDPOINT_PROVINCE)
fun getProvinceData() : Call<Province>
fun getProvinceData() : Observable<Province>
//District
@GET(AppsUtilities.ENDPOINT_DISTRICT)
fun getDistrictData() : Call<DistrictResponse>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@

package id.husni.sultengcovid.serviceapi

import hu.akarnokd.rxjava3.retrofit.RxJava3CallAdapterFactory
import id.husni.sultengcovid.utilities.AppsUtilities
import okhttp3.OkHttpClient
import retrofit2.Retrofit
Expand All @@ -14,13 +15,15 @@ import java.util.concurrent.TimeUnit

object RetrofitServiceApi {
private val gson = GsonConverterFactory.create()
private val rxJava3Adapter = RxJava3CallAdapterFactory.create()
private val okHttpClient = OkHttpClient.Builder()
.connectTimeout(10, TimeUnit.SECONDS)
.readTimeout(5, TimeUnit.SECONDS)
.build() as OkHttpClient
val retrofit = Retrofit.Builder()
.baseUrl(AppsUtilities.BASE_URL)
.addConverterFactory(gson)
.addCallAdapterFactory(rxJava3Adapter)
.client(okHttpClient)
.build() as Retrofit
val retrofitNews = Retrofit.Builder()
Expand Down

This file was deleted.

1 change: 1 addition & 0 deletions app/src/main/res/values-en/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -40,4 +40,5 @@
<string name="_5_better_at_home">5. Better at Home</string>
<string name="news_api">NewsApi</string>
<string name="news">News</string>
<string name="message">Message</string>
</resources>
1 change: 1 addition & 0 deletions app/src/main/res/values-in/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -40,4 +40,5 @@
<string name="_5_better_at_home">5. Lebih Baik Dirumah Saja</string>
<string name="news_api">NewsApi</string>
<string name="news">Berita</string>
<string name="message">Pesan</string>
</resources>
2 changes: 1 addition & 1 deletion app/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -40,5 +40,5 @@
<string name="_5_better_at_home">5. Better at Home</string>
<string name="news_api">NewsApi</string>
<string name="news">News</string>
<string name="message">\" Message\"</string>
<string name="message">Message</string>
</resources>
1 change: 1 addition & 0 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ allprojects {
repositories {
google()
jcenter()
maven { url "https://oss.jfrog.org/libs-snapshot" }

}
}
Expand Down

0 comments on commit 8c2db49

Please sign in to comment.