From 023af806b1976a4cc829dd95c72d4d641914684e Mon Sep 17 00:00:00 2001 From: KOWX712 Date: Sun, 6 Jul 2025 02:24:20 +0800 Subject: [PATCH] fix: handle condition when app name contain newline charater --- module/service.sh | 6 +++--- module/webui/scripts/applist.js | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/module/service.sh b/module/service.sh index 3f30a98..34ac84f 100644 --- a/module/service.sh +++ b/module/service.sh @@ -108,12 +108,12 @@ echo "# This file is generated from service.sh to speed up load time" > "$OUTPUT # Get list of third party apps and specific system apps, then cache app name # Check Xposed module { - pm list packages -3 | awk -F: '{print $2}' 2>/dev/null - pm list packages -s | awk -F: '{print $2}' | grep -Ex "$SYSTEM_APP" 2>/dev/null || true + pm list packages -3 &1 | cat | awk -F: '{print $2}' 2>/dev/null + pm list packages -s &1 | cat | awk -F: '{print $2}' | grep -Ex "$SYSTEM_APP" 2>/dev/null || true } | while read -r PACKAGE; do # Get APK path for the package APK_PATH=$(pm path "$PACKAGE" 2>/dev/null | head -n1 | awk -F: '{print $2}') - APP_NAME=$(aapt dump badging "$APK_PATH" 2>/dev/null | grep "application-label:" | sed "s/application-label://g; s/'//g") + APP_NAME=$(aapt dump badging "$APK_PATH" 2>/dev/null | grep "application-label:" | sed "s/application-label://g; s/'//g" | tr -d '\n') [ -z "$APP_NAME" ] && APP_NAME="$PACKAGE" echo " {\"app_name\": \"$APP_NAME\", \"package_name\": \"$PACKAGE\"}," >> "$OUTPUT_APP" diff --git a/module/webui/scripts/applist.js b/module/webui/scripts/applist.js index 415affe..ae93c07 100644 --- a/module/webui/scripts/applist.js +++ b/module/webui/scripts/applist.js @@ -59,9 +59,9 @@ export async function fetchAppList() { output.on('exit', async () => { // Create appEntries array contain { appName, packageName } appEntries = await Promise.all(installedPackages.map(async (packageName) => { - if (appNameMap[packageName]) { + if (appNameMap[packageName] && appNameMap[packageName].trim() !== '') { return { - appName: appNameMap[packageName], + appName: appNameMap[packageName].trim(), packageName }; } @@ -84,7 +84,7 @@ export async function fetchAppList() { { env: { PATH: `$PATH:${basePath}/common:/data/data/com.termux/files/usr/bin` } }); output.stdout.on('data', (data) => { resolve({ - appName: data, + appName: data.trim() === '' ? packageName : data.trim(), packageName }); });