From 8a65b49aa22bdf74c5d7b963c8fb00dbb78466d1 Mon Sep 17 00:00:00 2001 From: Adrien Poupa Date: Tue, 1 Jul 2025 14:26:14 -0400 Subject: [PATCH] fix(android): Fix Dark Mode detection on Android --- .../java/com/reactnativenavigation/utils/Context.kt | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/lib/android/app/src/main/java/com/reactnativenavigation/utils/Context.kt b/lib/android/app/src/main/java/com/reactnativenavigation/utils/Context.kt index 2ac5737ecdb..adee027a423 100644 --- a/lib/android/app/src/main/java/com/reactnativenavigation/utils/Context.kt +++ b/lib/android/app/src/main/java/com/reactnativenavigation/utils/Context.kt @@ -2,7 +2,7 @@ package com.reactnativenavigation.utils import android.content.Context import android.content.res.Configuration -import android.content.res.Configuration.UI_MODE_NIGHT_YES +import androidx.appcompat.app.AppCompatDelegate import com.facebook.react.ReactApplication import com.reactnativenavigation.NavigationApplication @@ -10,6 +10,10 @@ fun Context.isDebug(): Boolean { return (applicationContext as ReactApplication).reactNativeHost.useDeveloperSupport } fun isDarkMode() = NavigationApplication.instance.isDarkMode() -fun Context.isDarkMode(): Boolean = - (resources.configuration.uiMode and Configuration.UI_MODE_NIGHT_MASK) == UI_MODE_NIGHT_YES -fun Configuration.isDarkMode() = (uiMode and Configuration.UI_MODE_NIGHT_MASK) == UI_MODE_NIGHT_YES \ No newline at end of file +fun Context.isDarkMode(): Boolean = when (AppCompatDelegate.getDefaultNightMode()) { + AppCompatDelegate.MODE_NIGHT_YES -> true + AppCompatDelegate.MODE_NIGHT_NO -> false + else -> resources.configuration.isDarkMode() +} +fun Configuration.isDarkMode() = + (uiMode and Configuration.UI_MODE_NIGHT_MASK) == Configuration.UI_MODE_NIGHT_YES \ No newline at end of file