Skip to content

Commit e17aad0

Browse files
committed
implement advice from submission 1
1 parent 9674f04 commit e17aad0

5 files changed

Lines changed: 19 additions & 32 deletions

File tree

app/src/main/java/com/riyandifirman/githubuser/adapter/SectionsPagerAdapter.kt

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,7 @@ class SectionsPagerAdapter(private val mContext: Context, fManager: FragmentMana
1919
private val TAB_TITLES = intArrayOf(R.string.tab_a, R.string.tab_b)
2020

2121
// fungsi untuk mengembalikan jumlah tab
22-
override fun getCount(): Int {
23-
return 2
24-
}
22+
override fun getCount(): Int = TAB_TITLES.size
2523

2624
// fungsi untuk mengembalikan fragment yang akan ditampilkan pada tab
2725
override fun getItem(position: Int): Fragment {

app/src/main/java/com/riyandifirman/githubuser/ui/detail/DetailUserActivity.kt

Lines changed: 8 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.riyandifirman.githubuser.ui.detail
22

3+
import android.nfc.NfcAdapter.EXTRA_ID
34
import androidx.appcompat.app.AppCompatActivity
45
import android.os.Bundle
56
import android.view.View
@@ -20,13 +21,6 @@ class DetailUserActivity : AppCompatActivity() {
2021
private lateinit var binding: ActivityDetailUserBinding
2122
private lateinit var viewModel: DetailUserViewModel
2223

23-
// companion object digunakan untuk membuat variabel yang dapat diakses dari mana saja
24-
companion object {
25-
const val EXTRA_USERNAME = "extra_username"
26-
const val EXTRA_ID = "extra_id"
27-
const val EXTRA_AVATAR = "extra_avatar"
28-
}
29-
3024
override fun onCreate(savedInstanceState: Bundle?) {
3125
super.onCreate(savedInstanceState)
3226
binding = ActivityDetailUserBinding.inflate(layoutInflater)
@@ -106,13 +100,12 @@ class DetailUserActivity : AppCompatActivity() {
106100
}
107101

108102
// fungsi untuk menampilkan progress bar
109-
private fun showLoading(isLoading: Boolean) {
110-
if (isLoading) {
111-
// jika isLoading true maka progress bar akan muncul
112-
binding.progressBar.visibility = View.VISIBLE
113-
} else {
114-
// jika isLoading false maka progress bar akan hilang
115-
binding.progressBar.visibility = View.GONE
116-
}
103+
private fun showLoading(state: Boolean) { binding.progressBar.visibility = if (state) View.VISIBLE else View.GONE }
104+
105+
// companion object digunakan untuk membuat variabel yang dapat diakses dari mana saja
106+
companion object {
107+
const val EXTRA_USERNAME = "extra_username"
108+
const val EXTRA_ID = "extra_id"
109+
const val EXTRA_AVATAR = "extra_avatar"
117110
}
118111
}

app/src/main/java/com/riyandifirman/githubuser/ui/main/MainActivity.kt

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -80,15 +80,7 @@ class MainActivity : AppCompatActivity() {
8080
}
8181

8282
// fungsi untuk menampilkan progress bar
83-
private fun showLoading(isLoading: Boolean) {
84-
if (isLoading) {
85-
// jika isLoading true maka progress bar akan muncul
86-
binding.progressBar.visibility = View.VISIBLE
87-
} else {
88-
// jika isLoading false maka progress bar akan hilang
89-
binding.progressBar.visibility = View.GONE
90-
}
91-
}
83+
private fun showLoading(state: Boolean) { binding.progressBar.visibility = if (state) View.VISIBLE else View.GONE }
9284

9385
// fungsi untuk menampilkan option menu search
9486
override fun onCreateOptionsMenu(menu: Menu): Boolean {

app/src/main/java/com/riyandifirman/githubuser/viewmodel/DetailUserViewModel.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package com.riyandifirman.githubuser.viewmodel
22

33
import android.app.Application
44
import android.util.Log
5+
import android.widget.Toast
56
import androidx.lifecycle.AndroidViewModel
67
import androidx.lifecycle.LiveData
78
import androidx.lifecycle.MutableLiveData
@@ -48,7 +49,8 @@ class DetailUserViewModel(application: Application) : AndroidViewModel(applicati
4849

4950
// jika gagal
5051
override fun onFailure(call: Call<DetailUserResponse>, t: Throwable) {
51-
Log.d("ERROR", t.message.toString())
52+
// menampilkan pesan error dengan toast
53+
Toast.makeText(getApplication(), t.message, Toast.LENGTH_SHORT).show()
5254
}
5355
})
5456
}

app/src/main/java/com/riyandifirman/githubuser/viewmodel/MainViewModel.kt

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,7 @@ import retrofit2.Response
1414
class MainViewModel(private val preferences: SettingsPreferences) : ViewModel() {
1515

1616
// companion object digunakan untuk membuat variabel yang dapat diakses tanpa harus membuat objek
17-
companion object {
18-
private const val ERROR = "Failure"
19-
private const val USERNAME = "riyandi"
20-
}
17+
2118

2219
// fungsi yang akan dijalankan pertama kali ketika kelas ini diinisiasi
2320
init {
@@ -81,4 +78,9 @@ class MainViewModel(private val preferences: SettingsPreferences) : ViewModel()
8178
class Factory(private val preferences: SettingsPreferences) : ViewModelProvider.NewInstanceFactory() {
8279
override fun <T : ViewModel> create(modelClass: Class<T>): T = MainViewModel(preferences) as T
8380
}
81+
82+
companion object {
83+
private const val ERROR = "Failure"
84+
private const val USERNAME = "riyandi"
85+
}
8486
}

0 commit comments

Comments
 (0)