2019-01-24 22:07:52 +01:00
|
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
2019-07-12 20:38:15 +02:00
|
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
2019-01-24 22:07:52 +01:00
|
|
|
|
2019-01-23 22:39:53 +01:00
|
|
|
package org.mozilla.fenix.components
|
|
|
|
|
|
|
|
import android.content.Context
|
2019-08-01 01:20:34 +02:00
|
|
|
import mozilla.components.lib.publicsuffixlist.PublicSuffixList
|
2019-05-07 23:36:37 +02:00
|
|
|
import org.mozilla.fenix.test.Mockable
|
2019-01-23 22:39:53 +01:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Provides access to all components.
|
|
|
|
*/
|
2019-05-07 23:36:37 +02:00
|
|
|
@Mockable
|
2019-01-23 22:39:53 +01:00
|
|
|
class Components(private val context: Context) {
|
2019-05-23 22:13:27 +02:00
|
|
|
val backgroundServices by lazy {
|
2019-08-01 00:30:43 +02:00
|
|
|
BackgroundServices(context, core.historyStorage, core.bookmarksStorage)
|
2019-05-23 22:13:27 +02:00
|
|
|
}
|
2019-06-05 00:57:24 +02:00
|
|
|
val services by lazy { Services(backgroundServices.accountManager) }
|
2019-01-23 22:39:53 +01:00
|
|
|
val core by lazy { Core(context) }
|
|
|
|
val search by lazy { Search(context) }
|
2019-08-29 21:45:11 +02:00
|
|
|
val useCases by lazy {
|
|
|
|
UseCases(context, core.sessionManager, core.engine.settings, search.searchEngineManager, core.client)
|
|
|
|
}
|
2019-01-29 21:46:11 +01:00
|
|
|
val utils by lazy { Utilities(context, core.sessionManager, useCases.sessionUseCases, useCases.searchUseCases) }
|
2019-01-29 17:42:10 +01:00
|
|
|
val analytics by lazy { Analytics(context) }
|
2019-08-01 01:20:34 +02:00
|
|
|
val publicSuffixList by lazy { PublicSuffixList(context) }
|
2019-01-29 17:42:10 +01:00
|
|
|
}
|