123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- // @flow
-
- import Platform from '../react/Platform';
-
- /**
- * Returns whether or not the current environment is a mobile device.
- *
- * @returns {boolean}
- */
- export function isMobileBrowser() {
- return Platform.OS === 'android' || Platform.OS === 'ios';
- }
-
-
- /**
- * Returns whether or not the current environment is an ios mobile device.
- *
- * @returns {boolean}
- */
- export function isIosMobileBrowser() {
- return Platform.OS === 'ios';
- }
-
- /**
- * Checks whether the chrome extensions defined in the config file are installed or not.
- *
- * @param {Object} config - Objects containing info about the configured extensions.
- *
- * @returns {Promise[]}
- */
- export function checkChromeExtensionsInstalled(config: Object = {}) {
- const isExtensionInstalled = info => new Promise(resolve => {
- const img = new Image();
-
- img.src = `chrome-extension://${info.id}/${info.path}`;
- img.onload = function() {
- resolve(true);
- };
- img.onerror = function() {
- resolve(false);
- };
- });
- const extensionInstalledFunction = info => isExtensionInstalled(info);
-
- return Promise.all(
- (config.chromeExtensionsInfo || []).map(info => extensionInstalledFunction(info))
- );
- }
|