Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions packages/react-native/ReactAndroid/api/ReactAndroid.api
Original file line number Diff line number Diff line change
Expand Up @@ -6050,6 +6050,7 @@ public final class com/facebook/react/views/text/DefaultStyleValuesUtil {
public static final fun getDefaultTextColor (Landroid/content/Context;)Landroid/content/res/ColorStateList;
public static final fun getDefaultTextColorHighlight (Landroid/content/Context;)I
public static final fun getDefaultTextColorHint (Landroid/content/Context;)Landroid/content/res/ColorStateList;
public static final fun getTextColorSecondary (Landroid/content/Context;)Landroid/content/res/ColorStateList;
}

public abstract class com/facebook/react/views/text/ReactBaseTextShadowNode : com/facebook/react/uimanager/LayoutShadowNode {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ import android.content.DialogInterface
import android.content.Intent
import android.content.IntentFilter
import android.content.pm.PackageManager
import android.content.res.ColorStateList
import android.graphics.Typeface
import android.hardware.SensorManager
import android.os.Build
Expand Down Expand Up @@ -74,6 +75,8 @@ import com.facebook.react.internal.featureflags.ReactNativeNewArchitectureFeatur
import com.facebook.react.modules.core.RCTNativeAppEventEmitter
import com.facebook.react.modules.debug.interfaces.DeveloperSettings
import com.facebook.react.packagerconnection.RequestHandler
import com.facebook.react.views.common.UiModeUtils
import com.facebook.react.views.text.DefaultStyleValuesUtil
import java.io.File
import java.net.MalformedURLException
import java.net.URL
Expand Down Expand Up @@ -547,7 +550,11 @@ public abstract class DevSupportManagerBase(
isEnabled = isEnabled(position)
if (this is TextView) {
setTextColor(
if (isEnabled) android.graphics.Color.WHITE else android.graphics.Color.GRAY
if (isEnabled) {
safeGetDefaultTextColor(context)
} else {
safeGetTextColorSecondary(context)
}
)
}
}
Expand Down Expand Up @@ -1011,6 +1018,17 @@ public abstract class DevSupportManagerBase(
}
}

private fun safeGetDefaultTextColor(context: Context): ColorStateList {
return DefaultStyleValuesUtil.getDefaultTextColor(context)
?: if (UiModeUtils.isDarkMode(context)) ColorStateList.valueOf(android.graphics.Color.WHITE)
else ColorStateList.valueOf(android.graphics.Color.BLACK)
}

private fun safeGetTextColorSecondary(context: Context): ColorStateList {
return DefaultStyleValuesUtil.getTextColorSecondary(context)
?: ColorStateList.valueOf(android.graphics.Color.GRAY)
}

override fun openDebugger(panel: String?) {
devServerHelper.openDebugger(
currentReactContext,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,10 @@ public object DefaultStyleValuesUtil {
public fun getDefaultTextColor(context: Context): ColorStateList? =
getDefaultTextAttribute(context, android.R.attr.textColor)

@JvmStatic
public fun getTextColorSecondary(context: Context): ColorStateList? =
getDefaultTextAttribute(context, android.R.attr.textColorSecondary)

/**
* Utility method that returns the default text highlight color as define by the theme
*
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<resources>
<color name="text_color">#FFFFFF</color>
<color name="text_color_secondary">#888888</color>
</resources>
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<resources>

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.DayNight.NoActionBar">
<!-- Customize your theme here. -->
<item name="android:textColor">@color/text_color</item>
<item name="android:textColorSecondary">@color/text_color_secondary</item>
</style>

</resources>
5 changes: 5 additions & 0 deletions packages/rn-tester/android/app/src/main/res/values/colors.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="text_color">#000000</color>
<color name="text_color_secondary">#888888</color>
</resources>
2 changes: 2 additions & 0 deletions packages/rn-tester/android/app/src/main/res/values/styles.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.DayNight.NoActionBar">
<!-- Customize your theme here. -->
<item name="android:textColor">@color/text_color</item>
<item name="android:textColorSecondary">@color/text_color_secondary</item>
</style>

</resources>
Loading