Loading services/core/java/com/android/server/pm/AppsFilterImpl.java +3 −1 Original line number Diff line number Diff line Loading @@ -418,7 +418,9 @@ public final class AppsFilterImpl extends AppsFilterLocked implements Watchable, } else if (changed) { invalidateCache("grantImplicitAccess: " + recipientUid + " -> " + visibleUid); } if (changed) { onChanged(); } return changed; } Loading services/core/java/com/android/server/pm/PackageManagerService.java +7 −4 Original line number Diff line number Diff line Loading @@ -2859,12 +2859,15 @@ public class PackageManagerService implements PackageSender, TestUtilityService mDexOptHelper.performPackageDexOptUpgradeIfNeeded(); } private void notifyPackageUseInternal(String packageName, int reason) { long time = System.currentTimeMillis(); commitPackageStateMutation(null, packageName, packageState -> { packageState.setLastPackageUsageTime(reason, time); }); synchronized (mLock) { final PackageSetting pkgSetting = mSettings.getPackageLPr(packageName); if (pkgSetting == null) { return; } pkgSetting.getPkgState().setLastPackageUsageTimeInMills(reason, time); } } /*package*/ DexManager getDexManager() { Loading services/core/java/com/android/server/pm/pkg/PackageStateUnserialized.java +4 −1 Original line number Diff line number Diff line Loading @@ -79,7 +79,10 @@ public class PackageStateUnserialized { return this; } getLastPackageUsageTimeInMills()[reason] = time; mPackageSetting.onChanged(); // TODO(b/236180425): This method does not notify snapshot changes because it's called too // frequently, causing too many re-takes. This should be moved to a separate data structure // or merged with the general UsageStats to avoid tracking heavily mutated data in the // package data snapshot. return this; } Loading Loading
services/core/java/com/android/server/pm/AppsFilterImpl.java +3 −1 Original line number Diff line number Diff line Loading @@ -418,7 +418,9 @@ public final class AppsFilterImpl extends AppsFilterLocked implements Watchable, } else if (changed) { invalidateCache("grantImplicitAccess: " + recipientUid + " -> " + visibleUid); } if (changed) { onChanged(); } return changed; } Loading
services/core/java/com/android/server/pm/PackageManagerService.java +7 −4 Original line number Diff line number Diff line Loading @@ -2859,12 +2859,15 @@ public class PackageManagerService implements PackageSender, TestUtilityService mDexOptHelper.performPackageDexOptUpgradeIfNeeded(); } private void notifyPackageUseInternal(String packageName, int reason) { long time = System.currentTimeMillis(); commitPackageStateMutation(null, packageName, packageState -> { packageState.setLastPackageUsageTime(reason, time); }); synchronized (mLock) { final PackageSetting pkgSetting = mSettings.getPackageLPr(packageName); if (pkgSetting == null) { return; } pkgSetting.getPkgState().setLastPackageUsageTimeInMills(reason, time); } } /*package*/ DexManager getDexManager() { Loading
services/core/java/com/android/server/pm/pkg/PackageStateUnserialized.java +4 −1 Original line number Diff line number Diff line Loading @@ -79,7 +79,10 @@ public class PackageStateUnserialized { return this; } getLastPackageUsageTimeInMills()[reason] = time; mPackageSetting.onChanged(); // TODO(b/236180425): This method does not notify snapshot changes because it's called too // frequently, causing too many re-takes. This should be moved to a separate data structure // or merged with the general UsageStats to avoid tracking heavily mutated data in the // package data snapshot. return this; } Loading