From 2daa434deac95f56f0a0c743c35bed2a7ac05339 Mon Sep 17 00:00:00 2001 From: Aayush Gupta Date: Sun, 23 Apr 2023 14:24:07 +0530 Subject: [PATCH] SpoofDeviceProvider: Filter packed .properties with specific regex Certain build time files also ends with .properties extension that results in showing null otherwise. We are only shipping files supplied to us from gplayapi library, so filter them with a matching regex. Signed-off-by: Aayush Gupta --- .../com/aurora/store/data/providers/SpoofDeviceProvider.kt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/aurora/store/data/providers/SpoofDeviceProvider.kt b/app/src/main/java/com/aurora/store/data/providers/SpoofDeviceProvider.kt index 527c34fb4..f99c9b9f9 100644 --- a/app/src/main/java/com/aurora/store/data/providers/SpoofDeviceProvider.kt +++ b/app/src/main/java/com/aurora/store/data/providers/SpoofDeviceProvider.kt @@ -35,6 +35,7 @@ import java.util.jar.JarFile class SpoofDeviceProvider private constructor(var context: Context) { companion object : SingletonHolder(::SpoofDeviceProvider) { + private const val REGEX = "gplayapi_[a-zA-Z0-9_-]+\\.properties" private const val SUFFIX = ".properties" fun filenameValid(filename: String): Boolean { @@ -61,7 +62,7 @@ class SpoofDeviceProvider private constructor(var context: Context) { val entries = jarFile.entries() while (entries.hasMoreElements()) { val entry = entries.nextElement() - if (!filenameValid(entry.name)) { + if (!entry.name.substringAfterLast("/").matches(Regex(REGEX))) { continue } propertiesList.add(getProperties(jarFile, entry)) @@ -173,4 +174,4 @@ class SpoofDeviceProvider private constructor(var context: Context) { } return deviceNames } -} \ No newline at end of file +}