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

View File

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

View File

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

View File

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