diff --git a/termux-shared/src/main/java/com/termux/shared/packages/PackageUtils.java b/termux-shared/src/main/java/com/termux/shared/packages/PackageUtils.java index fea70624..121fc0a0 100644 --- a/termux-shared/src/main/java/com/termux/shared/packages/PackageUtils.java +++ b/termux-shared/src/main/java/com/termux/shared/packages/PackageUtils.java @@ -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; } diff --git a/termux-shared/src/main/java/com/termux/shared/termux/AndroidUtils.java b/termux-shared/src/main/java/com/termux/shared/termux/AndroidUtils.java index 6b595985..b248fa4d 100644 --- a/termux-shared/src/main/java/com/termux/shared/termux/AndroidUtils.java +++ b/termux-shared/src/main/java/com/termux/shared/termux/AndroidUtils.java @@ -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));