diff --git a/app/src/main/java/org/mozilla/fenix/AppRequestInterceptor.kt b/app/src/main/java/org/mozilla/fenix/AppRequestInterceptor.kt index 6819edfd8..becdda797 100644 --- a/app/src/main/java/org/mozilla/fenix/AppRequestInterceptor.kt +++ b/app/src/main/java/org/mozilla/fenix/AppRequestInterceptor.kt @@ -79,6 +79,7 @@ class AppRequestInterceptor(private val context: Context) : RequestInterceptor { ErrorType.ERROR_FILE_ACCESS_DENIED, ErrorType.ERROR_PROXY_CONNECTION_REFUSED, ErrorType.ERROR_UNKNOWN_PROXY_HOST, + ErrorType.ERROR_NO_INTERNET, ErrorType.ERROR_UNKNOWN_PROTOCOL -> RiskLevel.Low ErrorType.ERROR_SECURITY_BAD_CERT, diff --git a/app/src/main/java/org/mozilla/fenix/HomeActivity.kt b/app/src/main/java/org/mozilla/fenix/HomeActivity.kt index 1d6edf7af..4958fe725 100644 --- a/app/src/main/java/org/mozilla/fenix/HomeActivity.kt +++ b/app/src/main/java/org/mozilla/fenix/HomeActivity.kt @@ -27,7 +27,7 @@ import mozilla.components.browser.session.Session import mozilla.components.browser.session.SessionManager import mozilla.components.concept.engine.EngineView import mozilla.components.service.fxa.sync.SyncReason -import mozilla.components.support.base.feature.BackHandler +import mozilla.components.support.base.feature.UserInteractionHandler import mozilla.components.support.ktx.kotlin.isUrl import mozilla.components.support.ktx.kotlin.toNormalizedUrl import mozilla.components.support.utils.Browsers @@ -167,7 +167,7 @@ open class HomeActivity : AppCompatActivity() { final override fun onBackPressed() { supportFragmentManager.primaryNavigationFragment?.childFragmentManager?.fragments?.forEach { - if (it is BackHandler && it.onBackPressed()) { + if (it is UserInteractionHandler && it.onBackPressed()) { return } } diff --git a/app/src/main/java/org/mozilla/fenix/browser/BaseBrowserFragment.kt b/app/src/main/java/org/mozilla/fenix/browser/BaseBrowserFragment.kt index 0160a29dc..ac8a773ac 100644 --- a/app/src/main/java/org/mozilla/fenix/browser/BaseBrowserFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/browser/BaseBrowserFragment.kt @@ -51,7 +51,7 @@ import mozilla.components.feature.session.SwipeRefreshFeature import mozilla.components.feature.sitepermissions.SitePermissions import mozilla.components.feature.sitepermissions.SitePermissionsFeature import mozilla.components.feature.sitepermissions.SitePermissionsRules -import mozilla.components.support.base.feature.BackHandler +import mozilla.components.support.base.feature.UserInteractionHandler import mozilla.components.support.base.feature.PermissionsFeature import mozilla.components.support.base.feature.ViewBoundFeatureWrapper import mozilla.components.support.ktx.android.view.exitImmersiveModeIfNeeded @@ -93,7 +93,7 @@ import org.mozilla.fenix.theme.ThemeManager * UI code specific to the app or to custom tabs can be found in the subclasses. */ @Suppress("TooManyFunctions", "LargeClass") -abstract class BaseBrowserFragment : Fragment(), BackHandler, SessionManager.Observer { +abstract class BaseBrowserFragment : Fragment(), UserInteractionHandler, SessionManager.Observer { protected lateinit var browserFragmentStore: BrowserFragmentStore protected lateinit var browserInteractor: BrowserToolbarViewInteractor protected lateinit var browserToolbarView: BrowserToolbarView diff --git a/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt b/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt index e6d3938ae..3f272882f 100644 --- a/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt @@ -27,7 +27,7 @@ import mozilla.components.feature.session.TrackingProtectionUseCases import mozilla.components.feature.sitepermissions.SitePermissions import mozilla.components.feature.tabs.WindowFeature import mozilla.components.lib.state.ext.consumeFrom -import mozilla.components.support.base.feature.BackHandler +import mozilla.components.support.base.feature.UserInteractionHandler import mozilla.components.support.base.feature.ViewBoundFeatureWrapper import org.jetbrains.anko.dimen import org.mozilla.fenix.HomeActivity @@ -49,7 +49,7 @@ import org.mozilla.fenix.trackingprotection.TrackingProtectionOverlay */ @ExperimentalCoroutinesApi @Suppress("TooManyFunctions", "LargeClass") -class BrowserFragment : BaseBrowserFragment(), BackHandler { +class BrowserFragment : BaseBrowserFragment(), UserInteractionHandler { private val windowFeature = ViewBoundFeatureWrapper() diff --git a/app/src/main/java/org/mozilla/fenix/components/InflationAwareFeature.kt b/app/src/main/java/org/mozilla/fenix/components/InflationAwareFeature.kt index 897e5357d..ac26197c3 100644 --- a/app/src/main/java/org/mozilla/fenix/components/InflationAwareFeature.kt +++ b/app/src/main/java/org/mozilla/fenix/components/InflationAwareFeature.kt @@ -3,7 +3,7 @@ package org.mozilla.fenix.components import android.view.View import android.view.ViewStub import androidx.annotation.UiThread -import mozilla.components.support.base.feature.BackHandler +import mozilla.components.support.base.feature.UserInteractionHandler import mozilla.components.support.base.feature.LifecycleAwareFeature import java.lang.ref.WeakReference @@ -16,7 +16,7 @@ import java.lang.ref.WeakReference */ abstract class InflationAwareFeature( private val stub: ViewStub -) : LifecycleAwareFeature, BackHandler { +) : LifecycleAwareFeature, UserInteractionHandler { internal lateinit var view: WeakReference internal var feature: LifecycleAwareFeature? = null @@ -62,7 +62,7 @@ abstract class InflationAwareFeature( * @return true if the feature also implements [BackHandler] and the feature has been initiated. */ override fun onBackPressed(): Boolean { - return (feature as? BackHandler)?.onBackPressed() ?: false + return (feature as? UserInteractionHandler)?.onBackPressed() ?: false } /** diff --git a/app/src/main/java/org/mozilla/fenix/customtabs/CustomTabsIntegration.kt b/app/src/main/java/org/mozilla/fenix/customtabs/CustomTabsIntegration.kt index 1ae9c2df9..aa3f53151 100644 --- a/app/src/main/java/org/mozilla/fenix/customtabs/CustomTabsIntegration.kt +++ b/app/src/main/java/org/mozilla/fenix/customtabs/CustomTabsIntegration.kt @@ -14,7 +14,7 @@ import mozilla.components.browser.session.SessionManager import mozilla.components.browser.toolbar.BrowserToolbar import mozilla.components.browser.toolbar.display.DisplayToolbar import mozilla.components.feature.customtabs.CustomTabsToolbarFeature -import mozilla.components.support.base.feature.BackHandler +import mozilla.components.support.base.feature.UserInteractionHandler import mozilla.components.support.base.feature.LifecycleAwareFeature import org.mozilla.fenix.R import org.mozilla.fenix.components.toolbar.ToolbarMenu @@ -28,7 +28,7 @@ class CustomTabsIntegration( activity: Activity, engineLayout: View, onItemTapped: (ToolbarMenu.Item) -> Unit = {} -) : LifecycleAwareFeature, BackHandler { +) : LifecycleAwareFeature, UserInteractionHandler { init { // Remove toolbar shadow diff --git a/app/src/main/java/org/mozilla/fenix/customtabs/ExternalAppBrowserFragment.kt b/app/src/main/java/org/mozilla/fenix/customtabs/ExternalAppBrowserFragment.kt index 484bb6f28..a2bf1ff19 100644 --- a/app/src/main/java/org/mozilla/fenix/customtabs/ExternalAppBrowserFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/customtabs/ExternalAppBrowserFragment.kt @@ -25,7 +25,7 @@ import mozilla.components.feature.pwa.feature.WebAppSiteControlsFeature import mozilla.components.feature.session.TrackingProtectionUseCases import mozilla.components.feature.sitepermissions.SitePermissions import mozilla.components.lib.state.ext.consumeFrom -import mozilla.components.support.base.feature.BackHandler +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.R @@ -40,7 +40,7 @@ import org.mozilla.fenix.ext.requireComponents * Fragment used for browsing the web within external apps. */ @ExperimentalCoroutinesApi -class ExternalAppBrowserFragment : BaseBrowserFragment(), BackHandler { +class ExternalAppBrowserFragment : BaseBrowserFragment(), UserInteractionHandler { private val args by navArgs() diff --git a/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkFragment.kt b/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkFragment.kt index 0603f7fde..7ffde80c9 100644 --- a/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkFragment.kt @@ -36,7 +36,7 @@ import mozilla.components.concept.sync.AccountObserver import mozilla.components.concept.sync.AuthType import mozilla.components.concept.sync.OAuthAccount import mozilla.components.lib.state.ext.consumeFrom -import mozilla.components.support.base.feature.BackHandler +import mozilla.components.support.base.feature.UserInteractionHandler import org.mozilla.fenix.R import org.mozilla.fenix.components.FenixSnackbarPresenter import org.mozilla.fenix.components.StoreProvider @@ -50,7 +50,7 @@ import org.mozilla.fenix.library.LibraryPageFragment import org.mozilla.fenix.utils.allowUndo @Suppress("TooManyFunctions", "LargeClass") -class BookmarkFragment : LibraryPageFragment(), BackHandler { +class BookmarkFragment : LibraryPageFragment(), UserInteractionHandler { private lateinit var bookmarkStore: BookmarkFragmentStore private lateinit var bookmarkView: BookmarkView diff --git a/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkView.kt b/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkView.kt index acdbde172..dbe949294 100644 --- a/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkView.kt +++ b/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkView.kt @@ -11,7 +11,7 @@ import androidx.core.view.isVisible import kotlinx.android.synthetic.main.component_bookmark.view.* import mozilla.appservices.places.BookmarkRoot import mozilla.components.concept.storage.BookmarkNode -import mozilla.components.support.base.feature.BackHandler +import mozilla.components.support.base.feature.UserInteractionHandler import org.mozilla.fenix.R import org.mozilla.fenix.library.LibraryPageView import org.mozilla.fenix.library.SelectionInteractor @@ -95,7 +95,7 @@ interface BookmarkViewInteractor : SelectionInteractor { class BookmarkView( container: ViewGroup, val interactor: BookmarkViewInteractor -) : LibraryPageView(container), BackHandler { +) : LibraryPageView(container), UserInteractionHandler { val view: View = LayoutInflater.from(container.context) .inflate(R.layout.component_bookmark, container, true) diff --git a/app/src/main/java/org/mozilla/fenix/library/history/HistoryFragment.kt b/app/src/main/java/org/mozilla/fenix/library/history/HistoryFragment.kt index c1f22988e..d2305e861 100644 --- a/app/src/main/java/org/mozilla/fenix/library/history/HistoryFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/library/history/HistoryFragment.kt @@ -22,7 +22,7 @@ import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.launch import mozilla.components.concept.engine.prompt.ShareData import mozilla.components.lib.state.ext.consumeFrom -import mozilla.components.support.base.feature.BackHandler +import mozilla.components.support.base.feature.UserInteractionHandler import org.mozilla.fenix.BrowserDirection import org.mozilla.fenix.HomeActivity import org.mozilla.fenix.R @@ -38,7 +38,7 @@ import org.mozilla.fenix.ext.showToolbar import org.mozilla.fenix.library.LibraryPageFragment @SuppressWarnings("TooManyFunctions", "LargeClass") -class HistoryFragment : LibraryPageFragment(), BackHandler { +class HistoryFragment : LibraryPageFragment(), UserInteractionHandler { private lateinit var historyStore: HistoryFragmentStore private lateinit var historyView: HistoryView private lateinit var historyInteractor: HistoryInteractor diff --git a/app/src/main/java/org/mozilla/fenix/library/history/HistoryView.kt b/app/src/main/java/org/mozilla/fenix/library/history/HistoryView.kt index 270783509..9c3097e49 100644 --- a/app/src/main/java/org/mozilla/fenix/library/history/HistoryView.kt +++ b/app/src/main/java/org/mozilla/fenix/library/history/HistoryView.kt @@ -12,7 +12,7 @@ import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.SimpleItemAnimator import kotlinx.android.synthetic.main.component_history.* import kotlinx.android.synthetic.main.component_history.view.* -import mozilla.components.support.base.feature.BackHandler +import mozilla.components.support.base.feature.UserInteractionHandler import org.mozilla.fenix.R import org.mozilla.fenix.library.LibraryPageView import org.mozilla.fenix.library.SelectionInteractor @@ -51,7 +51,7 @@ interface HistoryViewInteractor : SelectionInteractor { class HistoryView( container: ViewGroup, val interactor: HistoryInteractor -) : LibraryPageView(container), BackHandler { +) : LibraryPageView(container), UserInteractionHandler { val view: View = LayoutInflater.from(container.context) .inflate(R.layout.component_history, container, true) diff --git a/app/src/main/java/org/mozilla/fenix/search/SearchFragment.kt b/app/src/main/java/org/mozilla/fenix/search/SearchFragment.kt index d5820504c..d308c1d0b 100644 --- a/app/src/main/java/org/mozilla/fenix/search/SearchFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/search/SearchFragment.kt @@ -27,7 +27,7 @@ import kotlinx.coroutines.ExperimentalCoroutinesApi import mozilla.components.concept.storage.HistoryStorage import mozilla.components.feature.qr.QrFeature import mozilla.components.lib.state.ext.consumeFrom -import mozilla.components.support.base.feature.BackHandler +import mozilla.components.support.base.feature.UserInteractionHandler import mozilla.components.support.base.feature.ViewBoundFeatureWrapper import mozilla.components.support.ktx.android.content.hasCamera import mozilla.components.support.ktx.android.content.isPermissionGranted @@ -47,7 +47,7 @@ import org.mozilla.fenix.ext.components import org.mozilla.fenix.ext.settings @Suppress("TooManyFunctions", "LargeClass") -class SearchFragment : Fragment(), BackHandler { +class SearchFragment : Fragment(), UserInteractionHandler { private lateinit var toolbarView: ToolbarView private lateinit var awesomeBarView: AwesomeBarView private val qrFeature = ViewBoundFeatureWrapper() diff --git a/app/src/main/java/org/mozilla/fenix/settings/PairFragment.kt b/app/src/main/java/org/mozilla/fenix/settings/PairFragment.kt index 713715e76..fa104d1e6 100644 --- a/app/src/main/java/org/mozilla/fenix/settings/PairFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/settings/PairFragment.kt @@ -16,13 +16,13 @@ import androidx.navigation.fragment.NavHostFragment.findNavController import androidx.navigation.fragment.findNavController import kotlinx.android.synthetic.main.fragment_pair.* import mozilla.components.feature.qr.QrFeature -import mozilla.components.support.base.feature.BackHandler +import mozilla.components.support.base.feature.UserInteractionHandler import mozilla.components.support.base.feature.ViewBoundFeatureWrapper import org.mozilla.fenix.R import org.mozilla.fenix.ext.requireComponents import org.mozilla.fenix.ext.showToolbar -class PairFragment : Fragment(R.layout.fragment_pair), BackHandler { +class PairFragment : Fragment(R.layout.fragment_pair), UserInteractionHandler { private val qrFeature = ViewBoundFeatureWrapper() diff --git a/app/src/main/java/org/mozilla/fenix/trackingprotection/TrackingProtectionPanelDialogFragment.kt b/app/src/main/java/org/mozilla/fenix/trackingprotection/TrackingProtectionPanelDialogFragment.kt index 18e704930..aa6773eb4 100644 --- a/app/src/main/java/org/mozilla/fenix/trackingprotection/TrackingProtectionPanelDialogFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/trackingprotection/TrackingProtectionPanelDialogFragment.kt @@ -27,7 +27,7 @@ import mozilla.components.browser.session.Session import mozilla.components.concept.engine.content.blocking.Tracker import mozilla.components.feature.session.TrackingProtectionUseCases import mozilla.components.lib.state.ext.observe -import mozilla.components.support.base.feature.BackHandler +import mozilla.components.support.base.feature.UserInteractionHandler import mozilla.components.support.base.log.logger.Logger import org.mozilla.fenix.HomeActivity import org.mozilla.fenix.R @@ -38,7 +38,7 @@ import org.mozilla.fenix.ext.metrics import org.mozilla.fenix.ext.nav import org.mozilla.fenix.ext.requireComponents -class TrackingProtectionPanelDialogFragment : AppCompatDialogFragment(), BackHandler { +class TrackingProtectionPanelDialogFragment : AppCompatDialogFragment(), UserInteractionHandler { private val args by navArgs()