From 4a61a1b9f576acd554b667d159208cec4ce10e49 Mon Sep 17 00:00:00 2001 From: chaihua1 Date: Thu, 4 Jan 2024 19:16:26 +0800 Subject: [PATCH] =?UTF-8?q?[#645]=E7=B3=BB=E7=BB=9F=E5=BA=94=E7=94=A8?= =?UTF-8?q?=E5=88=A4=E6=96=AD=E6=9D=A1=E4=BB=B6=E5=A2=9E=E5=8A=A0FLAG=5FUP?= =?UTF-8?q?DATED=5FSYSTEM=5FAPP=EF=BC=8C=E5=B9=B6=E7=BB=9F=E4=B8=80?= =?UTF-8?q?=E4=BD=BF=E7=94=A8PackageUtils=E8=BF=9B=E8=A1=8C=E5=88=A4?= =?UTF-8?q?=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: chaihua1 --- .../geolocation/util/PackageUtils.java | 24 +------------------ .../hapjs/analyzer/monitors/CpuMonitor.java | 18 +++----------- .../org/hapjs/common/utils/PackageUtils.java | 2 +- 3 files changed, 5 insertions(+), 39 deletions(-) diff --git a/core/runtime/android/features/src/main/java/org/hapjs/features/geolocation/util/PackageUtils.java b/core/runtime/android/features/src/main/java/org/hapjs/features/geolocation/util/PackageUtils.java index 51ec4081..3c2509af 100644 --- a/core/runtime/android/features/src/main/java/org/hapjs/features/geolocation/util/PackageUtils.java +++ b/core/runtime/android/features/src/main/java/org/hapjs/features/geolocation/util/PackageUtils.java @@ -1,12 +1,11 @@ /* - * Copyright (c) 2021, the hapjs-platform Project Contributors + * Copyright (c) 2021-present, the hapjs-platform Project Contributors * SPDX-License-Identifier: Apache-2.0 */ package org.hapjs.features.geolocation.util; import android.content.Context; -import android.content.pm.ApplicationInfo; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.util.Log; @@ -81,25 +80,4 @@ public static String getAppVersionName(Context context, String packageName) { } return null; } - - public static boolean isSystemApp(Context context, String remotePkg) { - if (context == null) { - return false; - } - PackageManager pm = context.getPackageManager(); - if (pm == null) { - return false; - } - - ApplicationInfo applicationInfo = null; - try { - applicationInfo = pm.getApplicationInfo(remotePkg, PackageManager.GET_META_DATA); - } catch (PackageManager.NameNotFoundException e) { - Log.e(TAG, "isSystemApp: ", e); - } - return applicationInfo != null - && (applicationInfo.flags - & (ApplicationInfo.FLAG_SYSTEM | ApplicationInfo.FLAG_UPDATED_SYSTEM_APP)) - != 0; - } } diff --git a/core/runtime/android/runtime/src/main/java/org/hapjs/analyzer/monitors/CpuMonitor.java b/core/runtime/android/runtime/src/main/java/org/hapjs/analyzer/monitors/CpuMonitor.java index ea076ed6..44531c9c 100644 --- a/core/runtime/android/runtime/src/main/java/org/hapjs/analyzer/monitors/CpuMonitor.java +++ b/core/runtime/android/runtime/src/main/java/org/hapjs/analyzer/monitors/CpuMonitor.java @@ -1,13 +1,11 @@ /* - * Copyright (c) 2022, the hapjs-platform Project Contributors + * Copyright (c) 2022-present, the hapjs-platform Project Contributors * SPDX-License-Identifier: Apache-2.0 */ package org.hapjs.analyzer.monitors; import android.content.Context; -import android.content.pm.ApplicationInfo; -import android.content.pm.PackageInfo; import android.os.Build; import android.os.Process; import android.text.TextUtils; @@ -15,6 +13,7 @@ import org.hapjs.analyzer.monitors.abs.AbsTimerMonitor; import org.hapjs.common.utils.FileUtils; +import org.hapjs.common.utils.PackageUtils; import org.hapjs.runtime.Runtime; import java.io.BufferedReader; @@ -41,18 +40,7 @@ private static boolean canAccessProcStatFile() { private static boolean isSystemApp() { Context context = Runtime.getInstance().getContext(); - if (context == null) { - return false; - } - try { - PackageInfo packageInfo = context.getPackageManager().getPackageInfo(context.getPackageName(), 0); - return packageInfo != null && - packageInfo.applicationInfo != null && - ((packageInfo.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0); - } catch (Exception e) { - // ignore - } - return false; + return PackageUtils.isSystemPackage(context, context.getPackageName()); } public CpuMonitor() { diff --git a/core/runtime/android/runtime/src/main/java/org/hapjs/common/utils/PackageUtils.java b/core/runtime/android/runtime/src/main/java/org/hapjs/common/utils/PackageUtils.java index 4493de9a..242aba98 100644 --- a/core/runtime/android/runtime/src/main/java/org/hapjs/common/utils/PackageUtils.java +++ b/core/runtime/android/runtime/src/main/java/org/hapjs/common/utils/PackageUtils.java @@ -159,7 +159,7 @@ public static boolean isSystemPackage(Context context, String packageName) { } try { PackageInfo pi = context.getPackageManager().getPackageInfo(packageName, 0); - return pi != null && (pi.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0; + return pi != null && (pi.applicationInfo.flags & (ApplicationInfo.FLAG_SYSTEM | ApplicationInfo.FLAG_UPDATED_SYSTEM_APP)) != 0; } catch (PackageManager.NameNotFoundException e) { // ignored }