diff options
author | 2020-09-15 23:32:48 +0000 | |
---|---|---|
committer | 2020-09-15 23:32:48 +0000 | |
commit | 1b48f8a74d9f1f08626fe8e88e8e57a144ae79ef (patch) | |
tree | 33736a60026ad57ac7fc7014fb3d2c3c09677fdc | |
parent | 953ba5c7ae88f27fbca8fc4a6c7e76efdedeb978 (diff) | |
parent | 6aba13796f910447923802eb048c7b258e470a8e (diff) |
Merge "Log the application uid in PipUiEventLogger" into rvc-qpr-dev am: 6aba13796f
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12602091
Change-Id: I41b6ac4ef68bbc697d0c91481bc8b69629628fc9
-rw-r--r-- | packages/SystemUI/src/com/android/systemui/pip/PipUiEventLogger.java | 33 |
1 files changed, 28 insertions, 5 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/pip/PipUiEventLogger.java b/packages/SystemUI/src/com/android/systemui/pip/PipUiEventLogger.java index 5e2cd9c111b2..970203578e73 100644 --- a/packages/SystemUI/src/com/android/systemui/pip/PipUiEventLogger.java +++ b/packages/SystemUI/src/com/android/systemui/pip/PipUiEventLogger.java @@ -17,6 +17,7 @@ package com.android.systemui.pip; import android.app.TaskInfo; +import android.content.pm.PackageManager; import com.android.internal.logging.UiEvent; import com.android.internal.logging.UiEventLogger; @@ -31,27 +32,49 @@ import javax.inject.Singleton; @Singleton public class PipUiEventLogger { + private static final int INVALID_PACKAGE_UID = -1; + private final UiEventLogger mUiEventLogger; + private final PackageManager mPackageManager; - private TaskInfo mTaskInfo; + private String mPackageName; + private int mPackageUid = INVALID_PACKAGE_UID; @Inject - public PipUiEventLogger(UiEventLogger uiEventLogger) { + public PipUiEventLogger(UiEventLogger uiEventLogger, PackageManager packageManager) { mUiEventLogger = uiEventLogger; + mPackageManager = packageManager; } public void setTaskInfo(TaskInfo taskInfo) { - mTaskInfo = taskInfo; + if (taskInfo == null) { + mPackageName = null; + mPackageUid = INVALID_PACKAGE_UID; + } else { + mPackageName = taskInfo.topActivity.getPackageName(); + mPackageUid = getUid(mPackageName, taskInfo.userId); + } } /** * Sends log via UiEvent, reference go/uievent for how to debug locally */ public void log(PipUiEventEnum event) { - if (mTaskInfo == null) { + if (mPackageName == null || mPackageUid == INVALID_PACKAGE_UID) { return; } - mUiEventLogger.log(event, mTaskInfo.userId, mTaskInfo.topActivity.getPackageName()); + mUiEventLogger.log(event, mPackageUid, mPackageName); + } + + private int getUid(String packageName, int userId) { + int uid = INVALID_PACKAGE_UID; + try { + uid = mPackageManager.getApplicationInfoAsUser( + packageName, 0 /* ApplicationInfoFlags */, userId).uid; + } catch (PackageManager.NameNotFoundException e) { + // do nothing. + } + return uid; } /** |