Single-version search →
1 unchanged · 2 modified · 1 moved · 6 only in 17 · 11 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/apps/Launcher3/src/com/android/launcher3/Launcher.java Launcher.onHandleConfigurationChanged

    AOSP 17 android-17.0.0_r1

    Launcher.onHandleConfigurationChanged ·method ·java · first seen r1
    @Override
        protected void onHandleConfigurationChanged() {
            Trace.beginSection("Launcher#onHandleconfigurationChanged");
            try {
                if (!initDeviceProfile(mDeviceProfile.inv))

    AOSP 13 android-13.0.0_r84

    Launcher.onHandleConfigurationChanged ·method ·java · first seen r16
    @Override
        protected void onHandleConfigurationChanged() {
            if (!initDeviceProfile(mDeviceProfile.inv)) {
                return;
            }
    
            dispatchDeviceProfileChanged();
            reapp
  2. frameworks/base/core/java/android/view/ViewRootImpl.java ViewRootImpl.updateConfiguration

    AOSP 17 android-17.0.0_r1

    ViewRootImpl.updateConfiguration ·method ·java · first seen r1
    public void updateConfiguration(int newDisplayId) {
            checkThreadCompat();
            if (mView == null) {
                return;
            }
    
            // At this point the resources have been updated to

    AOSP 13 android-13.0.0_r84

    ViewRootImpl.updateConfiguration ·method ·java · first seen r32
    public void updateConfiguration(int newDisplayId) {
            if (mView == null) {
                return;
            }
    
            // At this point the resources have been updated to
            // have the most rec

moved Refactored to a different location

These chunks shifted file path or symbol name. Entries marked byte-identical are exact moves matched via content hash; others are fuzzy matches by preview similarity (threshold 0.7).

  1. moved and renamed similarity 0.70

    AOSP 17 android-17.0.0_r1

    frameworks/base/core/java/com/android/internal/policy/DecorView.java
    DecorView.onConfigurationChanged ·method ·java · first seen r1
    @Override
        protected void onConfigurationChanged(Configuration newConfig) {
            super.onConfigurationChanged(newConfig);
    
            initializeElevation();
    
            ViewRootImpl viewRootImpl = get

    AOSP 13 android-13.0.0_r84

    packages/modules/IntentResolver/java/src/com/android/intentresolver/ChooserActivity.java
    ChooserActivity.onConfigurationChanged ·method ·java · first seen r16
    @Override
        public void onConfigurationChanged(Configuration newConfig) {
            super.onConfigurationChanged(newConfig);
            ViewPager viewPager = findViewById(com.android.internal.R.id.profil

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. LiveSafetyCenterViewModel· lines 46–290 ·kotlin · AOSP 17
    class LiveSafetyCenterViewModel(
        app: Application,
        private val taskId: Int,
        private val sameTaskSourceIds: List<String>,
    ) : SafetyCenterViewModel(app) {
    
        private val TAG: String = Liv
  2. RecentsWindowManager.onHandleConfigurationChanged· lines 591–604 ·kotlin · AOSP 17
    private fun onHandleConfigurationChanged() {
            initDeviceProfile()
            AbstractFloatingView.closeOpenViews(
                this,
                true,
                AbstractFloatingView.TYPE_ALL and 
  3. ModelCallbacks.rebindOnConfigChange· lines 115–124 ·kotlin · AOSP 17
    fun rebindOnConfigChange() {
            val workspaceState = launcher.appComponent.homeScreenRepository.workspaceState
            if (workspaceState.value.version > 0) {
                bindModelWithAsyncInflat
  4. Session.notifyConfigurationChanged· lines 558–579 ·kotlin · AOSP 17
    override fun notifyConfigurationChanged(configuration: Configuration?) {
            if (!isActive.get()) {
                callClosedSessionError()
                return
            }
            if (configuration == n
  5. ConfirmationViewModel· lines 604–625 ·java · AOSP 17
    public static class ConfirmationViewModel extends AndroidViewModel {
    
            boolean mIsPendingConfirmation = false;
            @Nullable Mode mPendingMode = null;
            @Nullable Mode mExistingMode =
  6. ImeSwitcherMenuViewModel.activate· lines 80–104 ·kotlin · AOSP 17
    override suspend fun activate(): Nothing {
            // Query the model again in case it changed since init.
            val current = interactor.getModel(userId)
            updateState(current)
    
            val l

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. ConfigurationListener· lines 4683–4714 ·java · AOSP 13 · first seen r1
    private class ConfigurationListener implements ConfigurationController.ConfigurationListener {
            @Override
            public void onThemeChanged() {
                if (DEBUG_LOGCAT) Log.d(TAG, "onThem
  2. LargeScreenShadeHeaderController.onViewAttached· lines 301–320 ·kotlin · AOSP 13 · first seen r55
    override fun onViewAttached() {
            privacyIconsController.chipVisibilityListener = chipVisibilityListener
            updateVisibility()
            updateTransition()
    
            if (header is MotionLayout
  3. ISurfaceControlViewHostImpl· lines 55–90 ·java · AOSP 13 · first seen r1
    private final class ISurfaceControlViewHostImpl extends ISurfaceControlViewHost.Stub {
            @Override
            public void onConfigurationChanged(Configuration configuration) {
                if (mView
  4. OnAttachStateChangeListener· lines 4899–4925 ·java · AOSP 13 · first seen r1
    private class OnAttachStateChangeListener implements View.OnAttachStateChangeListener {
            @Override
            public void onViewAttachedToWindow(View v) {
                mFragmentService.getFragmentH
  5. ViewRootImpl.performConfigurationChange· lines 5433–5487 ·java · AOSP 13 · first seen r16
    private void performConfigurationChange(MergedConfiguration mergedConfiguration, boolean force,
                int newDisplayId) {
            if (mergedConfiguration == null) {
                throw new Illegal
  6. ActivityTaskManagerService.updateConfigurationLocked· lines 4337–4361 ·java · AOSP 13 · first seen r1
    boolean updateConfigurationLocked(Configuration values, ActivityRecord starting,
                boolean initLocale, boolean persistent, int userId, boolean deferResume,
                ActivityTaskManagerSer
  7. InvariantDeviceProfile.onConfigChanged· lines 471–482 ·java · AOSP 13 · first seen r1
    private void onConfigChanged(Context context) {
            Object[] oldState = toModelState();
    
            // Re-init grid
            String gridName = getCurrentGridName(context);
            initGrid(context, gr
  8. OnConfigurationChangedListener· lines 5082–5089 ·java · AOSP 13 · first seen r1
    private class OnConfigurationChangedListener extends
                PanelViewController.OnConfigurationChangedListener {
            @Override
            public void onConfigurationChanged(Configuration newConf
  9. ViewRootImpl.onMovedToDisplay· lines 1921–1934 ·java · AOSP 13 · first seen r1
    public void onMovedToDisplay(int displayId, Configuration config) {
            if (mDisplay.getDisplayId() == displayId) {
                return;
            }
    
            // Get new instance of display based on c
  10. LargeScreenShadeHeaderController.onViewDetached· lines 322–327 ·kotlin · AOSP 13 · first seen r32
    override fun onViewDetached() {
            privacyIconsController.chipVisibilityListener = null
            dumpManager.unregisterDumpable(this::class.java.simpleName)
            configurationController.removeC
  11. PipController.onConfigurationChanged· lines 755–761 ·java · AOSP 13 · first seen r50
    @Override
        public void onConfigurationChanged(Configuration newConfig) {
            mPipBoundsAlgorithm.onConfigurationChanged(mContext);
            mTouchHandler.onConfigurationChanged();
            mPipBo

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 →