Rename BrowserStore/State/Action to BrowserFragmentStore/State/Action.
parent
76063e307a
commit
ac32a88d45
|
@ -58,8 +58,8 @@ import org.mozilla.fenix.collections.CreateCollectionViewModel
|
|||
import org.mozilla.fenix.components.FenixSnackbar
|
||||
import org.mozilla.fenix.components.FindInPageIntegration
|
||||
import org.mozilla.fenix.components.StoreProvider
|
||||
import org.mozilla.fenix.components.toolbar.BrowserState
|
||||
import org.mozilla.fenix.components.toolbar.BrowserStore
|
||||
import org.mozilla.fenix.components.toolbar.BrowserFragmentState
|
||||
import org.mozilla.fenix.components.toolbar.BrowserFragmentStore
|
||||
import org.mozilla.fenix.components.toolbar.BrowserToolbarController
|
||||
import org.mozilla.fenix.components.toolbar.BrowserToolbarView
|
||||
import org.mozilla.fenix.components.toolbar.BrowserToolbarViewInteractor
|
||||
|
@ -81,7 +81,7 @@ import org.mozilla.fenix.utils.Settings
|
|||
*/
|
||||
@Suppress("TooManyFunctions", "LargeClass")
|
||||
abstract class BaseBrowserFragment : Fragment(), BackHandler, SessionManager.Observer {
|
||||
protected lateinit var browserStore: BrowserStore
|
||||
protected lateinit var browserStore: BrowserFragmentStore
|
||||
protected lateinit var browserInteractor: BrowserToolbarViewInteractor
|
||||
protected lateinit var browserToolbarView: BrowserToolbarView
|
||||
|
||||
|
@ -122,8 +122,8 @@ abstract class BaseBrowserFragment : Fragment(), BackHandler, SessionManager.Obs
|
|||
|
||||
val appLink = requireComponents.useCases.appLinksUseCases.appLinkRedirect
|
||||
browserStore = StoreProvider.get(this) {
|
||||
BrowserStore(
|
||||
BrowserState(
|
||||
BrowserFragmentStore(
|
||||
BrowserFragmentState(
|
||||
quickActionSheetState = QuickActionSheetState(
|
||||
readable = getSessionById()?.readerable ?: false,
|
||||
bookmarked = false,
|
||||
|
|
|
@ -8,14 +8,14 @@ import mozilla.components.lib.state.Action
|
|||
import mozilla.components.lib.state.State
|
||||
import mozilla.components.lib.state.Store
|
||||
|
||||
class BrowserStore(initialState: BrowserState) :
|
||||
Store<BrowserState, BrowserAction>(initialState, ::browserStateReducer)
|
||||
class BrowserFragmentStore(initialState: BrowserFragmentState) :
|
||||
Store<BrowserFragmentState, BrowserFragmentAction>(initialState, ::browserStateReducer)
|
||||
|
||||
/**
|
||||
* The state for the Browser Screen
|
||||
* @property quickActionSheetState: state of the quick action sheet
|
||||
*/
|
||||
data class BrowserState(
|
||||
data class BrowserFragmentState(
|
||||
val quickActionSheetState: QuickActionSheetState
|
||||
) : State
|
||||
|
||||
|
@ -34,12 +34,12 @@ data class QuickActionSheetState(
|
|||
val isAppLink: Boolean
|
||||
) : State
|
||||
|
||||
sealed class BrowserAction : Action
|
||||
sealed class BrowserFragmentAction : Action
|
||||
|
||||
/**
|
||||
* Actions to dispatch through the [QuickActionSheetStore] to modify [QuickActionSheetState] through the reducer.
|
||||
*/
|
||||
sealed class QuickActionSheetAction : BrowserAction() {
|
||||
sealed class QuickActionSheetAction : BrowserFragmentAction() {
|
||||
data class BookmarkedStateChange(val bookmarked: Boolean) : QuickActionSheetAction()
|
||||
data class ReadableStateChange(val readable: Boolean) : QuickActionSheetAction()
|
||||
data class ReaderActiveStateChange(val active: Boolean) : QuickActionSheetAction()
|
||||
|
@ -48,15 +48,15 @@ sealed class QuickActionSheetAction : BrowserAction() {
|
|||
}
|
||||
|
||||
/**
|
||||
* Reducers for [BrowserStore].
|
||||
* Reducers for [BrowserFragmentStore].
|
||||
*
|
||||
* A top level reducer that receives the current [BrowserState] and an [Action] and then delegates to the proper child
|
||||
* A top level reducer that receives the current [BrowserFragmentState] and an [Action] and then delegates to the proper child
|
||||
*
|
||||
*/
|
||||
fun browserStateReducer(
|
||||
state: BrowserState,
|
||||
action: BrowserAction
|
||||
): BrowserState {
|
||||
state: BrowserFragmentState,
|
||||
action: BrowserFragmentAction
|
||||
): BrowserFragmentState {
|
||||
return when (action) {
|
||||
is QuickActionSheetAction -> {
|
||||
QuickActionSheetStateReducer.reduce(state, action)
|
||||
|
@ -65,10 +65,10 @@ fun browserStateReducer(
|
|||
}
|
||||
|
||||
/**
|
||||
* Reduces [QuickActionSheetAction]s to update [BrowserState].
|
||||
* Reduces [QuickActionSheetAction]s to update [BrowserFragmentState].
|
||||
*/
|
||||
internal object QuickActionSheetStateReducer {
|
||||
fun reduce(state: BrowserState, action: QuickActionSheetAction): BrowserState {
|
||||
fun reduce(state: BrowserFragmentState, action: QuickActionSheetAction): BrowserFragmentState {
|
||||
return when (action) {
|
||||
is QuickActionSheetAction.BookmarkedStateChange ->
|
||||
state.copy(quickActionSheetState = state.quickActionSheetState.copy(bookmarked = action.bookmarked))
|
|
@ -28,7 +28,7 @@ open class BrowserToolbarInteractor(
|
|||
|
||||
class BrowserInteractor(
|
||||
private val context: Context,
|
||||
private val store: BrowserStore,
|
||||
private val store: BrowserFragmentStore,
|
||||
browserToolbarController: BrowserToolbarController,
|
||||
private val quickActionSheetController: QuickActionSheetController,
|
||||
private val readerModeController: ReaderModeController,
|
||||
|
|
|
@ -111,7 +111,7 @@ class BrowserToolbarView(
|
|||
}
|
||||
|
||||
@Suppress("UNUSED_PARAMETER")
|
||||
fun update(state: BrowserState) {
|
||||
fun update(state: BrowserFragmentState) {
|
||||
// Intentionally leaving this as a stub for now since we don't actually want to update currently
|
||||
}
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@ import kotlinx.android.synthetic.main.layout_quick_action_sheet.*
|
|||
import kotlinx.android.synthetic.main.layout_quick_action_sheet.view.*
|
||||
import mozilla.components.support.ktx.android.view.putCompoundDrawablesRelativeWithIntrinsicBounds
|
||||
import org.mozilla.fenix.R
|
||||
import org.mozilla.fenix.components.toolbar.BrowserState
|
||||
import org.mozilla.fenix.components.toolbar.BrowserFragmentState
|
||||
import org.mozilla.fenix.utils.Settings
|
||||
|
||||
interface QuickActionSheetViewInteractor {
|
||||
|
@ -110,7 +110,7 @@ class QuickActionSheetView(
|
|||
}
|
||||
}
|
||||
|
||||
fun update(state: BrowserState) {
|
||||
fun update(state: BrowserFragmentState) {
|
||||
val quickActionSheetState = state.quickActionSheetState
|
||||
view.quick_action_read.isVisible = quickActionSheetState.readable
|
||||
view.quick_action_read.isSelected = quickActionSheetState.readerActive
|
||||
|
|
|
@ -9,12 +9,12 @@ import org.junit.Assert.assertEquals
|
|||
import org.junit.Assert.assertNotSame
|
||||
import org.junit.Test
|
||||
|
||||
class BrowserStoreTest {
|
||||
class BrowserFragmentStoreTest {
|
||||
|
||||
@Test
|
||||
fun bookmarkStateChange() = runBlocking {
|
||||
val initialState = defaultBrowserState()
|
||||
val store = BrowserStore(initialState)
|
||||
val store = BrowserFragmentStore(initialState)
|
||||
|
||||
store.dispatch(QuickActionSheetAction.BookmarkedStateChange(true)).join()
|
||||
assertNotSame(initialState, store.state)
|
||||
|
@ -24,7 +24,7 @@ class BrowserStoreTest {
|
|||
@Test
|
||||
fun readableStateChange() = runBlocking {
|
||||
val initialState = defaultBrowserState()
|
||||
val store = BrowserStore(initialState)
|
||||
val store = BrowserFragmentStore(initialState)
|
||||
|
||||
store.dispatch(QuickActionSheetAction.ReadableStateChange(true)).join()
|
||||
assertNotSame(initialState, store.state)
|
||||
|
@ -34,7 +34,7 @@ class BrowserStoreTest {
|
|||
@Test
|
||||
fun readerActiveStateChange() = runBlocking {
|
||||
val initialState = defaultBrowserState()
|
||||
val store = BrowserStore(initialState)
|
||||
val store = BrowserFragmentStore(initialState)
|
||||
|
||||
store.dispatch(QuickActionSheetAction.ReaderActiveStateChange(true)).join()
|
||||
assertNotSame(initialState, store.state)
|
||||
|
@ -44,7 +44,7 @@ class BrowserStoreTest {
|
|||
@Test
|
||||
fun bounceNeededChange() = runBlocking {
|
||||
val initialState = defaultBrowserState()
|
||||
val store = BrowserStore(initialState)
|
||||
val store = BrowserFragmentStore(initialState)
|
||||
|
||||
store.dispatch(QuickActionSheetAction.BounceNeededChange).join()
|
||||
assertNotSame(initialState, store.state)
|
||||
|
@ -54,14 +54,14 @@ class BrowserStoreTest {
|
|||
@Test
|
||||
fun appLinkStateChange() = runBlocking {
|
||||
val initialState = defaultBrowserState()
|
||||
val store = BrowserStore(initialState)
|
||||
val store = BrowserFragmentStore(initialState)
|
||||
|
||||
store.dispatch(QuickActionSheetAction.AppLinkStateChange(true)).join()
|
||||
assertNotSame(initialState, store.state)
|
||||
assertEquals(store.state.quickActionSheetState.isAppLink, true)
|
||||
}
|
||||
|
||||
private fun defaultBrowserState(): BrowserState = BrowserState(
|
||||
private fun defaultBrowserState(): BrowserFragmentState = BrowserFragmentState(
|
||||
quickActionSheetState = defaultQuickActionSheetState()
|
||||
)
|
||||
|
|
@ -168,7 +168,7 @@ class BrowserInteractorTest {
|
|||
val metrics: MetricController = mockk()
|
||||
val session: Session = mockk()
|
||||
val readerModeController: ReaderModeController = mockk(relaxed = true)
|
||||
val browserStore: BrowserStore = mockk(relaxed = true)
|
||||
val browserStore: BrowserFragmentStore = mockk(relaxed = true)
|
||||
val interactor = BrowserInteractor(
|
||||
context,
|
||||
browserStore,
|
||||
|
@ -195,7 +195,7 @@ class BrowserInteractorTest {
|
|||
val metrics: MetricController = mockk()
|
||||
val session: Session = mockk()
|
||||
val readerModeController: ReaderModeController = mockk(relaxed = true)
|
||||
val browserStore: BrowserStore = mockk(relaxed = true)
|
||||
val browserStore: BrowserFragmentStore = mockk(relaxed = true)
|
||||
|
||||
val interactor = BrowserInteractor(
|
||||
context,
|
||||
|
|
|
@ -18,7 +18,7 @@ import mozilla.components.feature.app.links.AppLinksUseCases
|
|||
import org.junit.Before
|
||||
import org.junit.Test
|
||||
import org.mozilla.fenix.components.Components
|
||||
import org.mozilla.fenix.components.toolbar.BrowserStore
|
||||
import org.mozilla.fenix.components.toolbar.BrowserFragmentStore
|
||||
import org.mozilla.fenix.components.toolbar.QuickActionSheetAction
|
||||
|
||||
@ExperimentalCoroutinesApi
|
||||
|
@ -27,7 +27,7 @@ class QuickActionSheetSessionObserverTest {
|
|||
|
||||
private lateinit var components: Components
|
||||
private lateinit var appLinkRedirect: AppLinksUseCases.GetAppLinkRedirect
|
||||
private lateinit var store: BrowserStore
|
||||
private lateinit var store: BrowserFragmentStore
|
||||
private lateinit var dispatch: (QuickActionSheetAction) -> Unit
|
||||
|
||||
@Before
|
||||
|
|
Loading…
Reference in New Issue