Commit b732de6b authored by Tao Bai's avatar Tao Bai Committed by Commit Bot

log packagename for system or play store apps

Only log package name if app is system app or installed from playstore

Bug: 902008
Change-Id: I934cd148a074078516ecc8f64a8b57e76e25ef53
Reviewed-on: https://chromium-review.googlesource.com/c/1343515
Commit-Queue: Tao Bai <michaelbai@chromium.org>
Reviewed-by: default avatarChangwan Ryu <changwan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#610774}
parent fdeecb2c
......@@ -279,7 +279,9 @@ std::string AwMetricsServiceClient::GetAppPackageName() {
JNIEnv* env = base::android::AttachCurrentThread();
base::android::ScopedJavaLocalRef<jstring> j_app_name =
Java_AwMetricsServiceClient_getAppPackageName(env);
return ConvertJavaStringToUTF8(env, j_app_name);
if (j_app_name)
return ConvertJavaStringToUTF8(env, j_app_name);
return std::string();
}
AwMetricsServiceClient::AwMetricsServiceClient()
......
......@@ -44,6 +44,8 @@ public class AwMetricsServiceClient {
private static final int GUID_SIZE = 32 + 4;
private static final String GUID_FILE_NAME = "metrics_guid";
private static final String PLAY_STORE_PACKAGE_NAME = "com.android.vending";
private static boolean isAppOptedOut(Context appContext) {
try {
ApplicationInfo info = appContext.getPackageManager().getApplicationInfo(
......@@ -87,7 +89,17 @@ public class AwMetricsServiceClient {
@CalledByNative
private static String getAppPackageName() {
return ContextUtils.getApplicationContext().getPackageName();
Context appCtx = ContextUtils.getApplicationContext();
return shouldRecordPackageName(appCtx) ? appCtx.getPackageName() : null;
}
private static boolean shouldRecordPackageName(Context appCtx) {
// Only record if it is system apps or installed from PlayStore.
String packageName = appCtx.getPackageName();
String installerPackageName =
appCtx.getPackageManager().getInstallerPackageName(packageName);
return (appCtx.getApplicationInfo().flags & ApplicationInfo.FLAG_SYSTEM) != 0
|| (PLAY_STORE_PACKAGE_NAME.equals(installerPackageName));
}
public static native void nativeSetHaveMetricsConsent(boolean enabled);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment