For #23256: Close quick settings sheet when displaying clear dialog.

This commit is contained in:
mcarare 2022-01-19 14:14:21 +02:00 committed by mergify[bot]
parent 0496249fe4
commit 305b527b05
3 changed files with 14 additions and 5 deletions

View File

@ -14,6 +14,7 @@ import androidx.appcompat.app.AlertDialog
import androidx.core.net.toUri
import androidx.core.text.HtmlCompat
import androidx.core.view.isVisible
import androidx.navigation.NavController
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
@ -44,7 +45,8 @@ class ClearSiteDataView(
private val ioScope: CoroutineScope,
val containerView: ViewGroup,
val containerDivider: View,
val interactor: ClearSiteDataViewInteractor
val interactor: ClearSiteDataViewInteractor,
val navController: NavController
) {
@VisibleForTesting(otherwise = VisibleForTesting.PRIVATE)
@ -67,6 +69,7 @@ class ClearSiteDataView(
setVisibility(true)
binding.clearSiteData.setOnClickListener {
askToClear()
navController.popBackStack()
}
}

View File

@ -248,7 +248,6 @@ class DefaultQuickSettingsController(
Engine.BrowsingData.ALL_SITE_DATA,
),
)
navController.popBackStack()
}
/**

View File

@ -6,10 +6,11 @@ package org.mozilla.fenix.settings.quicksettings
import android.view.View
import android.widget.FrameLayout
import androidx.navigation.NavController
import io.mockk.MockKAnnotations
import io.mockk.mockk
import io.mockk.spyk
import io.mockk.verify
import io.mockk.verifyOrder
import kotlinx.coroutines.test.TestCoroutineScope
import mozilla.components.support.test.robolectric.testContext
import org.junit.Before
@ -23,19 +24,22 @@ class ClearSiteDataViewTest {
private lateinit var view: ClearSiteDataView
private lateinit var binding: QuicksettingsClearSiteDataBinding
private lateinit var interactor: ClearSiteDataViewInteractor
private lateinit var navController: NavController
private val coroutinesScope = TestCoroutineScope()
@Before
fun setup() {
MockKAnnotations.init(this)
interactor = mockk(relaxed = true)
navController = mockk(relaxed = true)
view = spyk(
ClearSiteDataView(
testContext,
coroutinesScope,
FrameLayout(testContext),
View(testContext),
interactor
interactor,
navController
)
)
binding = view.binding
@ -54,6 +58,9 @@ class ClearSiteDataViewTest {
binding.clearSiteData.callOnClick()
verify { view.askToClear() }
verifyOrder {
view.askToClear()
navController.popBackStack()
}
}
}