summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Hongwei Wang <hwwang@google.com> 2020-09-15 23:32:48 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2020-09-15 23:32:48 +0000
commit1b48f8a74d9f1f08626fe8e88e8e57a144ae79ef (patch)
tree33736a60026ad57ac7fc7014fb3d2c3c09677fdc
parent953ba5c7ae88f27fbca8fc4a6c7e76efdedeb978 (diff)
parent6aba13796f910447923802eb048c7b258e470a8e (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.java33
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;
}
/**