Bug 1829531 - Fix the status bar color when the download prompt appears.

(cherry picked from commit 4356199b11f9f4852eb21a7a0f7214fd985d0cfe)
fenix/113.1.0
iorgamgabriel 1 year ago committed by mergify[bot]
parent 72fcb6121f
commit b4c9315f0a

@ -17,7 +17,6 @@ import android.view.accessibility.AccessibilityEvent
import android.view.accessibility.AccessibilityNodeInfo
import androidx.annotation.VisibleForTesting
import androidx.coordinatorlayout.widget.CoordinatorLayout
import androidx.core.content.ContextCompat
import androidx.core.view.ViewCompat
import androidx.core.view.children
import androidx.viewbinding.ViewBinding
@ -25,8 +24,6 @@ import mozilla.components.feature.downloads.databinding.MozacDownloaderChooserPr
import mozilla.components.feature.downloads.toMegabyteOrKilobyteString
import mozilla.components.feature.downloads.ui.DownloaderApp
import mozilla.components.feature.downloads.ui.DownloaderAppAdapter
import mozilla.components.support.ktx.android.view.setNavigationBarTheme
import mozilla.components.support.ktx.android.view.setStatusBarTheme
import org.mozilla.fenix.R
import org.mozilla.fenix.databinding.DialogScrimBinding
import org.mozilla.fenix.databinding.StartDownloadDialogLayoutBinding
@ -51,12 +48,6 @@ abstract class StartDownloadDialog(
@VisibleForTesting
internal var onDismiss: () -> Unit = {}
@VisibleForTesting
internal var initialNavigationBarColor = activity.window.navigationBarColor
@VisibleForTesting
internal var initialStatusBarColor = activity.window.statusBarColor
/**
* Show the download view.
*
@ -89,10 +80,6 @@ abstract class StartDownloadDialog(
elevation = activity.resources.getDimension(R.dimen.browser_fragment_download_dialog_elevation)
visibility = View.VISIBLE
}
activity.window.setNavigationBarTheme(ContextCompat.getColor(activity, R.color.material_scrim_color))
activity.window.setStatusBarTheme(ContextCompat.getColor(activity, R.color.material_scrim_color))
return this
}
@ -121,9 +108,6 @@ abstract class StartDownloadDialog(
container?.visibility = View.GONE
activity.window.setNavigationBarTheme(initialNavigationBarColor)
activity.window.setStatusBarTheme(initialStatusBarColor)
onDismiss()
}

@ -6,21 +6,16 @@ package org.mozilla.fenix.downloads
import android.app.Activity
import android.content.Context
import android.graphics.Color
import android.view.Gravity
import android.view.LayoutInflater
import android.view.View
import android.widget.FrameLayout
import androidx.coordinatorlayout.widget.CoordinatorLayout
import androidx.core.content.ContextCompat
import androidx.core.view.children
import androidx.core.view.isVisible
import io.mockk.every
import io.mockk.mockk
import io.mockk.mockkStatic
import io.mockk.verify
import mozilla.components.support.ktx.android.view.setNavigationBarTheme
import mozilla.components.support.ktx.android.view.setStatusBarTheme
import mozilla.components.support.test.robolectric.testContext
import org.junit.Assert.assertEquals
import org.junit.Assert.assertFalse
@ -37,20 +32,6 @@ import org.robolectric.Robolectric
@RunWith(FenixRobolectricTestRunner::class)
class StartDownloadDialogTest {
@Test
fun `WHEN the dialog is instantiated THEN cache the navigation and status bar colors`() {
val navigationBarColor = Color.RED
val statusBarColor = Color.BLUE
val activity: Activity = mockk {
every { window.navigationBarColor } returns navigationBarColor
every { window.statusBarColor } returns statusBarColor
}
val dialog = TestDownloadDialog(activity)
assertEquals(navigationBarColor, dialog.initialNavigationBarColor)
assertEquals(statusBarColor, dialog.initialStatusBarColor)
}
@Test
fun `WHEN the view is to be shown THEN set the scrim and other window customization bind the download values`() {
val activity = Robolectric.buildActivity(Activity::class.java).create().get()
@ -78,10 +59,6 @@ class StartDownloadDialogTest {
dialogContainer.elevation,
)
assertTrue(dialogContainer.isVisible)
verify {
activity.window.setNavigationBarTheme(ContextCompat.getColor(activity, R.color.material_scrim_color))
activity.window.setStatusBarTheme(ContextCompat.getColor(activity, R.color.material_scrim_color))
}
assertEquals(dialog, fluentDialog)
}
}
@ -119,10 +96,6 @@ class StartDownloadDialogTest {
assertTrue(dialogParent.childCount == 1)
assertTrue(dialogContainer.childCount == 0)
assertFalse(dialogContainer.isVisible)
verify {
activity.window.setNavigationBarTheme(dialog.initialNavigationBarColor)
activity.window.setStatusBarTheme(dialog.initialStatusBarColor)
}
}
}

Loading…
Cancel
Save