OSDN Git Service

ADT/GLE: Fix issue with the locale list refresh in the ConfigComposite
authorXavier Ducrohet <xav@android.com>
Fri, 8 Jan 2010 19:30:23 +0000 (11:30 -0800)
committerXavier Ducrohet <xav@android.com>
Fri, 8 Jan 2010 19:48:48 +0000 (11:48 -0800)
commitcff0d285d79844c31be56ae49837d83e8742e512
tree89028f1643fcc17e36fb277e521f8aa3415437d7
parentaa58f6c0cc7e6442bc2980e379fbf4595a011d7d
ADT/GLE: Fix issue with the locale list refresh in the ConfigComposite

One of the problem stemmed from the ResourceMonitor sending removed
resource events to the ResourceManager first and then to other listeners.
Other listeners then failed to get a corresponding ResourceFolder
or ResourceFile since it was deleted by the ResourceManager.

Solution: add a resource-specific change listener in the ResourceManager.
Using this listener is much more efficient as the ResourceFolder/File
do not need to be figured out by the listener from the IFolder/IFile.

Also renamed the ResourceMonitor as it's confusing (it listens to
Eclipse resource changes, not Android project resource changes).
Since it deals mostly with projects and their resources, and is
global and used by other monitor, it's now called GlobalProjectMonitor.

Also cleaned up the ResourceManager and LayoutReloadMonitor to
implements their interface as internal classes so that the
methods do not show up in their public API.

Change-Id: I1967a48364fd946c98d9eee5bd4a333fc01bea2d
15 files changed:
eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/AdtPlugin.java
eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/LayoutReloadMonitor.java
eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/configuration/ConfigurationComposite.java
eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle1/GraphicalLayoutEditor.java
eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/GraphicalEditorPart.java
eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gre/RulesEngine.java
eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/manifest/ManifestEditor.java
eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/project/ApkInstallManager.java
eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/CompiledResourcesMonitor.java
eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/GlobalProjectMonitor.java [moved from eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/ResourceMonitor.java with 93% similarity]
eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/ProjectResources.java
eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/ResourceFolder.java
eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/resources/manager/ResourceManager.java
eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/sdk/Sdk.java
eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/ui/ResourceExplorerView.java