diff --git a/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt b/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt index 6f632125d..6d7d5e68c 100644 --- a/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt @@ -25,7 +25,6 @@ import androidx.fragment.app.Fragment import androidx.lifecycle.Observer import androidx.lifecycle.ViewModelProviders import androidx.lifecycle.lifecycleScope -import androidx.lifecycle.whenStarted import androidx.navigation.fragment.NavHostFragment.findNavController import com.google.android.material.bottomsheet.BottomSheetBehavior import com.google.android.material.snackbar.Snackbar @@ -35,7 +34,6 @@ import kotlinx.android.synthetic.main.fragment_browser.view.* import kotlinx.coroutines.Dispatchers.IO import kotlinx.coroutines.Dispatchers.Main import kotlinx.coroutines.Job -import kotlinx.coroutines.cancel import kotlinx.coroutines.launch import kotlinx.coroutines.runBlocking import kotlinx.coroutines.withContext @@ -56,7 +54,7 @@ import mozilla.components.feature.session.ThumbnailsFeature import mozilla.components.feature.sitepermissions.SitePermissions import mozilla.components.feature.sitepermissions.SitePermissionsFeature import mozilla.components.feature.sitepermissions.SitePermissionsRules -import mozilla.components.lib.state.ext.observe +import mozilla.components.lib.state.ext.consumeFrom import mozilla.components.support.base.feature.BackHandler import mozilla.components.support.base.feature.ViewBoundFeatureWrapper import mozilla.components.support.ktx.android.view.exitImmersiveModeIfNeeded @@ -422,12 +420,8 @@ class BrowserFragment : Fragment(), BackHandler { ) ) - quickActionSheetStore.observe(view) { - viewLifecycleOwner.lifecycleScope.launch { - whenStarted { - quickActionSheetView.update(it) - } - } + consumeFrom(quickActionSheetStore) { + quickActionSheetView.update(it) } } diff --git a/app/src/main/java/org/mozilla/fenix/exceptions/ExceptionsFragment.kt b/app/src/main/java/org/mozilla/fenix/exceptions/ExceptionsFragment.kt index 4efb6b48b..5d1e52875 100644 --- a/app/src/main/java/org/mozilla/fenix/exceptions/ExceptionsFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/exceptions/ExceptionsFragment.kt @@ -11,14 +11,13 @@ import android.view.ViewGroup import androidx.appcompat.app.AppCompatActivity import androidx.fragment.app.Fragment import androidx.lifecycle.lifecycleScope -import androidx.lifecycle.whenStarted import androidx.navigation.Navigation import kotlinx.android.synthetic.main.fragment_exceptions.view.* import kotlinx.coroutines.Dispatchers.IO import kotlinx.coroutines.Dispatchers.Main import kotlinx.coroutines.coroutineScope import kotlinx.coroutines.launch -import mozilla.components.lib.state.ext.observe +import mozilla.components.lib.state.ext.consumeFrom import org.mozilla.fenix.BrowserDirection import org.mozilla.fenix.HomeActivity import org.mozilla.fenix.R @@ -57,12 +56,8 @@ class ExceptionsFragment : Fragment() { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - exceptionsStore.observe(view) { - viewLifecycleOwner.lifecycleScope.launch { - whenStarted { - exceptionsView.update(it) - } - } + consumeFrom(exceptionsStore) { + exceptionsView.update(it) } } diff --git a/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkFragment.kt b/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkFragment.kt index 81211bfe6..bf72f49be 100644 --- a/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkFragment.kt @@ -19,7 +19,6 @@ import androidx.fragment.app.Fragment import androidx.fragment.app.activityViewModels import androidx.lifecycle.Observer import androidx.lifecycle.lifecycleScope -import androidx.lifecycle.whenStarted import androidx.navigation.NavController import androidx.navigation.fragment.findNavController import kotlinx.android.synthetic.main.fragment_bookmark.view.* @@ -33,7 +32,7 @@ import mozilla.components.concept.storage.BookmarkNode import mozilla.components.concept.sync.AccountObserver import mozilla.components.concept.sync.OAuthAccount import mozilla.components.concept.sync.Profile -import mozilla.components.lib.state.ext.observe +import mozilla.components.lib.state.ext.consumeFrom import mozilla.components.support.base.feature.BackHandler import org.mozilla.fenix.BrowsingModeManager import org.mozilla.fenix.HomeActivity @@ -98,12 +97,8 @@ class BookmarkFragment : Fragment(), BackHandler, AccountObserver { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - bookmarkStore.observe(view) { - viewLifecycleOwner.lifecycleScope.launch { - whenStarted { - bookmarkView.update(it) - } - } + consumeFrom(bookmarkStore) { + bookmarkView.update(it) } sharedViewModel.apply { signedIn.observe(this@BookmarkFragment, Observer { diff --git a/app/src/main/java/org/mozilla/fenix/library/history/HistoryFragment.kt b/app/src/main/java/org/mozilla/fenix/library/history/HistoryFragment.kt index 838f2c079..a1dc78678 100644 --- a/app/src/main/java/org/mozilla/fenix/library/history/HistoryFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/library/history/HistoryFragment.kt @@ -19,7 +19,6 @@ import androidx.appcompat.app.AppCompatActivity import androidx.core.content.ContextCompat import androidx.fragment.app.Fragment import androidx.lifecycle.lifecycleScope -import androidx.lifecycle.whenStarted import androidx.navigation.Navigation import kotlinx.android.synthetic.main.fragment_history.view.* import kotlinx.coroutines.Dispatchers @@ -27,7 +26,7 @@ import kotlinx.coroutines.Dispatchers.Main import kotlinx.coroutines.launch import kotlinx.coroutines.withContext import mozilla.components.concept.storage.VisitType -import mozilla.components.lib.state.ext.observe +import mozilla.components.lib.state.ext.consumeFrom import mozilla.components.support.base.feature.BackHandler import org.mozilla.fenix.BrowserDirection import org.mozilla.fenix.BrowsingModeManager @@ -98,12 +97,8 @@ class HistoryFragment : Fragment(), BackHandler { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - historyStore.observe(view) { - viewLifecycleOwner.lifecycleScope.launch { - whenStarted { - historyView.update(it) - } - } + consumeFrom(historyStore) { + historyView.update(it) } lifecycleScope.launch { reloadData() } diff --git a/app/src/main/java/org/mozilla/fenix/search/SearchFragment.kt b/app/src/main/java/org/mozilla/fenix/search/SearchFragment.kt index 2f2f92980..0dd847c2c 100644 --- a/app/src/main/java/org/mozilla/fenix/search/SearchFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/search/SearchFragment.kt @@ -19,15 +19,12 @@ import androidx.appcompat.app.AlertDialog import androidx.appcompat.app.AppCompatActivity import androidx.core.content.ContextCompat import androidx.fragment.app.Fragment -import androidx.lifecycle.lifecycleScope -import androidx.lifecycle.whenStarted import androidx.navigation.fragment.findNavController import kotlinx.android.synthetic.main.fragment_search.* import kotlinx.android.synthetic.main.fragment_search.view.* -import kotlinx.coroutines.launch import mozilla.components.concept.storage.HistoryStorage import mozilla.components.feature.qr.QrFeature -import mozilla.components.lib.state.ext.observe +import mozilla.components.lib.state.ext.consumeFrom import mozilla.components.support.base.feature.BackHandler import mozilla.components.support.base.feature.ViewBoundFeatureWrapper import mozilla.components.support.ktx.android.content.hasCamera @@ -166,16 +163,12 @@ class SearchFragment : Fragment(), BackHandler { } } - searchStore.observe(view) { - viewLifecycleOwner.lifecycleScope.launch { - whenStarted { - awesomeBarView.update(it) - toolbarView.update(it) - updateSearchEngineIcon(it) - updateSearchShortuctsIcon(it) - updateSearchWithLabel(it) - } - } + consumeFrom(searchStore) { + awesomeBarView.update(it) + toolbarView.update(it) + updateSearchEngineIcon(it) + updateSearchShortuctsIcon(it) + updateSearchWithLabel(it) } startPostponedEnterTransition()