Commit ac2ec9d2 authored by Gant Laborde's avatar Gant Laborde Committed by GitHub

Merge pull request #107 from alseageo/isTablet

added isTablet method for iOS and Android
parents 668996c6 23122d53
...@@ -172,6 +172,6 @@ console.log("Timezone", DeviceInfo.getTimezone()); // e.g America/Mexico_City ...@@ -172,6 +172,6 @@ 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 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 console.log("App is running in emulator", DeviceInfo.isEmulator()); // if app is running in emulator return true
```
console.log("App is running on a tablet", DeviceInfo.isTablet()); // if app is running on a tablet return true
```
...@@ -157,6 +157,11 @@ RCT_EXPORT_MODULE() ...@@ -157,6 +157,11 @@ RCT_EXPORT_MODULE()
return [self.deviceName isEqual: @"Simulator"]; return [self.deviceName isEqual: @"Simulator"];
} }
- (bool) isTablet
{
return [[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad;
}
- (NSDictionary *)constantsToExport - (NSDictionary *)constantsToExport
{ {
UIDevice *currentDevice = [UIDevice currentDevice]; UIDevice *currentDevice = [UIDevice currentDevice];
...@@ -180,6 +185,7 @@ RCT_EXPORT_MODULE() ...@@ -180,6 +185,7 @@ RCT_EXPORT_MODULE()
@"userAgent": self.userAgent, @"userAgent": self.userAgent,
@"timezone": self.timezone, @"timezone": self.timezone,
@"isEmulator": @(self.isEmulator), @"isEmulator": @(self.isEmulator),
@"isTablet": @(self.isTablet),
}; };
} }
......
...@@ -3,6 +3,7 @@ package com.learnium.RNDeviceInfo; ...@@ -3,6 +3,7 @@ package com.learnium.RNDeviceInfo;
import android.bluetooth.BluetoothAdapter; import android.bluetooth.BluetoothAdapter;
import android.content.pm.PackageInfo; import android.content.pm.PackageInfo;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.content.res.Configuration;
import android.os.Build; import android.os.Build;
import android.provider.Settings.Secure; import android.provider.Settings.Secure;
...@@ -63,6 +64,11 @@ public class RNDeviceModule extends ReactContextBaseJavaModule { ...@@ -63,6 +64,11 @@ public class RNDeviceModule extends ReactContextBaseJavaModule {
|| "google_sdk".equals(Build.PRODUCT); || "google_sdk".equals(Build.PRODUCT);
} }
private Boolean isTablet() {
int layout = getReactApplicationContext().getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK;
return layout == Configuration.SCREENLAYOUT_SIZE_LARGE || layout == Configuration.SCREENLAYOUT_SIZE_XLARGE;
}
@Override @Override
public @Nullable Map<String, Object> getConstants() { public @Nullable Map<String, Object> getConstants() {
HashMap<String, Object> constants = new HashMap<String, Object>(); HashMap<String, Object> constants = new HashMap<String, Object>();
...@@ -106,6 +112,7 @@ public class RNDeviceModule extends ReactContextBaseJavaModule { ...@@ -106,6 +112,7 @@ public class RNDeviceModule extends ReactContextBaseJavaModule {
constants.put("userAgent", System.getProperty("http.agent")); constants.put("userAgent", System.getProperty("http.agent"));
constants.put("timezone", TimeZone.getDefault().getID()); constants.put("timezone", TimeZone.getDefault().getID());
constants.put("isEmulator", this.isEmulator()); constants.put("isEmulator", this.isEmulator());
constants.put("isTablet", this.isTablet());
return constants; return constants;
} }
} }
...@@ -59,4 +59,7 @@ module.exports = { ...@@ -59,4 +59,7 @@ module.exports = {
isEmulator: function() { isEmulator: function() {
return RNDeviceInfo.isEmulator; return RNDeviceInfo.isEmulator;
}, },
isTablet: function() {
return RNDeviceInfo.isTablet;
},
}; };
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