From 612cd296f0e2b70b56b61920e013763e096ab4d1 Mon Sep 17 00:00:00 2001 From: Ankur Jain Date: Sun, 2 Apr 2023 12:49:26 -0700 Subject: [PATCH] Format maxSdkVersion attribute parsing https://developer.android.com/guide/topics/manifest/uses-permission-element --- packages/cli/src/utils.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/packages/cli/src/utils.ts b/packages/cli/src/utils.ts index 6701290..e567176 100644 --- a/packages/cli/src/utils.ts +++ b/packages/cli/src/utils.ts @@ -283,7 +283,7 @@ const getAndroidDetails = async ( const minSdk = new RegExp( AaptPrefixes.sdkPrefix + AaptPrefixes.quoteRegex ).exec(stdout); - const permissions = [...stdout.matchAll(/uses-permission: name='(.*)'/g)]; + const permissions = [...stdout.matchAll(/uses-permission: name='(.+)?' maxSdkVersion='(\d\d)'|uses-permission: name='(.+)'/g)]; const locales = new RegExp( AaptPrefixes.localePrefix + AaptPrefixes.quoteNonLazyRegex ).exec(stdout); @@ -310,7 +310,12 @@ const getAndroidDetails = async ( min_sdk: parseInt(minSdk?.[1] ?? "0", 10), version_code: parseInt(versionCode?.[1] ?? "0", 10), version: versionName?.[1] ?? "0", - permissions: permissions.flatMap(permission => permission[1]), + permissions: permissions.flatMap(permission => { + if (permission[1] === undefined) + return permission[3] + else + return permission[1] + " maxSdkVersion=" + permission[2] + }), locales: localeArray, }; };