/* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ package org.mozilla.fenix.tabhistory import androidx.navigation.NavController import mozilla.components.browser.session.SessionManager import mozilla.components.feature.session.SessionUseCases interface TabHistoryController { fun handleGoToHistoryItem(item: TabHistoryItem) } class DefaultTabHistoryController( private val navController: NavController, private val goToHistoryIndexUseCase: SessionUseCases.GoToHistoryIndexUseCase, private val customTabId: String? = null, private val sessionManager: SessionManager ) : TabHistoryController { override fun handleGoToHistoryItem(item: TabHistoryItem) { navController.navigateUp() goToHistoryIndexUseCase.invoke( item.index, session = customTabId?.let { sessionManager.findSessionById(customTabId) } ?: sessionManager.selectedSession) } }