aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXavier Ducrohet <xav@android.com>2012-02-22 17:07:08 -0800
committerAndroid (Google) Code Review <android-gerrit@google.com>2012-02-22 17:07:08 -0800
commitdf060d81cfba0c39465df7c45ccb7d6b8cda2795 (patch)
tree5c8c23d48804868f681e8261559b977573617efc
parent477c56c04ee56ed047ae3a6fb791a4dd7f2dc655 (diff)
parent768f626ae1b4053bdfb4eeaca90cb813764b5729 (diff)
downloadsdk-df060d81cfba0c39465df7c45ccb7d6b8cda2795.zip
sdk-df060d81cfba0c39465df7c45ccb7d6b8cda2795.tar.gz
sdk-df060d81cfba0c39465df7c45ccb7d6b8cda2795.tar.bz2
Merge "Make sure to remove obsolete id from the res repo after a delete."
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/ResourceManager.java13
-rw-r--r--ide_common/src/com/android/ide/common/resources/ResourceRepository.java4
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.