mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
ccde2fda6a
Summary: This diff introduces NativeStatusBarManager. Reviewed By: mdvacca Differential Revision: D16371384 fbshipit-source-id: a5485f8dec53a8f3f5bd22ad76e9f8ee0fc56f4c
49 lines
1.4 KiB
JavaScript
49 lines
1.4 KiB
JavaScript
/**
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*
|
|
* @flow
|
|
* @format
|
|
*/
|
|
|
|
'use strict';
|
|
|
|
import type {TurboModule} from '../../TurboModule/RCTExport';
|
|
import * as TurboModuleRegistry from '../../TurboModule/TurboModuleRegistry';
|
|
|
|
export interface Spec extends TurboModule {
|
|
// Android only
|
|
+getConstants: () => {|
|
|
+HEIGHT: number,
|
|
+DEFAULT_BACKGROUND_COLOR: number,
|
|
|};
|
|
+setColor: (color: number, animated: boolean) => void;
|
|
+setTranslucent: (translucent: boolean) => void;
|
|
|
|
// iOS only
|
|
// TODO(T47754272) Can we remove this method?
|
|
+getHeight: (callback: (result: {|height: number|}) => void) => void;
|
|
+setNetworkActivityIndicatorVisible: (visible: boolean) => void;
|
|
+addListener: (eventType: string) => void;
|
|
+removeListeners: (count: number) => void;
|
|
|
|
// Android and iOS
|
|
/**
|
|
* - animated is iOS only
|
|
* - statusBarStyles can be:
|
|
* - 'default' (iOS and Android)
|
|
* - 'dark-content' (iOS and Android)
|
|
* - 'light-content' (iOS)
|
|
*/
|
|
+setStyle: (statusBarStyle?: ?string, animated?: ?boolean) => void;
|
|
/**
|
|
* - withAnimation is iOS only
|
|
* - withAnimation can be: 'none' | 'fade' | 'slide'
|
|
*/
|
|
+setHidden: (hidden: boolean, withAnimation?: ?string) => void;
|
|
}
|
|
|
|
export default TurboModuleRegistry.getEnforcing<Spec>('StatusBarManager');
|