1
0
Fork 0

Rename BrowserStore/State/Action to BrowserFragmentStore/State/Action.

master
Sebastian Kaspari 2019-08-30 14:50:07 +02:00 committed by Jeff Boek
parent 76063e307a
commit ac32a88d45
8 changed files with 32 additions and 32 deletions

View File

@ -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,

View File

@ -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))

View File

@ -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,

View File

@ -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
}

View File

@ -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

View File

@ -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()
)

View File

@ -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,

View File

@ -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