Closes #19182: Close Tabs Tray when sharing completes

upstream-sync
Roger Yang 3 years ago committed by mergify[bot]
parent 74c1cc82fb
commit cabd004390

@ -10,6 +10,7 @@ import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.appcompat.app.AppCompatDialogFragment
import androidx.fragment.app.setFragmentResult
import androidx.fragment.app.viewModels
import androidx.lifecycle.ViewModelProvider.AndroidViewModelFactory
import androidx.lifecycle.lifecycleScope
@ -121,6 +122,12 @@ class ShareFragment : AppCompatDialogFragment() {
}
}
override fun onDestroy() {
setFragmentResult(RESULT_KEY, Bundle())
super.onDestroy()
}
/**
* If [ShareFragmentArgs.sessionId] is set and the session has a pending Web Share
* prompt request, call [consume] then clean up the prompt.
@ -142,5 +149,6 @@ class ShareFragment : AppCompatDialogFragment() {
companion object {
const val SHOW_PAGE_ALPHA = 0.6f
const val RESULT_KEY = "shareFragmentResultKey"
}
}

@ -15,6 +15,7 @@ import androidx.annotation.VisibleForTesting
import androidx.appcompat.app.AppCompatDialogFragment
import androidx.core.view.isVisible
import androidx.fragment.app.activityViewModels
import androidx.fragment.app.setFragmentResultListener
import androidx.lifecycle.lifecycleScope
import androidx.navigation.fragment.findNavController
import androidx.navigation.fragment.navArgs
@ -35,6 +36,7 @@ import org.mozilla.fenix.HomeActivity
import org.mozilla.fenix.NavGraphDirections
import org.mozilla.fenix.R
import org.mozilla.fenix.components.FenixSnackbar
import org.mozilla.fenix.share.ShareFragment
import org.mozilla.fenix.components.StoreProvider
import org.mozilla.fenix.components.metrics.Event
import org.mozilla.fenix.ext.components
@ -278,6 +280,10 @@ class TabsTrayFragment : AppCompatDialogFragment() {
owner = this,
view = view
)
setFragmentResultListener(ShareFragment.RESULT_KEY) { _, _ ->
dismissTabsTray()
}
}
override fun onConfigurationChanged(newConfig: Configuration) {

Loading…
Cancel
Save