Commit 53d75f1e authored by Gant Laborde's avatar Gant Laborde Committed by GitHub

Merge pull request #157 from kacynMedallia/security-callback

Change PIN/Fingerprint check from constant to callback
parents 4d812f2d f87253f4
This diff is collapsed.
...@@ -163,12 +163,6 @@ RCT_EXPORT_MODULE() ...@@ -163,12 +163,6 @@ RCT_EXPORT_MODULE()
return [[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad; return [[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad;
} }
- (bool) isPinOrFingerprintSet
{
LAContext *context = [[LAContext alloc] init];
return ([context canEvaluatePolicy:LAPolicyDeviceOwnerAuthentication error:nil]);
}
- (NSDictionary *)constantsToExport - (NSDictionary *)constantsToExport
{ {
UIDevice *currentDevice = [UIDevice currentDevice]; UIDevice *currentDevice = [UIDevice currentDevice];
...@@ -193,8 +187,14 @@ RCT_EXPORT_MODULE() ...@@ -193,8 +187,14 @@ RCT_EXPORT_MODULE()
@"timezone": self.timezone, @"timezone": self.timezone,
@"isEmulator": @(self.isEmulator), @"isEmulator": @(self.isEmulator),
@"isTablet": @(self.isTablet), @"isTablet": @(self.isTablet),
@"isPinOrFingerprintSet": @(self.isPinOrFingerprintSet),
}; };
} }
RCT_EXPORT_METHOD(isPinOrFingerprintSet:(RCTResponseSenderBlock)callback)
{
LAContext *context = [[LAContext alloc] init];
BOOL isPinOrFingerprintSet = ([context canEvaluatePolicy:LAPolicyDeviceOwnerAuthentication error:nil]);
callback(@[[NSNumber numberWithBool:isPinOrFingerprintSet]]);
}
@end @end
...@@ -13,6 +13,8 @@ import com.google.android.gms.iid.InstanceID; ...@@ -13,6 +13,8 @@ import com.google.android.gms.iid.InstanceID;
import com.facebook.react.bridge.ReactApplicationContext; import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.bridge.ReactContextBaseJavaModule; import com.facebook.react.bridge.ReactContextBaseJavaModule;
import com.facebook.react.bridge.ReactMethod;
import com.facebook.react.bridge.Callback;
import java.util.HashMap; import java.util.HashMap;
import java.util.Locale; import java.util.Locale;
...@@ -71,9 +73,10 @@ public class RNDeviceModule extends ReactContextBaseJavaModule { ...@@ -71,9 +73,10 @@ public class RNDeviceModule extends ReactContextBaseJavaModule {
return layout == Configuration.SCREENLAYOUT_SIZE_LARGE || layout == Configuration.SCREENLAYOUT_SIZE_XLARGE; return layout == Configuration.SCREENLAYOUT_SIZE_LARGE || layout == Configuration.SCREENLAYOUT_SIZE_XLARGE;
} }
private Boolean isPinOrFingerprintSet() { @ReactMethod
public void isPinOrFingerprintSet(Callback callback) {
KeyguardManager keyguardManager = (KeyguardManager) this.reactContext.getSystemService(Context.KEYGUARD_SERVICE); //api 16+ KeyguardManager keyguardManager = (KeyguardManager) this.reactContext.getSystemService(Context.KEYGUARD_SERVICE); //api 16+
return keyguardManager.isKeyguardSecure(); callback.invoke(keyguardManager.isKeyguardSecure());
} }
@Override @Override
...@@ -99,7 +102,7 @@ public class RNDeviceModule extends ReactContextBaseJavaModule { ...@@ -99,7 +102,7 @@ public class RNDeviceModule extends ReactContextBaseJavaModule {
try { try {
BluetoothAdapter myDevice = BluetoothAdapter.getDefaultAdapter(); BluetoothAdapter myDevice = BluetoothAdapter.getDefaultAdapter();
if(mDevice!=null){ if(myDevice!=null){
deviceName = myDevice.getName(); deviceName = myDevice.getName();
} }
} catch(Exception e) { } catch(Exception e) {
...@@ -122,7 +125,6 @@ public class RNDeviceModule extends ReactContextBaseJavaModule { ...@@ -122,7 +125,6 @@ public class RNDeviceModule extends ReactContextBaseJavaModule {
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()); constants.put("isTablet", this.isTablet());
constants.put("isPinOrFingerprintSet", this.isPinOrFingerprintSet());
return constants; return constants;
} }
} }
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