Fix signature checks in ResolvedPlugin
This commit is contained in:
@@ -71,7 +71,10 @@ class App : Application() {
|
||||
val deviceContext: Context by lazy { if (Build.VERSION.SDK_INT < 24) this else DeviceContext(this) }
|
||||
val remoteConfig: FirebaseRemoteConfig by lazy { FirebaseRemoteConfig.getInstance() }
|
||||
private val tracker: Tracker by lazy { GoogleAnalytics.getInstance(deviceContext).newTracker(R.xml.tracker) }
|
||||
val info: PackageInfo by lazy { packageManager.getPackageInfo(packageName, PackageManager.GET_SIGNATURES) }
|
||||
val info: PackageInfo by lazy { getPackageInfo(packageName) }
|
||||
|
||||
fun getPackageInfo(packageName: String) =
|
||||
packageManager.getPackageInfo(packageName, PackageManager.GET_SIGNATURES)!!
|
||||
|
||||
fun startService() {
|
||||
val intent = Intent(this, BaseService.serviceClass.java)
|
||||
|
||||
@@ -33,5 +33,7 @@ abstract class ResolvedPlugin(protected val resolveInfo: ResolveInfo) : Plugin()
|
||||
override val icon: Drawable by lazy { resolveInfo.loadIcon(app.packageManager) }
|
||||
override val defaultConfig: String by lazy { metaData.getString(PluginContract.METADATA_KEY_DEFAULT_CONFIG) }
|
||||
override val packageName: String get() = resolveInfo.resolvePackageName
|
||||
override val trusted by lazy { app.info.signatures.any(PluginManager.trustedSignatures::contains) }
|
||||
override val trusted by lazy {
|
||||
app.getPackageInfo(packageName).signatures.any(PluginManager.trustedSignatures::contains)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user