1<?xml version="1.0" encoding="UTF-8"?>
2<?eclipse version="3.2"?>
3<plugin>
4    <extension
5        id="com.android.ide.eclipse.common.xmlProblem"
6        name="Android XML Format Problem"
7        point="org.eclipse.core.resources.markers">
8        <super type="org.eclipse.core.resources.problemmarker" />
9        <super type="org.eclipse.core.resources.textmarker" />
10        <persistent value="true" />
11    </extension>
12    <extension
13        id="com.android.ide.eclipse.common.aaptProblem"
14        name="Android AAPT Problem"
15        point="org.eclipse.core.resources.markers">
16        <super type="org.eclipse.core.resources.problemmarker" />
17        <super type="org.eclipse.core.resources.textmarker" />
18        <persistent value="true" />
19    </extension>
20    <extension
21        id="com.android.ide.eclipse.common.aapt2Problem"
22        name="Android AAPT Problem"
23        point="org.eclipse.core.resources.markers">
24        <super type="org.eclipse.core.resources.problemmarker" />
25        <super type="org.eclipse.core.resources.textmarker" />
26        <persistent value="true" />
27    </extension>
28    <extension
29        id="com.android.ide.eclipse.common.aidlProblem"
30        name="Android AIDL Problem"
31        point="org.eclipse.core.resources.markers">
32        <super type="org.eclipse.core.resources.problemmarker" />
33        <super type="org.eclipse.core.resources.textmarker" />
34        <persistent value="true" />
35    </extension>
36    <extension
37        id="com.android.ide.eclipse.common.rsProblem"
38        name="Android RenderScript Problem"
39        point="org.eclipse.core.resources.markers">
40        <super type="org.eclipse.core.resources.problemmarker" />
41        <super type="org.eclipse.core.resources.textmarker" />
42        <persistent value="true" />
43    </extension>
44    <extension
45        id="com.android.ide.eclipse.common.androidProblem"
46        name="Android XML Content Problem"
47        point="org.eclipse.core.resources.markers">
48        <super type="org.eclipse.core.resources.problemmarker" />
49        <super type="org.eclipse.core.resources.textmarker" />
50        <persistent value="true" />
51    </extension>
52    <extension
53        id="com.android.ide.eclipse.adt.lintProblem"
54        name="Android Lint Problem"
55        point="org.eclipse.core.resources.markers">
56        <super type="org.eclipse.core.resources.problemmarker" />
57        <super type="org.eclipse.core.resources.textmarker" />
58        <persistent value="true" />
59    </extension>
60    <extension
61        id="com.android.ide.eclipse.adt.manifMergerProblem"
62        name="Android Manifest Merger Problem"
63        point="org.eclipse.core.resources.markers">
64        <super type="org.eclipse.core.resources.problemmarker" />
65        <super type="org.eclipse.core.resources.textmarker" />
66        <persistent value="true" />
67    </extension>
68    <extension
69        id="com.android.ide.eclipse.adt.adtProblem"
70        name="Android ADT Problem"
71        point="org.eclipse.core.resources.markers">
72        <super type="org.eclipse.core.resources.problemmarker" />
73        <super type="org.eclipse.core.resources.textmarker" />
74        <persistent value="true" />
75    </extension>
76    <extension
77        id="com.android.ide.eclipse.adt.targetProblem"
78        name="Android Target Problem"
79        point="org.eclipse.core.resources.markers">
80        <super type="org.eclipse.core.resources.problemmarker" />
81        <persistent value="false" />
82    </extension>
83    <extension
84        id="com.android.ide.eclipse.adt.buildToolsProblem"
85        name="Android Build Tools Problem"
86        point="org.eclipse.core.resources.markers">
87        <super type="org.eclipse.core.resources.problemmarker" />
88        <persistent value="false" />
89    </extension>
90    <extension
91        id="com.android.ide.eclipse.adt.dependencyProblem"
92        name="Android Dependency Problem"
93        point="org.eclipse.core.resources.markers">
94        <super type="org.eclipse.core.resources.problemmarker" />
95        <persistent value="false" />
96    </extension>
97    <extension
98        id="com.android.ide.eclipse.adt.packagingProblem"
99        name="Android Packaging Problem"
100        point="org.eclipse.core.resources.markers">
101        <super type="org.eclipse.core.resources.problemmarker" />
102        <persistent value="true" />
103    </extension>
104    <extension point="org.eclipse.ui.ide.markerResolution">
105        <markerResolutionGenerator
106            markerType="com.android.ide.eclipse.adt.lintProblem"
107            class="com.android.ide.eclipse.adt.internal.lint.LintFixGenerator" />
108        <markerResolutionGenerator
109            markerType="com.android.ide.eclipse.common.aaptProblem"
110            class="com.android.ide.eclipse.adt.internal.build.AaptQuickFix" />
111    </extension>
112    <extension
113        id="ResourceManagerBuilder"
114        name="Android Resource Manager"
115        point="org.eclipse.core.resources.builders">
116        <builder hasNature="true">
117            <run class="com.android.ide.eclipse.adt.internal.build.builders.ResourceManagerBuilder" />
118        </builder>
119    </extension>
120    <extension
121        id="PreCompilerBuilder"
122        name="Android Pre Compiler"
123        point="org.eclipse.core.resources.builders">
124        <builder hasNature="true">
125            <run class="com.android.ide.eclipse.adt.internal.build.builders.PreCompilerBuilder" />
126        </builder>
127    </extension>
128    <extension
129        id="ApkBuilder"
130        name="Android Package Builder"
131        point="org.eclipse.core.resources.builders">
132        <builder hasNature="true">
133            <run class="com.android.ide.eclipse.adt.internal.build.builders.PostCompilerBuilder" />
134        </builder>
135    </extension>
136    <extension
137        id="AndroidNature"
138        name="Android Project Nature"
139        point="org.eclipse.core.resources.natures">
140        <runtime>
141            <run class="com.android.ide.eclipse.adt.internal.project.AndroidNature" />
142        </runtime>
143        <builder id="com.android.ide.eclipse.adt.ResourceManagerBuilder" />
144        <builder id="com.android.ide.eclipse.adt.PreCompilerBuilder" />
145        <builder id="com.android.ide.eclipse.adt.ApkBuilder" />
146    </extension>
147    <extension
148        id="ExportNature"
149        name="Android Export Project Nature"
150        point="org.eclipse.core.resources.natures">
151        <runtime>
152            <run class="com.android.ide.eclipse.adt.internal.project.ExportNature" />
153        </runtime>
154    </extension>
155    <extension
156        point="org.eclipse.ui.importWizards">
157        <category
158            id="com.android.ide.eclipse.wizards.category"
159            name="Android" />
160        <wizard
161            canFinishEarly="false"
162            category="com.android.ide.eclipse.wizards.category"
163            class="com.android.ide.eclipse.adt.internal.wizards.newproject.ImportProjectWizard"
164            finalPerspective="org.eclipse.jdt.ui.JavaPerspective"
165            hasPages="true"
166            icon="icons/new_adt_project.png"
167            id="com.android.ide.eclipse.adt.project.ImportProjectWizard"
168            name="Existing Android Code Into Workspace"
169            preferredPerspectives="org.eclipse.jdt.ui.JavaPerspective"
170            project="true">
171        </wizard>
172    </extension>
173    <extension point="org.eclipse.ui.newWizards">
174        <category
175            id="com.android.ide.eclipse.wizards.category"
176            name="Android" />
177        <wizard
178            canFinishEarly="false"
179            category="com.android.ide.eclipse.wizards.category"
180            class="com.android.ide.eclipse.adt.internal.wizards.templates.NewProjectWizard"
181            finalPerspective="org.eclipse.jdt.ui.JavaPerspective"
182            hasPages="true"
183            icon="icons/new_adt_project.png"
184            id="com.android.ide.eclipse.adt.project.NewProjectWizard"
185            name="Android Application Project"
186            preferredPerspectives="org.eclipse.jdt.ui.JavaPerspective"
187            project="true" >
188            <description>
189               Create an Android Application Project
190            </description>
191        </wizard>
192        <wizard
193            canFinishEarly="false"
194            category="com.android.ide.eclipse.wizards.category"
195            class="com.android.ide.eclipse.adt.internal.wizards.newproject.NewTestProjectWizard"
196            finalPerspective="org.eclipse.jdt.ui.JavaPerspective"
197            hasPages="true"
198            icon="icons/newJunit.png"
199            id="com.android.ide.eclipse.adt.project.NewTestProjectWizard"
200            name="Android Test Project"
201            preferredPerspectives="org.eclipse.jdt.ui.JavaPerspective"
202            project="true">
203            <description>
204               Create an Android Test Project
205            </description>
206        </wizard>
207        <wizard
208            canFinishEarly="false"
209            category="com.android.ide.eclipse.wizards.category"
210            class="com.android.ide.eclipse.adt.internal.wizards.newproject.NewSampleProjectWizard"
211            finalPerspective="org.eclipse.jdt.ui.JavaPerspective"
212            hasPages="true"
213            icon="icons/new_adt_project.png"
214            id="com.android.ide.eclipse.adt.project.NewSampleProjectWizard"
215            name="Android Sample Project"
216            preferredPerspectives="org.eclipse.jdt.ui.JavaPerspective"
217            project="true">
218            <description>
219               Create an Android Sample Project
220            </description>
221        </wizard>
222        <wizard
223            canFinishEarly="false"
224            category="com.android.ide.eclipse.wizards.category"
225            class="com.android.ide.eclipse.adt.internal.wizards.newproject.ImportProjectWizard"
226            finalPerspective="org.eclipse.jdt.ui.JavaPerspective"
227            hasPages="true"
228            icon="icons/new_adt_project.png"
229            id="com.android.ide.eclipse.adt.project.ImportProjectWizard.NewPrj"
230            name="Android Project from Existing Code"
231            preferredPerspectives="org.eclipse.jdt.ui.JavaPerspective"
232            project="true">
233            <description>
234               Create one or more Android projects from existing code
235            </description>
236        </wizard>
237        <wizard
238            canFinishEarly="false"
239            category="com.android.ide.eclipse.wizards.category"
240            class="com.android.ide.eclipse.adt.internal.wizards.newxmlfile.NewXmlFileWizard"
241            finalPerspective="org.eclipse.jdt.ui.JavaPerspective"
242            hasPages="true"
243            icon="icons/new_xml.png"
244            id="com.android.ide.eclipse.editors.wizards.NewXmlFileWizard"
245            name="Android XML File"
246            preferredPerspectives="org.eclipse.jdt.ui.JavaPerspective"
247            project="false">
248            <description>
249               Create an Android resource XML file
250            </description>
251        </wizard>
252        <wizard
253            canFinishEarly="false"
254            category="com.android.ide.eclipse.wizards.category"
255            class="com.android.ide.eclipse.adt.internal.wizards.newxmlfile.NewXmlFileWizard$NewLayoutWizard"
256            finalPerspective="org.eclipse.jdt.ui.JavaPerspective"
257            hasPages="true"
258            icon="icons/new_xml.png"
259            id="com.android.ide.eclipse.editors.wizards.NewXmlFileWizard.Layout"
260            name="Android XML Layout File"
261            preferredPerspectives="org.eclipse.jdt.ui.JavaPerspective"
262            project="false">
263            <description>
264               Create an Android layout XML file
265            </description>
266        </wizard>
267        <wizard
268            canFinishEarly="false"
269            category="com.android.ide.eclipse.wizards.category"
270            class="com.android.ide.eclipse.adt.internal.wizards.newxmlfile.NewXmlFileWizard$NewValuesWizard"
271            finalPerspective="org.eclipse.jdt.ui.JavaPerspective"
272            hasPages="true"
273            icon="icons/new_xml.png"
274            id="com.android.ide.eclipse.editors.wizards.NewXmlFileWizard.Values"
275            name="Android XML Values File"
276            preferredPerspectives="org.eclipse.jdt.ui.JavaPerspective"
277            project="false">
278            <description>
279               Create an Android XML values file such as strings.xml
280            </description>
281        </wizard>
282        <wizard
283            canFinishEarly="false"
284            category="com.android.ide.eclipse.wizards.category"
285            class="com.android.ide.eclipse.adt.internal.wizards.templates.NewActivityWizard"
286            finalPerspective="org.eclipse.jdt.ui.JavaPerspective"
287            hasPages="true"
288            icon="icons/new_adt_project.png"
289            id="com.android.ide.eclipse.editors.wizards.NewActivityWizard"
290            name="Android Activity"
291            preferredPerspectives="org.eclipse.jdt.ui.JavaPerspective"
292            project="false" >
293            <description>
294               Create an Android Activity
295            </description>
296        </wizard>
297        <wizard
298            canFinishEarly="false"
299            category="com.android.ide.eclipse.wizards.category"
300            class="com.android.ide.eclipse.adt.internal.wizards.templates.NewActivityWizard$OtherWizard"
301            finalPerspective="org.eclipse.jdt.ui.JavaPerspective"
302            hasPages="true"
303            icon="icons/newCustomView.png"
304            id="com.android.ide.eclipse.editors.wizards.NewActivityWizard.OtherWizard"
305            name="Android Object"
306            preferredPerspectives="org.eclipse.jdt.ui.JavaPerspective"
307            project="false" >
308            <description>
309               Create an Android object such as a Service, an Activity, a Broadcast Receiver, a Notification, etc.
310            </description>
311        </wizard>
312        <!-- Available through generic object list above
313        <wizard
314            canFinishEarly="false"
315            category="com.android.ide.eclipse.wizards.category"
316            class="com.android.ide.eclipse.adt.internal.wizards.templates.NewTemplateWizard$NewCustomViewWizard"
317            finalPerspective="org.eclipse.jdt.ui.JavaPerspective"
318            hasPages="true"
319            icon="icons/newCustomView.png"
320            id="com.android.ide.eclipse.editors.wizards.NewTemplateWizard.CustomView"
321            name="Android Custom View"
322            preferredPerspectives="org.eclipse.jdt.ui.JavaPerspective"
323            project="false" >
324            <description>
325               Create an Android custom view
326            </description>
327        </wizard>
328        -->
329        <wizard
330            canFinishEarly="false"
331            category="com.android.ide.eclipse.wizards.category"
332            class="com.android.ide.eclipse.adt.internal.assetstudio.CreateAssetSetWizard"
333            finalPerspective="org.eclipse.jdt.ui.JavaPerspective"
334            hasPages="true"
335            icon="icons/new_asset_set.png"
336            id="com.android.ide.eclipse.adt.internal.assetstudio.CreateAssetSetWizard"
337            name="Android Icon Set"
338            preferredPerspectives="org.eclipse.jdt.ui.JavaPerspective"
339            project="false" >
340            <description>
341               Create an Android icon set
342            </description>
343        </wizard>
344
345        <!-- During development only: Support for testing templates -->
346        <wizard
347            canFinishEarly="false"
348            category="com.android.ide.eclipse.wizards.category"
349            class="com.android.ide.eclipse.adt.internal.wizards.templates.TemplateTestWizard"
350            finalPerspective="org.eclipse.jdt.ui.JavaPerspective"
351            hasPages="true"
352            icon="icons/androidjunit.png"
353            id="com.android.ide.eclipse.editors.wizards.TemplateTestWizard"
354            name="Template Development Wizard"
355            preferredPerspectives="org.eclipse.jdt.ui.JavaPerspective"
356            project="false" />
357    </extension>
358    <extension point="org.eclipse.debug.core.launchConfigurationTypes">
359        <launchConfigurationType
360            delegate="com.android.ide.eclipse.adt.internal.launch.LaunchConfigDelegate"
361            delegateDescription="The Android Application Launcher supports running and debugging remote Android applications on devices or emulators."
362            delegateName="Android Launcher"
363            id="com.android.ide.eclipse.adt.debug.LaunchConfigType"
364            modes="debug, run"
365            name="Android Application"
366            public="true"
367            sourceLocatorId="com.android.ide.eclipse.adt.internal.sourcelookup.AdtSourceLookupDirector"
368            sourcePathComputerId="org.eclipse.jdt.launching.sourceLookup.javaSourcePathComputer">
369        </launchConfigurationType>
370    </extension>
371    <extension point="org.eclipse.debug.ui.launchConfigurationTypeImages">
372        <launchConfigurationTypeImage
373            configTypeID="com.android.ide.eclipse.adt.debug.LaunchConfigType"
374            icon="icons/android_app.png"
375            id="com.android.ide.eclipse.adt.debug.LaunchConfigTypeImage" />
376    </extension>
377    <extension point="org.eclipse.debug.ui.launchConfigurationTabGroups">
378        <launchConfigurationTabGroup
379            class="com.android.ide.eclipse.adt.internal.launch.LaunchConfigTabGroup"
380            description="Android Application"
381            id="com.android.ide.eclipse.adt.debug.LaunchConfigTabGroup"
382            type="com.android.ide.eclipse.adt.debug.LaunchConfigType" />
383    </extension>
384    <extension point="org.eclipse.debug.ui.launchShortcuts">
385        <shortcut
386            class="com.android.ide.eclipse.adt.internal.launch.LaunchShortcut"
387            icon="icons/android_app.png"
388            id="com.android.ide.eclipse.adt.debug.launching.LaunchShortcut"
389            label="Android Application"
390            modes="run, debug">
391            <contextualLaunch>
392                <enablement>
393                    <with variable="selection">
394                        <count value="1" />
395                        <iterate>
396                            <or>
397                                <adapt type="org.eclipse.core.resources.IFile">
398                                    <and>
399                                        <test
400                                            property="org.eclipse.core.resources.contentTypeId"
401                                            value="org.eclipse.core.runtime.xml" />
402                                        <test
403                                            property="org.eclipse.core.resources.projectNature"
404                                            value="com.android.ide.eclipse.adt.AndroidNature" />
405                                    </and>
406                                </adapt>
407                                <and>
408                                    <test property="org.eclipse.jdt.launching.isContainer" />
409                                    <test
410                                        property="org.eclipse.jdt.launching.hasProjectNature"
411                                        args="com.android.ide.eclipse.adt.AndroidNature" />
412                                </and>
413                            </or>
414                        </iterate>
415                    </with>
416                </enablement>
417            </contextualLaunch>
418            <perspective id="org.eclipse.jdt.ui.JavaPerspective" />
419            <perspective id="org.eclipse.debug.ui.DebugPerspective" />
420            <configurationType id="com.android.ide.eclipse.adt.debug.LaunchConfigType">
421            </configurationType>
422            <description
423                description="Runs an Android Application"
424                mode="run">
425            </description>
426            <description
427                description="Debugs an Android Application"
428                mode="debug">
429            </description>
430        </shortcut>
431    </extension>
432    <extension point="org.eclipse.ui.popupMenus">
433        <objectContribution
434            id="com.android.ide.eclipse.adt.contribution2"
435            nameFilter="*"
436            objectClass="org.eclipse.core.resources.IProject"
437            adaptable="true">
438            <menu
439                id="com.android.ide.eclipse.adt.AndroidTools"
440                label="Android Tools"
441                path="additions">
442                <separator name="group1" />
443                <separator name="group2" />
444                <separator name="group3" />
445                <separator name="group4" />
446            </menu>
447            <filter
448                name="projectNature"
449                value="com.android.ide.eclipse.adt.AndroidNature">
450            </filter>
451            <action
452                class="com.android.ide.eclipse.adt.internal.wizards.actions.NewXmlFileAction"
453                enablesFor="1"
454                icon="icons/new_xml.png"
455                id="com.android.ide.eclipse.adt.wizards.actions.NewXmlFileAction"
456                label="New Resource File..."
457                menubarPath="com.android.ide.eclipse.adt.AndroidTools/group1"
458                tooltip="Opens a wizard to help create a new Android XML Resource file">
459            </action>
460            <action
461                class="com.android.ide.eclipse.adt.internal.wizards.actions.NewTestProjectAction"
462                enablesFor="1"
463                icon="icons/androidjunit.png"
464                id="com.android.ide.eclipse.adt.wizards.actions.NewTestProjectAction"
465                label="New Test Project..."
466                menubarPath="com.android.ide.eclipse.adt.AndroidTools/group1"
467                tooltip="Opens a wizard to help create a new Android Test Project">
468            </action>
469            <action
470                class="com.android.ide.eclipse.adt.internal.wizards.actions.ExportAction"
471                enablesFor="1"
472                id="com.android.ide.eclipse.adt.project.ExportAction"
473                label="Export Unsigned Application Package..."
474                menubarPath="com.android.ide.eclipse.adt.AndroidTools/group2" />
475            <action
476                class="com.android.ide.eclipse.adt.internal.wizards.actions.ExportWizardAction"
477                enablesFor="1"
478                id="com.android.ide.eclipse.adt.project.ExportWizardAction"
479                label="Export Signed Application Package..."
480                menubarPath="com.android.ide.eclipse.adt.AndroidTools/group2" />
481            <action
482                class="com.android.ide.eclipse.adt.internal.actions.FixProjectAction"
483                enablesFor="1"
484                id="com.android.ide.eclipse.adt.project.FixProjectAction"
485                label="Fix Project Properties"
486                menubarPath="com.android.ide.eclipse.adt.AndroidTools/group3" />
487            <action
488                class="com.android.ide.eclipse.adt.internal.actions.AddSupportJarAction"
489                enablesFor="1"
490                icon="icons/android.png"
491                id="com.android.ide.eclipse.adt.wizards.actions.AddCompatibilityJarAction"
492                label="Add Support Library..."
493                menubarPath="com.android.ide.eclipse.adt.AndroidTools/group3"
494                tooltip="Add the Compatibility Library to the project">
495            </action>
496            <action
497                class="com.android.ide.eclipse.adt.internal.refactorings.renamepackage.RenamePackageAction"
498                enablesFor="1"
499                id="com.android.ide.eclipse.adt.project.RenamePackageAction"
500                label="Rename Application Package"
501                menubarPath="com.android.ide.eclipse.adt.AndroidTools/group3" />
502            <action
503                class="com.android.ide.eclipse.adt.internal.actions.DexDumpAction"
504                enablesFor="1"
505                id="com.android.ide.eclipse.adt.DexDumpAction"
506                label="Display dex bytecode"
507                menubarPath="com.android.ide.eclipse.adt.AndroidTools/group3" />
508            <action
509                class="com.android.ide.eclipse.adt.internal.lint.ClearLintMarkersAction"
510                enablesFor="1"
511                id="com.android.ide.eclipse.adt.internal.lint.ClearLintMarkersAction"
512                label="Clear Lint Markers"
513                menubarPath="com.android.ide.eclipse.adt.AndroidTools/group4" />
514            <action
515                class="com.android.ide.eclipse.adt.internal.lint.RunLintAction"
516                enablesFor="1"
517                id="com.android.ide.eclipse.adt.internal.lint.RunLintAction"
518                label="Run Lint: Check for Common Errors"
519                icon="icons/lintrun.png"
520                menubarPath="com.android.ide.eclipse.adt.AndroidTools/group4" />
521        </objectContribution>
522    </extension>
523    <extension point="org.eclipse.ui.preferencePages">
524        <page
525            class="com.android.ide.eclipse.adt.internal.preferences.AndroidPreferencePage"
526            id="com.android.ide.eclipse.preferences.main"
527            name="Android" />
528        <page
529            category="com.android.ide.eclipse.preferences.main"
530            class="com.android.ide.eclipse.adt.internal.preferences.BuildPreferencePage"
531            id="com.android.ide.eclipse.adt.preferences.BuildPreferencePage"
532            name="Build" />
533        <page
534            category="com.android.ide.eclipse.preferences.main"
535            class="com.android.ide.eclipse.adt.internal.preferences.LaunchPreferencePage"
536            id="com.android.ide.eclipse.adt.preferences.LaunchPreferencePage"
537            name="Launch" />
538        <page
539            category="com.android.ide.eclipse.preferences.main"
540            class="com.android.ide.eclipse.adt.internal.preferences.EditorsPage"
541            id="com.android.ide.eclipse.adt.preferences.EditorsPage"
542            name="Editors">
543        </page>
544        <page
545            category="com.android.ide.eclipse.preferences.main"
546            class="com.android.ide.eclipse.adt.internal.preferences.LintPreferencePage"
547            id="com.android.ide.eclipse.common.preferences.LintPreferencePage"
548            name="Lint Error Checking">
549        </page>
550    </extension>
551    <extension point="org.eclipse.core.runtime.preferences">
552        <initializer class="com.android.ide.eclipse.adt.internal.preferences.AdtPrefs" />
553    </extension>
554    <extension point="org.eclipse.ui.perspectiveExtensions">
555        <perspectiveExtension targetID="org.eclipse.jdt.ui.JavaPerspective">
556            <newWizardShortcut id="com.android.ide.eclipse.adt.project.NewProjectWizard" />
557            <newWizardShortcut id="com.android.ide.eclipse.editors.wizards.NewXmlFileWizard" />
558            <actionSet id="adt.actionSet.wizards" />
559            <actionSet id="adt.actionSet.avdManager" />
560            <actionSet id="adt.actionSet.lint" />
561            <actionSet id="adt.actionSet.refactorings" />
562        </perspectiveExtension>
563        <perspectiveExtension targetID="org.eclipse.debug.ui.DebugPerspective">
564            <viewShortcut id="com.android.ide.eclipse.ddms.views.LogCatView" />
565            <viewShortcut id="com.android.ide.eclipse.ddms.views.DeviceView" />
566        </perspectiveExtension>
567    </extension>
568    <extension point="org.eclipse.ui.ide.projectNatureImages">
569        <image
570            icon="icons/android_project.png"
571            id="com.android.ide.eclipse.adt.AndroidNature.image"
572            natureId="com.android.ide.eclipse.adt.AndroidNature">
573        </image>
574    </extension>
575    <extension point="org.eclipse.jdt.core.classpathContainerInitializer">
576        <classpathContainerInitializer
577            class="com.android.ide.eclipse.adt.internal.project.AndroidClasspathContainerInitializer"
578            id="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK">
579        </classpathContainerInitializer>
580        <classpathContainerInitializer
581            class="com.android.ide.eclipse.adt.internal.project.LibraryClasspathContainerInitializer"
582            id="com.android.ide.eclipse.adt.LIBRARIES">
583        </classpathContainerInitializer>
584        <classpathContainerInitializer
585            class="com.android.ide.eclipse.adt.internal.project.LibraryClasspathContainerInitializer"
586            id="com.android.ide.eclipse.adt.DEPENDENCIES">
587        </classpathContainerInitializer>
588    </extension>
589    <extension point="org.eclipse.jdt.ui.classpathContainerPage">
590        <classpathContainerPage
591            name="Android Classpath Container"
592            class="com.android.ide.eclipse.adt.internal.project.AndroidClasspathContainerPage"
593            id="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK">
594        </classpathContainerPage>
595    </extension>
596    <extension point="org.eclipse.ui.exportWizards">
597        <category
598            id="com.android.ide.eclipse.wizards.category"
599            name="Android">
600        </category>
601        <wizard
602            category="com.android.ide.eclipse.wizards.category"
603            class="com.android.ide.eclipse.adt.internal.wizards.export.ExportWizard"
604            icon="icons/android.png"
605            id="com.android.ide.eclipse.adt.project.ExportWizard"
606            name="Export Android Application">
607        </wizard>
608    </extension>
609    <extension point="org.eclipse.ui.exportWizards">
610        <category
611            id="com.android.ide.eclipse.wizards.category"
612            name="Android">
613        </category>
614        <wizard
615            category="com.android.ide.eclipse.wizards.category"
616            class="com.android.ide.eclipse.adt.internal.wizards.exportgradle.GradleExportWizard"
617            icon="icons/gradle.png"
618            id="com.android.ide.eclipse.adt.project.ExportGradleWizard"
619            name="Generate Gradle build files">
620            <selection
621                class="org.eclipse.jdt.core.IJavaProject">
622            </selection>
623        </wizard>
624    </extension>
625    <extension point="org.eclipse.ui.commands">
626        <command
627            name="Debug Android Application"
628            description="Debug Android Application"
629            categoryId="org.eclipse.debug.ui.category.run"
630            id="com.android.ide.eclipse.adt.launch.LaunchShortcut.debug">
631        </command>
632        <command
633            name="Run Android Application"
634            description="Run Android Application"
635            categoryId="org.eclipse.debug.ui.category.run"
636            id="com.android.ide.eclipse.adt.launch.LaunchShortcut.run">
637        </command>
638    </extension>
639    <extension point="org.eclipse.ui.decorators">
640        <decorator
641            adaptable="true"
642            class="com.android.ide.eclipse.adt.internal.project.FolderDecorator"
643            id="com.android.ide.eclipse.adt.project.FolderDecorator"
644            label="Android Decorator"
645            lightweight="true"
646            location="TOP_RIGHT"
647            objectClass="org.eclipse.core.resources.IFolder"
648            state="true">
649        </decorator>
650    </extension>
651    <extension point="org.eclipse.ui.editors">
652        <editor
653            class="com.android.ide.eclipse.adt.internal.editors.export.ExportEditor"
654            default="true"
655            filenames="export.properties"
656            icon="icons/android_file.png"
657            id="com.android.ide.eclipse.editors.export.ExportEditor"
658            name="Android Export Editor">
659        </editor>
660
661        <editor
662            class="com.android.ide.eclipse.adt.internal.editors.manifest.ManifestEditor"
663            default="true"
664            filenames="AndroidManifest.xml"
665            icon="icons/android_file.png"
666            id="com.android.ide.eclipse.editors.manifest.ManifestEditor"
667            name="Android Manifest Editor">
668        </editor>
669
670        <!--
671        This is the new generic multi-purpose single XML editor used by ADT.
672        It is designed to replace all the other XML editors (layout, manifest, drawable,
673        animation, color, values, xml) and does so by using a single common Editor class
674        that defers to multiple delegate handlers.
675        -->
676        <editor
677              class="com.android.ide.eclipse.adt.internal.editors.common.CommonXmlEditor"
678              contributorClass="com.android.ide.eclipse.adt.internal.editors.common.CommonActionContributor"
679              default="true"
680              extensions="xml"
681              icon="icons/android_file.png"
682              id="com.android.ide.eclipse.editors.CommonXmlEditor"
683              matchingStrategy="com.android.ide.eclipse.adt.internal.editors.common.CommonMatchingStrategy"
684              name="Android Common XML Editor">
685        </editor>
686
687        <!--
688        For compatibilit with existing ADT installs, we still need to keep the editor
689        IDs of the previously defined editors. E.g. for the color editor note that the
690        id remains the same but class name changes to the new class. This will make
691        Eclipse not complain upon startup of an existing workspace.
692        -->
693        <editor
694            class="com.android.ide.eclipse.adt.internal.editors.common.CommonXmlEditor"
695            contributorClass="com.android.ide.eclipse.adt.internal.editors.common.CommonActionContributor"
696            default="false"
697            icon="icons/android_file.png"
698            id="com.android.ide.eclipse.editors.layout.LayoutEditor"
699            matchingStrategy="com.android.ide.eclipse.adt.internal.editors.common.CommonMatchingStrategy"
700            name="Legacy Android Layout Editor">
701        </editor>
702       <editor
703            class="com.android.ide.eclipse.adt.internal.editors.common.CommonXmlEditor"
704            default="false"
705            icon="icons/android_file.png"
706            id="com.android.ide.eclipse.editors.resources.ResourcesEditor"
707            name="Legacy Android Resource Editor">
708        </editor>
709        <editor
710            class="com.android.ide.eclipse.adt.internal.editors.common.CommonXmlEditor"
711            default="false"
712            icon="icons/android_file.png"
713            id="com.android.ide.eclipse.editors.menu.MenuEditor"
714            name="Legacy Android Menu Editor">
715        </editor>
716        <editor
717            class="com.android.ide.eclipse.adt.internal.editors.common.CommonXmlEditor"
718            default="false"
719            icon="icons/android_file.png"
720            id="com.android.ide.eclipse.editors.xml.XmlEditor"
721            name="Legacy Android Xml Resources Editor">
722        </editor>
723        <editor
724            class="com.android.ide.eclipse.adt.internal.editors.common.CommonXmlEditor"
725            default="false"
726            icon="icons/android_file.png"
727            id="com.android.ide.eclipse.editors.animator.AnimationEditor"
728            name="Legacy Android Animation Editor">
729        </editor>
730        <editor
731            class="com.android.ide.eclipse.adt.internal.editors.common.CommonXmlEditor"
732            default="false"
733            icon="icons/android_file.png"
734            id="com.android.ide.eclipse.editors.drawable.DrawableEditor"
735            name="Legacy Android Drawable Editor">
736        </editor>
737        <editor
738            class="com.android.ide.eclipse.adt.internal.editors.common.CommonXmlEditor"
739            default="false"
740            icon="icons/android_file.png"
741            id="com.android.ide.eclipse.editors.color.ColorEditor"
742            name="Legacy Android Color Editor">
743        </editor>
744
745        <editor
746            class="com.android.ide.eclipse.adt.internal.editors.binaryxml.BinaryXMLMultiPageEditorPart"
747            contributorClass="org.eclipse.wst.xml.ui.internal.tabletree.XMLMultiPageEditorActionBarContributor"
748            icon="$nl$/icons/android_file.png"
749            id="com.android.ide.eclipse.adt.binedit.BinaryXMLMultiPageEditorPart"
750            name="Android Binary XML editor"
751            symbolicFontName="org.eclipse.wst.sse.ui.textfont">
752            <contentTypeBinding contentTypeId="com.android.ide.eclipse.adt.binaryXml">
753            </contentTypeBinding>
754        </editor>
755        <editor
756            class="com.android.ide.eclipse.adt.internal.editors.draw9patch.Draw9PatchEditor"
757            contributorClass="com.android.ide.eclipse.adt.internal.editors.common.CommonActionContributor"
758            icon="icons/android_file.png"
759            id="draw9patchplugin.editors.Draw9PatchEditor"
760            name="Android Draw 9-patch Editor"
761            extensions="9.png">
762        </editor>
763    </extension>
764    <extension point="org.eclipse.ui.views">
765        <view
766            allowMultiple="false"
767            category="com.android.ide.eclipse.ddms.views.category"
768            class="com.android.ide.eclipse.adt.internal.ui.ResourceExplorerView"
769            icon="icons/draw9patch-16.png"
770            id="com.android.ide.eclipse.editors.resources.explorer.ResourceExplorerView"
771            name="Resource Explorer">
772        </view>
773        <view
774              class="com.android.ide.eclipse.adt.internal.lint.LintViewPart"
775              category="com.android.ide.eclipse.ddms.views.category"
776              id="com.android.ide.eclipse.adt.internal.lint.LintViewPart"
777              icon="icons/lintview.png"
778              name="Lint Warnings">
779        </view>
780    </extension>
781    <extension point="org.eclipse.wst.sse.ui.editorConfiguration">
782        <sourceViewerConfiguration
783            class="com.android.ide.eclipse.adt.internal.editors.manifest.ManifestSourceViewerConfig"
784            target="com.android.ide.eclipse.editors.manifest.ManifestEditor">
785        </sourceViewerConfiguration>
786        <sourceViewerConfiguration
787            class="com.android.ide.eclipse.adt.internal.editors.common.CommonSourceViewerConfig"
788            target="com.android.ide.eclipse.editors.CommonXmlEditor">
789        </sourceViewerConfiguration>
790        <quickOutlineConfiguration
791            class="com.android.ide.eclipse.adt.internal.editors.AndroidQuickOutlineConfiguration"
792            target="org.eclipse.core.runtime.xml" />
793        <contentOutlineConfiguration
794            class="com.android.ide.eclipse.adt.internal.editors.AndroidOutlineConfiguration"
795            target="org.eclipse.core.runtime.xml" />
796        <doubleClickStrategy
797            class="com.android.ide.eclipse.adt.internal.editors.AndroidDoubleClickStrategy"
798            target="org.eclipse.wst.xml.XML_DEFAULT" />
799        <provisionalConfiguration
800            type="org.eclipse.jface.text.quickassist.IQuickAssistProcessor"
801            class="com.android.ide.eclipse.adt.internal.editors.formatting.XmlQuickAssistManager"
802            target="org.eclipse.wst.xml.XML_DEFAULT" />
803        <provisionalConfiguration
804            type="characterpairmatcher"
805            class="com.android.ide.eclipse.adt.internal.editors.AndroidXmlCharacterMatcher"
806            target="org.eclipse.core.runtime.xml" />
807    </extension>
808    <extension point="org.eclipse.jdt.ui.quickAssistProcessors">
809        <quickAssistProcessor
810            id="AndroidJavaAssistant"
811            name="Android Java Quick Assistant"
812            requiredSourceLevel="1.5"
813            class="com.android.ide.eclipse.adt.internal.editors.layout.refactoring.JavaQuickAssistant">
814        </quickAssistProcessor>
815    </extension>
816    <extension
817        point="org.eclipse.jdt.ui.quickFixProcessors">
818        <quickFixProcessor
819            name="Android Convert Switch Quickfix Processor"
820            class="com.android.ide.eclipse.adt.internal.build.ConvertSwitchQuickFixProcessor"
821            id="com.android.ide.eclipse.adt.internal.build.ConvertSwitchQuickFixProcessor">
822            <handledMarkerTypes>
823                <markerType id="org.eclipse.jdt.core.problem"/>
824            </handledMarkerTypes>
825        </quickFixProcessor>
826    </extension>
827    <extension point="org.eclipse.ui.propertyPages">
828        <page
829            adaptable="true"
830            class="com.android.ide.eclipse.adt.internal.properties.AndroidPropertyPage"
831            id="com.android.ide.eclipse.adt.project.properties.AndroidPropertyPage"
832            name="Android"
833            nameFilter="*"
834            objectClass="org.eclipse.core.resources.IProject">
835            <enabledWhen>
836                <test
837                    property="org.eclipse.jdt.launching.hasProjectNature"
838                    args="com.android.ide.eclipse.adt.AndroidNature" />
839            </enabledWhen>
840        </page>
841        <page
842            class="com.android.ide.eclipse.adt.internal.preferences.LintPreferencePage"
843            id="com.android.ide.eclipse.adt.internal.preferences.LintPreferencePage"
844            name="Android Lint Preferences">
845            <filter
846                name="nature"
847                value="com.android.ide.eclipse.adt.AndroidNature">
848            </filter>
849            <enabledWhen>
850                <adapt type="org.eclipse.core.resources.IProject" />
851            </enabledWhen>
852        </page>
853    </extension>
854    <extension point="org.eclipse.ui.actionSets">
855        <actionSet
856            description="Android Wizards"
857            id="adt.actionSet.wizards"
858            label="Android Wizards"
859            visible="false">
860            <action
861                class="com.android.ide.eclipse.adt.internal.wizards.actions.NewXmlFileAction"
862                icon="icons/new_xml.png"
863                id="com.android.ide.eclipse.adt.wizards.actions.NewXmlFileAction"
864                label="New Android XML File"
865                style="push"
866                toolbarPath="android_project">
867            </action>
868        </actionSet>
869        <actionSet
870            description="Refactorings for Android"
871            id="adt.actionSet.refactorings"
872            label="Android Refactorings"
873            visible="false">
874
875         <!-- This duplicates the Refactoring Menu definition from the jdt.ui plugin.xml,
876              which allows us to insert our contribution even if the JDT is not loaded.
877              We overload the definition with our new group.-->
878            <menu
879                label="Refactor"
880                path="edit"
881                id="org.eclipse.jdt.ui.refactoring.menu">
882                <separator name="undoRedoGroup" />
883                <separator name="reorgGroup" />
884                <separator name="androidGroup" />
885                <separator name="codingGroup" />
886                <separator name="reorgGroup2" />
887                <separator name="typeGroup" />
888                <separator name="typeGroup2" />
889                <separator name="codingGroup2" />
890                <separator name="typeGroup3" />
891                <separator name="scriptGroup" />
892            </menu>
893            <menu
894                label="Android"
895                path="org.eclipse.jdt.ui.refactoring.menu/androidGroup"
896                id="com.android.ide.eclipse.adt.refactoring.menu">
897                <separator name="android" />
898            </menu>
899            <action
900                class="com.android.ide.eclipse.adt.internal.refactorings.extractstring.ExtractStringAction"
901                definitionId="com.android.ide.eclipse.adt.refactoring.extract.string"
902                id="com.android.ide.eclipse.adt.actions.ExtractString"
903                label="Extract Android String..."
904                menubarPath="org.eclipse.jdt.ui.refactoring.menu/com.android.ide.eclipse.adt.refactoring.menu/android"
905                style="push"
906                tooltip="Extracts a string into Android resource string">
907            </action>
908            <action
909                class="com.android.ide.eclipse.adt.internal.editors.layout.refactoring.ExtractIncludeAction"
910                definitionId="com.android.ide.eclipse.adt.refactoring.extract.include"
911                id="com.android.ide.eclipse.adt.actions.ExtractInclude"
912                label="Extract as Include..."
913                menubarPath="org.eclipse.jdt.ui.refactoring.menu/com.android.ide.eclipse.adt.refactoring.menu/android"
914                style="push"
915                tooltip="Extracts Views as Included Layout">
916            </action>
917            <action
918                class="com.android.ide.eclipse.adt.internal.editors.layout.refactoring.ExtractStyleAction"
919                definitionId="com.android.ide.eclipse.adt.refactoring.extract.style"
920                id="com.android.ide.eclipse.adt.actions.ExtractStyle"
921                label="Extract Style..."
922                menubarPath="org.eclipse.jdt.ui.refactoring.menu/com.android.ide.eclipse.adt.refactoring.menu/android"
923                style="push"
924                tooltip="Extracts Styles">
925            </action>
926            <action
927                class="com.android.ide.eclipse.adt.internal.editors.layout.refactoring.WrapInAction"
928                definitionId="com.android.ide.eclipse.adt.refactoring.wrapin"
929                id="com.android.ide.eclipse.adt.actions.WrapIn"
930                label="Wrap In Container..."
931                menubarPath="org.eclipse.jdt.ui.refactoring.menu/com.android.ide.eclipse.adt.refactoring.menu/android"
932                style="push"
933                tooltip="Wraps Views in a new container">
934            </action>
935            <action
936                class="com.android.ide.eclipse.adt.internal.editors.layout.refactoring.UnwrapAction"
937                definitionId="com.android.ide.eclipse.adt.refactoring.unwrap"
938                id="com.android.ide.eclipse.adt.actions.Unwrap"
939                label="Remove Container..."
940                menubarPath="org.eclipse.jdt.ui.refactoring.menu/com.android.ide.eclipse.adt.refactoring.menu/android"
941                style="push"
942                tooltip="Unwraps Views by Removing their container">
943            </action>
944            <action
945                class="com.android.ide.eclipse.adt.internal.editors.layout.refactoring.ChangeLayoutAction"
946                definitionId="com.android.ide.eclipse.adt.refactoring.convert"
947                id="com.android.ide.eclipse.adt.actions.ChangeLayout"
948                label="Change Layout..."
949                menubarPath="org.eclipse.jdt.ui.refactoring.menu/com.android.ide.eclipse.adt.refactoring.menu/android"
950                style="push"
951                tooltip="Changes layouts from one type to another">
952            </action>
953            <action
954                class="com.android.ide.eclipse.adt.internal.editors.layout.refactoring.ChangeViewAction"
955                definitionId="com.android.ide.eclipse.adt.refactoring.changeview"
956                id="com.android.ide.eclipse.adt.actions.ChangeView"
957                label="Change Widget Type..."
958                menubarPath="org.eclipse.jdt.ui.refactoring.menu/com.android.ide.eclipse.adt.refactoring.menu/android"
959                style="push"
960                tooltip="Changes the type of the selected widgets">
961            </action>
962            <menu
963                id="org.eclipse.jdt.ui.refactoring.menu"
964                label="Refactor">
965            </menu>
966        </actionSet>
967        <actionSet
968            description="Android AVD and SDK Manager"
969            id="adt.actionSet.avdManager"
970            label="Android SDK and AVD Manager"
971            visible="false">
972            <action
973                class="com.android.ide.eclipse.adt.internal.actions.AvdManagerAction"
974                icon="icons/avd_manager.png"
975                id="com.android.ide.eclipse.adt.ui.avdmanager"
976                label="Android Virtual Device Manager"
977                menubarPath="Window/additions"
978                style="push"
979                toolbarPath="android_project">
980            </action>
981            <action
982                class="com.android.ide.eclipse.adt.internal.actions.SdkManagerAction"
983                icon="icons/sdk_manager.png"
984                id="com.android.ide.eclipse.adt.ui.sdkmanager"
985                label="Android SDK Manager"
986                menubarPath="Window/additions"
987                style="push"
988                toolbarPath="android_project">
989            </action>
990        </actionSet>
991        <actionSet
992            description="Android Lint"
993            id="adt.actionSet.lint"
994            label="Android Lint"
995            visible="false">
996            <action
997                class="com.android.ide.eclipse.adt.internal.lint.RunLintAction"
998                style="pulldown"
999                icon="icons/lintrun.png"
1000                id="com.android.ide.eclipse.adt.ui.lintrunner"
1001                label="Run Android Lint"
1002                menubarPath="Window/additions"
1003                toolbarPath="android_project">
1004            </action>
1005        </actionSet>
1006    </extension>
1007    <extension point="org.eclipse.debug.core.launchDelegates">
1008        <launchDelegate
1009            delegate="com.android.ide.eclipse.adt.internal.launch.JUnitLaunchConfigDelegate"
1010            delegateDescription="Removes the Android JAR from the Bootstrap Classpath"
1011            id="com.android.ide.eclipse.adt.launch.JUnitLaunchConfigDelegate.launchAndroidJunit"
1012            modes="run,debug"
1013            name="Android JUnit Test"
1014            type="org.eclipse.jdt.junit.launchconfig">
1015        </launchDelegate>
1016    </extension>
1017    <extension point="org.eclipse.debug.core.launchConfigurationTypes">
1018        <launchConfigurationType
1019            delegate="com.android.ide.eclipse.adt.internal.launch.junit.AndroidJUnitLaunchConfigDelegate"
1020            id="com.android.ide.eclipse.adt.junit.launchConfigurationType"
1021            modes="run,debug"
1022            name="Android JUnit Test"
1023            public="true"
1024            sourceLocatorId="com.android.ide.eclipse.adt.internal.sourcelookup.AdtSourceLookupDirector"
1025            sourcePathComputerId="org.eclipse.jdt.launching.sourceLookup.javaSourcePathComputer">
1026        </launchConfigurationType>
1027    </extension>
1028    <extension point="org.eclipse.debug.core.sourceLocators">
1029        <sourceLocator
1030            id="com.android.ide.eclipse.adt.internal.sourcelookup.AdtSourceLookupDirector"
1031            class="com.android.ide.eclipse.adt.internal.sourcelookup.AdtSourceLookupDirector"
1032            name="%sourceLocator.name">
1033        </sourceLocator>
1034    </extension>
1035    <extension point="org.eclipse.debug.ui.launchConfigurationTypeImages">
1036        <launchConfigurationTypeImage
1037            configTypeID="com.android.ide.eclipse.adt.junit.launchConfigurationType"
1038            icon="icons/androidjunit.png"
1039            id="com.android.ide.eclipse.adt.junit.launchConfigurationTypeImage">
1040        </launchConfigurationTypeImage>
1041    </extension>
1042    <extension point="org.eclipse.debug.ui.launchConfigurationTabGroups">
1043        <launchConfigurationTabGroup
1044            class="com.android.ide.eclipse.adt.internal.launch.junit.AndroidJUnitTabGroup"
1045            description="Android JUnit Test"
1046            id="com.android.ide.eclipse.adt.junit.AndroidJUnitLaunchConfigTabGroup"
1047            type="com.android.ide.eclipse.adt.junit.launchConfigurationType" />
1048    </extension>
1049    <extension point="org.eclipse.debug.ui.launchShortcuts">
1050        <shortcut
1051            class="com.android.ide.eclipse.adt.internal.launch.junit.AndroidJUnitLaunchShortcut"
1052            icon="icons/androidjunit.png"
1053            id="com.android.ide.eclipse.adt.junit.launchShortcut"
1054            label="Android JUnit Test"
1055            modes="run,debug">
1056            <contextualLaunch>
1057                <enablement>
1058                    <with variable="selection">
1059                        <count value="1" />
1060                        <iterate>
1061                            <adapt type="org.eclipse.jdt.core.IJavaElement">
1062                                <test
1063                                    property="org.eclipse.jdt.core.isInJavaProjectWithNature"
1064                                    value="com.android.ide.eclipse.adt.AndroidNature" />
1065                                <test
1066                                    property="org.eclipse.jdt.core.hasTypeOnClasspath"
1067                                    value="junit.framework.Test" />
1068                                <test property="com.android.ide.eclipse.adt.canLaunchAsJUnit" />
1069                            </adapt>
1070                        </iterate>
1071                    </with>
1072                </enablement>
1073            </contextualLaunch>
1074            <configurationType id="com.android.ide.eclipse.adt.junit.launchConfigurationType">
1075            </configurationType>
1076        </shortcut>
1077    </extension>
1078    <extension point="org.eclipse.ui.commands">
1079        <category
1080            description="Refactorings for Android Projects"
1081            id="com.android.ide.eclipse.adt.refactoring.category"
1082            name="Android Refactorings">
1083        </category>
1084        <command
1085            categoryId="com.android.ide.eclipse.adt.refactoring.category"
1086            description="Extract Strings into Android String Resources"
1087            id="com.android.ide.eclipse.adt.refactoring.extract.string"
1088            name="Extract Android String">
1089        </command>
1090        <command
1091            categoryId="com.android.ide.eclipse.adt.refactoring.category"
1092            description="Extract Views as Included Layout"
1093            id="com.android.ide.eclipse.adt.refactoring.extract.include"
1094            name="Extract as Include">
1095        </command>
1096        <command
1097            categoryId="com.android.ide.eclipse.adt.refactoring.category"
1098            description="Extract Styles"
1099            id="com.android.ide.eclipse.adt.refactoring.extract.style"
1100            name="Extract Styles">
1101        </command>
1102        <command
1103            categoryId="com.android.ide.eclipse.adt.refactoring.category"
1104            description="Wraps Views in a New Container"
1105            id="com.android.ide.eclipse.adt.refactoring.wrapin"
1106            name="Wrap in Container">
1107        </command>
1108        <command
1109            categoryId="com.android.ide.eclipse.adt.refactoring.category"
1110            description="Unwraps Views From Their Container"
1111            id="com.android.ide.eclipse.adt.refactoring.unwrap"
1112            name="Remove Container">
1113        </command>
1114        <command
1115            categoryId="com.android.ide.eclipse.adt.refactoring.category"
1116            description="Converts Layouts from One Type to Another"
1117            id="com.android.ide.eclipse.adt.refactoring.convert"
1118            name="Change Layout">
1119        </command>
1120        <command
1121            categoryId="com.android.ide.eclipse.adt.refactoring.category"
1122            description="Changes the widget type for the selection"
1123            id="com.android.ide.eclipse.adt.refactoring.changeview"
1124            name="Change Widget Type">
1125        </command>
1126    </extension>
1127    <extension point="org.eclipse.ltk.core.refactoring.refactoringContributions">
1128        <contribution
1129            class="com.android.ide.eclipse.adt.internal.refactorings.extractstring.ExtractStringContribution"
1130            id="com.android.ide.eclipse.adt.refactoring.extract.string">
1131        </contribution>
1132        <contribution
1133            class="com.android.ide.eclipse.adt.internal.editors.layout.refactoring.ExtractIncludeContribution"
1134            id="com.android.ide.eclipse.adt.refactoring.extract.include">
1135        </contribution>
1136        <contribution
1137            class="com.android.ide.eclipse.adt.internal.editors.layout.refactoring.ExtractStyleContribution"
1138            id="com.android.ide.eclipse.adt.refactoring.extract.style">
1139        </contribution>
1140        <contribution
1141            class="com.android.ide.eclipse.adt.internal.editors.layout.refactoring.WrapInContribution"
1142            id="com.android.ide.eclipse.adt.refactoring.wrapin">
1143        </contribution>
1144        <contribution
1145            class="com.android.ide.eclipse.adt.internal.editors.layout.refactoring.UnwrapContribution"
1146            id="com.android.ide.eclipse.adt.refactoring.unwrap">
1147        </contribution>
1148        <contribution
1149            class="com.android.ide.eclipse.adt.internal.editors.layout.refactoring.ChangeLayoutContribution"
1150            id="com.android.ide.eclipse.adt.refactoring.convert">
1151        </contribution>
1152        <contribution
1153            class="com.android.ide.eclipse.adt.internal.editors.layout.refactoring.ChangeViewContribution"
1154            id="com.android.ide.eclipse.adt.refactoring.changeview">
1155        </contribution>
1156    </extension>
1157    <extension point="org.eclipse.core.expressions.propertyTesters">
1158        <propertyTester
1159            properties="isTest,canLaunchAsJUnit"
1160            namespace="com.android.ide.eclipse.adt"
1161            type="org.eclipse.core.runtime.IAdaptable"
1162            class="com.android.ide.eclipse.adt.internal.launch.junit.AndroidJUnitPropertyTester"
1163            id="com.android.ide.eclipse.adt.AndroidJUnitPropertyTester">
1164        </propertyTester>
1165    </extension>
1166    <extension point="com.android.ide.eclipse.ddms.toolsLocator">
1167        <locator class="com.android.ide.eclipse.adt.ToolsLocator">
1168        </locator>
1169    </extension>
1170    <extension point="com.android.ide.eclipse.ddms.debuggerConnector">
1171        <connector class="com.android.ide.eclipse.adt.DebuggerConnector">
1172        </connector>
1173    </extension>
1174    <extension point="com.android.ide.eclipse.ddms.sourceRevealer">
1175        <revealer class="com.android.ide.eclipse.adt.SourceRevealer">
1176        </revealer>
1177    </extension>
1178    <extension point="org.eclipse.ltk.core.refactoring.renameParticipants">
1179        <renameParticipant
1180            class="com.android.ide.eclipse.adt.internal.refactorings.core.AndroidTypeRenameParticipant"
1181            id="com.android.ide.eclipse.adt.internal.refactoring.core.AndroidTypeRenameParticipant"
1182            name="Android Rename Type Participant">
1183            <enablement>
1184                <with variable="element">
1185                    <instanceof value="org.eclipse.jdt.core.IType">
1186                    </instanceof>
1187                </with>
1188                <with variable="affectedNatures">
1189                    <iterate operator="or">
1190                        <equals value="com.android.ide.eclipse.adt.AndroidNature" />
1191                    </iterate>
1192                </with>
1193            </enablement>
1194        </renameParticipant>
1195        <renameParticipant
1196            class="com.android.ide.eclipse.adt.internal.refactorings.core.RenameResourceParticipant"
1197            id="com.android.ide.eclipse.adt.internal.refactorings.core.RenameResourceParticipant"
1198            name="Android Rename Resource Participant">
1199            <enablement>
1200                <with variable="element">
1201                    <or>
1202                        <instanceof value="org.eclipse.jdt.core.IField"/>
1203                        <instanceof value="org.eclipse.core.resources.IResource" />
1204                        <instanceof value="java.lang.String" />
1205                    </or>
1206                </with>
1207                <with variable="affectedNatures">
1208                    <iterate operator="or">
1209                        <equals value="com.android.ide.eclipse.adt.AndroidNature" />
1210                    </iterate>
1211                </with>
1212            </enablement>
1213        </renameParticipant>
1214        <renameParticipant
1215            class="com.android.ide.eclipse.adt.internal.refactorings.core.AndroidPackageRenameParticipant"
1216            id="com.android.ide.eclipse.adt.internal.refactoring.core.AndroidPackageRenameParticipant"
1217            name="Android Rename Package Participant">
1218            <enablement>
1219                <with variable="element">
1220                    <instanceof value="org.eclipse.jdt.core.IPackageFragment">
1221                    </instanceof>
1222                </with>
1223                <with variable="affectedNatures">
1224                    <iterate operator="or">
1225                        <equals value="com.android.ide.eclipse.adt.AndroidNature" />
1226                    </iterate>
1227                </with>
1228            </enablement>
1229        </renameParticipant>
1230    </extension>
1231    <extension point="org.eclipse.ltk.core.refactoring.moveParticipants">
1232        <moveParticipant
1233            class="com.android.ide.eclipse.adt.internal.refactorings.core.AndroidTypeMoveParticipant"
1234            id="com.android.ide.eclipse.adt.internal.refactoring.core.androidTypeMoveParticipant"
1235            name="Android Move Type Participant">
1236            <enablement>
1237                <with variable="element">
1238                    <instanceof value="org.eclipse.jdt.core.IType">
1239                    </instanceof>
1240                </with>
1241                <with variable="affectedNatures">
1242                    <iterate operator="or">
1243                        <equals value="com.android.ide.eclipse.adt.AndroidNature" />
1244                    </iterate>
1245                </with>
1246            </enablement>
1247        </moveParticipant>
1248    </extension>
1249    <extension point="org.eclipse.ui.workbench.texteditor.hyperlinkDetectorTargets">
1250        <target
1251            id="com.android.ide.eclipse.xmlCode"
1252            name="XML Editor">
1253            <context type="org.eclipse.ui.texteditor.ITextEditor" />
1254        </target>
1255    </extension>
1256    <extension point="org.eclipse.ui.workbench.texteditor.hyperlinkDetectors">
1257        <hyperlinkDetector
1258            class="com.android.ide.eclipse.adt.internal.editors.Hyperlinks$XmlResolver"
1259            id="com.android.ide.eclipse.xmlCodeResolver"
1260            name="Android XML Hyperlink Detector"
1261            targetId="com.android.ide.eclipse.xmlCode">
1262        </hyperlinkDetector>
1263        <hyperlinkDetector
1264            class="com.android.ide.eclipse.adt.internal.editors.Hyperlinks$JavaResolver"
1265            id="com.android.ide.eclipse.javaCodeResolver"
1266            name="Android Java Hyperlink Detector"
1267            targetId="org.eclipse.jdt.ui.javaCode">
1268        </hyperlinkDetector>
1269      <!--
1270      Register this hyperlink provider TWICE, once without any modifier keys, and
1271      once with Modifier1+Modifier2. The one without (which will pick up the default
1272      of M1) will typically duel with the builtin Java hyperlink resolver, so the
1273      user gets a popup and must choose our resolver with the arrow key or mouse
1274      action. The second registration adds a quick bypass for that.
1275      -->
1276        <hyperlinkDetector
1277            class="com.android.ide.eclipse.adt.internal.editors.Hyperlinks$JavaResolver"
1278            id="com.android.ide.eclipse.javaCodeResolver2"
1279            modifierKeys="M1+M2+M3"
1280            name="Android Java Hyperlink Detector (Extra Modifier Key)"
1281            targetId="org.eclipse.jdt.ui.javaCode">
1282        </hyperlinkDetector>
1283    </extension>
1284    <extension point="org.eclipse.ui.bindings">
1285        <key
1286            sequence="M3+M2+A S"
1287            contextId="org.eclipse.ui.contexts.window"
1288            commandId="com.android.ide.eclipse.adt.refactoring.extract.string"
1289            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" />
1290        <key
1291            sequence="M3+M2+A D"
1292            contextId="org.eclipse.ui.contexts.window"
1293            commandId="com.android.ide.eclipse.adt.launch.LaunchShortcut.debug"
1294            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" />
1295        <key
1296            sequence="M3+M2+A R"
1297            contextId="org.eclipse.ui.contexts.window"
1298            commandId="com.android.ide.eclipse.adt.launch.LaunchShortcut.run"
1299            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" />
1300     <!-- Rebind the select-enclosing actions from WTP's M2+M3 to M2+M4 to be
1301          consistent with Java files. The contextId is org.eclipse.core.runtime.xml
1302          instead of org.eclipse.wst.sse.ui.structuredTextEditorScope to avoid
1303          keyboard conflict warnings (and an action selection dialog.)
1304     -->
1305        <key
1306            platform="carbon"
1307            sequence="CTRL+SHIFT+ARROW_UP"
1308            contextId="org.eclipse.core.runtime.xml"
1309            commandId="org.eclipse.wst.sse.ui.structure.select.enclosing"
1310            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" />
1311        <key
1312            platform="carbon"
1313            sequence="CTRL+SHIFT+ARROW_DOWN"
1314            contextId="org.eclipse.core.runtime.xml"
1315            commandId="org.eclipse.wst.sse.ui.structure.select.last"
1316            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" />
1317    </extension>
1318    <extension point="org.eclipse.core.contenttype.contentTypes">
1319        <content-type
1320            describer="com.android.ide.eclipse.adt.internal.editors.binaryxml.BinaryXMLDescriber"
1321            file-extensions="xml"
1322            id="com.android.ide.eclipse.adt.binaryXml"
1323            name="Android Binary XML"
1324            priority="high">
1325        </content-type>
1326    </extension>
1327    <extension point="org.eclipse.ui.startup">
1328        <startup class="com.android.ide.eclipse.adt.internal.welcome.AdtStartup"/>
1329    </extension>
1330
1331    <!-- workaround for bug 15003. -->
1332    <extension
1333        point="org.eclipse.core.filebuffers.documentCreation"
1334        id="binaryXmlfactories"
1335        name="Binary XML Document Factory Extension">
1336        <factory
1337            contentTypeId="com.android.ide.eclipse.adt.binaryXml"
1338            class="org.eclipse.wst.sse.core.internal.filebuffers.BasicStructuredDocumentFactory" />
1339    </extension>
1340</plugin>
1341