Loading services/core/java/com/android/server/pm/InstallPackageHelper.java +3 −2 Original line number Diff line number Diff line Loading @@ -2231,8 +2231,9 @@ final class InstallPackageHelper { // by apexd to be more accurate. installRequest.setScannedPackageSettingFirstInstallTimeFromReplaced( deletedPkgSetting, allUsers); installRequest.setScannedPackageSettingLastUpdateTime( System.currentTimeMillis()); long currentTime = System.currentTimeMillis(); installRequest.setScannedPackageSettingLastUpdateTime(currentTime); installRequest.setScannedPackageSettingFirstInstallTime(currentTime); installRequest.getRemovedInfo().mBroadcastAllowList = mPm.mAppsFilter.getVisibilityAllowList(mPm.snapshotComputer(), Loading services/core/java/com/android/server/pm/InstallRequest.java +9 −0 Original line number Diff line number Diff line Loading @@ -58,6 +58,7 @@ import com.android.server.art.model.DexoptResult; import com.android.server.pm.pkg.AndroidPackage; import com.android.server.pm.pkg.PackageState; import com.android.server.pm.pkg.PackageStateInternal; import com.android.server.pm.pkg.PackageUserStateInternal; import java.io.File; import java.util.ArrayList; Loading Loading @@ -867,6 +868,14 @@ final class InstallRequest { mScanResult.mPkgSetting.setLastUpdateTime(lastUpdateTim); } public void setScannedPackageSettingFirstInstallTime(long firstInstallTime) { assertScanResultExists(); PackageUserStateInternal userState = mScanResult.mPkgSetting.getUserStates().get(mUserId); if (userState != null && userState.getFirstInstallTimeMillis() == 0) { mScanResult.mPkgSetting.setFirstInstallTime(firstInstallTime, mUserId); } } public void setRemovedAppId(int appId) { if (mRemovedInfo != null) { mRemovedInfo.mUid = appId; Loading services/core/java/com/android/server/pm/ScanPackageUtils.java +4 −5 Original line number Diff line number Diff line Loading @@ -443,17 +443,16 @@ final class ScanPackageUtils { // Take care of first install / last update times. final long scanFileTime = getLastModifiedTime(parsedPackage); final long existingFirstInstallTime = userId == UserHandle.USER_ALL ? PackageStateUtils.getEarliestFirstInstallTime(pkgSetting.getUserStates()) : pkgSetting.readUserState(userId).getFirstInstallTimeMillis(); final long earliestFirstInstallTime = PackageStateUtils.getEarliestFirstInstallTime((pkgSetting.getUserStates())); if (currentTime != 0) { if (existingFirstInstallTime == 0) { if (earliestFirstInstallTime == 0) { pkgSetting.setFirstInstallTime(currentTime, userId) .setLastUpdateTime(currentTime); } else if ((scanFlags & SCAN_UPDATE_TIME) != 0) { pkgSetting.setLastUpdateTime(currentTime); } } else if (existingFirstInstallTime == 0) { } else if (earliestFirstInstallTime == 0) { // We need *something*. Take time stamp of the file. pkgSetting.setFirstInstallTime(scanFileTime, userId) .setLastUpdateTime(scanFileTime); Loading Loading
services/core/java/com/android/server/pm/InstallPackageHelper.java +3 −2 Original line number Diff line number Diff line Loading @@ -2231,8 +2231,9 @@ final class InstallPackageHelper { // by apexd to be more accurate. installRequest.setScannedPackageSettingFirstInstallTimeFromReplaced( deletedPkgSetting, allUsers); installRequest.setScannedPackageSettingLastUpdateTime( System.currentTimeMillis()); long currentTime = System.currentTimeMillis(); installRequest.setScannedPackageSettingLastUpdateTime(currentTime); installRequest.setScannedPackageSettingFirstInstallTime(currentTime); installRequest.getRemovedInfo().mBroadcastAllowList = mPm.mAppsFilter.getVisibilityAllowList(mPm.snapshotComputer(), Loading
services/core/java/com/android/server/pm/InstallRequest.java +9 −0 Original line number Diff line number Diff line Loading @@ -58,6 +58,7 @@ import com.android.server.art.model.DexoptResult; import com.android.server.pm.pkg.AndroidPackage; import com.android.server.pm.pkg.PackageState; import com.android.server.pm.pkg.PackageStateInternal; import com.android.server.pm.pkg.PackageUserStateInternal; import java.io.File; import java.util.ArrayList; Loading Loading @@ -867,6 +868,14 @@ final class InstallRequest { mScanResult.mPkgSetting.setLastUpdateTime(lastUpdateTim); } public void setScannedPackageSettingFirstInstallTime(long firstInstallTime) { assertScanResultExists(); PackageUserStateInternal userState = mScanResult.mPkgSetting.getUserStates().get(mUserId); if (userState != null && userState.getFirstInstallTimeMillis() == 0) { mScanResult.mPkgSetting.setFirstInstallTime(firstInstallTime, mUserId); } } public void setRemovedAppId(int appId) { if (mRemovedInfo != null) { mRemovedInfo.mUid = appId; Loading
services/core/java/com/android/server/pm/ScanPackageUtils.java +4 −5 Original line number Diff line number Diff line Loading @@ -443,17 +443,16 @@ final class ScanPackageUtils { // Take care of first install / last update times. final long scanFileTime = getLastModifiedTime(parsedPackage); final long existingFirstInstallTime = userId == UserHandle.USER_ALL ? PackageStateUtils.getEarliestFirstInstallTime(pkgSetting.getUserStates()) : pkgSetting.readUserState(userId).getFirstInstallTimeMillis(); final long earliestFirstInstallTime = PackageStateUtils.getEarliestFirstInstallTime((pkgSetting.getUserStates())); if (currentTime != 0) { if (existingFirstInstallTime == 0) { if (earliestFirstInstallTime == 0) { pkgSetting.setFirstInstallTime(currentTime, userId) .setLastUpdateTime(currentTime); } else if ((scanFlags & SCAN_UPDATE_TIME) != 0) { pkgSetting.setLastUpdateTime(currentTime); } } else if (existingFirstInstallTime == 0) { } else if (earliestFirstInstallTime == 0) { // We need *something*. Take time stamp of the file. pkgSetting.setFirstInstallTime(scanFileTime, userId) .setLastUpdateTime(scanFileTime); Loading