Restore react native override preference when live shopping ends.

Summary:
The current implementation of the prelive composer is setting the RN override preference to nil when live shopping ends. However, if the user had a previously set appearance override, this would clear it out.

To resolve this, I cache the user's override preference before we override it, and restore it when live shopping ends.

Additionally, I'm adding a missing callback to restore the override pref when live shopping is dismissed, but not cancelled.

Changelog:
[ReactiveNative][Appearance] - Add function to retrieve overridden RN appearance

Differential Revision: D32564739

fbshipit-source-id: d0b4e06d2bbadad68f172d951609cba3e4587e5d
This commit is contained in:
David Ashinsky 2021-12-02 07:18:30 -08:00 коммит произвёл Facebook GitHub Bot
Родитель 4d1357918a
Коммит 5da4872775
2 изменённых файлов: 6 добавлений и 0 удалений

Просмотреть файл

@ -12,6 +12,7 @@
RCT_EXTERN void RCTEnableAppearancePreference(BOOL enabled);
RCT_EXTERN void RCTOverrideAppearancePreference(NSString *const);
RCT_EXTERN NSString *RCTCurrentOverrideAppearancePreference();
RCT_EXTERN NSString *RCTColorSchemePreference(UITraitCollection *traitCollection);
@interface RCTAppearance : RCTEventEmitter <RCTBridgeModule>

Просмотреть файл

@ -30,6 +30,11 @@ void RCTOverrideAppearancePreference(NSString *const colorSchemeOverride)
sColorSchemeOverride = colorSchemeOverride;
}
NSString *RCTCurrentOverrideAppearancePreference()
{
return sColorSchemeOverride;
}
NSString *RCTColorSchemePreference(UITraitCollection *traitCollection)
{
#if defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && defined(__IPHONE_13_0) && \