mirror of
https://github.com/fork-maintainers/iceraven-browser
synced 2024-11-11 13:11:01 +00:00
[fenix] For https://github.com/mozilla-mobile/fenix/issues/17303: Move ext fun runIfFragmentIsAttached to utils
move to ext
This commit is contained in:
parent
9a60af122f
commit
39c21ff474
@ -37,6 +37,7 @@ import org.mozilla.fenix.ext.getRootView
|
||||
import org.mozilla.fenix.ext.requireComponents
|
||||
import org.mozilla.fenix.ext.settings
|
||||
import org.mozilla.fenix.ext.showToolbar
|
||||
import org.mozilla.fenix.ext.runIfFragmentIsAttached
|
||||
import org.mozilla.fenix.theme.ThemeManager
|
||||
import java.lang.ref.WeakReference
|
||||
import java.util.concurrent.CancellationException
|
||||
|
@ -5,7 +5,6 @@
|
||||
package org.mozilla.fenix.addons
|
||||
|
||||
import android.view.View
|
||||
import androidx.fragment.app.Fragment
|
||||
import org.mozilla.fenix.components.FenixSnackbar
|
||||
|
||||
/**
|
||||
@ -23,14 +22,3 @@ internal fun showSnackBar(view: View, text: String, duration: Int = FenixSnackba
|
||||
.setText(text)
|
||||
.show()
|
||||
}
|
||||
|
||||
/**
|
||||
* Run the [block] only if the [Fragment] is attached.
|
||||
*
|
||||
* @param block A callback to be executed if the container [Fragment] is attached.
|
||||
*/
|
||||
internal inline fun Fragment.runIfFragmentIsAttached(block: () -> Unit) {
|
||||
context?.let {
|
||||
block()
|
||||
}
|
||||
}
|
||||
|
@ -25,6 +25,7 @@ import org.mozilla.fenix.HomeActivity
|
||||
import org.mozilla.fenix.R
|
||||
import org.mozilla.fenix.ext.components
|
||||
import org.mozilla.fenix.ext.showToolbar
|
||||
import org.mozilla.fenix.ext.runIfFragmentIsAttached
|
||||
|
||||
/**
|
||||
* An activity to show the details of a installed add-on.
|
||||
|
@ -86,7 +86,6 @@ import org.mozilla.fenix.HomeActivity
|
||||
import org.mozilla.fenix.IntentReceiverActivity
|
||||
import org.mozilla.fenix.NavGraphDirections
|
||||
import org.mozilla.fenix.OnBackLongPressedListener
|
||||
import org.mozilla.fenix.addons.runIfFragmentIsAttached
|
||||
import org.mozilla.fenix.R
|
||||
import org.mozilla.fenix.browser.browsingmode.BrowsingMode
|
||||
import org.mozilla.fenix.browser.readermode.DefaultReaderModeController
|
||||
@ -116,6 +115,7 @@ import org.mozilla.fenix.ext.metrics
|
||||
import org.mozilla.fenix.ext.nav
|
||||
import org.mozilla.fenix.ext.requireComponents
|
||||
import org.mozilla.fenix.ext.settings
|
||||
import org.mozilla.fenix.ext.runIfFragmentIsAttached
|
||||
import org.mozilla.fenix.home.HomeScreenViewModel
|
||||
import org.mozilla.fenix.home.SharedViewModel
|
||||
import org.mozilla.fenix.onboarding.FenixOnboarding
|
||||
|
@ -31,7 +31,6 @@ import mozilla.components.feature.tabs.WindowFeature
|
||||
import mozilla.components.support.base.feature.UserInteractionHandler
|
||||
import mozilla.components.support.base.feature.ViewBoundFeatureWrapper
|
||||
import org.mozilla.fenix.R
|
||||
import org.mozilla.fenix.addons.runIfFragmentIsAttached
|
||||
import org.mozilla.fenix.components.FenixSnackbar
|
||||
import org.mozilla.fenix.components.TabCollectionStorage
|
||||
import org.mozilla.fenix.components.metrics.Event
|
||||
@ -40,6 +39,7 @@ import org.mozilla.fenix.ext.nav
|
||||
import org.mozilla.fenix.ext.navigateSafe
|
||||
import org.mozilla.fenix.ext.requireComponents
|
||||
import org.mozilla.fenix.ext.settings
|
||||
import org.mozilla.fenix.ext.runIfFragmentIsAttached
|
||||
import org.mozilla.fenix.shortcut.PwaOnboardingObserver
|
||||
import org.mozilla.fenix.trackingprotection.TrackingProtectionOverlay
|
||||
|
||||
|
@ -38,6 +38,17 @@ fun Fragment.showToolbar(title: String) {
|
||||
(activity as NavHostActivity).getSupportActionBarAndInflateIfNecessary().show()
|
||||
}
|
||||
|
||||
/**
|
||||
* Run the [block] only if the [Fragment] is attached.
|
||||
*
|
||||
* @param block A callback to be executed if the container [Fragment] is attached.
|
||||
*/
|
||||
internal inline fun Fragment.runIfFragmentIsAttached(block: () -> Unit) {
|
||||
context?.let {
|
||||
block()
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Hides the activity toolbar.
|
||||
* Throws if the fragment is not attached to an [AppCompatActivity].
|
||||
|
@ -85,7 +85,6 @@ import mozilla.components.ui.tabcounter.TabCounterMenu
|
||||
import org.mozilla.fenix.BrowserDirection
|
||||
import org.mozilla.fenix.HomeActivity
|
||||
import org.mozilla.fenix.R
|
||||
import org.mozilla.fenix.addons.runIfFragmentIsAttached
|
||||
import org.mozilla.fenix.browser.BrowserAnimator.Companion.getToolbarNavOptions
|
||||
import org.mozilla.fenix.browser.browsingmode.BrowsingMode
|
||||
import org.mozilla.fenix.components.FenixSnackbar
|
||||
@ -104,6 +103,7 @@ import org.mozilla.fenix.ext.metrics
|
||||
import org.mozilla.fenix.ext.nav
|
||||
import org.mozilla.fenix.ext.requireComponents
|
||||
import org.mozilla.fenix.ext.settings
|
||||
import org.mozilla.fenix.ext.runIfFragmentIsAttached
|
||||
import org.mozilla.fenix.home.sessioncontrol.DefaultSessionControlController
|
||||
import org.mozilla.fenix.home.sessioncontrol.SessionControlInteractor
|
||||
import org.mozilla.fenix.home.sessioncontrol.SessionControlView
|
||||
|
@ -11,7 +11,6 @@ import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.widget.FrameLayout
|
||||
import com.google.android.material.bottomsheet.BottomSheetDialog
|
||||
import org.mozilla.fenix.addons.runIfFragmentIsAttached
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import androidx.navigation.fragment.findNavController
|
||||
import com.google.android.material.bottomsheet.BottomSheetBehavior
|
||||
@ -21,6 +20,7 @@ import kotlinx.coroutines.launch
|
||||
import mozilla.components.service.fxa.manager.FxaAccountManager
|
||||
import org.mozilla.fenix.R
|
||||
import org.mozilla.fenix.ext.requireComponents
|
||||
import org.mozilla.fenix.ext.runIfFragmentIsAttached
|
||||
|
||||
class SignOutFragment : AppCompatDialogFragment() {
|
||||
private lateinit var accountManager: FxaAccountManager
|
||||
|
@ -24,13 +24,13 @@ import kotlinx.coroutines.delay
|
||||
import kotlinx.coroutines.launch
|
||||
import mozilla.components.support.base.feature.ViewBoundFeatureWrapper
|
||||
import org.mozilla.fenix.R
|
||||
import org.mozilla.fenix.addons.runIfFragmentIsAttached
|
||||
import org.mozilla.fenix.components.metrics.Event
|
||||
import org.mozilla.fenix.ext.components
|
||||
import org.mozilla.fenix.ext.requireComponents
|
||||
import org.mozilla.fenix.ext.secure
|
||||
import org.mozilla.fenix.ext.settings
|
||||
import org.mozilla.fenix.ext.showToolbar
|
||||
import org.mozilla.fenix.ext.runIfFragmentIsAttached
|
||||
import org.mozilla.fenix.settings.SharedPreferenceUpdater
|
||||
import org.mozilla.fenix.settings.logins.biometric.BiometricPromptFeature
|
||||
import org.mozilla.fenix.settings.logins.SyncLoginsPreferenceView
|
||||
|
Loading…
Reference in New Issue
Block a user