Merge "Add package name to historical session" into main
diff --git a/services/core/java/com/android/server/pm/PackageInstallerHistoricalSession.java b/services/core/java/com/android/server/pm/PackageInstallerHistoricalSession.java
index 4b98e34..ea37d8e 100644
--- a/services/core/java/com/android/server/pm/PackageInstallerHistoricalSession.java
+++ b/services/core/java/com/android/server/pm/PackageInstallerHistoricalSession.java
@@ -78,6 +78,7 @@
     private final int mSessionErrorCode;
     private final String mSessionErrorMessage;
     private final String mPreVerifiedDomains;
+    private final String mPackageName;
 
     PackageInstallerHistoricalSession(int sessionId, int userId, int originalInstallerUid,
             String originalInstallerPackageName, InstallSource installSource, int installerUid,
@@ -88,7 +89,8 @@
             String finalMessage, SessionParams params, int parentSessionId,
             int[] childSessionIds, boolean sessionApplied, boolean sessionFailed,
             boolean sessionReady, int sessionErrorCode, String sessionErrorMessage,
-            PreapprovalDetails preapprovalDetails, DomainSet preVerifiedDomains) {
+            PreapprovalDetails preapprovalDetails, DomainSet preVerifiedDomains,
+            String packageNameFromApk) {
         this.sessionId = sessionId;
         this.userId = userId;
         this.mOriginalInstallerUid = originalInstallerUid;
@@ -135,6 +137,9 @@
         } else {
             this.mPreVerifiedDomains = null;
         }
+
+        this.mPackageName = preapprovalDetails != null ? preapprovalDetails.getPackageName()
+                : packageNameFromApk != null ? packageNameFromApk : params.appPackageName;
     }
 
     void dump(IndentingPrintWriter pw) {
@@ -178,6 +183,7 @@
         pw.printPair("mSessionErrorMessage", mSessionErrorMessage);
         pw.printPair("mPreapprovalDetails", mPreapprovalDetails);
         pw.printPair("mPreVerifiedDomains", mPreVerifiedDomains);
+        pw.printPair("mAppPackageName", mPackageName);
         pw.println();
 
         pw.decreaseIndent();
@@ -206,6 +212,7 @@
         info.createdMillis = mCreatedMillis;
         info.updatedMillis = mUpdatedMillis;
         info.installerUid = mInstallerUid;
+        info.appPackageName = mPackageName;
         return info;
     }
 }
diff --git a/services/core/java/com/android/server/pm/PackageInstallerSession.java b/services/core/java/com/android/server/pm/PackageInstallerSession.java
index c860b5a..5792d86 100644
--- a/services/core/java/com/android/server/pm/PackageInstallerSession.java
+++ b/services/core/java/com/android/server/pm/PackageInstallerSession.java
@@ -1242,7 +1242,7 @@
                     mStageDirInUse, mDestroyed, mFds.size(), mBridges.size(), mFinalStatus,
                     mFinalMessage, params, mParentSessionId, getChildSessionIdsLocked(),
                     mSessionApplied, mSessionFailed, mSessionReady, mSessionErrorCode,
-                    mSessionErrorMessage, mPreapprovalDetails, mPreVerifiedDomains);
+                    mSessionErrorMessage, mPreapprovalDetails, mPreVerifiedDomains, mPackageName);
         }
     }