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 }