From d35d2b6e61632f47e7ab11b1361b54fc319d4124 Mon Sep 17 00:00:00 2001 From: Volodymyr Buberenko Date: Thu, 30 Jan 2020 23:28:24 +0200 Subject: [PATCH 1/4] Update ViewModel dependency, refactor TransactionViewModel --- build.gradle | 2 +- .../chucker/internal/support/LiveDataUtils.kt | 13 --------- .../ui/transaction/TransactionActivity.kt | 21 ++------------- .../TransactionOverviewFragment.kt | 6 ++--- .../transaction/TransactionPayloadFragment.kt | 6 ++--- .../ui/transaction/TransactionViewModel.kt | 27 ++++++++----------- 6 files changed, 20 insertions(+), 55 deletions(-) delete mode 100644 library/src/main/java/com/chuckerteam/chucker/internal/support/LiveDataUtils.kt diff --git a/build.gradle b/build.gradle index d946449ab..932d8a0ed 100644 --- a/build.gradle +++ b/build.gradle @@ -18,7 +18,7 @@ buildscript { okhttp3Version = '3.12.6' retrofitVersion = '2.6.4' roomVersion = '2.2.3' - viewModelVersion = '2.1.0' + viewModelVersion = '2.2.0' } repositories { diff --git a/library/src/main/java/com/chuckerteam/chucker/internal/support/LiveDataUtils.kt b/library/src/main/java/com/chuckerteam/chucker/internal/support/LiveDataUtils.kt deleted file mode 100644 index 693106258..000000000 --- a/library/src/main/java/com/chuckerteam/chucker/internal/support/LiveDataUtils.kt +++ /dev/null @@ -1,13 +0,0 @@ -package com.chuckerteam.chucker.internal.support - -import androidx.lifecycle.LiveData -import androidx.lifecycle.Observer - -internal fun LiveData.observeOnce(observer: Observer) { - observeForever(object : Observer { - override fun onChanged(t: T?) { - observer.onChanged(t) - removeObserver(this) - } - }) -} diff --git a/library/src/main/java/com/chuckerteam/chucker/internal/ui/transaction/TransactionActivity.kt b/library/src/main/java/com/chuckerteam/chucker/internal/ui/transaction/TransactionActivity.kt index cdd130386..2c4763d70 100644 --- a/library/src/main/java/com/chuckerteam/chucker/internal/ui/transaction/TransactionActivity.kt +++ b/library/src/main/java/com/chuckerteam/chucker/internal/ui/transaction/TransactionActivity.kt @@ -1,18 +1,3 @@ -/* - * Copyright (C) 2017 Jeff Gilfelt. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ package com.chuckerteam.chucker.internal.ui.transaction import android.content.Context @@ -24,7 +9,7 @@ import android.widget.TextView import androidx.appcompat.widget.Toolbar import androidx.core.app.ShareCompat import androidx.lifecycle.Observer -import androidx.lifecycle.ViewModelProviders +import androidx.lifecycle.ViewModelProvider import androidx.viewpager.widget.ViewPager import com.chuckerteam.chucker.R import com.chuckerteam.chucker.internal.support.FormatUtils.getShareCurlCommand @@ -45,10 +30,8 @@ internal class TransactionActivity : BaseChuckerActivity() { // Create the instance now, so it can be shared by the // various fragments in the view pager later. - viewModel = ViewModelProviders - .of(this, TransactionViewModelFactory(transactionId)) + viewModel = ViewModelProvider(this, TransactionViewModelFactory(transactionId)) .get(TransactionViewModel::class.java) - viewModel.loadTransaction() val toolbar = findViewById(R.id.toolbar) setSupportActionBar(toolbar) diff --git a/library/src/main/java/com/chuckerteam/chucker/internal/ui/transaction/TransactionOverviewFragment.kt b/library/src/main/java/com/chuckerteam/chucker/internal/ui/transaction/TransactionOverviewFragment.kt index e32b8e94d..c0e455dec 100644 --- a/library/src/main/java/com/chuckerteam/chucker/internal/ui/transaction/TransactionOverviewFragment.kt +++ b/library/src/main/java/com/chuckerteam/chucker/internal/ui/transaction/TransactionOverviewFragment.kt @@ -9,7 +9,7 @@ import android.view.ViewGroup import android.widget.TextView import androidx.fragment.app.Fragment import androidx.lifecycle.Observer -import androidx.lifecycle.ViewModelProviders +import androidx.lifecycle.ViewModelProvider import com.chuckerteam.chucker.R internal class TransactionOverviewFragment : Fragment() { @@ -31,7 +31,7 @@ internal class TransactionOverviewFragment : Fragment() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setHasOptionsMenu(true) - viewModel = ViewModelProviders.of(requireActivity())[TransactionViewModel::class.java] + viewModel = ViewModelProvider(requireActivity())[TransactionViewModel::class.java] } override fun onCreateView( @@ -65,7 +65,7 @@ internal class TransactionOverviewFragment : Fragment() { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) viewModel.transaction.observe( - this, + viewLifecycleOwner, Observer { transaction -> url.text = transaction.url method.text = transaction.method diff --git a/library/src/main/java/com/chuckerteam/chucker/internal/ui/transaction/TransactionPayloadFragment.kt b/library/src/main/java/com/chuckerteam/chucker/internal/ui/transaction/TransactionPayloadFragment.kt index 7bc7c825b..4679ce192 100644 --- a/library/src/main/java/com/chuckerteam/chucker/internal/ui/transaction/TransactionPayloadFragment.kt +++ b/library/src/main/java/com/chuckerteam/chucker/internal/ui/transaction/TransactionPayloadFragment.kt @@ -23,7 +23,7 @@ import androidx.core.content.ContextCompat import androidx.core.text.HtmlCompat import androidx.fragment.app.Fragment import androidx.lifecycle.Observer -import androidx.lifecycle.ViewModelProviders +import androidx.lifecycle.ViewModelProvider import androidx.recyclerview.widget.RecyclerView import com.chuckerteam.chucker.R import com.chuckerteam.chucker.internal.data.entity.HttpTransaction @@ -51,7 +51,7 @@ internal class TransactionPayloadFragment : override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) type = arguments!!.getInt(ARG_TYPE) - viewModel = ViewModelProviders.of(requireActivity())[TransactionViewModel::class.java] + viewModel = ViewModelProvider(requireActivity())[TransactionViewModel::class.java] setHasOptionsMenu(true) } @@ -69,7 +69,7 @@ internal class TransactionPayloadFragment : override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) viewModel.transaction.observe( - this, + viewLifecycleOwner, Observer { transaction -> PayloadLoaderTask(this).execute(Pair(type, transaction)) } diff --git a/library/src/main/java/com/chuckerteam/chucker/internal/ui/transaction/TransactionViewModel.kt b/library/src/main/java/com/chuckerteam/chucker/internal/ui/transaction/TransactionViewModel.kt index 8173b62f2..732c6fd90 100644 --- a/library/src/main/java/com/chuckerteam/chucker/internal/ui/transaction/TransactionViewModel.kt +++ b/library/src/main/java/com/chuckerteam/chucker/internal/ui/transaction/TransactionViewModel.kt @@ -1,27 +1,22 @@ package com.chuckerteam.chucker.internal.ui.transaction -import androidx.lifecycle.MutableLiveData -import androidx.lifecycle.Observer +import androidx.lifecycle.LiveData +import androidx.lifecycle.Transformations import androidx.lifecycle.ViewModel import androidx.lifecycle.ViewModelProvider import com.chuckerteam.chucker.internal.data.entity.HttpTransaction import com.chuckerteam.chucker.internal.data.repository.RepositoryProvider -import com.chuckerteam.chucker.internal.support.observeOnce -internal class TransactionViewModel(private val transactionId: Long) : ViewModel() { - internal val transactionTitle: MutableLiveData = MutableLiveData() - internal val transaction: MutableLiveData = MutableLiveData() +internal class TransactionViewModel(transactionId: Long) : ViewModel() { - fun loadTransaction() { - RepositoryProvider.transaction() - .getTransaction(transactionId) - .observeOnce( - Observer { - transactionTitle.value = if (it != null) "${it.method} ${it.path}" else "" - transaction.value = it - } - ) - } + val transactionTitle: LiveData = + Transformations.map(RepositoryProvider.transaction().getTransaction(transactionId)) { + if (it != null) "${it.method} ${it.path}" else "" + } + val transaction: LiveData = + Transformations.map(RepositoryProvider.transaction().getTransaction(transactionId)) { + it + } } internal class TransactionViewModelFactory(private val transactionId: Long = 0L) : From 2e1e33310040081765cf56f28822888be038a095 Mon Sep 17 00:00:00 2001 From: Volodymyr Buberenko Date: Thu, 30 Jan 2020 23:36:29 +0200 Subject: [PATCH 2/4] Dependencies clean up --- build.gradle | 31 ++++++++++++++++++++----------- library/build.gradle | 14 ++++++++------ 2 files changed, 28 insertions(+), 17 deletions(-) diff --git a/build.gradle b/build.gradle index 932d8a0ed..c23cc5415 100644 --- a/build.gradle +++ b/build.gradle @@ -1,24 +1,33 @@ buildscript { ext { + kotlinVersion = '1.3.61' androidGradleVersion = '3.5.3' - androidMavenGradleVersion = '2.1' + + // Google libraries appCompatVersion = '1.1.0' constraintLayoutVersion = '1.1.3' + materialComponentsVersion = '1.1.0-rc02' + roomVersion = '2.2.3' + lifecycleVersion = '2.2.0' + + // Publishing + androidMavenGradleVersion = '2.1' + + // Networking + gsonVersion = '2.8.6' + okhttp3Version = '3.12.6' + retrofitVersion = '2.6.4' + + // Debug and quality control detektVersion = '1.4.0' dokkaVersion = '0.10.0' - gradleBintrayVersion = '1.8.4' - gsonVersion = '2.8.6' - junitGradlePluignVersion = '1.3.1.1' - junitVersion = '5.4.2' - kotlinVersion = '1.3.61' ktLintVersion = '9.1.1' leakcanaryVersion = '2.1' - materialComponentsVersion = '1.1.0-rc02' + + // Testing + junitGradlePluignVersion = '1.3.1.1' + junitVersion = '5.4.2' mockkVersion = '1.9.3' - okhttp3Version = '3.12.6' - retrofitVersion = '2.6.4' - roomVersion = '2.2.3' - viewModelVersion = '2.2.0' } repositories { diff --git a/library/build.gradle b/library/build.gradle index 98a1ac3b7..a5736a1cf 100644 --- a/library/build.gradle +++ b/library/build.gradle @@ -59,19 +59,21 @@ artifacts { dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion" - implementation "com.google.code.gson:gson:$gsonVersion" - implementation "com.squareup.okhttp3:okhttp:$okhttp3Version" implementation "com.google.android.material:material:$materialComponentsVersion" implementation "androidx.constraintlayout:constraintlayout:$constraintLayoutVersion" + implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycleVersion" + implementation "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycleVersion" + implementation "androidx.room:room-runtime:$roomVersion" + kapt "androidx.room:room-compiler:$roomVersion" + + implementation "com.google.code.gson:gson:$gsonVersion" + implementation "com.squareup.okhttp3:okhttp:$okhttp3Version" + testImplementation "org.junit.jupiter:junit-jupiter-api:$junitVersion" testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:$junitVersion" testImplementation "org.junit.jupiter:junit-jupiter-params:$junitVersion" testImplementation "io.mockk:mockk:$mockkVersion" - - implementation "androidx.lifecycle:lifecycle-extensions:$viewModelVersion" - implementation "androidx.room:room-runtime:$roomVersion" - kapt "androidx.room:room-compiler:$roomVersion" } apply from: rootProject.file('gradle/gradle-mvn-push.gradle') From 0dca0d745184b463d960b145a73bd7960619c563 Mon Sep 17 00:00:00 2001 From: Volodymyr Buberenko Date: Sun, 2 Feb 2020 19:50:11 +0200 Subject: [PATCH 3/4] Switch to ViewModel on the main scree --- .../chucker/internal/ui/MainActivity.kt | 5 ++ .../chucker/internal/ui/MainViewModel.kt | 52 ++++++++++++++++++ .../internal/ui/error/ErrorListFragment.kt | 53 ++++++++++--------- .../ui/transaction/TransactionListFragment.kt | 50 ++++++----------- 4 files changed, 101 insertions(+), 59 deletions(-) create mode 100644 library/src/main/java/com/chuckerteam/chucker/internal/ui/MainViewModel.kt diff --git a/library/src/main/java/com/chuckerteam/chucker/internal/ui/MainActivity.kt b/library/src/main/java/com/chuckerteam/chucker/internal/ui/MainActivity.kt index 37d79696c..ed0d5ea0d 100644 --- a/library/src/main/java/com/chuckerteam/chucker/internal/ui/MainActivity.kt +++ b/library/src/main/java/com/chuckerteam/chucker/internal/ui/MainActivity.kt @@ -3,6 +3,7 @@ package com.chuckerteam.chucker.internal.ui import android.content.Intent import android.os.Bundle import androidx.appcompat.widget.Toolbar +import androidx.lifecycle.ViewModelProvider import androidx.viewpager.widget.ViewPager import com.chuckerteam.chucker.R import com.chuckerteam.chucker.api.Chucker @@ -16,6 +17,8 @@ internal class MainActivity : BaseChuckerActivity(), TransactionAdapter.TransactionClickListListener, ErrorAdapter.ErrorClickListListener { + + private lateinit var viewModel: MainViewModel private lateinit var viewPager: ViewPager private val applicationName: CharSequence @@ -29,6 +32,8 @@ internal class MainActivity : setSupportActionBar(toolbar) toolbar.subtitle = applicationName + viewModel = ViewModelProvider(this).get(MainViewModel::class.java) + viewPager = findViewById(R.id.viewPager) viewPager.adapter = HomePageAdapter(this, supportFragmentManager) diff --git a/library/src/main/java/com/chuckerteam/chucker/internal/ui/MainViewModel.kt b/library/src/main/java/com/chuckerteam/chucker/internal/ui/MainViewModel.kt new file mode 100644 index 000000000..ba0b301d3 --- /dev/null +++ b/library/src/main/java/com/chuckerteam/chucker/internal/ui/MainViewModel.kt @@ -0,0 +1,52 @@ +package com.chuckerteam.chucker.internal.ui + +import android.text.TextUtils +import androidx.lifecycle.LiveData +import androidx.lifecycle.MutableLiveData +import androidx.lifecycle.Transformations +import androidx.lifecycle.ViewModel +import com.chuckerteam.chucker.internal.data.entity.HttpTransactionTuple +import com.chuckerteam.chucker.internal.data.entity.RecordedThrowableTuple +import com.chuckerteam.chucker.internal.data.repository.RepositoryProvider +import com.chuckerteam.chucker.internal.support.NotificationHelper + +internal class MainViewModel : ViewModel() { + + private val currentFilter = MutableLiveData("") + + val transactions: LiveData> = Transformations.switchMap(currentFilter) { searchQuery -> + with(RepositoryProvider.transaction()) { + when { + searchQuery.isNullOrBlank() -> { + getSortedTransactionTuples() + } + TextUtils.isDigitsOnly(searchQuery) -> { + getFilteredTransactionTuples(searchQuery, "") + } + else -> { + getFilteredTransactionTuples("", searchQuery) + } + } + } + } + + val errors: LiveData> = + Transformations.map( + RepositoryProvider.throwable().getSortedThrowablesTuples() + ) { + it + } + + fun getFilteredItems(searchQuery: String) { + currentFilter.value = searchQuery + } + + fun clearTransactions() { + RepositoryProvider.transaction().deleteAllTransactions() + NotificationHelper.clearBuffer() + } + + fun clearErrors() { + RepositoryProvider.throwable().deleteAllThrowables() + } +} diff --git a/library/src/main/java/com/chuckerteam/chucker/internal/ui/error/ErrorListFragment.kt b/library/src/main/java/com/chuckerteam/chucker/internal/ui/error/ErrorListFragment.kt index cda76a442..96b360d15 100644 --- a/library/src/main/java/com/chuckerteam/chucker/internal/ui/error/ErrorListFragment.kt +++ b/library/src/main/java/com/chuckerteam/chucker/internal/ui/error/ErrorListFragment.kt @@ -13,14 +13,16 @@ import android.widget.TextView import androidx.appcompat.app.AlertDialog import androidx.fragment.app.Fragment import androidx.lifecycle.Observer +import androidx.lifecycle.ViewModelProvider import androidx.recyclerview.widget.DividerItemDecoration import androidx.recyclerview.widget.DividerItemDecoration.VERTICAL import androidx.recyclerview.widget.RecyclerView import com.chuckerteam.chucker.R -import com.chuckerteam.chucker.internal.data.repository.RepositoryProvider +import com.chuckerteam.chucker.internal.ui.MainViewModel internal class ErrorListFragment : Fragment() { + private lateinit var viewModel: MainViewModel private lateinit var adapter: ErrorAdapter private lateinit var listener: ErrorAdapter.ErrorClickListListener private lateinit var tutorialView: View @@ -28,6 +30,7 @@ internal class ErrorListFragment : Fragment() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setHasOptionsMenu(true) + viewModel = ViewModelProvider(requireActivity())[MainViewModel::class.java] } override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { @@ -42,6 +45,22 @@ internal class ErrorListFragment : Fragment() { } } + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + viewModel.errors.observe( + viewLifecycleOwner, + Observer { errors -> + adapter.setData(errors) + tutorialView.visibility = if (errors.isNullOrEmpty() + ) { + View.VISIBLE + } else { + View.GONE + } + } + ) + } + override fun onAttach(context: Context) { super.onAttach(context) @@ -49,20 +68,6 @@ internal class ErrorListFragment : Fragment() { "Context must implement the listener." } listener = context - - RepositoryProvider.throwable() - .getSortedThrowablesTuples() - .observe( - this, - Observer { tuples -> - adapter.setData(tuples) - if (tuples.isNullOrEmpty()) { - tutorialView.visibility = View.VISIBLE - } else { - tutorialView.visibility = View.GONE - } - } - ) } override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) { @@ -80,16 +85,14 @@ internal class ErrorListFragment : Fragment() { } private fun askForConfirmation() { - context?.let { - AlertDialog.Builder(it) - .setTitle(R.string.clear) - .setMessage(R.string.clear_error_confirmation) - .setPositiveButton(R.string.clear) { _, _ -> - RepositoryProvider.throwable().deleteAllThrowables() - } - .setNegativeButton(R.string.cancel, null) - .show() - } + AlertDialog.Builder(requireContext()) + .setTitle(R.string.clear) + .setMessage(R.string.clear_error_confirmation) + .setPositiveButton(R.string.clear) { _, _ -> + viewModel.clearErrors() + } + .setNegativeButton(R.string.cancel, null) + .show() } companion object { diff --git a/library/src/main/java/com/chuckerteam/chucker/internal/ui/transaction/TransactionListFragment.kt b/library/src/main/java/com/chuckerteam/chucker/internal/ui/transaction/TransactionListFragment.kt index 67ee5d393..8dcd529cf 100644 --- a/library/src/main/java/com/chuckerteam/chucker/internal/ui/transaction/TransactionListFragment.kt +++ b/library/src/main/java/com/chuckerteam/chucker/internal/ui/transaction/TransactionListFragment.kt @@ -1,8 +1,6 @@ package com.chuckerteam.chucker.internal.ui.transaction -import android.content.Context import android.os.Bundle -import android.text.TextUtils import android.text.method.LinkMovementMethod import android.view.LayoutInflater import android.view.Menu @@ -14,29 +12,26 @@ import android.widget.TextView import androidx.appcompat.app.AlertDialog import androidx.appcompat.widget.SearchView import androidx.fragment.app.Fragment -import androidx.lifecycle.LiveData import androidx.lifecycle.Observer +import androidx.lifecycle.ViewModelProvider import androidx.recyclerview.widget.DividerItemDecoration import androidx.recyclerview.widget.RecyclerView import com.chuckerteam.chucker.R -import com.chuckerteam.chucker.internal.data.entity.HttpTransactionTuple -import com.chuckerteam.chucker.internal.data.repository.RepositoryProvider -import com.chuckerteam.chucker.internal.support.NotificationHelper +import com.chuckerteam.chucker.internal.ui.MainViewModel internal class TransactionListFragment : Fragment(), SearchView.OnQueryTextListener, - TransactionAdapter.TransactionClickListListener, - Observer> { + TransactionAdapter.TransactionClickListListener { - private var currentFilter = "" + private lateinit var viewModel: MainViewModel private lateinit var adapter: TransactionAdapter - private lateinit var dataSource: LiveData> private lateinit var tutorialView: View override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setHasOptionsMenu(true) + viewModel = ViewModelProvider(requireActivity())[MainViewModel::class.java] } override fun onCreateView( @@ -59,10 +54,15 @@ internal class TransactionListFragment : return view } - override fun onAttach(context: Context) { - super.onAttach(context) - dataSource = getDataSource(currentFilter) - dataSource.observe(this, this) + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + viewModel.transactions.observe( + viewLifecycleOwner, + Observer { transactionTuples -> + adapter.setData(transactionTuples) + tutorialView.visibility = if (transactionTuples.isEmpty()) View.VISIBLE else View.GONE + } + ) } override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) { @@ -82,8 +82,7 @@ internal class TransactionListFragment : .setPositiveButton( R.string.clear ) { _, _ -> - RepositoryProvider.transaction().deleteAllTransactions() - NotificationHelper.clearBuffer() + viewModel.clearTransactions() } .setNegativeButton(R.string.cancel, null) .show() @@ -96,27 +95,10 @@ internal class TransactionListFragment : override fun onQueryTextSubmit(query: String): Boolean = true override fun onQueryTextChange(newText: String): Boolean { - currentFilter = newText - dataSource.removeObservers(this) - dataSource = getDataSource(currentFilter) - dataSource.observe(this, this) + viewModel.getFilteredItems(newText) return true } - private fun getDataSource(currentFilter: String): LiveData> = when { - currentFilter.isEmpty() -> - RepositoryProvider.transaction().getSortedTransactionTuples() - TextUtils.isDigitsOnly(currentFilter) -> - RepositoryProvider.transaction().getFilteredTransactionTuples(currentFilter, "") - else -> - RepositoryProvider.transaction().getFilteredTransactionTuples("", currentFilter) - } - - override fun onChanged(tuples: List) { - adapter.setData(tuples) - tutorialView.visibility = if (tuples.isEmpty()) View.VISIBLE else View.GONE - } - override fun onTransactionClick(transactionId: Long, position: Int) = TransactionActivity.start(requireActivity(), transactionId) From 7127769bed5c2141772c7db73d756a299cf18e9b Mon Sep 17 00:00:00 2001 From: Volodymyr Buberenko Date: Wed, 5 Feb 2020 08:08:28 +0200 Subject: [PATCH 4/4] Address PR feedback --- .../java/com/chuckerteam/chucker/internal/ui/MainViewModel.kt | 2 +- .../chuckerteam/chucker/internal/ui/error/ErrorListFragment.kt | 3 +-- .../chucker/internal/ui/transaction/TransactionListFragment.kt | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/library/src/main/java/com/chuckerteam/chucker/internal/ui/MainViewModel.kt b/library/src/main/java/com/chuckerteam/chucker/internal/ui/MainViewModel.kt index ba0b301d3..9fc4cec89 100644 --- a/library/src/main/java/com/chuckerteam/chucker/internal/ui/MainViewModel.kt +++ b/library/src/main/java/com/chuckerteam/chucker/internal/ui/MainViewModel.kt @@ -37,7 +37,7 @@ internal class MainViewModel : ViewModel() { it } - fun getFilteredItems(searchQuery: String) { + fun updateItemsFilter(searchQuery: String) { currentFilter.value = searchQuery } diff --git a/library/src/main/java/com/chuckerteam/chucker/internal/ui/error/ErrorListFragment.kt b/library/src/main/java/com/chuckerteam/chucker/internal/ui/error/ErrorListFragment.kt index 96b360d15..5a318c5c5 100644 --- a/library/src/main/java/com/chuckerteam/chucker/internal/ui/error/ErrorListFragment.kt +++ b/library/src/main/java/com/chuckerteam/chucker/internal/ui/error/ErrorListFragment.kt @@ -51,8 +51,7 @@ internal class ErrorListFragment : Fragment() { viewLifecycleOwner, Observer { errors -> adapter.setData(errors) - tutorialView.visibility = if (errors.isNullOrEmpty() - ) { + tutorialView.visibility = if (errors.isNullOrEmpty()) { View.VISIBLE } else { View.GONE diff --git a/library/src/main/java/com/chuckerteam/chucker/internal/ui/transaction/TransactionListFragment.kt b/library/src/main/java/com/chuckerteam/chucker/internal/ui/transaction/TransactionListFragment.kt index 8dcd529cf..90a592af9 100644 --- a/library/src/main/java/com/chuckerteam/chucker/internal/ui/transaction/TransactionListFragment.kt +++ b/library/src/main/java/com/chuckerteam/chucker/internal/ui/transaction/TransactionListFragment.kt @@ -95,7 +95,7 @@ internal class TransactionListFragment : override fun onQueryTextSubmit(query: String): Boolean = true override fun onQueryTextChange(newText: String): Boolean { - viewModel.getFilteredItems(newText) + viewModel.updateItemsFilter(newText) return true }