[fenix] Closes https://github.com/mozilla-mobile/fenix/issues/19182: Close Tabs Tray when sharing completes

pull/600/head
Roger Yang 3 years ago committed by mergify[bot]
parent 63775af142
commit 2ef093a35e

@ -10,6 +10,7 @@ import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import androidx.appcompat.app.AppCompatDialogFragment import androidx.appcompat.app.AppCompatDialogFragment
import androidx.fragment.app.setFragmentResult
import androidx.fragment.app.viewModels import androidx.fragment.app.viewModels
import androidx.lifecycle.ViewModelProvider.AndroidViewModelFactory import androidx.lifecycle.ViewModelProvider.AndroidViewModelFactory
import androidx.lifecycle.lifecycleScope 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 * If [ShareFragmentArgs.sessionId] is set and the session has a pending Web Share
* prompt request, call [consume] then clean up the prompt. * prompt request, call [consume] then clean up the prompt.
@ -142,5 +149,6 @@ class ShareFragment : AppCompatDialogFragment() {
companion object { companion object {
const val SHOW_PAGE_ALPHA = 0.6f 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.appcompat.app.AppCompatDialogFragment
import androidx.core.view.isVisible import androidx.core.view.isVisible
import androidx.fragment.app.activityViewModels import androidx.fragment.app.activityViewModels
import androidx.fragment.app.setFragmentResultListener
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import androidx.navigation.fragment.findNavController import androidx.navigation.fragment.findNavController
import androidx.navigation.fragment.navArgs import androidx.navigation.fragment.navArgs
@ -35,6 +36,7 @@ import org.mozilla.fenix.HomeActivity
import org.mozilla.fenix.NavGraphDirections import org.mozilla.fenix.NavGraphDirections
import org.mozilla.fenix.R import org.mozilla.fenix.R
import org.mozilla.fenix.components.FenixSnackbar import org.mozilla.fenix.components.FenixSnackbar
import org.mozilla.fenix.share.ShareFragment
import org.mozilla.fenix.components.StoreProvider import org.mozilla.fenix.components.StoreProvider
import org.mozilla.fenix.components.metrics.Event import org.mozilla.fenix.components.metrics.Event
import org.mozilla.fenix.ext.components import org.mozilla.fenix.ext.components
@ -278,6 +280,10 @@ class TabsTrayFragment : AppCompatDialogFragment() {
owner = this, owner = this,
view = view view = view
) )
setFragmentResultListener(ShareFragment.RESULT_KEY) { _, _ ->
dismissTabsTray()
}
} }
override fun onConfigurationChanged(newConfig: Configuration) { override fun onConfigurationChanged(newConfig: Configuration) {

Loading…
Cancel
Save