1
0
Fork 0

For #673 - Pulls out the session overflow action

master
Jeff Boek 2019-02-28 15:03:28 -08:00 committed by Colin Lee
parent e9e74122b5
commit 1aa3d7e1ad
4 changed files with 13 additions and 13 deletions

View File

@ -31,6 +31,7 @@ import org.mozilla.fenix.HomeActivity
import org.mozilla.fenix.R
import org.mozilla.fenix.ext.requireComponents
import org.mozilla.fenix.home.sessions.ArchivedSession
import org.mozilla.fenix.home.sessions.CurrentSessionBottomSheetFragment
import org.mozilla.fenix.home.sessions.SessionsAction
import org.mozilla.fenix.home.sessions.SessionsChange
import org.mozilla.fenix.home.sessions.SessionsComponent
@ -179,6 +180,7 @@ class HomeFragment : Fragment() {
is TabsAction.Archive -> {
requireComponents.core.sessionStorage.archive(requireComponents.core.sessionManager)
}
is TabsAction.MenuTapped -> openSessionMenu()
is TabsAction.Select -> {
val session = requireComponents.core.sessionManager.findSessionById(it.sessionId)
requireComponents.core.sessionManager.select(session!!)
@ -315,6 +317,14 @@ class HomeFragment : Fragment() {
)
}
private fun openSessionMenu() {
CurrentSessionBottomSheetFragment().show(
requireActivity().supportFragmentManager,
CurrentSessionBottomSheetFragment.overflowFragmentTag
)
}
companion object {
const val addTabButtonIncreaseDps = 8
const val overflowButtonIncreaseDps = 8

View File

@ -46,5 +46,6 @@ class CurrentSessionBottomSheetFragment : BottomSheetDialogFragment(), LayoutCon
companion object {
const val maxTitleLength = 20
const val overflowFragmentTag = "sessionOverflow"
}
}

View File

@ -49,6 +49,7 @@ fun Session.toSessionViewState(selected: Boolean): SessionViewState {
sealed class TabsAction : Action {
object Archive : TabsAction()
object MenuTapped : TabsAction()
data class CloseAll(val private: Boolean) : TabsAction()
data class Select(val sessionId: String) : TabsAction()
data class Close(val sessionId: String) : TabsAction()

View File

@ -4,12 +4,10 @@
package org.mozilla.fenix.home.tabs
import android.app.Activity
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.core.content.ContextCompat
import androidx.fragment.app.FragmentActivity
import androidx.navigation.Navigation
import androidx.recyclerview.widget.DefaultItemAnimator
import androidx.recyclerview.widget.LinearLayoutManager
@ -21,7 +19,6 @@ import org.mozilla.fenix.R
import org.mozilla.fenix.ext.increaseTapArea
import org.mozilla.fenix.home.HomeFragment
import org.mozilla.fenix.home.HomeFragmentDirections
import org.mozilla.fenix.home.sessions.CurrentSessionBottomSheetFragment
import org.mozilla.fenix.mvi.UIView
class TabsUIView(
@ -51,12 +48,7 @@ class TabsUIView(
}
tabs_overflow_button.increaseTapArea(HomeFragment.overflowButtonIncreaseDps)
tabs_overflow_button.setOnClickListener {
if (view.context as? Activity != null) {
CurrentSessionBottomSheetFragment().show(
(view.context as FragmentActivity).supportFragmentManager,
overflowFragmentTag
)
}
actionEmitter.onNext(TabsAction.MenuTapped)
}
save_session_button_text.apply {
@ -85,8 +77,4 @@ class TabsUIView(
sessionButton.visibility = visibility
}
}
companion object {
const val overflowFragmentTag = "current session overflow"
}
}