Merge "[pm/metrics][4/n] pass sessionId and requireUserAction to metrics"
This commit is contained in:
committed by
Android (Google) Code Review
commit
7f940208aa
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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 */,
|
||||
|
||||
Reference in New Issue
Block a user