1import { AndroidConfig, ConfigPlugin, createRunOncePlugin } from 'expo/config-plugins';
2
3const pkg = require('expo-local-authentication/package.json');
4const FACE_ID_USAGE = 'Allow $(PRODUCT_NAME) to use Face ID';
5
6const withLocalAuthentication: ConfigPlugin<{ faceIDPermission?: string } | void> = (
7  config,
8  { faceIDPermission } = {}
9) => {
10  if (!config.ios) config.ios = {};
11  if (!config.ios.infoPlist) config.ios.infoPlist = {};
12  config.ios.infoPlist.NSFaceIDUsageDescription =
13    faceIDPermission || config.ios.infoPlist.NSFaceIDUsageDescription || FACE_ID_USAGE;
14
15  return AndroidConfig.Permissions.withPermissions(config, [
16    'android.permission.USE_BIOMETRIC',
17    'android.permission.USE_FINGERPRINT',
18  ]);
19};
20
21export default createRunOncePlugin(withLocalAuthentication, pkg.name, pkg.version);
22