mirror of
https://github.com/fork-maintainers/iceraven-browser
synced 2024-11-17 15:26:23 +00:00
For #27456 - Migrate Context.isDark() into a top-level extension
This commit is contained in:
parent
1e8a719197
commit
a0df375b17
@ -7,6 +7,7 @@ package org.mozilla.fenix.ext
|
||||
import android.app.Activity
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.content.res.Configuration
|
||||
import android.os.Build
|
||||
import android.provider.Settings
|
||||
import android.view.ContextThemeWrapper
|
||||
@ -103,3 +104,11 @@ fun Context.navigateToNotificationsSettings() {
|
||||
}
|
||||
startActivity(intent)
|
||||
}
|
||||
|
||||
/**
|
||||
* Helper function used to determine if the user's device is set to dark mode.
|
||||
*
|
||||
* @return true if the system is considered to be in dark theme.
|
||||
*/
|
||||
fun Context.isSystemInDarkTheme(): Boolean =
|
||||
resources.configuration.uiMode and Configuration.UI_MODE_NIGHT_MASK == Configuration.UI_MODE_NIGHT_YES
|
||||
|
@ -16,6 +16,7 @@ import org.mozilla.fenix.FeatureFlags
|
||||
import org.mozilla.fenix.R
|
||||
import org.mozilla.fenix.components.AppStore
|
||||
import org.mozilla.fenix.components.appstate.AppAction
|
||||
import org.mozilla.fenix.ext.isSystemInDarkTheme
|
||||
import org.mozilla.fenix.ext.settings
|
||||
import org.mozilla.fenix.utils.Settings
|
||||
import java.io.File
|
||||
@ -355,18 +356,13 @@ class WallpapersUseCases(
|
||||
*/
|
||||
private fun Wallpaper.getLocalPathFromContext(context: Context): String {
|
||||
val orientation = if (context.isLandscape()) "landscape" else "portrait"
|
||||
val theme = if (context.isDark()) "dark" else "light"
|
||||
val theme = if (context.isSystemInDarkTheme()) "dark" else "light"
|
||||
return Wallpaper.legacyGetLocalPath(orientation, theme, name)
|
||||
}
|
||||
|
||||
private fun Context.isLandscape(): Boolean {
|
||||
return resources.configuration.orientation == Configuration.ORIENTATION_LANDSCAPE
|
||||
}
|
||||
|
||||
private fun Context.isDark(): Boolean {
|
||||
return resources.configuration.uiMode and
|
||||
Configuration.UI_MODE_NIGHT_MASK == Configuration.UI_MODE_NIGHT_YES
|
||||
}
|
||||
}
|
||||
|
||||
@VisibleForTesting(otherwise = VisibleForTesting.PRIVATE)
|
||||
|
Loading…
Reference in New Issue
Block a user