Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6aba1379 authored by Hongwei Wang's avatar Hongwei Wang Committed by Android (Google) Code Review
Browse files

Merge "Log the application uid in PipUiEventLogger" into rvc-qpr-dev

parents 7419f4d0 80e875fa
Loading
Loading
Loading
Loading
+28 −5
Original line number Original line Diff line number Diff line
@@ -17,6 +17,7 @@
package com.android.systemui.pip;
package com.android.systemui.pip;


import android.app.TaskInfo;
import android.app.TaskInfo;
import android.content.pm.PackageManager;


import com.android.internal.logging.UiEvent;
import com.android.internal.logging.UiEvent;
import com.android.internal.logging.UiEventLogger;
import com.android.internal.logging.UiEventLogger;
@@ -31,27 +32,49 @@ import javax.inject.Singleton;
@Singleton
@Singleton
public class PipUiEventLogger {
public class PipUiEventLogger {


    private static final int INVALID_PACKAGE_UID = -1;

    private final UiEventLogger mUiEventLogger;
    private final UiEventLogger mUiEventLogger;
    private final PackageManager mPackageManager;


    private TaskInfo mTaskInfo;
    private String mPackageName;
    private int mPackageUid = INVALID_PACKAGE_UID;


    @Inject
    @Inject
    public PipUiEventLogger(UiEventLogger uiEventLogger) {
    public PipUiEventLogger(UiEventLogger uiEventLogger, PackageManager packageManager) {
        mUiEventLogger = uiEventLogger;
        mUiEventLogger = uiEventLogger;
        mPackageManager = packageManager;
    }
    }


    public void setTaskInfo(TaskInfo taskInfo) {
    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
     * Sends log via UiEvent, reference go/uievent for how to debug locally
     */
     */
    public void log(PipUiEventEnum event) {
    public void log(PipUiEventEnum event) {
        if (mTaskInfo == null) {
        if (mPackageName == null || mPackageUid == INVALID_PACKAGE_UID) {
            return;
            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;
    }
    }


    /**
    /**