Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit ee359de

Browse files
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)

AltStyle によって変換されたページ (->オリジナル) /