mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
17862a78db
Summary: Android implementation of the Appearance native module. Exposes the user's preferred color scheme: "dark" for Night theme ON, "light" for Night theme OFF. Emits a `appearanceChanged` event when the current uiMode configuration changes. To make your app handle Night mode changes, make sure to do the following: * Declare your Activity can handle uiMode configuration changes (https://developer.android.com/preview/features/darktheme#java): ``` android:configChanges="uiMode" ``` * Make sure to pass the configuration changed activity lifecycle callback from your ReactActivity: ``` Override protected void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(); if (mReactInstanceManager != null) { mReactInstanceManager.onConfigurationChanged(newConfig); } } ``` ### RNTester Adds the AppearanceExample to RNTester on Android. Changelog: [Android][Added] - New Appearance module exposes the user's current Night theme preference Reviewed By: makovkastar Differential Revision: D16942161 fbshipit-source-id: d24a8ff800a1c5f70f4efdec6891396c2078067e
55 lines
3.2 KiB
Python
55 lines
3.2 KiB
Python
load("//tools/build_defs/oss:rn_defs.bzl", "react_native_dep", "react_native_target", "rn_android_library")
|
|
|
|
rn_android_library(
|
|
name = "react",
|
|
srcs = glob(["*.java"]),
|
|
is_androidx = True,
|
|
provided_deps = [
|
|
react_native_dep("third-party/android/androidx:annotation"),
|
|
react_native_dep("third-party/android/androidx:appcompat"),
|
|
react_native_dep("third-party/android/androidx:core"),
|
|
react_native_dep("third-party/android/androidx:fragment"),
|
|
react_native_dep("third-party/android/androidx:legacy-support-core-ui"),
|
|
react_native_dep("third-party/android/androidx:legacy-support-core-utils"),
|
|
],
|
|
visibility = [
|
|
"PUBLIC",
|
|
],
|
|
deps = [
|
|
react_native_dep("java/com/facebook/systrace:systrace"),
|
|
react_native_dep("libraries/fbcore/src/main/java/com/facebook/common/logging:logging"),
|
|
react_native_dep("libraries/soloader/java/com/facebook/soloader:soloader"),
|
|
react_native_dep("third-party/java/infer-annotations:infer-annotations"),
|
|
react_native_dep("third-party/java/jsr-305:jsr-305"),
|
|
react_native_dep("java/com/facebook/hermes/reactexecutor:reactexecutor"),
|
|
react_native_target("java/com/facebook/debug/holder:holder"),
|
|
react_native_target("java/com/facebook/debug/tags:tags"),
|
|
react_native_target("java/com/facebook/react/bridge:bridge"),
|
|
react_native_target("java/com/facebook/react/common:common"),
|
|
react_native_target("java/com/facebook/react/devsupport:devsupport"),
|
|
react_native_target("java/com/facebook/react/devsupport:interfaces"),
|
|
react_native_target("java/com/facebook/react/jscexecutor:jscexecutor"),
|
|
react_native_target("java/com/facebook/react/jstasks:jstasks"),
|
|
react_native_target("java/com/facebook/react/module/annotations:annotations"),
|
|
react_native_target("java/com/facebook/react/module/model:model"),
|
|
react_native_target("java/com/facebook/react/modules/appregistry:appregistry"),
|
|
react_native_target("java/com/facebook/react/modules/appearance:appearance"),
|
|
react_native_target("java/com/facebook/react/modules/core:core"),
|
|
react_native_target("java/com/facebook/react/modules/debug:debug"),
|
|
react_native_target("java/com/facebook/react/modules/fabric:fabric"),
|
|
react_native_target("java/com/facebook/react/modules/debug:interfaces"),
|
|
react_native_target("java/com/facebook/react/modules/deviceinfo:deviceinfo"),
|
|
react_native_target("java/com/facebook/react/modules/systeminfo:systeminfo"),
|
|
react_native_target("java/com/facebook/react/modules/toast:toast"),
|
|
react_native_target("java/com/facebook/react/surface:surface"),
|
|
react_native_target("java/com/facebook/react/uimanager:uimanager"),
|
|
react_native_target("java/com/facebook/react/module/annotations:annotations"),
|
|
react_native_target("java/com/facebook/react/views/imagehelper:imagehelper"),
|
|
react_native_target("java/com/facebook/react/config:config"),
|
|
react_native_target("java/com/facebook/react/turbomodule/core/interfaces:interfaces"),
|
|
],
|
|
exported_deps = [
|
|
react_native_target("java/com/facebook/react/packagerconnection:packagerconnection"),
|
|
],
|
|
)
|