From 999f10d7c7d8ff6a2b4e982f5afcc4b3d9892a9c Mon Sep 17 00:00:00 2001 From: agnostic-apollo Date: Fri, 28 Mar 2025 11:50:33 +0500 Subject: [PATCH] Added: Add package `SE_PROCESS_CONTEXT`, `SE_FILE_CONTEXT` and `SE_INFO` when generating app info markdown string --- .../com/termux/shared/termux/AndroidUtils.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) 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 457291a5..554f10a7 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 @@ -2,11 +2,16 @@ package com.termux.shared.termux; import android.annotation.SuppressLint; import android.content.Context; +import android.content.pm.ApplicationInfo; import android.os.Build; +import android.system.Os; +import android.system.OsConstants; import androidx.annotation.NonNull; import com.google.common.base.Joiner; +import com.termux.shared.android.SELinuxUtils; +import com.termux.shared.data.DataUtils; import com.termux.shared.logger.Logger; import com.termux.shared.markdown.MarkdownUtils; import com.termux.shared.packages.PackageUtils; @@ -32,6 +37,8 @@ public class AndroidUtils { */ public static String getAppInfoMarkdownString(@NonNull final Context context) { StringBuilder markdownString = new StringBuilder(); + ApplicationInfo applicationInfo = context.getApplicationInfo(); + if (applicationInfo == null) return null; AndroidUtils.appendPropertyToMarkdown(markdownString,"APP_NAME", PackageUtils.getAppNameForPackage(context)); AndroidUtils.appendPropertyToMarkdown(markdownString,"PACKAGE_NAME", PackageUtils.getPackageNameForPackage(context)); @@ -44,6 +51,13 @@ public class AndroidUtils { AndroidUtils.appendPropertyToMarkdown(markdownString,"IS_INSTALLED_ON_EXTERNAL_STORAGE", true); } + AndroidUtils.appendPropertyToMarkdown(markdownString,"SE_PROCESS_CONTEXT", SELinuxUtils.getContext()); + AndroidUtils.appendPropertyToMarkdown(markdownString,"SE_FILE_CONTEXT", SELinuxUtils.getFileContext(context.getFilesDir().getAbsolutePath())); + + String seInfoUser = PackageUtils.getApplicationInfoSeInfoUserForPackage(applicationInfo); + AndroidUtils.appendPropertyToMarkdown(markdownString,"SE_INFO", PackageUtils.getApplicationInfoSeInfoForPackage(applicationInfo) + + (DataUtils.isNullOrEmpty(seInfoUser) ? "" : seInfoUser)); + String filesDir = context.getFilesDir().getAbsolutePath(); if (!filesDir.equals("/data/user/0/" + context.getPackageName() + "/files") && !filesDir.equals("/data/data/" + context.getPackageName() + "/files"))