Merge "[pm/metrics] fix test on user 10"
This commit is contained in:
committed by
Android (Google) Code Review
commit
db9f9fbe9d
@@ -2291,7 +2291,7 @@ final class InstallPackageHelper {
|
||||
}
|
||||
}
|
||||
installRequest.setName(pkgName);
|
||||
installRequest.setUid(pkg.getUid());
|
||||
installRequest.setAppId(pkg.getUid());
|
||||
installRequest.setPkg(pkg);
|
||||
installRequest.setReturnCode(PackageManager.INSTALL_SUCCEEDED);
|
||||
//to update install status
|
||||
@@ -2776,7 +2776,7 @@ final class InstallPackageHelper {
|
||||
}
|
||||
|
||||
Bundle extras = new Bundle();
|
||||
extras.putInt(Intent.EXTRA_UID, request.getUid());
|
||||
extras.putInt(Intent.EXTRA_UID, request.getAppId());
|
||||
if (update) {
|
||||
extras.putBoolean(Intent.EXTRA_REPLACING, true);
|
||||
}
|
||||
@@ -2799,7 +2799,7 @@ final class InstallPackageHelper {
|
||||
|
||||
// Send PACKAGE_ADDED broadcast for users that see the package for the first time
|
||||
// sendPackageAddedForNewUsers also deals with system apps
|
||||
int appId = UserHandle.getAppId(request.getUid());
|
||||
int appId = UserHandle.getAppId(request.getAppId());
|
||||
boolean isSystem = request.isInstallSystem();
|
||||
mPm.sendPackageAddedForNewUsers(mPm.snapshotComputer(), packageName,
|
||||
isSystem || virtualPreload, virtualPreload /*startReceiver*/, appId,
|
||||
@@ -2944,9 +2944,9 @@ final class InstallPackageHelper {
|
||||
}
|
||||
|
||||
if (allNewUsers && !update) {
|
||||
mPm.notifyPackageAdded(packageName, request.getUid());
|
||||
mPm.notifyPackageAdded(packageName, request.getAppId());
|
||||
} else {
|
||||
mPm.notifyPackageChanged(packageName, request.getUid());
|
||||
mPm.notifyPackageChanged(packageName, request.getAppId());
|
||||
}
|
||||
|
||||
// Log current value of "unknown sources" setting
|
||||
|
||||
@@ -81,7 +81,7 @@ final class InstallRequest {
|
||||
/** Package Installed Info */
|
||||
@Nullable
|
||||
private String mName;
|
||||
private int mUid = INVALID_UID;
|
||||
private int mAppId = INVALID_UID;
|
||||
// The set of users that originally had this package installed.
|
||||
@Nullable
|
||||
private int[] mOrigUsers;
|
||||
@@ -158,7 +158,7 @@ final class InstallRequest {
|
||||
mUserId = user.getIdentifier();
|
||||
} else {
|
||||
// APEX
|
||||
mUserId = INVALID_UID;
|
||||
mUserId = UserHandle.USER_SYSTEM;
|
||||
}
|
||||
mInstallArgs = null;
|
||||
mParsedPackage = parsedPackage;
|
||||
@@ -367,8 +367,8 @@ final class InstallRequest {
|
||||
return mOrigUsers;
|
||||
}
|
||||
|
||||
public int getUid() {
|
||||
return mUid;
|
||||
public int getAppId() {
|
||||
return mAppId;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@@ -648,8 +648,8 @@ final class InstallRequest {
|
||||
mPkg = pkg;
|
||||
}
|
||||
|
||||
public void setUid(int uid) {
|
||||
mUid = uid;
|
||||
public void setAppId(int appId) {
|
||||
mAppId = appId;
|
||||
}
|
||||
|
||||
public void setNewUsers(int[] newUsers) {
|
||||
@@ -773,10 +773,10 @@ final class InstallRequest {
|
||||
}
|
||||
}
|
||||
|
||||
public void onInstallCompleted(int userId) {
|
||||
public void onInstallCompleted() {
|
||||
if (getReturnCode() == INSTALL_SUCCEEDED) {
|
||||
if (mPackageMetrics != null) {
|
||||
mPackageMetrics.onInstallSucceed(userId);
|
||||
mPackageMetrics.onInstallSucceed();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -535,7 +535,7 @@ class InstallingSession {
|
||||
mInstallPackageHelper.installPackagesTraced(installRequests);
|
||||
|
||||
for (InstallRequest request : installRequests) {
|
||||
request.onInstallCompleted(mUser.getIdentifier());
|
||||
request.onInstallCompleted();
|
||||
doPostInstall(request);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,9 +19,11 @@ package com.android.server.pm;
|
||||
import static android.os.Process.INVALID_UID;
|
||||
|
||||
import android.annotation.IntDef;
|
||||
import android.app.ActivityManager;
|
||||
import android.app.admin.SecurityLog;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.content.pm.parsing.ApkLiteParseUtils;
|
||||
import android.os.UserHandle;
|
||||
import android.util.Pair;
|
||||
import android.util.SparseArray;
|
||||
|
||||
@@ -68,8 +70,8 @@ final class PackageMetrics {
|
||||
mInstallRequest = installRequest;
|
||||
}
|
||||
|
||||
public void onInstallSucceed(int userId) {
|
||||
reportInstallationToSecurityLog(userId);
|
||||
public void onInstallSucceed() {
|
||||
reportInstallationToSecurityLog(mInstallRequest.getUserId());
|
||||
reportInstallationStats(true /* success */);
|
||||
}
|
||||
|
||||
@@ -110,10 +112,11 @@ final class PackageMetrics {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
FrameworkStatsLog.write(FrameworkStatsLog.PACKAGE_INSTALLATION_SESSION_REPORTED,
|
||||
mInstallRequest.getSessionId() /* session_id */,
|
||||
packageName /* package_name */,
|
||||
mInstallRequest.getUid() /* uid */,
|
||||
getUid(mInstallRequest.getAppId(), mInstallRequest.getUserId()) /* uid */,
|
||||
newUsers /* user_ids */,
|
||||
userManagerInternal.getUserTypesForStatsd(newUsers) /* user_types */,
|
||||
originalUsers /* original_user_ids */,
|
||||
@@ -140,6 +143,13 @@ final class PackageMetrics {
|
||||
);
|
||||
}
|
||||
|
||||
private static int getUid(int appId, int userId) {
|
||||
if (userId == UserHandle.USER_ALL) {
|
||||
userId = ActivityManager.getCurrentUser();
|
||||
}
|
||||
return UserHandle.getUid(userId, appId);
|
||||
}
|
||||
|
||||
private long getApksSize(File apkDir) {
|
||||
// TODO(b/249294752): also count apk sizes for failed installs
|
||||
final AtomicLong apksSize = new AtomicLong();
|
||||
@@ -218,9 +228,9 @@ final class PackageMetrics {
|
||||
final int[] originalUsers = info.mOrigUsers;
|
||||
final int[] originalUserTypes = userManagerInternal.getUserTypesForStatsd(originalUsers);
|
||||
FrameworkStatsLog.write(FrameworkStatsLog.PACKAGE_UNINSTALLATION_REPORTED,
|
||||
info.mUid, removedUsers, removedUserTypes, originalUsers, originalUserTypes,
|
||||
deleteFlags, PackageManager.DELETE_SUCCEEDED, info.mIsRemovedPackageSystemUpdate,
|
||||
!info.mRemovedForAllUsers);
|
||||
getUid(info.mUid, userId), removedUsers, removedUserTypes, originalUsers,
|
||||
originalUserTypes, deleteFlags, PackageManager.DELETE_SUCCEEDED,
|
||||
info.mIsRemovedPackageSystemUpdate, !info.mRemovedForAllUsers);
|
||||
final String packageName = info.mRemovedPackage;
|
||||
final long versionCode = info.mRemovedPackageVersionCode;
|
||||
reportUninstallationToSecurityLog(packageName, versionCode, userId);
|
||||
|
||||
Reference in New Issue
Block a user