Commit 535e0b52 authored by Gant Laborde's avatar Gant Laborde Committed by GitHub

Merge pull request #93 from xsdlr/master

detect device is Simulator?
parents 911cb370 623408af
......@@ -170,4 +170,8 @@ console.log("Device Country", DeviceInfo.getDeviceCountry()); // e.g US
console.log("Timezone", DeviceInfo.getTimezone()); // e.g America/Mexico_City
console.log("App Instance ID", DeviceInfo.getInstanceID()); // ANDROID ONLY - see https://developers.google.com/instance-id/
console.log("App is running in emulator", DeviceInfo.isEmulator()); // if app is running in emulator return true
```
......@@ -152,6 +152,11 @@ RCT_EXPORT_MODULE()
return currentTimeZone.name;
}
- (bool) isEmulator
{
return [self.deviceName isEqual: @"Simulator"];
}
- (NSDictionary *)constantsToExport
{
UIDevice *currentDevice = [UIDevice currentDevice];
......@@ -174,6 +179,7 @@ RCT_EXPORT_MODULE()
@"systemManufacturer": @"Apple",
@"userAgent": self.userAgent,
@"timezone": self.timezone,
@"isEmulator": @(self.isEmulator),
};
}
......
......@@ -52,6 +52,17 @@ public class RNDeviceModule extends ReactContextBaseJavaModule {
return current.getCountry();
}
private Boolean isEmulator() {
return Build.FINGERPRINT.startsWith("generic")
|| Build.FINGERPRINT.startsWith("unknown")
|| Build.MODEL.contains("google_sdk")
|| Build.MODEL.contains("Emulator")
|| Build.MODEL.contains("Android SDK built for x86")
|| Build.MANUFACTURER.contains("Genymotion")
|| (Build.BRAND.startsWith("generic") && Build.DEVICE.startsWith("generic"))
|| "google_sdk".equals(Build.PRODUCT);
}
@Override
public @Nullable Map<String, Object> getConstants() {
HashMap<String, Object> constants = new HashMap<String, Object>();
......@@ -94,6 +105,7 @@ public class RNDeviceModule extends ReactContextBaseJavaModule {
constants.put("bundleId", packageName);
constants.put("userAgent", System.getProperty("http.agent"));
constants.put("timezone", TimeZone.getDefault().getID());
constants.put("isEmulator", this.isEmulator());
return constants;
}
}
......@@ -56,4 +56,7 @@ module.exports = {
getTimezone: function() {
return RNDeviceInfo.timezone;
},
isEmulator: function() {
return RNDeviceInfo.isEmulator;
},
};
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment