Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
The Tor Project
Applications
fenix
Commits
2c01022c
Commit
2c01022c
authored
Feb 10, 2020
by
Simon Chae
Committed by
Jeff Boek
Feb 12, 2020
Browse files
For #8153: Allow web-ext to open new tabs in correct browsing mode
parent
5e4ef202
Changes
20
Hide whitespace changes
Inline
Side-by-side
app/src/main/java/org/mozilla/fenix/FenixApplication.kt
View file @
2c01022c
...
...
@@ -304,7 +304,7 @@ open class FenixApplication : LocaleAwareApplication() {
components
.
core
.
store
,
onNewTabOverride
=
{
_
,
engineSession
,
url
->
val
session
=
Session
(
url
)
val
session
=
Session
(
url
,
components
.
browsingModeManager
.
mode
.
isPrivate
)
components
.
core
.
sessionManager
.
add
(
session
,
true
,
engineSession
)
session
.
id
},
...
...
app/src/main/java/org/mozilla/fenix/HomeActivity.kt
View file @
2c01022c
...
...
@@ -40,8 +40,7 @@ import mozilla.components.support.utils.toSafeIntent
import
mozilla.components.support.webextensions.WebExtensionPopupFeature
import
org.mozilla.fenix.browser.UriOpenedObserver
import
org.mozilla.fenix.browser.browsingmode.BrowsingMode
import
org.mozilla.fenix.browser.browsingmode.BrowsingModeManager
import
org.mozilla.fenix.browser.browsingmode.DefaultBrowsingModeManager
import
org.mozilla.fenix.browser.browsingmode.BrowsingModeListener
import
org.mozilla.fenix.components.metrics.BreadcrumbsRecorder
import
org.mozilla.fenix.components.metrics.Event
import
org.mozilla.fenix.exceptions.ExceptionsFragmentDirections
...
...
@@ -74,7 +73,7 @@ open class HomeActivity : LocaleAwareAppCompatActivity() {
private
var
webExtScope
:
CoroutineScope
?
=
null
lateinit
var
themeManager
:
ThemeManager
lateinit
va
r
browsingModeManager
:
B
rowsingModeManager
private
va
l
browsingModeManager
get
()
=
components
.
b
rowsingModeManager
private
var
sessionObserver
:
SessionManager
.
Observer
?
=
null
...
...
@@ -99,6 +98,12 @@ open class HomeActivity : LocaleAwareAppCompatActivity() {
)
}
private
val
browsingModeListener
=
object
:
BrowsingModeListener
{
override
fun
onBrowsingModeChange
(
newMode
:
BrowsingMode
)
{
themeManager
.
currentTheme
=
newMode
}
}
override
fun
applyOverrideConfiguration
(
overrideConfiguration
:
Configuration
?)
{
if
(
overrideConfiguration
!=
null
)
{
val
uiMode
=
overrideConfiguration
.
uiMode
...
...
@@ -161,6 +166,16 @@ open class HomeActivity : LocaleAwareAppCompatActivity() {
hotStartMonitor
.
onPostResumeFinalMethodCall
()
}
final
override
fun
onStart
()
{
super
.
onStart
()
browsingModeManager
.
registerBrowsingModeListener
(
browsingModeListener
)
}
final
override
fun
onStop
()
{
super
.
onStop
()
browsingModeManager
.
unregisterBrowsingModeListener
()
}
final
override
fun
onPause
()
{
super
.
onPause
()
...
...
@@ -237,7 +252,7 @@ open class HomeActivity : LocaleAwareAppCompatActivity() {
private
fun
setupThemeAndBrowsingMode
(
mode
:
BrowsingMode
)
{
settings
().
lastKnownMode
=
mode
browsingModeManager
=
createBrowsingModeManager
(
mode
)
browsingModeManager
.
mode
=
mode
themeManager
=
createThemeManager
()
themeManager
.
setActivityTheme
(
this
)
themeManager
.
applyStatusBarTheme
(
this
)
...
...
@@ -374,12 +389,6 @@ open class HomeActivity : LocaleAwareAppCompatActivity() {
}
}
protected
open
fun
createBrowsingModeManager
(
initialMode
:
BrowsingMode
):
BrowsingModeManager
{
return
DefaultBrowsingModeManager
(
initialMode
)
{
newMode
->
themeManager
.
currentTheme
=
newMode
}
}
protected
open
fun
createThemeManager
():
ThemeManager
{
return
DefaultThemeManager
(
browsingModeManager
.
mode
,
this
)
}
...
...
app/src/main/java/org/mozilla/fenix/browser/BaseBrowserFragment.kt
View file @
2c01022c
...
...
@@ -160,10 +160,10 @@ abstract class BaseBrowserFragment : Fragment(), UserInteractionHandler, Session
navController
=
findNavController
(),
readerModeController
=
DefaultReaderModeController
(
readerViewFeature
,
(
activity
as
HomeActivity
)
.
browsingModeManager
.
mode
.
isPrivate
,
requireComponents
.
browsingModeManager
.
mode
.
isPrivate
,
view
.
readerViewControlsBar
),
browsingModeManager
=
(
activity
as
HomeActivity
)
.
browsingModeManager
,
browsingModeManager
=
requireComponents
.
browsingModeManager
,
sessionManager
=
requireComponents
.
core
.
sessionManager
,
findInPageLauncher
=
{
findInPageIntegration
.
withFeature
{
it
.
launch
()
}
},
browserLayout
=
view
.
browserLayout
,
...
...
app/src/main/java/org/mozilla/fenix/browser/browsingmode/BrowsingModeManager.kt
View file @
2c01022c
...
...
@@ -31,19 +31,32 @@ interface BrowsingModeManager {
var
mode
:
BrowsingMode
}
interface
BrowsingModeListener
{
fun
onBrowsingModeChange
(
newMode
:
BrowsingMode
)
}
/**
* Wraps a [BrowsingMode] and executes a callback whenever [mode] is updated.
*/
class
DefaultBrowsingModeManager
(
private
var
_mode
:
BrowsingMode
,
private
val
modeDidChange
:
(
BrowsingMode
)
->
Unit
private
var
_mode
:
BrowsingMode
=
BrowsingMode
.
Normal
)
:
BrowsingModeManager
{
private
var
_browsingModeListener
:
BrowsingModeListener
?
=
null
fun
registerBrowsingModeListener
(
browsingModeListener
:
BrowsingModeListener
)
{
_browsingModeListener
=
browsingModeListener
}
fun
unregisterBrowsingModeListener
()
{
_browsingModeListener
=
null
}
override
var
mode
:
BrowsingMode
get
()
=
_mode
set
(
value
)
{
_mode
=
value
modeDid
Change
(
value
)
_browsingModeListener
?.
onBrowsingMode
Change
(
value
)
Settings
.
instance
?.
lastKnownMode
=
value
}
}
app/src/main/java/org/mozilla/fenix/components/Components.kt
View file @
2c01022c
...
...
@@ -12,6 +12,7 @@ import mozilla.components.feature.addons.update.DefaultAddonUpdater
import
mozilla.components.feature.tabs.TabsUseCases
import
mozilla.components.lib.publicsuffixlist.PublicSuffixList
import
mozilla.components.support.migration.state.MigrationStore
import
org.mozilla.fenix.browser.browsingmode.DefaultBrowsingModeManager
import
org.mozilla.fenix.test.Mockable
import
org.mozilla.fenix.utils.ClipboardHandler
import
java.util.concurrent.TimeUnit
...
...
@@ -71,6 +72,8 @@ class Components(private val context: Context) {
AddonManager
(
core
.
store
,
core
.
engine
,
addonCollectionProvider
,
addonUpdater
)
}
val
browsingModeManager
by
lazy
{
DefaultBrowsingModeManager
()
}
val
tabsUseCases
:
TabsUseCases
by
lazy
{
TabsUseCases
(
core
.
sessionManager
)
}
val
analytics
by
lazy
{
Analytics
(
context
)
}
...
...
app/src/main/java/org/mozilla/fenix/components/toolbar/DefaultToolbarMenu.kt
View file @
2c01022c
...
...
@@ -22,10 +22,8 @@ import mozilla.components.browser.menu.item.BrowserMenuItemToolbar
import
mozilla.components.browser.session.Session
import
mozilla.components.browser.session.SessionManager
import
mozilla.components.concept.storage.BookmarksStorage
import
org.mozilla.fenix.HomeActivity
import
org.mozilla.fenix.R
import
org.mozilla.fenix.browser.browsingmode.BrowsingMode
import
org.mozilla.fenix.ext.asActivity
import
org.mozilla.fenix.ext.components
import
org.mozilla.fenix.theme.ThemeManager
import
org.mozilla.fenix.utils.Settings
...
...
@@ -130,8 +128,8 @@ class DefaultToolbarMenu(
private
val
menuItems
by
lazy
{
// Predicates that are called once, during screen init
val
shouldShowSaveToCollection
=
(
context
.
asActivity
()
as
?
HomeActivity
)
?
.
browsingModeManager
?
.
mode
==
BrowsingMode
.
Normal
val
shouldShowSaveToCollection
=
context
.
components
.
browsingModeManager
.
mode
==
BrowsingMode
.
Normal
val
shouldDeleteDataOnQuit
=
Settings
.
getInstance
(
context
)
.
shouldDeleteBrowsingDataOnQuit
...
...
app/src/main/java/org/mozilla/fenix/customtabs/ExternalAppBrowserFragment.kt
View file @
2c01022c
...
...
@@ -27,7 +27,6 @@ import mozilla.components.lib.state.ext.consumeFrom
import
mozilla.components.support.base.feature.UserInteractionHandler
import
mozilla.components.support.base.feature.ViewBoundFeatureWrapper
import
mozilla.components.support.ktx.android.arch.lifecycle.addObservers
import
org.mozilla.fenix.HomeActivity
import
org.mozilla.fenix.R
import
org.mozilla.fenix.browser.BaseBrowserFragment
import
org.mozilla.fenix.browser.CustomTabContextMenuCandidate
...
...
@@ -69,7 +68,7 @@ class ExternalAppBrowserFragment : BaseBrowserFragment(), UserInteractionHandler
activity
=
activity
,
engineLayout
=
view
.
swipeRefresh
,
onItemTapped
=
{
browserInteractor
.
onBrowserToolbarMenuItemTapped
(
it
)
},
isPrivate
=
(
activity
as
HomeActivity
)
.
browsingModeManager
.
mode
.
isPrivate
,
isPrivate
=
requireComponents
.
browsingModeManager
.
mode
.
isPrivate
,
shouldReverseItems
=
!
activity
.
settings
().
shouldUseBottomToolbar
),
owner
=
this
,
...
...
app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt
View file @
2c01022c
...
...
@@ -106,7 +106,7 @@ class HomeFragment : Fragment() {
}
}
private
val
browsingModeManager
get
()
=
(
activity
as
HomeActivity
)
.
browsingModeManager
private
val
browsingModeManager
get
()
=
requireComponents
.
browsingModeManager
private
var
homeAppBarOffset
=
0
private
val
singleSessionObserver
=
object
:
Session
.
Observer
{
override
fun
onTitleChanged
(
session
:
Session
,
title
:
String
)
{
...
...
app/src/main/java/org/mozilla/fenix/home/intent/DeepLinkIntentProcessor.kt
View file @
2c01022c
...
...
@@ -15,6 +15,7 @@ import org.mozilla.fenix.GlobalDirections
import
org.mozilla.fenix.HomeActivity
import
org.mozilla.fenix.browser.browsingmode.BrowsingMode
import
org.mozilla.fenix.ext.alreadyOnDestination
import
org.mozilla.fenix.ext.components
/**
* Deep links in the form of `fenix://host` open different parts of the app.
...
...
@@ -56,7 +57,7 @@ class DeepLinkIntentProcessor(
private
fun
handleDeepLinkSideEffects
(
deepLink
:
Uri
)
{
when
(
deepLink
.
host
)
{
"enable_private_browsing"
->
{
activity
.
browsingModeManager
.
mode
=
BrowsingMode
.
Private
activity
.
components
.
browsingModeManager
.
mode
=
BrowsingMode
.
Private
}
"make_default_browser"
->
{
if
(
SDK_INT
>=
Build
.
VERSION_CODES
.
N
)
{
...
...
app/src/main/java/org/mozilla/fenix/library/LibraryPageFragment.kt
View file @
2c01022c
...
...
@@ -5,10 +5,10 @@
package
org.mozilla.fenix.library
import
androidx.fragment.app.Fragment
import
org.mozilla.fenix.HomeActivity
import
org.mozilla.fenix.browser.browsingmode.BrowsingMode
import
org.mozilla.fenix.ext.components
import
org.mozilla.fenix.ext.hideToolbar
import
org.mozilla.fenix.ext.requireComponents
abstract
class
LibraryPageFragment
<
T
>
:
Fragment
()
{
...
...
@@ -24,7 +24,7 @@ abstract class LibraryPageFragment<T> : Fragment() {
}
}
(
activity
as
HomeActivity
)
.
browsingModeManager
.
mode
=
BrowsingMode
.
fromBoolean
(
private
)
requireComponents
.
browsingModeManager
.
mode
=
BrowsingMode
.
fromBoolean
(
private
)
hideToolbar
()
}
}
app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkController.kt
View file @
2c01022c
...
...
@@ -56,7 +56,7 @@ class DefaultBookmarkController(
private
val
services
:
Services
=
activity
.
components
.
services
override
fun
handleBookmarkTapped
(
item
:
BookmarkNode
)
{
openInNewTab
(
item
.
url
!!
,
true
,
BrowserDirection
.
FromBookmarks
,
activity
.
browsingModeManager
.
mode
)
openInNewTab
(
item
.
url
!!
,
true
,
BrowserDirection
.
FromBookmarks
,
context
.
components
.
browsingModeManager
.
mode
)
}
override
fun
handleBookmarkExpand
(
folder
:
BookmarkNode
)
{
...
...
@@ -117,7 +117,7 @@ class DefaultBookmarkController(
)
{
invokePendingDeletion
.
invoke
()
with
(
activity
)
{
browsingModeManager
.
mode
=
mode
components
.
browsingModeManager
.
mode
=
mode
openToBrowserAndLoad
(
searchTermOrURL
,
newTab
,
from
)
}
}
...
...
app/src/main/java/org/mozilla/fenix/library/history/HistoryFragment.kt
View file @
2c01022c
...
...
@@ -169,7 +169,7 @@ class HistoryFragment : LibraryPageFragment<HistoryItem>(), UserInteractionHandl
}
(
activity
as
HomeActivity
).
apply
{
browsingModeManager
.
mode
=
BrowsingMode
.
Private
components
.
browsingModeManager
.
mode
=
BrowsingMode
.
Private
supportActionBar
?.
hide
()
}
nav
(
...
...
app/src/main/java/org/mozilla/fenix/search/SearchController.kt
View file @
2c01022c
...
...
@@ -88,7 +88,7 @@ class DefaultSearchController(
store
.
dispatch
(
SearchFragmentAction
.
AllowSearchSuggestionsInPrivateModePrompt
(
text
.
isNotEmpty
()
&&
(
context
as
HomeActivity
)
.
browsingModeManager
.
mode
.
isPrivate
&&
context
.
components
.
browsingModeManager
.
mode
.
isPrivate
&&
!
context
.
settings
().
shouldShowSearchSuggestionsInPrivate
&&
!
context
.
settings
().
showSearchSuggestionsInPrivateOnboardingFinished
)
...
...
app/src/main/java/org/mozilla/fenix/search/SearchFragment.kt
View file @
2c01022c
...
...
@@ -87,7 +87,7 @@ class SearchFragment : Fragment(), UserInteractionHandler {
)
val
showSearchSuggestions
=
if
(
(
activity
as
HomeActivity
)
.
browsingModeManager
.
mode
.
isPrivate
)
{
if
(
requireComponents
.
browsingModeManager
.
mode
.
isPrivate
)
{
requireContext
().
settings
().
shouldShowSearchSuggestions
&&
requireContext
().
settings
().
shouldShowSearchSuggestionsInPrivate
}
else
{
...
...
@@ -130,7 +130,7 @@ class SearchFragment : Fragment(), UserInteractionHandler {
view
.
toolbar_component_wrapper
,
searchInteractor
,
historyStorageProvider
(),
(
activity
as
HomeActivity
)
.
browsingModeManager
.
mode
.
isPrivate
requireComponents
.
browsingModeManager
.
mode
.
isPrivate
)
val
urlView
=
toolbarView
.
view
...
...
app/src/main/java/org/mozilla/fenix/search/awesomebar/AwesomeBarView.kt
View file @
2c01022c
...
...
@@ -28,9 +28,7 @@ import mozilla.components.feature.session.SessionUseCases
import
mozilla.components.feature.tabs.TabsUseCases
import
mozilla.components.support.ktx.android.content.getColorFromAttr
import
mozilla.components.support.ktx.android.view.hideKeyboard
import
org.mozilla.fenix.HomeActivity
import
org.mozilla.fenix.R
import
org.mozilla.fenix.ext.asActivity
import
org.mozilla.fenix.ext.components
import
org.mozilla.fenix.search.SearchEngineSource
import
org.mozilla.fenix.search.SearchFragmentState
...
...
@@ -304,10 +302,7 @@ class AwesomeBarView(
return
providersToRemove
}
private
fun
isBrowsingModePrivate
():
Boolean
{
return
(
container
.
context
.
asActivity
()
as
?
HomeActivity
)
?.
browsingModeManager
?.
mode
?.
isPrivate
?:
false
}
private
fun
isBrowsingModePrivate
():
Boolean
=
container
.
context
.
components
.
browsingModeManager
.
mode
.
isPrivate
private
fun
getSelectedSearchSuggestionProvider
(
state
:
SearchFragmentState
):
SearchSuggestionProvider
?
{
return
when
(
state
.
searchEngineSource
)
{
...
...
app/src/test/java/org/mozilla/fenix/browser/browsingmode/DefaultBrowsingModeManagerTest.kt
View file @
2c01022c
...
...
@@ -4,40 +4,42 @@
package
org.mozilla.fenix.browser.browsingmode
import
io.mockk.MockKAnnotations
import
io.mockk.impl.annotations.MockK
import
io.mockk.verify
import
mozilla.components.support.test.any
import
mozilla.components.support.test.mock
import
org.junit.Assert.assertEquals
import
org.junit.Before
import
org.junit.Test
import
org.mockito.Mockito.times
import
org.mockito.Mockito.verify
class
DefaultBrowsingModeManagerTest
{
@MockK
(
relaxed
=
true
)
lateinit
var
callback
:
(
BrowsingMode
)
->
Unit
lateinit
var
manager
:
BrowsingModeManager
lateinit
var
manager
:
DefaultBrowsingModeManager
private
val
initMode
=
BrowsingMode
.
Normal
@Before
fun
before
()
{
MockKAnnotations
.
init
(
this
)
manager
=
DefaultBrowsingModeManager
(
initMode
,
callback
)
manager
=
DefaultBrowsingModeManager
(
initMode
)
}
@Test
fun
`WHEN
mode
is
updated
THEN
callback
is
invoked`
()
{
verify
(
exactly
=
0
)
{
callback
.
invoke
(
any
())
}
val
browsingModeListener
:
BrowsingModeListener
=
mock
()
manager
.
registerBrowsingModeListener
(
browsingModeListener
)
verify
(
browsingModeListener
,
times
(
0
)).
onBrowsingModeChange
(
any
())
manager
.
mode
=
BrowsingMode
.
Private
manager
.
mode
=
BrowsingMode
.
Private
manager
.
mode
=
BrowsingMode
.
Private
verify
(
exactly
=
3
)
{
callback
.
invok
e
(
any
())
}
verify
(
browsingModeListener
,
times
(
3
)).
onBrowsingModeChang
e
(
any
())
manager
.
mode
=
BrowsingMode
.
Normal
manager
.
mode
=
BrowsingMode
.
Normal
verify
(
exactly
=
5
)
{
callback
.
invok
e
(
any
())
}
verify
(
browsingModeListener
,
times
(
5
)).
onBrowsingModeChang
e
(
any
())
}
@Test
...
...
app/src/test/java/org/mozilla/fenix/components/TestComponents.kt
View file @
2c01022c
...
...
@@ -8,6 +8,7 @@ import android.content.Context
import
io.mockk.mockk
import
mozilla.components.support.test.mock
import
org.mockito.Mockito.`when`
import
org.mozilla.fenix.browser.browsingmode.DefaultBrowsingModeManager
import
org.mozilla.fenix.utils.ClipboardHandler
class
TestComponents
(
private
val
context
:
Context
)
:
Components
(
context
)
{
...
...
@@ -38,5 +39,7 @@ class TestComponents(private val context: Context) : Components(context) {
}
override
val
analytics
by
lazy
{
Analytics
(
context
)
}
override
val
browsingModeManager
by
lazy
{
DefaultBrowsingModeManager
()
}
override
val
clipboardHandler
by
lazy
{
ClipboardHandler
(
context
)
}
}
app/src/test/java/org/mozilla/fenix/home/intent/DeepLinkIntentProcessorTest.kt
View file @
2c01022c
...
...
@@ -8,6 +8,7 @@ import android.content.Intent
import
androidx.core.net.toUri
import
androidx.navigation.NavController
import
io.mockk.Called
import
io.mockk.every
import
io.mockk.mockk
import
io.mockk.verify
import
org.junit.Assert.assertFalse
...
...
@@ -20,6 +21,8 @@ import org.mozilla.fenix.HomeActivity
import
org.mozilla.fenix.NavGraphDirections
import
org.mozilla.fenix.TestApplication
import
org.mozilla.fenix.browser.browsingmode.BrowsingMode
import
org.mozilla.fenix.browser.browsingmode.DefaultBrowsingModeManager
import
org.mozilla.fenix.ext.components
import
org.robolectric.RobolectricTestRunner
import
org.robolectric.annotation.Config
...
...
@@ -114,9 +117,12 @@ class DeepLinkIntentProcessorTest {
@Test
fun
`process
enable_private_browsing
deep
link`
()
{
val
browsingModeManager
:
DefaultBrowsingModeManager
=
mockk
(
relaxed
=
true
)
every
{
activity
.
components
.
browsingModeManager
}
returns
browsingModeManager
assertTrue
(
processor
.
process
(
testIntent
(
"fenix://enable_private_browsing"
),
navController
,
out
))
verify
{
activity
.
browsingModeManager
.
mode
=
BrowsingMode
.
Private
}
verify
{
browsingModeManager
.
mode
=
BrowsingMode
.
Private
}
verify
{
navController
.
navigate
(
NavGraphDirections
.
actionGlobalHomeFragment
())
}
verify
{
out
wasNot
Called
}
}
...
...
app/src/test/java/org/mozilla/fenix/library/bookmarks/BookmarkControllerTest.kt
View file @
2c01022c
...
...
@@ -109,16 +109,16 @@ class BookmarkControllerTest {
@Test
fun
`handleBookmarkTapped
should
respect
browsing
mode`
()
{
// if in normal mode, should be in normal mode
every
{
homeActivity
.
browsingModeManager
.
mode
}
returns
BrowsingMode
.
Normal
every
{
context
.
components
.
browsingModeManager
.
mode
}
returns
BrowsingMode
.
Normal
controller
.
handleBookmarkTapped
(
item
)
assertEquals
(
BrowsingMode
.
Normal
,
homeActivity
.
browsingModeManager
.
mode
)
assertEquals
(
BrowsingMode
.
Normal
,
context
.
components
.
browsingModeManager
.
mode
)
// if in private mode, should be in private mode
every
{
homeActivity
.
browsingModeManager
.
mode
}
returns
BrowsingMode
.
Private
every
{
context
.
components
.
browsingModeManager
.
mode
}
returns
BrowsingMode
.
Private
controller
.
handleBookmarkTapped
(
item
)
assertEquals
(
BrowsingMode
.
Private
,
homeActivity
.
browsingModeManager
.
mode
)
assertEquals
(
BrowsingMode
.
Private
,
context
.
components
.
browsingModeManager
.
mode
)
}
@Test
...
...
@@ -204,7 +204,7 @@ class BookmarkControllerTest {
verifyOrder
{
invokePendingDeletion
.
invoke
()
homeActivity
.
browsingModeManager
.
mode
=
BrowsingMode
.
Normal
homeActivity
.
components
.
browsingModeManager
.
mode
=
BrowsingMode
.
Normal
homeActivity
.
openToBrowserAndLoad
(
item
.
url
!!
,
true
,
BrowserDirection
.
FromBookmarks
)
}
}
...
...
@@ -215,7 +215,7 @@ class BookmarkControllerTest {
verifyOrder
{
invokePendingDeletion
.
invoke
()
homeActivity
.
browsingModeManager
.
mode
=
BrowsingMode
.
Private
homeActivity
.
components
.
browsingModeManager
.
mode
=
BrowsingMode
.
Private
homeActivity
.
openToBrowserAndLoad
(
item
.
url
!!
,
true
,
BrowserDirection
.
FromBookmarks
)
}
}
...
...
app/src/test/java/org/mozilla/fenix/search/SearchInteractorTest.kt
View file @
2c01022c
...
...
@@ -24,8 +24,10 @@ import org.mozilla.fenix.BrowserDirection
import
org.mozilla.fenix.FenixApplication
import
org.mozilla.fenix.HomeActivity
import
org.mozilla.fenix.TestApplication
import
org.mozilla.fenix.browser.browsingmode.DefaultBrowsingModeManager
import
org.mozilla.fenix.components.metrics.Event
import
org.mozilla.fenix.components.searchengine.CustomSearchEngineStore.PREF_FILE_SEARCH_ENGINES
import
org.mozilla.fenix.ext.components
import
org.mozilla.fenix.ext.metrics
import
org.mozilla.fenix.ext.searchEngineManager
import
org.mozilla.fenix.ext.settings
...
...
@@ -108,6 +110,9 @@ class SearchInteractorTest {
val
context
:
HomeActivity
=
mockk
(
relaxed
=
true
)
val
settings
=
testContext
.
settings
().
apply
{
testContext
.
settings
().
clear
()
}
val
browsingModeManager
:
DefaultBrowsingModeManager
=
mockk
(
relaxed
=
true
)
every
{
context
.
components
.
browsingModeManager
}
returns
browsingModeManager
mockkObject
(
Settings
)
every
{
Settings
.
getInstance
(
context
=
context
)
}
returns
settings
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment