Support new fields in SoftApInfo

This commit is contained in:
Mygod
2021-05-26 20:56:44 -04:00
parent a69d635f93
commit 50de5a269c
7 changed files with 123 additions and 25 deletions

View File

@@ -0,0 +1,32 @@
package be.mygod.vpnhotspot.util
import android.annotation.SuppressLint
import androidx.annotation.RequiresApi
import timber.log.Timber
/**
* The central object for accessing all the useful blocked APIs. Thanks Google!
*/
@SuppressLint("DiscouragedPrivateApi")
@Suppress("FunctionName")
object UnblockCentral {
/**
* Retrieve this property before doing dangerous shit.
*/
@get:RequiresApi(28)
private val init by lazy {
try {
Class.forName("dalvik.system.VMDebug").getDeclaredMethod("allowHiddenApiReflectionFrom", Class::class.java)
.invoke(null, UnblockCentral::class.java)
true
} catch (e: ReflectiveOperationException) {
Timber.w(e)
false
}
}
@RequiresApi(31)
fun SoftApInfo_getApInstanceIdentifier(clazz: Class<*>) = init.let {
clazz.getDeclaredMethod("getApInstanceIdentifier")
}
}