Skip to content

Commit ee359de

Browse files
committed
Minor improvements
1 parent feeed08 commit ee359de

File tree

2 files changed

+22
-16
lines changed

2 files changed

+22
-16
lines changed

app/src/main/java/com/cleanarch/features/wikientry/presentation/WikiEntryActivity.kt

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -39,16 +39,16 @@ class WikiEntryActivity : AppCompatActivity() {
3939
(application as CleanArchApp).buildWikiEntryComponent()
4040

4141
binding = ActivityMainBinding.inflate(layoutInflater)
42-
val view = binding.root
43-
setContentView(view)
44-
42+
setContentView(binding.root)
4543
binding.submitButton.setOnClickListener(submitButtonOnClickListener)
4644

4745
wikiEntryViewModel = ViewModelProvider(this)[WikiEntryViewModel::class.java]
48-
wikiEntryViewModel.getWikiEntry().observe(this) { wikiEntry ->
49-
Log.d(Companion.TAG, "received update for wikiEntry")
50-
binding.entryDetails.text = wikiEntry?.extract
51-
binding.progressBar.hide()
46+
wikiEntryViewModel.wikiEntry.observe(this) {
47+
Log.d(TAG, "received update for wikiEntry")
48+
binding.entryDetails.text = it?.extract
49+
}
50+
wikiEntryViewModel.showProgress.observe(this) {
51+
if (it) binding.progressBar.show() else binding.progressBar.hide()
5252
}
5353
}
5454

@@ -59,7 +59,6 @@ class WikiEntryActivity : AppCompatActivity() {
5959
}
6060

6161
private val submitButtonOnClickListener = View.OnClickListener { v ->
62-
binding.progressBar.show()
6362
val inputMethodManager =
6463
this@WikiEntryActivity.baseContext.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
6564
inputMethodManager.hideSoftInputFromWindow(v.windowToken, 0)

app/src/main/java/com/cleanarch/features/wikientry/presentation/WikiEntryViewModel.kt

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -37,34 +37,41 @@ import javax.inject.Inject
3737

3838
class WikiEntryViewModel(application: Application) : AndroidViewModel(application) {
3939

40-
private var wikiEntry: MutableLiveData<WikiEntry>
40+
private val _wikiEntry: MutableLiveData<WikiEntry> by lazy {
41+
MutableLiveData<WikiEntry>()
42+
}
43+
val wikiEntry: LiveData<WikiEntry>
44+
get() = _wikiEntry
45+
46+
private val _showProgress: MutableLiveData<Boolean> by lazy {
47+
MutableLiveData<Boolean>(false)
48+
}
49+
val showProgress: LiveData<Boolean>
50+
get() = _showProgress
4151

4252
@Inject
4353
lateinit var getWikiEntryUseCase: Lazy<GetWikiEntryUseCase>
4454

4555
init {
4656
(application as CleanArchApp).wikiEntryComponent?.inject(this)
47-
wikiEntry = MutableLiveData<WikiEntry>()
48-
}
49-
50-
internal fun getWikiEntry(): LiveData<WikiEntry> {
51-
return wikiEntry
5257
}
5358

5459
internal fun loadWikiEntry(title: String) {
5560
viewModelScope.launch {
61+
_showProgress.value = true
5662
val item = withContext(Dispatchers.IO) {
5763
getWikiEntryUseCase.get()
5864
.execute(GetWikiEntryUseCase.Input(title))
59-
.onCompletion { Log.d(TAG,"completed wiki query") }
65+
.onCompletion { Log.d(TAG, "completed wiki query") }
6066
.catch { exception -> Log.d(TAG, "Received $exception") }
6167
.firstOrNull()
6268
}
63-
wikiEntry.value = item ?: WikiEntry(
69+
_wikiEntry.value = item ?: WikiEntry(
6470
-1,
6571
"",
6672
getApplication<Application>().getString(R.string.no_results_found)
6773
)
74+
_showProgress.value = false
6875
}
6976
}
7077

0 commit comments

Comments
 (0)