mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Add Appearance module
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
This commit is contained in:
committed by
Facebook Github Bot
parent
51681e80ab
commit
17862a78db
@@ -16,6 +16,7 @@ import com.facebook.react.module.annotations.ReactModuleList;
|
||||
import com.facebook.react.module.model.ReactModuleInfo;
|
||||
import com.facebook.react.module.model.ReactModuleInfoProvider;
|
||||
import com.facebook.react.modules.accessibilityinfo.AccessibilityInfoModule;
|
||||
import com.facebook.react.modules.appearance.AppearanceModule;
|
||||
import com.facebook.react.modules.appstate.AppStateModule;
|
||||
import com.facebook.react.modules.blob.BlobModule;
|
||||
import com.facebook.react.modules.blob.FileReaderModule;
|
||||
@@ -71,6 +72,7 @@ import java.util.Map;
|
||||
@ReactModuleList(
|
||||
nativeModules = {
|
||||
AccessibilityInfoModule.class,
|
||||
AppearanceModule.class,
|
||||
AppStateModule.class,
|
||||
BlobModule.class,
|
||||
FileReaderModule.class,
|
||||
@@ -112,6 +114,8 @@ public class MainReactPackage extends TurboReactPackage {
|
||||
switch (name) {
|
||||
case AccessibilityInfoModule.NAME:
|
||||
return new AccessibilityInfoModule(context);
|
||||
case AppearanceModule.NAME:
|
||||
return new AppearanceModule(context);
|
||||
case AppStateModule.NAME:
|
||||
return new AppStateModule(context);
|
||||
case BlobModule.NAME:
|
||||
@@ -210,6 +214,7 @@ public class MainReactPackage extends TurboReactPackage {
|
||||
Class<? extends NativeModule>[] moduleList =
|
||||
new Class[] {
|
||||
AccessibilityInfoModule.class,
|
||||
AppearanceModule.class,
|
||||
AppStateModule.class,
|
||||
BlobModule.class,
|
||||
FileReaderModule.class,
|
||||
|
||||
Reference in New Issue
Block a user