Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8bb58a14 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Add internal implementation for notifyPackageUse" into oc-mr1-dev

parents f28b8a8d df113c36
Loading
Loading
Loading
Loading
+5 −0
Original line number Original line Diff line number Diff line
@@ -378,4 +378,9 @@ public abstract class PackageManagerInternal {
     * associated with an instant app. It may be kept after the instant app has been uninstalled.
     * associated with an instant app. It may be kept after the instant app has been uninstalled.
     */
     */
    public abstract boolean hasInstantApplicationMetadata(String packageName, int userId);
    public abstract boolean hasInstantApplicationMetadata(String packageName, int userId);

    /**
     * Updates a package last used time.
     */
    public abstract void notifyPackageUse(String packageName, int reason);
}
}
+2 −4
Original line number Original line Diff line number Diff line
@@ -3588,10 +3588,8 @@ public class ActivityManagerService extends IActivityManager.Stub
    }
    }
    void notifyPackageUse(String packageName, int reason) {
    void notifyPackageUse(String packageName, int reason) {
        IPackageManager pm = AppGlobals.getPackageManager();
        synchronized(this) {
        try {
            getPackageManagerInternalLocked().notifyPackageUse(packageName, reason);
            pm.notifyPackageUse(packageName, reason);
        } catch (RemoteException e) {
        }
        }
    }
    }
+16 −5
Original line number Original line Diff line number Diff line
@@ -9844,13 +9844,17 @@ public class PackageManagerService extends IPackageManager.Stub
                    return;
                    return;
                }
                }
            }
            }
            notifyPackageUseLocked(packageName, reason);
        }
    }
    private void notifyPackageUseLocked(String packageName, int reason) {
        final PackageParser.Package p = mPackages.get(packageName);
        final PackageParser.Package p = mPackages.get(packageName);
        if (p == null) {
        if (p == null) {
            return;
            return;
        }
        }
        p.mLastPackageUsageTimeInMills[reason] = System.currentTimeMillis();
        p.mLastPackageUsageTimeInMills[reason] = System.currentTimeMillis();
    }
    }
    }
    @Override
    @Override
    public void notifyDexLoad(String loadingPackageName, List<String> classLoaderNames,
    public void notifyDexLoad(String loadingPackageName, List<String> classLoaderNames,
@@ -25502,6 +25506,13 @@ Slog.v(TAG, ":: stepped forward, applying functor at tag " + parser.getName());
                return mInstantAppRegistry.hasInstantApplicationMetadataLPr(packageName, userId);
                return mInstantAppRegistry.hasInstantApplicationMetadataLPr(packageName, userId);
            }
            }
        }
        }
        @Override
        public void notifyPackageUse(String packageName, int reason) {
            synchronized (mPackages) {
                PackageManagerService.this.notifyPackageUseLocked(packageName, reason);
            }
        }
    }
    }
    @Override
    @Override