Single-version search →
2 unchanged · 6 modified · 0 moved · 6 only in 17 · 5 only in 13

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-17.0.0_r1 and android-13.0.0_r84.

  1. packages/modules/NetworkStack/src/android/net/apf/ApfFilter.java ApfFilter.onReceive

    AOSP 17 android-17.0.0_r1

    ApfFilter.onReceive ·method ·java · first seen r1
    @Override
            public void onReceive(Context context, Intent intent) {
                mHandler.post(() -> {
                    if (mIsApfShutdown) return;
                    final PowerManager powerManager 

    AOSP 13 android-13.0.0_r84

    ApfFilter.onReceive ·method ·java · first seen r1
    @Override
            public void onReceive(Context context, Intent intent) {
                String action = intent.getAction();
                if (action.equals(PowerManager.ACTION_DEVICE_IDLE_MODE_CHANGED)) {
  2. frameworks/base/apex/jobscheduler/service/java/com/android/server/job/JobConcurrencyManager.java JobConcurrencyManager.onReceive

    AOSP 17 android-17.0.0_r1

    JobConcurrencyManager.onReceive ·method ·java · first seen r1
    @Override
            public void onReceive(Context context, Intent intent) {
                switch (intent.getAction()) {
                    case Intent.ACTION_SCREEN_ON:
                        onInteractiveState

    AOSP 13 android-13.0.0_r84

    JobConcurrencyManager.onReceive ·method ·java · first seen r1
    @Override
            public void onReceive(Context context, Intent intent) {
                switch (intent.getAction()) {
                    case Intent.ACTION_SCREEN_ON:
                        onInteractiveState
  3. frameworks/base/apex/jobscheduler/service/java/com/android/server/job/controllers/JobStatus.java JobStatus.canRunInDoze

    AOSP 17 android-17.0.0_r1

    JobStatus.canRunInDoze ·method ·java · first seen r1
    public boolean canRunInDoze() {
            return appHasDozeExemption
                    || (getFlags() & JobInfo.FLAG_WILL_BE_FOREGROUND) != 0
                    || shouldTreatAsUserInitiatedJob()
               

    AOSP 13 android-13.0.0_r84

    JobStatus.canRunInDoze ·method ·java · first seen r1
    public boolean canRunInDoze() {
            return appHasDozeExemption
                    || (getFlags() & JobInfo.FLAG_WILL_BE_FOREGROUND) != 0
                    || ((shouldTreatAsExpeditedJob() || startedAsE
  4. frameworks/base/apex/jobscheduler/service/java/com/android/server/job/controllers/DeviceIdleJobsController.java DeviceIdleJobsController.updateIdleMode

    AOSP 17 android-17.0.0_r1

    DeviceIdleJobsController.updateIdleMode ·method ·java · first seen r1
    void updateIdleMode(boolean enabled) {
            boolean changed = false;
            synchronized (mLock) {
                if (mDeviceIdleMode != enabled) {
                    changed = true;
                }
         

    AOSP 13 android-13.0.0_r84

    DeviceIdleJobsController.updateIdleMode ·method ·java · first seen r16
    void updateIdleMode(boolean enabled) {
            boolean changed = false;
            synchronized (mLock) {
                if (mDeviceIdleMode != enabled) {
                    changed = true;
                }
         
  5. frameworks/base/services/tests/servicestests/src/com/android/server/usage/AppStandbyControllerTests.java AppStandbyControllerTests.testExemptedSyncScheduled

    AOSP 17 android-17.0.0_r1

    AppStandbyControllerTests.testExemptedSyncScheduled ·method ·java · first seen r1
    @Test
        public void testExemptedSyncScheduled() throws Exception {
            setAndAssertBucket(PACKAGE_1, USER_ID, STANDBY_BUCKET_RARE, REASON_MAIN_FORCED_BY_SYSTEM);
            mInjector.mDeviceIdleMod

    AOSP 13 android-13.0.0_r84

    AppStandbyControllerTests.testExemptedSyncScheduled ·method ·java · first seen r1
    @Test
        @FlakyTest(bugId = 185169504)
        public void testExemptedSyncScheduled() throws Exception {
            setAndAssertBucket(PACKAGE_1, USER_ID, STANDBY_BUCKET_RARE, REASON_MAIN_FORCED_BY_SYSTEM)
  6. frameworks/base/services/core/java/com/android/server/wm/ActivityTaskManagerService.java ActivityTaskManagerService.setProcessAnimatingWhileDozing

    AOSP 17 android-17.0.0_r1

    ActivityTaskManagerService.setProcessAnimatingWhileDozing ·method ·java · first seen r1
    void setProcessAnimatingWhileDozing(WindowProcessController proc) {
            if (proc == null) return;
            // Set to activity manager directly to make sure the state can be seen by the subsequent
     

    AOSP 13 android-13.0.0_r84

    ActivityTaskManagerService.setProcessAnimatingWhileDozing ·method ·java · first seen r16
    void setProcessAnimatingWhileDozing(WindowProcessController proc) {
            if (proc == null) return;
            // Set to activity manager directly to make sure the state can be seen by the subsequent
     

only in 17 Removed or refactored away in 13

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

  1. DeviceLockControllerSchedulerImpl.enqueueCheckInWorkRequest· lines 483–495 ·java · AOSP 17
    private Operation enqueueCheckInWorkRequest(boolean isExpedited, Duration delay) {
            OneTimeWorkRequest.Builder builder =
                    new OneTimeWorkRequest.Builder(DeviceCheckInWorker.class
  2. DeviceCheckInHelper.maybeEnqueueFcmRegistrationTokenRetrievalWork· lines 226–251 ·java · AOSP 17
    private void maybeEnqueueFcmRegistrationTokenRetrievalWork(
                @Nullable String fcmRegistrationToken) {
            if (Strings.isNullOrEmpty(fcmRegistrationToken) || fcmRegistrationToken.isBlank
  3. DeviceIdleController.performReceive· lines 768–781 ·java · AOSP 17
    @Override
            public void performReceive(Intent intent, int resultCode, String data, Bundle extras,
                    boolean ordered, boolean sticky, int sendingUser) {
                // When coming o
  4. WorkFailureAlarmReceiver· lines 93–172 ·java · AOSP 17
    public static final class WorkFailureAlarmReceiver extends BroadcastReceiver {
            private final Executor mExecutor = Executors.newSingleThreadExecutor();
    
            @Override
            public void on
  5. MediaServiceV2.delayWorkIfRequired· lines 176–182 ·java · AOSP 17
    private static void delayWorkIfRequired(OneTimeWorkRequest.Builder workRequestBuilder) {
            if (!MediaReceiver.isBootCompleted() && SystemClock.elapsedRealtime() < INITIAL_DELAY_MS) {
               
  6. TcpSocketTracker.handleIdleModeIntent· lines 186–201 ·java · AOSP 17
    @TargetApi(Build.VERSION_CODES.TIRAMISU)
        private void handleIdleModeIntent(Context context, Intent intent) {
            if (intent == null) return;
    
            if (isDeviceIdleModeChangedAction(intent)
    

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

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

  1. DeviceIdleController.onReceive· lines 743–754 ·java · AOSP 13 · first seen r1
    @Override public void onReceive(Context context, Intent intent) {
                // When coming out of a deep idle, we will add in some delay before we allow
                // the system to settle down and 
  2. TimerModel.schedulePendingIntent· lines 800–807 ·kotlin · AOSP 13 · first seen r1
    fun schedulePendingIntent(am: AlarmManager, triggerTime: Long, pi: PendingIntent?) {
                if (Utils.isMOrLater) {
                    // Ensure the timer fires even if the device is dozing.
           
  3. JobStatus.updateExpeditedDependencies· lines 1350–1356 ·java · AOSP 13 · first seen r1
    private void updateExpeditedDependencies() {
            // DeviceIdleJobsController currently only tracks jobs with the WILL_BE_FOREGROUND flag.
            // Making it also track requested-expedited jobs w
  4. JobSchedulerService.onDeviceIdleStateChanged· lines 1437–1456 ·java · AOSP 13 · first seen r1
    @Override
        public void onDeviceIdleStateChanged(boolean deviceIdle) {
            synchronized (mLock) {
                if (DEBUG) {
                    Slog.d(TAG, "Doze state changed: " + deviceIdle);
         
  5. JobConcurrencyManager.stopUnexemptedJobsForDoze· lines 964–977 ·java · AOSP 13 · first seen r1
    @GuardedBy("mLock")
        private void stopUnexemptedJobsForDoze() {
            // When becoming idle, make sure no jobs are actively running,
            // except those using the idle exemption flag.
           

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 →