Commit 23122d53 authored by Tanner Semerad's avatar Tanner Semerad

added isTablet method for iOS and Android

parent 668996c6
......@@ -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 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()
return [self.deviceName isEqual: @"Simulator"];
}
- (bool) isTablet
{
return [[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad;
}
- (NSDictionary *)constantsToExport
{
UIDevice *currentDevice = [UIDevice currentDevice];
......@@ -180,6 +185,7 @@ RCT_EXPORT_MODULE()
@"userAgent": self.userAgent,
@"timezone": self.timezone,
@"isEmulator": @(self.isEmulator),
@"isTablet": @(self.isTablet),
};
}
......
......@@ -3,6 +3,7 @@ package com.learnium.RNDeviceInfo;
import android.bluetooth.BluetoothAdapter;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.res.Configuration;
import android.os.Build;
import android.provider.Settings.Secure;
......@@ -63,6 +64,11 @@ public class RNDeviceModule extends ReactContextBaseJavaModule {
|| "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
public @Nullable Map<String, Object> getConstants() {
HashMap<String, Object> constants = new HashMap<String, Object>();
......@@ -106,6 +112,7 @@ public class RNDeviceModule extends ReactContextBaseJavaModule {
constants.put("userAgent", System.getProperty("http.agent"));
constants.put("timezone", TimeZone.getDefault().getID());
constants.put("isEmulator", this.isEmulator());
constants.put("isTablet", this.isTablet());
return constants;
}
}
......@@ -59,4 +59,7 @@ module.exports = {
isEmulator: function() {
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