Loading services/core/java/com/android/server/pm/InstallPackageHelper.java +5 −5 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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); } Loading @@ -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, Loading Loading @@ -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 Loading services/core/java/com/android/server/pm/InstallRequest.java +8 −8 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -158,7 +158,7 @@ final class InstallRequest { mUserId = user.getIdentifier(); } else { // APEX mUserId = INVALID_UID; mUserId = UserHandle.USER_SYSTEM; } mInstallArgs = null; mParsedPackage = parsedPackage; Loading Loading @@ -367,8 +367,8 @@ final class InstallRequest { return mOrigUsers; } public int getUid() { return mUid; public int getAppId() { return mAppId; } @Nullable Loading Loading @@ -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) { Loading Loading @@ -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(); } } } Loading services/core/java/com/android/server/pm/InstallingSession.java +1 −1 Original line number Diff line number Diff line Loading @@ -535,7 +535,7 @@ class InstallingSession { mInstallPackageHelper.installPackagesTraced(installRequests); for (InstallRequest request : installRequests) { request.onInstallCompleted(mUser.getIdentifier()); request.onInstallCompleted(); doPostInstall(request); } } Loading services/core/java/com/android/server/pm/PackageMetrics.java +16 −6 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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 */); } Loading Loading @@ -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 */, Loading @@ -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(); Loading Loading @@ -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); Loading Loading
services/core/java/com/android/server/pm/InstallPackageHelper.java +5 −5 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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); } Loading @@ -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, Loading Loading @@ -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 Loading
services/core/java/com/android/server/pm/InstallRequest.java +8 −8 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -158,7 +158,7 @@ final class InstallRequest { mUserId = user.getIdentifier(); } else { // APEX mUserId = INVALID_UID; mUserId = UserHandle.USER_SYSTEM; } mInstallArgs = null; mParsedPackage = parsedPackage; Loading Loading @@ -367,8 +367,8 @@ final class InstallRequest { return mOrigUsers; } public int getUid() { return mUid; public int getAppId() { return mAppId; } @Nullable Loading Loading @@ -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) { Loading Loading @@ -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(); } } } Loading
services/core/java/com/android/server/pm/InstallingSession.java +1 −1 Original line number Diff line number Diff line Loading @@ -535,7 +535,7 @@ class InstallingSession { mInstallPackageHelper.installPackagesTraced(installRequests); for (InstallRequest request : installRequests) { request.onInstallCompleted(mUser.getIdentifier()); request.onInstallCompleted(); doPostInstall(request); } } Loading
services/core/java/com/android/server/pm/PackageMetrics.java +16 −6 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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 */); } Loading Loading @@ -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 */, Loading @@ -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(); Loading Loading @@ -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); Loading