mirror of
https://github.com/fankes/termux-app.git
synced 2025-09-06 02:35:19 +08:00
Changed: Use cached PackageInfo while getting version code and name for app
This commit is contained in:
@@ -316,11 +316,18 @@ public class PackageUtils {
|
||||
*/
|
||||
@Nullable
|
||||
public static Integer getVersionCodeForPackage(@NonNull final Context context, @NonNull final String packageName) {
|
||||
try {
|
||||
return getPackageInfoForPackage(context, packageName).versionCode;
|
||||
} catch (final Exception e) {
|
||||
return null;
|
||||
}
|
||||
return getVersionCodeForPackage(getPackageInfoForPackage(context, packageName));
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the {@code versionCode} for the {@code packageName}.
|
||||
*
|
||||
* @param packageInfo The {@link PackageInfo} for the package.
|
||||
* @return Returns the {@code versionCode}. This will be {@code null} if an exception is raised.
|
||||
*/
|
||||
@Nullable
|
||||
public static Integer getVersionCodeForPackage(@Nullable final PackageInfo packageInfo) {
|
||||
return packageInfo != null? packageInfo.versionCode : null;
|
||||
}
|
||||
|
||||
|
||||
@@ -335,6 +342,7 @@ public class PackageUtils {
|
||||
public static String getVersionNameForPackage(@NonNull final Context context) {
|
||||
return getVersionNameForPackage(context, context.getPackageName());
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the {@code versionName} for the {@code packageName}.
|
||||
*
|
||||
@@ -344,11 +352,19 @@ public class PackageUtils {
|
||||
*/
|
||||
@Nullable
|
||||
public static String getVersionNameForPackage(@NonNull final Context context, @NonNull final String packageName) {
|
||||
try {
|
||||
return getPackageInfoForPackage(context, packageName).versionName;
|
||||
} catch (final Exception e) {
|
||||
return null;
|
||||
}
|
||||
return getVersionNameForPackage(getPackageInfoForPackage(context, packageName));
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the {@code versionName} for the {@code packageName}.
|
||||
*
|
||||
* @param packageInfo The {@link PackageInfo} for the package.
|
||||
* @return Returns the {@code versionName}. This will be {@code null} if an {@code packageInfo}
|
||||
* is {@code null}.
|
||||
*/
|
||||
@Nullable
|
||||
public static String getVersionNameForPackage(@Nullable final PackageInfo packageInfo) {
|
||||
return packageInfo != null? packageInfo.versionName : null;
|
||||
}
|
||||
|
||||
|
||||
|
@@ -3,6 +3,7 @@ package com.termux.shared.termux;
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.Context;
|
||||
import android.content.pm.ApplicationInfo;
|
||||
import android.content.pm.PackageInfo;
|
||||
import android.os.Build;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
@@ -65,6 +66,8 @@ public class AndroidUtils {
|
||||
* @return Returns the markdown {@link String}.
|
||||
*/
|
||||
public static String getAppInfoMarkdownString(@NonNull final Context context, @NonNull final String packageName) {
|
||||
PackageInfo packageInfo = PackageUtils.getPackageInfoForPackage(context, packageName);
|
||||
if (packageInfo == null) return null;
|
||||
ApplicationInfo applicationInfo = PackageUtils.getApplicationInfoForPackage(context, packageName);
|
||||
if (applicationInfo == null) return null;
|
||||
|
||||
@@ -72,8 +75,8 @@ public class AndroidUtils {
|
||||
|
||||
AndroidUtils.appendPropertyToMarkdown(markdownString,"APP_NAME", PackageUtils.getAppNameForPackage(context, applicationInfo));
|
||||
AndroidUtils.appendPropertyToMarkdown(markdownString,"PACKAGE_NAME", PackageUtils.getPackageNameForPackage(applicationInfo));
|
||||
AndroidUtils.appendPropertyToMarkdown(markdownString,"VERSION_NAME", PackageUtils.getVersionNameForPackage(context, packageName));
|
||||
AndroidUtils.appendPropertyToMarkdown(markdownString,"VERSION_CODE", PackageUtils.getVersionCodeForPackage(context, packageName));
|
||||
AndroidUtils.appendPropertyToMarkdown(markdownString,"VERSION_NAME", PackageUtils.getVersionNameForPackage(packageInfo));
|
||||
AndroidUtils.appendPropertyToMarkdown(markdownString,"VERSION_CODE", PackageUtils.getVersionCodeForPackage(packageInfo));
|
||||
AndroidUtils.appendPropertyToMarkdown(markdownString,"UID", PackageUtils.getUidForPackage(applicationInfo));
|
||||
AndroidUtils.appendPropertyToMarkdown(markdownString,"TARGET_SDK", PackageUtils.getTargetSDKForPackage(applicationInfo));
|
||||
AndroidUtils.appendPropertyToMarkdown(markdownString,"IS_DEBUGGABLE_BUILD", PackageUtils.isAppForPackageADebuggableBuild(applicationInfo));
|
||||
|
Reference in New Issue
Block a user