UNPKG

10.2 kBSource Map (JSON)View Raw
1{"version":3,"file":"Brightness.js","sourceRoot":"","sources":["../src/Brightness.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n createPermissionHook,\n PermissionExpiration,\n PermissionHookOptions,\n PermissionResponse,\n PermissionStatus,\n UnavailabilityError,\n} from 'expo-modules-core';\nimport { Platform } from 'react-native';\n\nimport ExpoBrightness from './ExpoBrightness';\n\n// @needsAudit\nexport enum BrightnessMode {\n /**\n * Means that the current brightness mode cannot be determined.\n */\n UNKNOWN = 0,\n /**\n * Mode in which the device OS will automatically adjust the screen brightness depending on the\n * ambient light.\n */\n AUTOMATIC = 1,\n /**\n * Mode in which the screen brightness will remain constant and will not be adjusted by the OS.\n */\n MANUAL = 2,\n}\n\nexport { PermissionExpiration, PermissionHookOptions, PermissionResponse, PermissionStatus };\n\n/**\n * Returns whether the Brightness API is enabled on the current device. This does not check the app\n * permissions.\n * @return Async `boolean`, indicating whether the Brightness API is available on the current device.\n * Currently this resolves `true` on iOS and Android only.\n */\nexport async function isAvailableAsync(): Promise<boolean> {\n return !!ExpoBrightness.getBrightnessAsync;\n}\n\n// @needsAudit\n/**\n * Gets the current brightness level of the device's main screen.\n * @return A `Promise` that fulfils with a number between `0` and `1`, inclusive, representing the\n * current screen brightness.\n */\nexport async function getBrightnessAsync(): Promise<number> {\n if (!ExpoBrightness.getBrightnessAsync) {\n throw new UnavailabilityError('expo-brightness', 'getBrightnessAsync');\n }\n return await ExpoBrightness.getBrightnessAsync();\n}\n\n// @needsAudit\n/**\n * Sets the current screen brightness. On iOS, this setting will persist until the device is locked,\n * after which the screen brightness will revert to the user's default setting. On Android, this\n * setting only applies to the current activity; it will override the system brightness value\n * whenever your app is in the foreground.\n * @param brightnessValue A number between `0` and `1`, inclusive, representing the desired screen\n * brightness.\n * @return A `Promise` that fulfils when the brightness has been successfully set.\n */\nexport async function setBrightnessAsync(brightnessValue: number): Promise<void> {\n if (!ExpoBrightness.setBrightnessAsync) {\n throw new UnavailabilityError('expo-brightness', 'setBrightnessAsync');\n }\n const clampedBrightnessValue = Math.max(0, Math.min(brightnessValue, 1));\n if (isNaN(clampedBrightnessValue)) {\n throw new TypeError(`setBrightnessAsync cannot be called with ${brightnessValue}`);\n }\n return await ExpoBrightness.setBrightnessAsync(clampedBrightnessValue);\n}\n\n// @needsAudit\n/**\n * __Android only.__ Gets the global system screen brightness.\n * @return A `Promise` that is resolved with a number between `0` and `1`, inclusive, representing\n * the current system screen brightness.\n */\nexport async function getSystemBrightnessAsync(): Promise<number> {\n if (Platform.OS !== 'android') {\n return await getBrightnessAsync();\n }\n return await ExpoBrightness.getSystemBrightnessAsync();\n}\n\n// @needsAudit\n/**\n * > __WARNING:__ This method is experimental.\n *\n * __Android only.__ Sets the global system screen brightness and changes the brightness mode to\n * `MANUAL`. Requires `SYSTEM_BRIGHTNESS` permissions.\n * @param brightnessValue A number between `0` and `1`, inclusive, representing the desired screen\n * brightness.\n * @return A `Promise` that fulfils when the brightness has been successfully set.\n */\nexport async function setSystemBrightnessAsync(brightnessValue: number): Promise<void> {\n const clampedBrightnessValue = Math.max(0, Math.min(brightnessValue, 1));\n if (isNaN(clampedBrightnessValue)) {\n throw new TypeError(`setSystemBrightnessAsync cannot be called with ${brightnessValue}`);\n }\n if (Platform.OS !== 'android') {\n return await setBrightnessAsync(clampedBrightnessValue);\n }\n return await ExpoBrightness.setSystemBrightnessAsync(clampedBrightnessValue);\n}\n\n// @needsAudit\n/**\n * __Android only.__ Resets the brightness setting of the current activity to use the system-wide\n * brightness value rather than overriding it.\n * @return A `Promise` that fulfils when the setting has been successfully changed.\n */\nexport async function useSystemBrightnessAsync(): Promise<void> {\n if (Platform.OS !== 'android') {\n return;\n }\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return await ExpoBrightness.useSystemBrightnessAsync();\n}\n\n// @needsAudit\n/**\n * __Android only.__ Returns a boolean specifying whether or not the current activity is using the\n * system-wide brightness value.\n * @return A `Promise` that fulfils with `true` when the current activity is using the system-wide\n * brightness value, and `false` otherwise.\n */\nexport async function isUsingSystemBrightnessAsync(): Promise<boolean> {\n if (Platform.OS !== 'android') {\n return false;\n }\n return await ExpoBrightness.isUsingSystemBrightnessAsync();\n}\n\n// @needsAudit\n/**\n * __Android only.__ Gets the system brightness mode (e.g. whether or not the OS will automatically\n * adjust the screen brightness depending on ambient light).\n * @return A `Promise` that fulfils with a [`BrightnessMode`](#brightnessmode). Requires\n * `SYSTEM_BRIGHTNESS` permissions.\n */\nexport async function getSystemBrightnessModeAsync(): Promise<BrightnessMode> {\n if (Platform.OS !== 'android') {\n return BrightnessMode.UNKNOWN;\n }\n return await ExpoBrightness.getSystemBrightnessModeAsync();\n}\n\n// @needsAudit\n/**\n * __Android only.__ Sets the system brightness mode.\n * @param brightnessMode One of `BrightnessMode.MANUAL` or `BrightnessMode.AUTOMATIC`. The system\n * brightness mode cannot be set to `BrightnessMode.UNKNOWN`.\n */\nexport async function setSystemBrightnessModeAsync(brightnessMode: BrightnessMode): Promise<void> {\n if (Platform.OS !== 'android' || brightnessMode === BrightnessMode.UNKNOWN) {\n return;\n }\n return await ExpoBrightness.setSystemBrightnessModeAsync(brightnessMode);\n}\n\n// @needsAudit\n/**\n * Checks user's permissions for accessing system brightness.\n * @return A promise that fulfils with an object of type [PermissionResponse](#permissionrespons).\n */\nexport async function getPermissionsAsync(): Promise<PermissionResponse> {\n return ExpoBrightness.getPermissionsAsync();\n}\n\n// @needsAudit\n/**\n * Asks the user to grant permissions for accessing system brightness.\n * @return A promise that fulfils with an object of type [PermissionResponse](#permissionrespons).\n */\nexport async function requestPermissionsAsync(): Promise<PermissionResponse> {\n return ExpoBrightness.requestPermissionsAsync();\n}\n\n// @needsAudit\n/**\n * Check or request permissions to modify the system brightness.\n * This uses both `requestPermissionAsync` and `getPermissionsAsync` to interact with the permissions.\n *\n * @example\n * ```ts\n * const [status, requestPermission] = Brightness.usePermissions();\n * ```\n */\nexport const usePermissions = createPermissionHook({\n getMethod: getPermissionsAsync,\n requestMethod: requestPermissionsAsync,\n});\n"]}
\No newline at end of file