Merge "[pm/metrics][4/n] pass sessionId and requireUserAction to metrics"

This commit is contained in:
Song Chun Fan
2022-11-17 15:29:06 +00:00
committed by Android (Google) Code Review
4 changed files with 30 additions and 5 deletions

View File

@@ -16,6 +16,7 @@
package com.android.server.pm;
import static android.content.pm.PackageInstaller.SessionParams.USER_ACTION_UNSPECIFIED;
import static android.content.pm.PackageManager.INSTALL_REASON_UNKNOWN;
import static android.content.pm.PackageManager.INSTALL_SCENARIO_DEFAULT;
import static android.content.pm.PackageManager.INSTALL_SUCCEEDED;
@@ -114,6 +115,8 @@ final class InstallRequest {
@Nullable
private final PackageMetrics mPackageMetrics;
private final int mSessionId;
private final int mRequireUserAction;
// New install
InstallRequest(InstallingSession params) {
@@ -128,6 +131,8 @@ final class InstallRequest {
params.mDataLoaderType, params.mPackageSource);
mPackageMetrics = new PackageMetrics(this);
mIsInstallInherit = params.mIsInherit;
mSessionId = params.mSessionId;
mRequireUserAction = params.mRequireUserAction;
}
// Install existing package as user
@@ -141,6 +146,8 @@ final class InstallRequest {
mPostInstallRunnable = runnable;
mPackageMetrics = new PackageMetrics(this);
mIsInstallForUsers = true;
mSessionId = -1;
mRequireUserAction = USER_ACTION_UNSPECIFIED;
}
// addForInit
@@ -158,6 +165,8 @@ final class InstallRequest {
mScanFlags = scanFlags;
mScanResult = scanResult;
mPackageMetrics = null; // No logging from this code path
mSessionId = -1;
mRequireUserAction = USER_ACTION_UNSPECIFIED;
}
@Nullable
@@ -565,6 +574,14 @@ final class InstallRequest {
}
}
public int getSessionId() {
return mSessionId;
}
public int getRequireUserAction() {
return mRequireUserAction;
}
public void setScanFlags(int scanFlags) {
mScanFlags = scanFlags;
}

View File

@@ -18,6 +18,7 @@ package com.android.server.pm;
import static android.app.AppOpsManager.MODE_DEFAULT;
import static android.content.pm.PackageInstaller.SessionParams.MODE_INHERIT_EXISTING;
import static android.content.pm.PackageInstaller.SessionParams.USER_ACTION_UNSPECIFIED;
import static android.content.pm.PackageManager.INSTALL_FAILED_INTERNAL_ERROR;
import static android.content.pm.PackageManager.INSTALL_STAGED;
import static android.content.pm.PackageManager.INSTALL_SUCCEEDED;
@@ -95,7 +96,10 @@ class InstallingSession {
final InstallPackageHelper mInstallPackageHelper;
final RemovePackageHelper mRemovePackageHelper;
final boolean mIsInherit;
final int mSessionId;
final int mRequireUserAction;
// For move install
InstallingSession(OriginInfo originInfo, MoveInfo moveInfo, IPackageInstallObserver2 observer,
int installFlags, InstallSource installSource, String volumeUuid,
UserHandle user, String packageAbiOverride, int packageSource,
@@ -124,9 +128,11 @@ class InstallingSession {
mPackageSource = packageSource;
mPackageLite = packageLite;
mIsInherit = false;
mSessionId = -1;
mRequireUserAction = USER_ACTION_UNSPECIFIED;
}
InstallingSession(File stagedDir, IPackageInstallObserver2 observer,
InstallingSession(int sessionId, File stagedDir, IPackageInstallObserver2 observer,
PackageInstaller.SessionParams sessionParams, InstallSource installSource,
UserHandle user, SigningDetails signingDetails, int installerUid,
PackageLite packageLite, PackageManagerService pm) {
@@ -155,6 +161,8 @@ class InstallingSession {
mPackageSource = sessionParams.packageSource;
mPackageLite = packageLite;
mIsInherit = sessionParams.mode == MODE_INHERIT_EXISTING;
mSessionId = sessionId;
mRequireUserAction = sessionParams.requireUserAction;
}
@Override

View File

@@ -2566,8 +2566,8 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub {
}
synchronized (mLock) {
return new InstallingSession(stageDir, localObserver, params, mInstallSource, user,
mSigningDetails, mInstallerUid, mPackageLite, mPm);
return new InstallingSession(sessionId, stageDir, localObserver, params, mInstallSource,
user, mSigningDetails, mInstallerUid, mPackageLite, mPm);
}
}

View File

@@ -92,7 +92,7 @@ final class PackageMetrics {
final long apksSize = getApksSize(ps.getPath());
FrameworkStatsLog.write(FrameworkStatsLog.PACKAGE_INSTALLATION_SESSION_REPORTED,
0 /* session_id */,
mInstallRequest.getSessionId() /* session_id */,
success ? null : packageName /* not report package_name on success */,
mInstallRequest.getUid() /* uid */,
newUsers /* user_ids */,
@@ -110,7 +110,7 @@ final class PackageMetrics {
installerUid /* installer_package_uid */,
-1 /* original_installer_package_uid */,
mInstallRequest.getDataLoaderType() /* data_loader_type */,
0 /* user_action_required_type */,
mInstallRequest.getRequireUserAction() /* user_action_required_type */,
mInstallRequest.isInstantInstall() /* is_instant */,
mInstallRequest.isInstallReplace() /* is_replace */,
mInstallRequest.isInstallSystem() /* is_system */,