From 7a852f78e49d74521254461d3c3c03e949867583 Mon Sep 17 00:00:00 2001 From: Tamim Hossain <132823494+CodeWithTamim@users.noreply.github.com> Date: Sun, 8 Dec 2024 12:27:20 +0600 Subject: [PATCH] Update package info logic for better encapsulation (#4110) Update package info logic for better encapsulation --- .../app/src/main/java/com/v2ray/ang/AngApplication.kt | 5 ----- .../main/java/com/v2ray/ang/plugin/ResolvedPlugin.kt | 10 ++++++++-- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/V2rayNG/app/src/main/java/com/v2ray/ang/AngApplication.kt b/V2rayNG/app/src/main/java/com/v2ray/ang/AngApplication.kt index 0f144106..6b437021 100644 --- a/V2rayNG/app/src/main/java/com/v2ray/ang/AngApplication.kt +++ b/V2rayNG/app/src/main/java/com/v2ray/ang/AngApplication.kt @@ -45,9 +45,4 @@ class AngApplication : MultiDexApplication() { SettingsManager.initRoutingRulesets(this) } - fun getPackageInfo(packageName: String) = packageManager.getPackageInfo( - packageName, if (Build.VERSION.SDK_INT >= 28) PackageManager.GET_SIGNING_CERTIFICATES - else @Suppress("DEPRECATION") PackageManager.GET_SIGNATURES - )!! - } diff --git a/V2rayNG/app/src/main/java/com/v2ray/ang/plugin/ResolvedPlugin.kt b/V2rayNG/app/src/main/java/com/v2ray/ang/plugin/ResolvedPlugin.kt index 3b2f2003..6e6861cf 100644 --- a/V2rayNG/app/src/main/java/com/v2ray/ang/plugin/ResolvedPlugin.kt +++ b/V2rayNG/app/src/main/java/com/v2ray/ang/plugin/ResolvedPlugin.kt @@ -22,6 +22,7 @@ package com.v2ray.ang.plugin import android.content.pm.ComponentInfo +import android.content.pm.PackageManager import android.content.pm.ResolveInfo import android.graphics.drawable.Drawable import android.os.Build @@ -33,13 +34,18 @@ abstract class ResolvedPlugin(protected val resolveInfo: ResolveInfo) : Plugin() override val id by lazy { componentInfo.loadString(PluginContract.METADATA_KEY_ID)!! } override val version by lazy { - AngApplication.application.getPackageInfo(componentInfo.packageName).versionCode + getPackageInfo(componentInfo.packageName).versionCode } override val versionName: String by lazy { - AngApplication.application.getPackageInfo(componentInfo.packageName).versionName!! + getPackageInfo(componentInfo.packageName).versionName!! } override val label: CharSequence get() = resolveInfo.loadLabel(AngApplication.application.packageManager) override val icon: Drawable get() = resolveInfo.loadIcon(AngApplication.application.packageManager) override val packageName: String get() = componentInfo.packageName override val directBootAware get() = Build.VERSION.SDK_INT < 24 || componentInfo.directBootAware + + fun getPackageInfo(packageName: String) = AngApplication.application.packageManager.getPackageInfo( + packageName, if (Build.VERSION.SDK_INT >= 28) PackageManager.GET_SIGNING_CERTIFICATES + else @Suppress("DEPRECATION") PackageManager.GET_SIGNATURES + )!! }