Single-version search →
3 unchanged · 6 modified · 0 moved · 5 only in 13 · 5 only in 16

modified Same code location, different body

These chunks live at the same (file, symbol) in both versions but have different content hashes — so the code definitely changed between android-13.0.0_r84 and android-16.0.0_r4.

  1. frameworks/base/services/core/java/com/android/server/pm/PackageInstallerService.java PackageInstallerService.setPermissionsResult

    AOSP 13 android-13.0.0_r84

    PackageInstallerService.setPermissionsResult ·method ·java · first seen r1
    @Override
        public void setPermissionsResult(int sessionId, boolean accepted) {
            mContext.enforceCallingOrSelfPermission(android.Manifest.permission.INSTALL_PACKAGES, TAG);
    
            synchroni

    AOSP 16 android-16.0.0_r4

    PackageInstallerService.setPermissionsResult ·method ·java · first seen r1
    @android.annotation.EnforcePermission(android.Manifest.permission.INSTALL_PACKAGES)
        @Override
        public void setPermissionsResult(int sessionId, boolean accepted) {
            setPermissionsResult_e
  2. frameworks/base/services/core/java/com/android/server/pm/PackageInstallerSession.java PackageInstallerSession.computeUserActionRequirement

    AOSP 13 android-13.0.0_r84

    PackageInstallerSession.computeUserActionRequirement ·method ·java · first seen r1
    @UserActionRequirement
        private int computeUserActionRequirement() {
            final String packageName;
            final boolean hasDeviceAdminReceiver;
            synchronized (mLock) {
                if (m

    AOSP 16 android-16.0.0_r4

    PackageInstallerSession.computeUserActionRequirement ·method ·java · first seen r1
    @UserActionRequirement
        private int computeUserActionRequirement() {
            final String packageName;
            final boolean hasDeviceAdminReceiver;
            synchronized (mLock) {
                if (m
  3. frameworks/base/services/core/java/com/android/server/pm/PackageInstallerSession.java PackageInstallerSession.setPermissionsResult

    AOSP 13 android-13.0.0_r84

    PackageInstallerSession.setPermissionsResult ·method ·java · first seen r1
    void setPermissionsResult(boolean accepted) {
            if (!isSealed()) {
                throw new SecurityException("Must be sealed to accept permissions");
            }
    
            PackageInstallerSession roo

    AOSP 16 android-16.0.0_r4

    PackageInstallerSession.setPermissionsResult ·method ·java · first seen r4
    void setPermissionsResult(boolean accepted) {
            if (!isSealed() && !isPreapprovalRequested()) {
                throw new SecurityException("Must be sealed to accept permissions");
            }
    
          
  4. frameworks/base/packages/PackageInstaller/AndroidManifest.xml manifest

    AOSP 13 android-13.0.0_r84

    manifest ·xml_root ·xml · first seen r1
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
              package="com.android.packageinstaller">
    
        <original-package android:name="com.android.packageinstaller" />
    
        <uses-

    AOSP 16 android-16.0.0_r4

    manifest ·xml_root ·xml · first seen r4
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
              xmlns:tools="http://schemas.android.com/tools"
              package="com.android.packageinstaller">
    
        <original-package a
  5. frameworks/base/packages/PackageInstaller/src/com/android/packageinstaller/PackageInstallerActivity.java PackageInstallerActivity.onActivityResult

    AOSP 13 android-13.0.0_r84

    PackageInstallerActivity.onActivityResult ·method ·java · first seen r1
    @Override
        public void onActivityResult(int request, int result, Intent data) {
            if (request == REQUEST_TRUST_EXTERNAL_SOURCE && result == RESULT_OK) {
                // The user has just allow

    AOSP 16 android-16.0.0_r4

    PackageInstallerActivity.onActivityResult ·method ·java · first seen r1
    @Override
        public void onActivityResult(int request, int result, Intent data) {
            if (request == REQUEST_TRUST_EXTERNAL_SOURCE) {
                // Log the fact that the app is requesting an ins
  6. frameworks/base/services/core/java/com/android/server/pm/PackageInstallerService.java PackageInstallerService.installExistingPackage

    AOSP 13 android-13.0.0_r84

    PackageInstallerService.installExistingPackage ·method ·java · first seen r1
    @Override
        public void installExistingPackage(String packageName, int installFlags, int installReason,
                IntentSender statusReceiver, int userId, List<String> allowListedPermissions) {
      

    AOSP 16 android-16.0.0_r4

    PackageInstallerService.installExistingPackage ·method ·java · first seen r1
    @Override
        public void installExistingPackage(String packageName, int installFlags, int installReason,
                IntentSender statusReceiver, int userId, List<String> allowListedPermissions) {
    
     

only in 13 Removed or refactored away in 16

Matched the query in AOSP 13 (android-13.0.0_r84) but didn't appear in the top results for AOSP 16. They may have been removed, or refactored beyond the query's reach.

  1. PermissionManagerServiceImpl.onPackageInstalledInternal· lines 4981–4994 ·java · AOSP 13
    private void onPackageInstalledInternal(@NonNull AndroidPackage pkg, int previousAppId,
                @NonNull PermissionManagerServiceInternal.PackageInstalledParams params,
                @UserIdInt int[
  2. PermissionManagerServiceImpl.onPackageInstalled· lines 5228–5239 ·java · AOSP 13
    @Override
        public void onPackageInstalled(@NonNull AndroidPackage pkg, int previousAppId,
                @NonNull PermissionManagerServiceInternal.PackageInstalledParams params,
                @UserIdInt
  3. PackageInstallerSession.handleInstall· lines 2129–2159 ·java · AOSP 13
    @WorkerThread
        private void handleInstall() {
            if (isInstallerDeviceOwnerOrAffiliatedProfileOwner()) {
                DevicePolicyEventLogger
                        .createEvent(DevicePolicyEnums.
  4. PackageInstaller.installExistingPackage· lines 780–794 ·java · AOSP 13
    @RequiresPermission(allOf = {
                Manifest.permission.INSTALL_PACKAGES,
                Manifest.permission.INSTALL_EXISTING_PACKAGES})
        public void installExistingPackage(@NonNull String packa
  5. SessionCleanUpTest.testSessionCleanUp_Single_NoPermission· lines 169–185 ·java · AOSP 13
    @Test
        public void testSessionCleanUp_Single_NoPermission() throws Exception {
            int sessionId = Install.single(TestApp.A1)
                    .addInstallFlags(INSTALL_FORCE_PERMISSION_PROMPT).c

only in 16 New in 16 (or refactored from elsewhere)

Matched the query in AOSP 16 (android-16.0.0_r4) but didn't appear in the top results for AOSP 13. Likely added in this version, or refactored from older code that no longer matches the query.

  1. BackgroundInstallControlService.isInstaller· lines 582–592 ·java · AOSP 16 · first seen r1
    private boolean isInstaller(String pkgName, int userId) {
            if (mInstallerForegroundTimeFrames.contains(userId, pkgName)) {
                return true;
            }
            return mPermissionManager.c
  2. InstallStart.isUidRequestingPermission· lines 263–283 ·java · AOSP 16 · first seen r1
    private boolean isUidRequestingPermission(int uid, String permission) {
            final String[] packageNames = mPackageManager.getPackagesForUid(uid);
            if (packageNames == null) {
                re
  3. PackageInstallerService.isValidForInstallConstraints· lines 1702–1713 ·java · AOSP 16 · first seen r1
    private boolean isValidForInstallConstraints(PackageStateInternal ps,
                String installerPackageName, int installerUid, String packageName) {
            final var snapshot = mPm.snapshotComputer
  4. InstallStart.onCreate· lines 64–261 ·java · AOSP 16 · first seen r4
    @Override
        protected void onCreate(@Nullable Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
    
            if (PackageUtil.isVersionTwoEnabled(this)) {
                Intent piaV2 
  5. PackageUtil.isInstallPermissionGrantedOrRequested· lines 166–191 ·kotlin · AOSP 16 · first seen r4
    @JvmStatic
        fun isInstallPermissionGrantedOrRequested(
            context: Context,
            callingUid: Int,
            isTrustedSource: Boolean,
        ): Boolean {
            if (!isTrustedSource) {
            

unchanged Byte-identical across both versions

These chunks share the same content hash (chunk_id) in both versions — their bodies are byte-for-byte identical. The match is guaranteed by construction, not inferred from a similarity heuristic.

Want this comparison inside Claude Code, Cursor, or Cline? MCP setup →