diff options
author | Xavier Ducrohet <xav@android.com> | 2012-02-22 17:07:08 -0800 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2012-02-22 17:07:08 -0800 |
commit | df060d81cfba0c39465df7c45ccb7d6b8cda2795 (patch) | |
tree | 5c8c23d48804868f681e8261559b977573617efc | |
parent | 477c56c04ee56ed047ae3a6fb791a4dd7f2dc655 (diff) | |
parent | 768f626ae1b4053bdfb4eeaca90cb813764b5729 (diff) | |
download | sdk-df060d81cfba0c39465df7c45ccb7d6b8cda2795.zip sdk-df060d81cfba0c39465df7c45ccb7d6b8cda2795.tar.gz sdk-df060d81cfba0c39465df7c45ccb7d6b8cda2795.tar.bz2 |
Merge "Make sure to remove obsolete id from the res repo after a delete."
2 files changed, 15 insertions, 2 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/ResourceManager.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/ResourceManager.java index eb4c1e9..ecc588f 100644 --- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/ResourceManager.java +++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/ResourceManager.java @@ -167,6 +167,19 @@ public final class ResourceManager { * as a place to stash errors encountered */ public void processDelta(IResourceDelta delta, IdeScanningContext context) { + doProcessDelta(delta, context); + + context.getRepository().postUpdateCleanUp(); + } + + /** + * Update the resource repository with a delta + * + * @param delta the resource changed delta to process. + * @param context a context object with state for the current update, such + * as a place to stash errors encountered + */ + private void doProcessDelta(IResourceDelta delta, IdeScanningContext context) { // Skip over deltas that don't fit our mask int mask = IResourceDelta.ADDED | IResourceDelta.REMOVED | IResourceDelta.CHANGED; int kind = delta.getKind(); diff --git a/ide_common/src/com/android/ide/common/resources/ResourceRepository.java b/ide_common/src/com/android/ide/common/resources/ResourceRepository.java index d78f1d1..87d729d 100644 --- a/ide_common/src/com/android/ide/common/resources/ResourceRepository.java +++ b/ide_common/src/com/android/ide/common/resources/ResourceRepository.java @@ -598,9 +598,9 @@ public abstract class ResourceRepository { /** - * Called after a resource change event, when the resource delta has been processed. + * Cleans up the repository of resource items that have no source file anymore. */ - protected void postUpdate() { + public void postUpdateCleanUp() { // Since removed files/folders remove source files from existing ResourceItem, loop through // all resource items and remove the ones that have no source files. |