diff --git a/app/src/main/java/org/mozilla/fenix/collections/CollectionCreationFragment.kt b/app/src/main/java/org/mozilla/fenix/collections/CollectionCreationFragment.kt index 0a8853caf..bb09b0d9c 100644 --- a/app/src/main/java/org/mozilla/fenix/collections/CollectionCreationFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/collections/CollectionCreationFragment.kt @@ -14,10 +14,6 @@ import androidx.lifecycle.lifecycleScope import androidx.navigation.fragment.navArgs import kotlinx.android.synthetic.main.fragment_create_collection.view.* import kotlinx.coroutines.ExperimentalCoroutinesApi -import mozilla.components.browser.state.selector.findTab -import mozilla.components.browser.state.state.BrowserState -import mozilla.components.browser.state.state.TabSessionState -import mozilla.components.lib.publicsuffixlist.PublicSuffixList import mozilla.components.lib.state.ext.consumeFrom import org.mozilla.fenix.R import org.mozilla.fenix.components.StoreProvider diff --git a/app/src/main/java/org/mozilla/fenix/collections/CollectionCreationStore.kt b/app/src/main/java/org/mozilla/fenix/collections/CollectionCreationStore.kt index 750ab0090..c9fffedb8 100644 --- a/app/src/main/java/org/mozilla/fenix/collections/CollectionCreationStore.kt +++ b/app/src/main/java/org/mozilla/fenix/collections/CollectionCreationStore.kt @@ -51,6 +51,7 @@ data class CollectionCreationState( val defaultCollectionNumber: Int = 1 ) : State +@Suppress("LongParameterList") fun createInitialCollectionCreationState( browserState: BrowserState, tabCollectionStorage: TabCollectionStorage, @@ -59,7 +60,7 @@ fun createInitialCollectionCreationState( tabIds: Array?, selectedTabIds: Array?, selectedTabCollectionId: Long -) : CollectionCreationState { +): CollectionCreationState { val tabs = browserState.getTabs(tabIds, publicSuffixList) val selectedTabs = if (selectedTabIds != null) { browserState.getTabs(selectedTabIds, publicSuffixList).toSet() diff --git a/app/src/main/java/org/mozilla/fenix/settings/advanced/LocaleSettingsFragment.kt b/app/src/main/java/org/mozilla/fenix/settings/advanced/LocaleSettingsFragment.kt index 2696115b1..4a307d29d 100644 --- a/app/src/main/java/org/mozilla/fenix/settings/advanced/LocaleSettingsFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/settings/advanced/LocaleSettingsFragment.kt @@ -17,7 +17,6 @@ import kotlinx.android.synthetic.main.fragment_locale_settings.view.* import kotlinx.coroutines.ExperimentalCoroutinesApi import mozilla.components.lib.state.ext.consumeFrom import mozilla.components.support.ktx.android.view.hideKeyboard -import mozilla.components.support.locale.LocaleManager import org.mozilla.fenix.R import org.mozilla.fenix.components.StoreProvider import org.mozilla.fenix.ext.showToolbar @@ -40,7 +39,11 @@ class LocaleSettingsFragment : Fragment() { ): View? { val view = inflater.inflate(R.layout.fragment_locale_settings, container, false) - store = getStore() + store = StoreProvider.get(this) { + LocaleSettingsStore( + createInitialLocaleSettingsState(requireContext()) + ) + } interactor = LocaleSettingsInteractor( controller = DefaultLocaleSettingsController( activity = requireActivity(), @@ -88,19 +91,4 @@ class LocaleSettingsFragment : Fragment() { localeView.update(it) } } - - private fun getStore(): LocaleSettingsStore { - val supportedLocales = LocaleManager.getSupportedLocales() - val selectedLocale = LocaleManager.getSelectedLocale(requireContext()) - - return StoreProvider.get(this) { - LocaleSettingsStore( - LocaleSettingsState( - supportedLocales, - supportedLocales, - selectedLocale - ) - ) - } - } } diff --git a/app/src/main/java/org/mozilla/fenix/settings/advanced/LocaleSettingsStore.kt b/app/src/main/java/org/mozilla/fenix/settings/advanced/LocaleSettingsStore.kt index 98dc4ce66..59655c1b9 100644 --- a/app/src/main/java/org/mozilla/fenix/settings/advanced/LocaleSettingsStore.kt +++ b/app/src/main/java/org/mozilla/fenix/settings/advanced/LocaleSettingsStore.kt @@ -4,9 +4,11 @@ package org.mozilla.fenix.settings.advanced +import android.content.Context import mozilla.components.lib.state.Action import mozilla.components.lib.state.State import mozilla.components.lib.state.Store +import mozilla.components.support.locale.LocaleManager import java.util.Locale class LocaleSettingsStore( @@ -27,6 +29,16 @@ data class LocaleSettingsState( val selectedLocale: Locale ) : State +fun createInitialLocaleSettingsState(context: Context): LocaleSettingsState { + val supportedLocales = LocaleManager.getSupportedLocales() + + return LocaleSettingsState( + supportedLocales, + supportedLocales, + selectedLocale = LocaleManager.getSelectedLocale(context) + ) +} + /** * Actions to dispatch through the `LocaleSettingsStore` to modify `LocaleSettingsState` through the reducer. */ diff --git a/app/src/main/java/org/mozilla/fenix/settings/logins/fragment/LoginDetailFragment.kt b/app/src/main/java/org/mozilla/fenix/settings/logins/fragment/LoginDetailFragment.kt index 60c94290c..7120c0fe0 100644 --- a/app/src/main/java/org/mozilla/fenix/settings/logins/fragment/LoginDetailFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/settings/logins/fragment/LoginDetailFragment.kt @@ -38,7 +38,6 @@ import org.mozilla.fenix.ext.settings import org.mozilla.fenix.ext.showToolbar import org.mozilla.fenix.ext.simplifiedUrl import org.mozilla.fenix.settings.logins.LoginsFragmentStore -import org.mozilla.fenix.settings.logins.LoginsListState import org.mozilla.fenix.settings.logins.SavedLogin import org.mozilla.fenix.settings.logins.controller.SavedLoginsStorageController import org.mozilla.fenix.settings.logins.createInitialLoginsListState