blob: 567a2dba184e295436d538eabb09abc738334163 [file] [log] [blame]
<!--
~ Copyright (C) 2019 The Android Open Source Project
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
~ You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
<idea-plugin xmlns:xi="http://www.w3.org/2001/XInclude">
<depends>JUnit</depends>
<depends>com.intellij.properties</depends>
<depends>org.jetbrains.plugins.gradle</depends>
<depends>org.intellij.groovy</depends>
<depends>com.android.tools.idea.smali</depends>
<depends>org.jetbrains.kotlin</depends>
<depends optional="true" config-file="maven-support.xml">org.jetbrains.idea.maven</depends>
<depends optional="true" config-file="test-ng.xml">TestNG-J</depends>
<depends optional="true" config-file="androidstudio.xml">com.intellij.modules.androidstudio</depends>
<depends optional="true" config-file="eclipse.xml">org.jetbrains.idea.eclipse</depends>
<depends optional="true" config-file="database-support.xml">com.intellij.database</depends>
<xi:include href="android-kotlin.xml" xpointer="xpointer(/idea-plugin/*)"/>
<xi:include href="android-junit.xml" xpointer="xpointer(/idea-plugin/*)"/>
<xi:include href="../com/android/tools/idea/ui/resourcemanager/META-INF/resources-explorer.xml" xpointer="xpointer(/idea-plugin/*)"/>
<xi:include href="../org/jetbrains/android/dom/android-xml.xml" xpointer="xpointer(/idea-plugin/*)"/>
<xi:include href="../org/jetbrains/android/inspections/lint/android-lint.xml" xpointer="xpointer(/idea-plugin/*)"/>
<resource-bundle>messages.AndroidBundle</resource-bundle>
<application-components>
<component>
<implementation-class>org.jetbrains.android.AndroidPlugin</implementation-class>
<interface-class>org.jetbrains.android.AndroidPlugin</interface-class>
</component>
<component>
<implementation-class>com.android.tools.idea.apk.viewer.ApkFileSystem</implementation-class>
</component>
</application-components>
<project-components>
<component>
<implementation-class>org.jetbrains.android.AndroidProjectComponent</implementation-class>
</component>
<component>
<implementation-class>com.android.tools.idea.stats.ProjectSizeUsageTracker</implementation-class>
</component>
<component>
<implementation-class>org.jetbrains.android.AndroidPropertyFilesUpdater</implementation-class>
</component>
<component>
<implementation-class>com.android.tools.idea.editors.theme.AndroidThemePreviewToolWindowManager</implementation-class>
<headless-implementation-class/>
</component>
<component>
<implementation-class>com.android.tools.idea.gradle.project.AndroidGradleProjectComponent</implementation-class>
</component>
<component>
<implementation-class>com.android.tools.idea.res.PsiProjectListener</implementation-class>
</component>
<component>
<implementation-class>com.android.tools.idea.res.ResourceNotificationManager</implementation-class>
</component>
<component>
<implementation-class>com.android.tools.idea.startup.ClearResourceCacheAfterFirstBuild</implementation-class>
</component>
<component>
<implementation-class>com.android.tools.idea.project.SyncTimestamp</implementation-class>
</component>
<component>
<implementation-class>com.android.tools.idea.profiling.view.EmptyManager</implementation-class>
</component>
<component>
<implementation-class>com.android.tools.idea.profiling.view.AnalysisResultsManager</implementation-class>
</component>
<component>
<implementation-class>com.android.tools.idea.res.ResourceClassRegistry</implementation-class>
</component>
<component>
<implementation-class>com.android.tools.idea.databinding.DataBindingProjectComponent</implementation-class>
<loadForDefaultProject/>
</component>
<component>
<implementation-class>com.android.tools.idea.stats.AnalyticsTestRunnerEventsListener</implementation-class>
</component>
</project-components>
<actions>
<action id="Project.CallGraph" internal="true" text="Contextual Call Paths" class="com.android.tools.idea.experimental.callgraph.CallGraphAction"/>
<action id="Project.InterproceduralThreadAnnotations" internal="true" text="Interprocedural Thread Annotation Checker" class="com.android.tools.idea.experimental.callgraph.WrongThreadInterproceduralAction"/>
<group id="Library.Properties">
<separator/>
<action id="LibraryProperties" class="com.android.tools.idea.gradle.actions.LibraryPropertiesAction"/>
<add-to-group group-id="ProjectViewPopupMenu" anchor="after" relative-to-action="RevealIn"/>
</group>
<action id="CleanGradleProject" class="com.android.tools.idea.gradle.actions.CleanProjectAction">
<add-to-group group-id="BuildMenu" anchor="after" relative-to-action="CompileProject"/>
</action>
<action id="RefreshLinkedCppProjects" class="com.android.tools.idea.gradle.actions.RefreshLinkedCppProjectsAction">
<add-to-group group-id="BuildMenu" anchor="after" relative-to-action="RebuildGradleProject"/>
</action>
<group id="GradleProjectStructureActions">
<separator/>
<action id="EditBuildTypes" class="com.android.tools.idea.gradle.actions.EditBuildTypesAction"/>
<action id="EditFlavors" class="com.android.tools.idea.gradle.actions.EditFlavorsAction"/>
<action id="EditLibraryAndDependencies" class="com.android.tools.idea.gradle.actions.EditLibraryAndDependenciesAction"/>
<action id="SelectBuildVariant" class="com.android.tools.idea.gradle.actions.SelectBuildVariantAction"/>
<add-to-group group-id="BuildMenu" anchor="last"/>
<separator/>
</group>
<group id="ExternalCppProject">
<action id="Android.LinkExternalCppProject" class="com.android.tools.idea.gradle.actions.LinkExternalCppProjectAction" />
<separator/>
<add-to-group group-id="ProjectViewPopupMenu" anchor="before" relative-to-action="CutCopyPasteGroup"/>
<add-to-group group-id="FileMenu" anchor="before" relative-to-action="FileMainSettingsGroup"/>
</group>
<action id="Android.SyncProject" class="com.android.tools.idea.gradle.actions.SyncProjectAction" icon="StudioIcons.Shell.Toolbar.GRADLE_SYNC">
<add-to-group group-id="FileMenu" anchor="after" relative-to-action="SaveAll"/>
</action>
<action class="com.android.tools.idea.actions.ExportProjectZip" id="Android.ExportProjectZip" text="Export to Zip File...">
<add-to-group group-id="ExportImportGroup" anchor="last"/>
</action>
<action id="LegacyNewAndroidComponent" class="com.android.tools.idea.actions.LegacyNewAndroidComponentAction">
<add-to-group group-id="NewGroup" anchor="after" relative-to-action="NewDir"/>
</action>
<action id="NewAndroidImageAsset" class="com.android.tools.idea.actions.NewImageAssetAction">
<add-to-group group-id="NewGroup" anchor="after" relative-to-action="NewDir"/>
</action>
<action id="NewAndroidVectorAsset" class="com.android.tools.idea.actions.NewVectorAssetAction">
<add-to-group group-id="NewGroup" anchor="after" relative-to-action="NewAndroidImageAsset"/>
</action>
<action id="Android.CreateResourcesActionGroup" text="Android resource file" class="org.jetbrains.android.actions.CreateResourceFileActionGroup">
<add-to-group group-id="NewGroup" anchor="before" relative-to-action="NewFile"/>
</action>
<action id="Android.CreateResourceDirectory" class="org.jetbrains.android.actions.CreateResourceDirectoryAction">
<add-to-group group-id="NewGroup" anchor="after" relative-to-action="Android.CreateResourcesActionGroup"/>
</action>
<action id="Android.CreateSampleDataDirectory" class="com.android.tools.idea.actions.CreateSampleDataDirectory">
<add-to-group group-id="NewGroup" anchor="after" relative-to-action="Android.CreateResourceDirectory"/>
</action>
<action id="Android.ConvertToNinePatch" class="com.android.tools.idea.actions.ConvertToNinePatchAction">
<add-to-group group-id="ProjectViewPopupMenu" anchor="last" />
</action>
<action id="Android.OpenStringResourceEditor" class="com.android.tools.idea.actions.OpenStringResourceEditorAction">
<add-to-group group-id="ProjectViewPopupMenu" anchor="after" relative-to-action="EditSource"/>
</action>
<group id="AndroidToolsGroup" class="org.jetbrains.android.actions.AndroidToolsActionGroup" text="Android" icon="AndroidIcons.Android">
<separator/>
<action id="Android.RunAndroidAvdManager"
class="org.jetbrains.android.actions.RunAndroidAvdManagerAction"
icon="StudioIcons.Shell.Toolbar.DEVICE_MANAGER"
description="Opens the Android virtual device (AVD) manager which manages emulator images and snapshots" />
<action id="Android.GenerateSourcesAction" class="org.jetbrains.android.actions.AndroidRegenerateSourcesAction"/>
<separator/>
<action id="Android.ShowThemeEditor" class="com.android.tools.idea.actions.AndroidShowThemeEditor"/>
<separator/>
<group id="AndroidToolsGroupExtension"/>
<separator/>
<add-to-group group-id="ToolsMenu" anchor="first"/>
</group>
<group id="Android.MainToolBarActionGroup">
<separator/>
<reference id="Android.SyncProject" />
<reference id="Android.RunAndroidAvdManager"/>
<separator/>
<add-to-group group-id="MainToolBar" anchor="before" relative-to-action="MainToolBarSettings" />
</group>
<group id="Android.DeviceExplorer.ActionsToolbar">
<action id="Android.DeviceExplorer.GotoSharedPrefsFolder" class="com.android.tools.idea.explorer.actions.GotoSharedPrefsFolderAction" icon="StudioIcons.DeviceExplorer.SHARED_PREFS" text="Navigate to shared preferences folder"/>
<action id="Android.DeviceExplorer.GotoDatabaseFolder" class="com.android.tools.idea.explorer.actions.GotoDatabaseFolderAction" icon="AndroidIcons.DeviceExplorer.DatabaseFolder" text="Navigate to database folder" />
<action id="Android.DeviceExplorer.GotoSdcardFolder" class="com.android.tools.idea.explorer.actions.GotoSdcardFolderAction" icon="StudioIcons.DeviceExplorer.SD_CARD_FOLDER" text="Navigate to SD card folder" />
<action id="Android.DeviceExplorer.Help" class="com.android.tools.idea.explorer.actions.HelpAction" icon="AllIcons.Actions.Help" text="Open Device Explorer help" />
</group>
<group id="Internal.Android" text="Android" popup="true" internal="true">
<action internal="true" id="Android.StopGradleDaemons" class="com.android.tools.idea.gradle.actions.StopGradleDaemonsAction" />
<action internal="true" id="Android.GetAdbAction" class="com.android.tools.idea.ddms.actions.GetAdbAction" />
<action internal="true" id="Android.TerminateAdbAction" class="com.android.tools.idea.ddms.actions.TerminateAdbAction" />
<action internal="true" id="Android.GenerateLayoutTestSkeletonAction" class="com.android.tools.idea.uibuilder.actions.GenerateLayoutTestSkeletonAction"/>
<action internal="true" id="StatisticsViewer" class="com.android.tools.idea.stats.ShowStatisticsViewerAction" text="Show statistics viewer"/>
<action internal="true" id="Android.EditFlags" class="com.android.tools.idea.flags.ShowStudioFlagsDialogAction"/>
<action internal="true" id="Android.ShowRoomSchema" class="com.android.tools.idea.actions.ShowRoomSchemaAction"/>
<action internal="true" id="Android.SwingProfiler" class="com.android.tools.adtui.actions.EnableSwingProfilerAction"/>
<action internal="true" id="IdeaNewProject" class="com.intellij.ide.actions.NewProjectAction" text="IDEA New Project..."/>
<action internal="true" id="Android.IdeaProjectStructure" class="com.android.tools.idea.structure.IdeaProjectStructureAction"/>
<action internal="true" id="Android.ShowSatisfactionDialog" class="com.android.tools.idea.stats.ShowSatisfactionDialogAction"/>
<action internal="true" id="Android.TransportDemo" class="com.android.tools.idea.transport.demo.TransportPipelineAction"/>
<action internal="true" id="Android.DumpProject" class="com.android.tools.idea.gradle.project.sync.internal.DumpProjectAction"/>
<add-to-group group-id="Internal"/>
</group>
<action id="Android.GenerateSignedApk" class="org.jetbrains.android.actions.GenerateSignedApkAction">
<add-to-group group-id="BuildMenu" anchor="last"/>
</action>
<action id="Android.BuildApk" class="com.android.tools.idea.gradle.actions.BuildApkAction">
<add-to-group group-id="BuildMenu" relative-to-action="Android.GenerateSignedApk" anchor="before"/>
</action>
<action id="Android.BuildBundle" class="com.android.tools.idea.gradle.actions.BuildBundleAction">
<add-to-group group-id="BuildMenu" relative-to-action="Android.BuildApk" anchor="after"/>
</action>
<action id="Android.AnalyzeApk" class="com.android.tools.idea.apk.viewer.AnalyzeApkAction">
<add-to-group group-id="BuildMenu" relative-to-action="Android.GenerateSignedApk" anchor="after"/>
</action>
<action id="AndroidConnectDebuggerAction"
class="org.jetbrains.android.actions.AndroidConnectDebuggerAction"
text="Attach Debugger to Android Process"
description="Attach Debugger to Android Process"
icon="AllIcons.Debugger.AttachToProcess">
<add-to-group group-id="ToolbarRunGroup" anchor="after" relative-to-action="RunnerActions"/>
<add-to-group group-id="RunMenu"/>
</action>
<action id="AndroidModularizeAction" class="com.android.tools.idea.refactoring.modularize.AndroidModularizeAction" text="Modularize..."
description="Moves classes and their associated resources to another module">
<add-to-group group-id="RefactoringMenu"/>
</action>
<action id="AndroidUnusedResourceAction" class="org.jetbrains.android.refactoring.UnusedResourcesAction" text="Remove Unused Resources..."
description="Removes unused resources">
<add-to-group group-id="RefactoringMenu"/>
</action>
<action id="AndroidMigrateToAppCompatAction" class="org.jetbrains.android.refactoring.MigrateToAppCompatAction" text="Migrate to AppCompat..."
description="Migrates app to AppCompat">
<add-to-group group-id="RefactoringMenu"/>
</action>
<action id="AndroidMigrateToAndroidxAction" class="org.jetbrains.android.refactoring.MigrateToAndroidxAction" text="Migrate to AndroidX..."
description="Migrates to AndroidX package names">
<add-to-group group-id="RefactoringMenu"/>
</action>
<action id="AndroidMigrateToResourceNamespacesAction" class="org.jetbrains.android.refactoring.MigrateToResourceNamespacesAction" text="Migrate to Resource Namespaces..."
description="Migrates to resource namespaces">
<add-to-group group-id="RefactoringMenu"/>
</action>
<action id="AndroidExtractStyleAction" class="org.jetbrains.android.refactoring.AndroidExtractStyleAction" text="St_yle..."
description="Pulls out style-related attributes from layout and extract them as a new style">
<add-to-group group-id="IntroduceActionsGroup"/>
</action>
<action id="AndroidExtractAsIncludeAction" class="org.jetbrains.android.refactoring.AndroidExtractAsIncludeAction"
text="_Layout..." description="Extracts one or more views into a separate layout">
<add-to-group group-id="IntroduceActionsGroup"/>
</action>
<action id="AndroidInlineStyleReferenceAction" class="org.jetbrains.android.refactoring.AndroidInlineStyleReferenceAction"
text="Inline _Style..." description="Inlines Android style">
<add-to-group group-id="RefactoringMenu"/>
</action>
<action id="AndroidInlineIncludeAction" class="org.jetbrains.android.refactoring.AndroidInlineIncludeAction"
text="Inline _Layout..." description="Inlines included Android layout"/>
<action id="AndroidFindStyleApplicationsAction" class="org.jetbrains.android.refactoring.AndroidFindStyleApplicationsAction"
text="Use Style _Where Possible..." description="Replaces attributes by Android style reference where possible">
<add-to-group group-id="RefactoringMenu"/>
</action>
<action id="AndroidAddRTLSupport" class="com.android.tools.idea.actions.AndroidAddRtlSupportAction"
text="Add RTL Support Where Possible..." description="Add light-to-left (RTL) support where possible">
<add-to-group group-id="RefactoringMenu"/>
</action>
<action id="InferAnnotations" text="Infer Annotations..." class="com.android.tools.idea.actions.annotations.InferSupportAnnotationsAction">
<add-to-group group-id="InspectCodeGroup" anchor="after" relative-to-action="InferNullity"/>
</action>
<action
id="SendFeedback"
class="com.android.tools.idea.actions.SendFeedbackAction"
overrides="true"
text="Submit _Feedback"
description="Submit feedback to the Android Studio team"/>
<action id="StoreDefaultLayout" class="com.android.tools.idea.common.actions.StoreDefaultWindowLayoutAction" overrides="true"/>
<action id="RestoreDefaultLayout" class="com.android.tools.idea.common.actions.RestoreDefaultWindowLayoutAction" overrides="true"/>
<action class="com.android.tools.idea.rendering.webp.ConvertToWebpAction" id="ConvertToWebp" text="Convert to WebP...">
<add-to-group group-id="ProjectViewPopupMenu"/>
<add-to-group group-id="Images.EditorPopupMenu" relative-to-action="RefactoringMenu" anchor="after"/>
</action>
<action class="com.android.tools.idea.rendering.webp.ConvertFromWebpAction" id="ConvertFromWebp" text="Convert to PNG...">
<add-to-group group-id="ProjectViewPopupMenu"/>
<add-to-group group-id="Images.EditorPopupMenu" relative-to-action="RefactoringMenu" anchor="after"/>
</action>
<action
id="LayoutEditor.AddSampleData"
class="com.android.tools.idea.sampledata.AddSampleDataFileAction"
text="Add Sample Data File"
description="Adds a new data sample file">
</action>
<action id="Android.Device.Picker.Help" class="com.android.tools.idea.actions.DevicePickerHelpAction"/>
<action id="Android.FixAndroidRunConfigurations"
class="com.android.tools.idea.gradle.project.FixAndroidRunConfigurationsAction"
text="Fix Android Run Configurations"
description="Add &quot;Gradle-aware Make&quot; launch task to Android Run Configuration(s) if it is missing">
</action>
</actions>
<extensions defaultExtensionNs="org.jetbrains.plugins.gradle">
<projectResolve implementation="com.android.tools.idea.gradle.project.sync.idea.AndroidGradleProjectResolver"/>
<importCustomizer implementation="com.android.tools.idea.gradle.project.AndroidStudioGradleImportCustomizer"/>
<taskManager implementation="com.android.tools.idea.gradle.task.AndroidGradleTaskManager"/>
<settingsControlProvider implementation="com.android.tools.idea.gradle.project.AndroidStudioGradleSettingsControlProvider"/>
<testTasksProvider implementation="com.android.tools.idea.gradle.run.AndroidGradleTestTasksProvider"/>
<orderEnumerationHandlerFactory implementation="com.android.tools.idea.gradle.project.AndroidGradleOrderEnumeratorHandlerFactory"/>
</extensions>
<extensions defaultExtensionNs="com.intellij">
<projectOpenProcessor implementation="com.android.tools.idea.gradle.project.AndroidGradleProjectOpenProcessor" id="android-gradle" order="before java" />
<projectViewPane implementation="com.android.tools.idea.navigator.AndroidProjectViewPane"/>
<projectTaskRunner implementation="com.android.tools.idea.gradle.project.build.AndroidProjectTaskRunner" id="android"
order="first, before gradle"/>
<postStartupActivity implementation="com.android.tools.idea.gradle.project.AndroidGradleProjectStartupActivity"/>
<applicationService serviceInterface="com.android.tools.idea.res.ResourceFolderRepositoryFileCache"
serviceImplementation="com.android.tools.idea.res.ResourceFolderRepositoryFileCacheImpl"/>
<applicationService serviceImplementation="com.android.tools.idea.res.FrameworkResourceRepositoryManager"/>
<postStartupActivity implementation="com.android.tools.idea.res.ResourceFolderRepositoryFileCacheImpl$MaintenanceActivity"/>
<cachesInvalidator implementation="com.android.tools.idea.res.ResourceFolderRepositoryFileCacheImpl$CacheInvalidator"/>
<cachesInvalidator implementation="com.android.tools.idea.gradle.project.sync.idea.data.IdeaSyncCachesInvalidator"/>
<cachesInvalidator implementation="com.android.tools.idea.gradle.project.metrics.CacheInvalidatorMetricCollector"/>
<postStartupActivity implementation="com.android.tools.idea.res.ResourceFolderRepositoryFileCacheImpl$PopulateCachesActivity"/>
<externalSystemTaskNotificationListener implementation="com.android.tools.idea.gradle.AndroidGradleImportTaskNotificationListener"/>
<externalSystemNotificationExtension implementation="com.android.tools.idea.gradle.project.sync.idea.notification.GradleNotificationExtension"/>
<externalProjectDataService implementation="com.android.tools.idea.gradle.project.sync.idea.data.service.GradleModuleModelDataService" />
<externalProjectDataService implementation="com.android.tools.idea.gradle.project.sync.idea.data.service.SyncIssueDataService" />
<externalProjectDataService implementation="com.android.tools.idea.gradle.project.sync.idea.data.service.AndroidModuleModelDataService" />
<externalProjectDataService implementation="com.android.tools.idea.gradle.project.sync.idea.data.service.NdkModuleModelDataService" />
<externalProjectDataService implementation="com.android.tools.idea.gradle.project.sync.idea.data.service.JavaModuleModelDataService" />
<externalProjectDataService implementation="com.android.tools.idea.gradle.project.sync.idea.data.service.ProjectCleanupDataService" />
<lang.foldingBuilder language="JAVA" implementationClass="com.android.tools.idea.folding.ResourceFoldingBuilder" />
<codeFoldingOptionsProvider instance="com.android.tools.idea.folding.AndroidCodeFoldingOptionsProvider"/>
<console.folding implementation="com.android.tools.idea.logcat.ExceptionFolding"/>
<consoleActionsPostProcessor implementation="com.android.tools.idea.logcat.LogcatConsoleActionsPostProcessor" />
<applicationService serviceImplementation="com.android.tools.idea.welcome.config.AndroidFirstRunPersistentData" />
<applicationService serviceImplementation="com.android.tools.idea.IdeInfo" />
<applicationService serviceImplementation="com.android.tools.idea.ui.GuiTestingService"/>
<applicationService serviceImplementation="com.android.tools.idea.flags.StudioFlagSettings"/>
<applicationService serviceImplementation="com.android.tools.idea.logcat.AndroidLogcatService" />
<applicationService serviceImplementation="com.android.tools.idea.folding.AndroidFoldingSettings"/>
<applicationService serviceImplementation="com.android.tools.idea.gradle.editor.ui.GradleEditorEntityUiRegistry"/>
<applicationService serviceImplementation="com.android.tools.idea.instantapp.InstantAppSdks" />
<applicationService serviceImplementation="com.android.tools.idea.sdk.IdeSdks"/>
<applicationService serviceImplementation="com.android.tools.idea.sdk.AndroidSdks"/>
<applicationService serviceImplementation="com.android.tools.idea.sdk.Jdks"/>
<applicationService serviceImplementation="com.android.tools.idea.project.AndroidRunConfigurations"/>
<applicationService serviceImplementation="com.android.tools.idea.project.CustomProjectTypeImporter$MainImporter"/>
<applicationService serviceImplementation="com.android.tools.idea.gradle.util.EmbeddedDistributionPaths"/>
<applicationService serviceImplementation="com.android.tools.idea.gradle.project.sync.compatibility.VersionCompatibilityChecker"/>
<applicationService serviceImplementation="com.android.tools.idea.gradle.project.common.GradleInitScripts"/>
<applicationService serviceImplementation="com.android.tools.idea.gradle.project.importing.GradleProjectImporter"/>
<applicationService serviceImplementation="com.android.tools.idea.gradle.service.repo.ExternalRepository"/>
<applicationService serviceImplementation="com.android.tools.idea.gradle.project.sync.SdkSync"/>
<applicationService serviceImplementation="com.android.tools.idea.gradle.project.sync.precheck.PreSyncChecks"/>
<applicationService serviceImplementation="com.android.tools.idea.gradle.project.sync.GradleSyncInvoker"/>
<applicationService serviceImplementation="com.android.tools.idea.gradle.project.sync.cleanup.PreSyncProjectCleanUp"/>
<applicationService serviceImplementation="com.android.tools.idea.gradle.project.sync.issues.SyncIssuesReporter"/>
<applicationService serviceImplementation="com.android.tools.idea.gradle.project.sync.issues.UnresolvedDependenciesReporter"/>
<applicationService serviceImplementation="com.android.tools.idea.gradle.project.sync.setup.module.dependency.DependenciesExtractor"/>
<applicationService serviceImplementation="com.android.tools.idea.gradle.project.SupportedModuleChecker"/>
<applicationService serviceImplementation="com.android.tools.idea.gradle.LibraryFilePaths"/>
<applicationService serviceImplementation="com.android.tools.idea.gradle.util.BuildFileProcessor"/>
<applicationService serviceImplementation="com.android.tools.idea.gradle.util.GradleVersions"/>
<applicationService serviceImplementation="com.android.tools.idea.gradle.util.GradleProjectSettingsFinder"/>
<applicationService serviceImplementation="com.android.tools.idea.gradle.util.GradleLocalCache"/>
<applicationService serviceImplementation="com.android.tools.idea.res.AarResourceRepositoryCache"/>
<applicationService serviceImplementation="com.android.tools.idea.run.InstalledApkCache"/>
<applicationService serviceImplementation="com.android.tools.idea.run.InstalledPatchCache"/>
<applicationService serviceImplementation="com.android.tools.idea.run.DeploymentApplicationService" />
<applicationService serviceImplementation="com.android.tools.idea.templates.RepositoryUrlManager"/>
<applicationService serviceInterface="org.jetbrains.android.uipreview.AndroidEditorSettings"
serviceImplementation="org.jetbrains.android.uipreview.AndroidEditorSettings"/>
<applicationService serviceImplementation="com.android.tools.idea.profiling.capture.CaptureTypeService"/>
<fileEditorProvider implementation="com.android.tools.idea.profiling.capture.CaptureEditorProvider" />
<stepsBeforeRunProvider implementation="com.android.tools.idea.gradle.run.MakeBeforeRunTaskProvider" />
<projectConfigurable groupId="build" id="gradle.compiler"
provider="com.android.tools.idea.gradle.project.build.compiler.GradleCompilerSettingsConfigurableProvider"/>
<compiler.optionsManager implementation="com.android.tools.idea.gradle.project.build.compiler.HideCompilerOptions" />
<applicationConfigurable groupId="tools" id="device.file.explorer"
provider="com.android.tools.idea.explorer.options.DeviceFileExplorerConfigurableProvider"/>
<applicationService serviceInterface="com.android.tools.idea.explorer.options.DeviceFileExplorerSettings"
serviceImplementation="com.android.tools.idea.explorer.options.DeviceFileExplorerSettings"/>
<applicationConfigurable groupId="editor" groupWeight="115" id="nele.options"
provider="com.android.tools.idea.uibuilder.options.NlOptionsConfigurableProvider"/>
<applicationConfigurable groupId="build" id="instant.run"
provider="com.android.tools.idea.deploy.DeploymentConfigurableProvider"/>
<applicationService serviceImplementation="com.android.tools.idea.deploy.DeploymentConfiguration"/>
<projectConfigurable instance="com.android.tools.idea.flags.ExperimentalSettingsConfigurable"
id ="experimental" displayName="Experimental" groupId="root" groupWeight="-999"/>
<applicationService serviceInterface="com.android.tools.idea.gradle.project.GradleExperimentalSettings"
serviceImplementation="com.android.tools.idea.gradle.project.GradleExperimentalSettings"/>
<applicationService serviceImplementation="com.android.tools.idea.sdk.StudioSettingsController"/>
<projectService serviceInterface="com.android.tools.idea.gradle.structure.configurables.ui.PsUISettings"
serviceImplementation="com.android.tools.idea.gradle.structure.configurables.ui.PsUISettings"/>
<applicationService serviceInterface="com.intellij.openapi.help.HelpManager"
serviceImplementation="com.android.tools.idea.help.StudioHelpManagerImpl"
overrides="true"/>
<applicationService serviceImplementation="com.android.tools.idea.diagnostics.crash.StudioCrashReporter" />
<applicationService serviceInterface="com.android.tools.idea.fonts.DownloadableFontCacheService"
serviceImplementation="com.android.tools.idea.fonts.DownloadableFontCacheServiceImpl" />
<applicationService serviceImplementation="com.android.tools.idea.gradle.project.build.invoker.GradleTaskFinder"/>
<applicationService serviceImplementation="com.android.tools.idea.gradle.project.sync.ng.ExtraGradleSyncModelsManager"/>
<applicationService serviceImplementation="com.android.tools.idea.concurrency.AndroidIoManager"/>
<errorHandler implementation="com.android.tools.idea.diagnostics.error.ErrorReporter"/>
<fileTypeFactory implementation="org.jetbrains.android.fileTypes.AndroidFileTypeFactory"/>
<fileEditorProvider implementation="com.android.tools.idea.editors.NinePatchEditorProvider" />
<fileEditorProvider implementation="com.android.tools.idea.editors.theme.ThemeEditorProvider"/>
<fileEditorProvider implementation="com.android.tools.idea.editors.manifest.ManifestEditorProvider"/>
<fileEditorProvider implementation="com.android.tools.idea.apk.viewer.ApkEditorProvider"/>
<fileEditorProvider implementation="com.android.tools.idea.editors.fonts.FontEditorProvider" />
<runConfigurationProducer implementation="com.android.tools.idea.run.AndroidConfigurationProducer"/>
<runConfigurationProducer implementation="com.android.tools.idea.testartifacts.instrumented.AndroidTestConfigurationProducer" order="first"/>
<configurationType implementation="com.android.tools.idea.run.AndroidRunConfigurationType"/>
<configurationType implementation="com.android.tools.idea.testartifacts.instrumented.AndroidTestRunConfigurationType"/>
<programRunner implementation="com.android.tools.idea.run.AndroidProgramRunner" order="first"/>
<facetType implementation="org.jetbrains.android.facet.AndroidFacetType"/>
<facetType implementation="com.android.tools.idea.gradle.project.facet.gradle.GradleFacetType"/>
<facetType implementation="com.android.tools.idea.gradle.project.facet.ndk.NdkFacetType"/>
<facetType implementation="com.android.tools.idea.gradle.project.facet.java.JavaFacetType"/>
<facetType implementation="com.android.tools.idea.apk.ApkFacetType"/>
<framework.detector implementation="org.jetbrains.android.facet.AndroidFrameworkDetector"/>
<fileTemplateGroup implementation="org.jetbrains.android.AndroidFileTemplateProvider"/>
<moduleBuilder builderClass="com.android.tools.idea.npw.ideahost.AndroidModuleBuilder"/>
<defaultLiveTemplatesProvider implementation="com.android.tools.idea.templates.live.AndroidLiveTemplatesProvider"/>
<completion.contributor language="JAVA" implementationClass="org.jetbrains.android.AndroidJavaCompletionContributor" order="first"/>
<completion.contributor language="JAVA" implementationClass="org.jetbrains.android.inspections.ResourceTypeCompletionContributor"
id="resourceTypeCompletion" order="after javaBasic2ClassName"/>
<completion.contributor language="TEXT" implementationClass="com.android.tools.idea.run.AndroidActivityAliasCompletionContributor" order="first"/>
<renamePsiElementProcessor implementation="org.jetbrains.android.AndroidResourceRenameResourceProcessor" order="first"/>
<renamePsiElementProcessor implementation="org.jetbrains.android.AndroidApplicationPackageRenameProcessor" order="first"/>
<java.languageFeatureProvider implementation="org.jetbrains.android.inspections.AndroidLanguageFeatureProvider"/>
<intentionAction>
<className>org.jetbrains.android.intentions.AddActivityToManifest</className>
<category>Android</category>
</intentionAction>
<intentionAction>
<className>org.jetbrains.android.intentions.AddBroadcastReceiverToManifest</className>
<category>Android</category>
</intentionAction>
<intentionAction>
<className>org.jetbrains.android.intentions.AddServiceToManifest</className>
<category>Android</category>
</intentionAction>
<intentionAction>
<className>org.jetbrains.android.intentions.AndroidAddStringResourceAction</className>
<category>Android</category>
</intentionAction>
<intentionAction>
<className>org.jetbrains.android.intentions.AndroidExtractDimensionAction</className>
<category>Android</category>
</intentionAction>
<intentionAction>
<className>org.jetbrains.android.intentions.AndroidExtractColorAction</className>
<category>Android</category>
</intentionAction>
<intentionAction>
<className>org.jetbrains.android.intentions.ImplementParcelableAction</className>
<category>Android</category>
</intentionAction>
<intentionAction>
<className>org.jetbrains.android.intentions.RedoParcelableAction</className>
<category>Android</category>
</intentionAction>
<intentionAction>
<className>org.jetbrains.android.intentions.RemoveParcelableAction</className>
<category>Android</category>
</intentionAction>
<intentionAction>
<className>org.jetbrains.android.intentions.AndroidCreateOnClickHandlerAction</className>
<category>Android</category>
</intentionAction>
<intentionAction>
<className>org.jetbrains.android.intentions.OverrideResourceAction</className>
<category>Android</category>
</intentionAction>
<intentionAction>
<className>org.jetbrains.android.intentions.AndroidAddLibraryDependencyAction</className>
<category>Android</category>
</intentionAction>
<localInspection language="JAVA" shortName="AndroidNonConstantResIdsInSwitch" bundle="messages.AndroidBundle"
key="android.inspections.non.constant.res.ids.in.switch.name" groupKey="android.inspections.group.name"
enabledByDefault="true" level="ERROR"
implementationClass="org.jetbrains.android.inspections.AndroidNonConstantResIdsInSwitchInspection"/>
<globalInspection hasStaticDescription="true" shortName="PermissionUsageInspection" displayName="Permission Check for Location APIs" bundle="messages.AndroidBundle" enabledByDefault="false" level="WARNING" implementationClass="com.android.tools.idea.experimental.PermissionUsageInspection"/>
<colorSettingsPage implementation="com.android.tools.idea.logcat.AndroidLogcatColorPage"/>
<findUsagesHandlerFactory implementation="org.jetbrains.android.AndroidFindUsagesHandlerFactory"/>
<usageTypeProvider implementation="org.jetbrains.android.refactoring.GradleUsageTypeProvider" order="last" />
<usageTypeProvider implementation="org.jetbrains.android.refactoring.AndroidDomUsageTypeProvider" order="first" />
<usageTypeProvider implementation="org.jetbrains.android.refactoring.AndroidResourceReferenceInCodeUsageTypeProvider" order="first" />
<project.converterProvider implementation="org.jetbrains.android.converter.AndroidModuleConverterProvider"/>
<project.converterProvider implementation="org.jetbrains.android.converter.AndroidModuleToJavaModuleConverterProvider"/>
<project.converterProvider implementation="org.jetbrains.android.converter.AndroidProguardOptionsConverterProvider"/>
<annotator language="JAVA" implementationClass="org.jetbrains.android.AndroidColorAnnotator" order="first"/>
<externalAnnotator language="JAVA" implementationClass="org.jetbrains.android.AndroidJavaResourceExternalAnnotator"/>
<facet.toolWindow id="Logcat"
facetIdList="android"
anchor="bottom"
icon="StudioIcons.Shell.ToolWindows.LOGCAT"
conditionClass="com.android.tools.idea.logcat.AndroidLogcatToolWindowFactory"
factoryClass="com.android.tools.idea.logcat.AndroidLogcatToolWindowFactory"/>
<facet.toolWindow id="Build Variants"
facetIdList="android,android-gradle"
anchor="left"
secondary="true"
icon="StudioIcons.Shell.ToolWindows.BUILD_VARIANTS"
factoryClass="com.android.tools.idea.gradle.variant.view.BuildVariantToolWindowFactory"/>
<facet.toolWindow id="Device File Explorer"
facetIdList="android"
anchor="right"
secondary="true"
conditionClass="com.android.tools.idea.explorer.DeviceExplorerToolWindowCondition"
icon="StudioIcons.Shell.ToolWindows.DEVICE_EXPLORER"
factoryClass="com.android.tools.idea.explorer.DeviceExplorerToolWindowFactory"/>
<facet.toolWindow id="Captures"
facetIdList="android"
anchor="left"
secondary="true"
icon="StudioIcons.Shell.ToolWindows.CAPTURES"
factoryClass="com.android.tools.idea.profiling.view.CapturesToolWindowFactory"/>
<applicationService serviceImplementation="com.android.tools.idea.gradle.project.settings.AndroidStudioGradleIdeSettings"/>
<applicationConfigurable provider="com.android.tools.idea.gradle.project.settings.AndroidStudioGradleIdeSettingsConfigurableProvider"
nonDefaultProject="true"
id ="android.studio.gradle" displayName="Android Studio" parentId="reference.settingsdialog.project.gradle"/>
<projectService serviceImplementation="com.android.tools.idea.gradle.plugin.AndroidPluginVersionUpdater"/>
<projectService serviceImplementation="com.android.tools.idea.project.AndroidProjectBuildNotifications"/>
<projectService serviceImplementation="com.android.tools.idea.gradle.variant.view.BuildVariantView"/>
<projectService serviceImplementation="com.android.tools.idea.gradle.variant.view.BuildVariantUpdater"/>
<projectService serviceImplementation="com.android.tools.idea.gradle.project.build.invoker.GradleBuildInvoker"/>
<projectService serviceImplementation="com.android.tools.idea.project.AndroidProjectInfo"/>
<projectService serviceImplementation="com.android.tools.idea.gradle.project.GradleProjectInfo"/>
<projectService serviceImplementation="com.android.tools.idea.apk.debugging.DexSourceFiles"/>
<projectService serviceImplementation="com.android.tools.idea.gradle.actions.BuildsToPathsMapper"/>
<projectService serviceImplementation="com.android.tools.idea.gradle.project.ProjectStructure"/>
<projectService serviceImplementation="com.android.tools.idea.gradle.project.RunConfigurationChecker"/>
<projectService serviceImplementation="com.android.tools.idea.gradle.project.build.GradleProjectBuilder"/>
<projectService serviceImplementation="com.android.tools.idea.gradle.project.build.PostProjectBuildTasksExecutor"/>
<projectService serviceImplementation="com.android.tools.idea.gradle.project.BuildSettings"/>
<projectService serviceImplementation="com.android.tools.idea.gradle.project.sync.idea.data.DataNodeCaches"/>
<projectService serviceImplementation="com.android.tools.idea.gradle.project.sync.projectsystem.GradleSyncResultPublisher"/>
<projectService serviceImplementation="com.android.tools.idea.gradle.project.sync.setup.post.PostSyncProjectSetup"/>
<projectService serviceImplementation="com.android.tools.idea.gradle.project.sync.setup.post.PluginVersionUpgrade"/>
<projectService serviceImplementation="com.android.tools.idea.gradle.project.sync.GradleSyncState"/>
<projectService serviceInterface="com.android.tools.idea.gradle.project.sync.issues.SyncIssueUsageReporter"
serviceImplementation="com.android.tools.idea.gradle.project.sync.issues.SyncIssueUsageReporterImpl"/>
<projectService serviceImplementation="com.android.tools.idea.gradle.project.sync.GradleFiles"/>
<projectService serviceImplementation="com.android.tools.idea.gradle.project.build.GradleBuildState"/>
<projectService serviceImplementation="com.android.tools.idea.project.AndroidNotification"/>
<projectService serviceImplementation="com.android.tools.idea.project.IndexingSuspender"/>
<projectService serviceImplementation="com.android.tools.idea.gradle.project.sync.setup.module.common.DependencySetupIssues"/>
<projectService serviceImplementation="com.android.tools.idea.gradle.project.sync.messages.GradleSyncMessages"/>
<projectService serviceImplementation="com.android.tools.idea.gradle.project.sync.issues.SyncIssueRegister" />
<projectService serviceImplementation="com.android.tools.idea.gradle.structure.AndroidProjectStructureConfigurable"/>
<projectService serviceImplementation="com.android.tools.idea.structure.dialog.ProjectStructureConfigurable"/>
<projectService serviceImplementation="com.android.tools.idea.gradle.project.build.invoker.messages.GradleBuildTreeViewConfiguration"/>
<projectService serviceImplementation="com.android.tools.idea.run.DevicePickerStateService" />
<projectService serviceImplementation="com.android.tools.idea.stats.RunStatsService" />
<projectService serviceImplementation="com.android.tools.idea.run.DeploymentService" />
<projectService serviceImplementation="com.android.tools.idea.run.profiler.CpuProfilerConfigsState" />
<projectService serviceInterface="com.android.tools.idea.gradle.project.build.compiler.AndroidGradleBuildConfiguration"
serviceImplementation="com.android.tools.idea.gradle.project.build.compiler.AndroidGradleBuildConfiguration"/>
<projectService serviceInterface="com.android.tools.idea.logcat.AndroidLogcatPreferences"
serviceImplementation="com.android.tools.idea.logcat.AndroidLogcatPreferences"/>
<projectService serviceInterface="com.android.tools.idea.logcat.PersistentAndroidLogFilters"
serviceImplementation="com.android.tools.idea.logcat.PersistentAndroidLogFilters"/>
<projectService serviceInterface="org.jetbrains.android.maven.AndroidExternalApklibDependenciesManager"
serviceImplementation="org.jetbrains.android.maven.AndroidExternalApklibDependenciesManager"/>
<projectService serviceInterface="com.android.tools.idea.configurations.ConfigurationStateManager"
serviceImplementation="com.android.tools.idea.configurations.ConfigurationStateManager"/>
<projectService serviceImplementation="com.android.tools.idea.gradle.structure.daemon.AvailableLibraryUpdateStorage"/>
<referencesSearch implementation="org.jetbrains.android.AndroidReferenceSearchExecutor"/>
<projectService serviceInterface="org.jetbrains.android.compiler.AndroidDexCompilerConfiguration"
serviceImplementation="org.jetbrains.android.compiler.AndroidDexCompilerConfiguration"/>
<projectService serviceInterface="org.jetbrains.android.exportSignedPackage.GenerateSignedApkSettings"
serviceImplementation="org.jetbrains.android.exportSignedPackage.GenerateSignedApkSettings"/>
<projectService serviceInterface="com.intellij.openapi.roots.ui.configuration.ProjectSettingsService"
serviceImplementation="com.android.tools.idea.gradle.structure.editors.AndroidProjectSettingsService"
overrides="true"/>
<projectService serviceImplementation="com.android.tools.idea.profiling.capture.CaptureService"/>
<projectService serviceInterface="com.android.tools.idea.debug.ResourceIdResolver"
serviceImplementation="com.android.tools.idea.debug.ProjectResourceIdResolver"/>
<projectService serviceImplementation="com.android.tools.idea.gradle.dependencies.GradleDependencyManager"/>
<projectService serviceImplementation="com.android.tools.idea.res.AndroidProjectRootListener"/>
<projectService serviceImplementation="com.android.tools.idea.res.ResourceFolderRegistry"/>
<projectService serviceImplementation="com.android.tools.idea.res.SampleDataListener"/>
<projectService serviceImplementation="com.android.tools.idea.structure.services.DeveloperServices" />
<projectService serviceImplementation="com.android.tools.idea.npw.assetstudio.wizard.GenerateIconsModel$StateStorage" />
<projectService serviceImplementation="com.android.tools.idea.rendering.RenderSettings" />
<projectService serviceImplementation="com.android.tools.idea.gradle.dsl.api.ProjectBuildModelHandler" />
<projectService serviceInterface="com.android.tools.idea.databinding.analytics.api.DataBindingTracker"
serviceImplementation="com.android.tools.idea.databinding.analytics.DataBindingDefaultTracker"/>
<moduleService serviceImplementation="org.jetbrains.android.compiler.ModuleSourceAutogenerating" />
<moduleService serviceImplementation="org.jetbrains.android.TagToClassMapperImpl"
serviceInterface="com.android.tools.idea.psi.TagToClassMapper" />
<moduleService serviceImplementation="org.jetbrains.android.resourceManagers.ModuleResourceManagers" />
<moduleService serviceImplementation="org.jetbrains.android.facet.ResourceFolderManager" />
<moduleService serviceImplementation="com.android.tools.idea.res.ResourceIdManager" />
<projectConfigurable instance="org.jetbrains.android.compiler.AndroidDexCompilerSettingsConfigurable" id="android.dex.compiler"
key="android.dex.compiler.configurable.display.name" bundle="messages.AndroidBundle" parentId="project.propCompiler"/>
<problemFileHighlightFilter implementation="org.jetbrains.android.AndroidProblemFileHighlightingFilter"/>
<lang.documentationProvider language="JAVA" implementationClass="org.jetbrains.android.AndroidDocumentationProvider" order="first"/>
<sdkType implementation="org.jetbrains.android.sdk.AndroidSdkType"/>
<gotoDeclarationHandler implementation="org.jetbrains.android.AndroidGotoDeclarationHandler"/>
<gotoSymbolContributor implementation="com.android.tools.idea.res.psi.GoToAndroidResourceContributor"/>
<importFilter implementation="com.android.tools.idea.editors.AndroidImportFilter" />
<overrideImplementsAnnotationsHandler implementation="com.android.tools.idea.editors.AndroidOverrideAnnotationsHandler" />
<editorTabTitleProvider implementation="com.android.tools.idea.editors.AndroidEditorTitleProvider"/>
<iconProvider implementation="com.android.tools.idea.fileTypes.AndroidIconProvider" id="androidIcons"/>
<refactoring.safeDeleteProcessor id="android_component" order="before javaProcessor"
implementation="org.jetbrains.android.AndroidComponentSafeDeleteProcessor"/>
<refactoring.safeDeleteProcessor id="android_resource_file" implementation="org.jetbrains.android.AndroidResourceFileSafeDeleteProcessor"/>
<usageTargetProvider implementation="org.jetbrains.android.AndroidUsagesTargetProvider"/>
<renameHandler implementation="org.jetbrains.android.AndroidRenameHandler" order="first"/>
<elementDescriptionProvider implementation="org.jetbrains.android.ResourceFieldElementWrapper$DescriptionProvider" />
<renameInputValidator implementation="com.android.tools.idea.gradle.refactoring.GradleAwareSourceRootRenameValidator"/>
<codeInsight.unresolvedReferenceQuickFixProvider implementation="org.jetbrains.android.inspections.AndroidResourceQuickFixProvider"/>
<codeInsight.unresolvedReferenceQuickFixProvider implementation="com.android.tools.idea.imports.AndroidMavenImportJavaResolver"/>
<!-- Finder for light R classes, runs before the default finder. -->
<java.elementFinder implementation="com.android.tools.idea.res.ProjectSystemPsiClassFinder" order="first, before java"/>
<!-- Finder for light packages, runs last. Light packages are only used if regular PsiPackages don't exist for light classes. -->
<java.elementFinder implementation="com.android.tools.idea.res.ProjectSystemPsiPackageFinder" order="last"/>
<java.shortNamesCache implementation="com.android.tools.idea.res.AndroidResourcesShortNamesCache"/>
<java.shortNamesCache implementation="com.android.tools.idea.res.AndroidManifestShortNamesCache"/>
<weigher key="proximity"
implementationClass="com.android.tools.idea.res.AndroidLightClassWeigher"
id="javaInheritance"
order="before explicitlyImported"/>
<resolveScopeEnlarger implementation="org.jetbrains.android.AndroidResolveScopeEnlarger" />
<java.elementFinder implementation="com.android.tools.idea.res.AndroidInternalRClassFinder"/>
<projectService serviceImplementation="com.android.tools.idea.res.AndroidLightPackage$InstanceCache" />
<projectService serviceImplementation="com.android.tools.idea.res.ProjectLightResourceClassService" />
<projectService serviceImplementation="com.android.tools.idea.res.AndroidManifestClassPsiElementFinder" />
<projectService serviceImplementation="com.android.tools.idea.res.ProjectNamespacingStatusService" />
<packaging.elementType implementation="org.jetbrains.android.compiler.artifact.AndroidFinalPackageElementType"/>
<packaging.sourceItemProvider implementation="org.jetbrains.android.compiler.artifact.AndroidSourceItemsProvider"/>
<packaging.artifactPropertiesProvider implementation="org.jetbrains.android.compiler.artifact.AndroidArtifactPropertiesProvider"/>
<packaging.artifactType implementation="org.jetbrains.android.compiler.artifact.AndroidApplicationArtifactType"/>
<editorNotificationProvider implementation="com.android.tools.idea.gradle.notification.GeneratedFileNotificationProvider"/>
<editorNotificationProvider implementation="com.android.tools.idea.gradle.notification.AutoImportNotificationProvider"/>
<editorNotificationProvider implementation="com.android.tools.idea.gradle.notification.ProjectSyncStatusNotificationProvider"/>
<editorNotificationProvider implementation="com.android.tools.idea.apk.debugging.editor.SmaliFileNotificationProvider"/>
<editorNotificationProvider implementation="com.android.tools.idea.editors.theme.ThemeEditorNotificationProvider"/>
<editorNotificationProvider implementation="com.android.tools.idea.editors.AttachAndroidSdkSourcesNotificationProvider"/>
<compileServer.plugin classpath="jps/android-jps-plugin.jar;android-common.jar;build-common.jar;android-rt.jar;android-extensions-ide.jar;sdk-common.jar"/>
<compileServer.plugin classpath="repository.jar;sdklib.jar;jarutils.jar;layoutlib-api.jar;manifest-merger.jar"/>
<buildProcess.parametersProvider implementation="org.jetbrains.android.compiler.AndroidBuildProcessParametersProvider"/>
<inlineActionHandler implementation="org.jetbrains.android.refactoring.AndroidInlineStyleHandler"/>
<inlineActionHandler implementation="org.jetbrains.android.refactoring.AndroidInlineLayoutHandler" order="first"/>
<editorNotificationProvider implementation="org.jetbrains.android.sdk.AndroidSdkNotConfiguredNotificationProvider"/>
<compiler.buildTargetScopeProvider implementation="org.jetbrains.android.compiler.AndroidBuildTargetScopeProvider"/>
<buildProcess.parametersProvider implementation="org.jetbrains.android.compiler.AndroidBuildProcessParametersProvider"/>
<treeStructureProvider implementation="com.android.tools.idea.gradle.projectView.AndroidTreeStructureProvider" id="android"/>
<projectViewNodeDecorator id="android.build.node.decorator" implementation="com.android.tools.idea.gradle.projectView.BuildNodeDecorator"/>
<projectViewNodeDecorator id="android.module.node.decorator" implementation="com.android.tools.idea.gradle.projectView.ModuleNodeIconDecorator"/>
<spellchecker.bundledDictionaryProvider implementation="org.jetbrains.android.spellchecker.AndroidBundledDictionaryProvider"/>
<projectStructureDetector implementation="org.jetbrains.android.newProject.AndroidProjectStructureDetector"/>
<resolveScopeProvider implementation="org.jetbrains.android.AndroidSdkResolveScopeProvider"/>
<gotoRelatedProvider implementation="org.jetbrains.android.AndroidGotoRelatedProvider"/>
<codeInsight.lineMarkerProvider language="JAVA" implementationClass="org.jetbrains.android.AndroidLineMarkerProvider"/>
<implicitUsageProvider implementation="org.jetbrains.android.AndroidClassMembersImplicitUsagesProvider"/>
<spellchecker.support language="TEXT" implementationClass="org.jetbrains.android.spellchecker.AndroidTextSpellcheckingStrategy" order="first"/>
<spellchecker.support language="Properties" implementationClass="org.jetbrains.android.spellchecker.AndroidTextSpellcheckingStrategy" order="first"/>
<spellchecker.support language="Groovy" implementationClass="org.jetbrains.android.spellchecker.AndroidGradleSpellcheckingStrategy" order="first"/>
<deadCode implementation="org.jetbrains.android.inspections.AndroidComponentEntryPoint"/>
<junitPatcher implementation="com.android.tools.idea.testartifacts.scopes.AndroidJunitPatcher" />
<debugger.nodeRenderer implementation="com.android.tools.idea.debug.BitmapRenderer" />
<debugger.nodeRenderer implementation="com.android.tools.idea.debug.BitmapDrawableRenderer" />
<debugger.nodeRenderer implementation="com.android.tools.idea.debug.AndroidTypedIntegerRenderer" />
<debugger.nodeRenderer implementation="com.android.tools.idea.debug.ArrayMapRenderer" />
<debugger.nodeRenderer implementation="com.android.tools.idea.debug.SupportArrayMapRenderer" />
<debugger.nodeRenderer implementation="com.android.tools.idea.debug.AndroidxSupportArrayMapRenderer" />-
<debugger.nodeRenderer implementation="com.android.tools.idea.debug.MeasureSpecRenderer" />
<xdebugger.configurableProvider implementation="com.android.tools.idea.logcat.output.LogcatOutputConfigurableProvider" />
<applicationService serviceImplementation="com.android.tools.idea.logcat.output.LogcatOutputSettings" />
<virtualFileSystem key="android-dummy" implementationClass="com.android.tools.idea.editors.AndroidFakeFileSystem"/>
<generatedSourcesFilter implementation="com.android.tools.idea.gradle.roots.AndroidGeneratedSourcesFilter"/>
<renameHandler implementation="com.android.tools.idea.gradle.refactoring.GradleRenameModuleHandler" order="last"/>
<codeInsight.unresolvedReferenceQuickFixProvider
implementation="com.android.tools.idea.gradle.quickfix.AndroidUnresolvedReferenceQuickFixProvider"/>
<projectModelModifier implementation="com.android.tools.idea.gradle.AndroidGradleJavaProjectModelModifier"/>
<resolveScopeProvider implementation="com.android.tools.idea.testartifacts.scopes.TestArtifactResolveScopeProvider" order="first"/>
<useScopeOptimizer implementation="com.android.tools.idea.testartifacts.scopes.TestArtifactUseScopeOptimizer"/>
<!-- Translations Editor -->
<editorNotificationProvider implementation="com.android.tools.idea.editors.strings.StringResourceEditorNotificationProvider"/>
<fileEditorProvider implementation="com.android.tools.idea.editors.strings.StringResourceEditorProvider"/>
<refactoring.safeDeleteProcessor
id="android_string_resource"
implementation="com.android.tools.idea.editors.strings.StringResourceSafeDeleteProcessorDelegate"/>
<!-- Custom BuildOutputParsers -->
<externalSystemOutputParserProvider implementation="com.android.tools.idea.gradle.project.build.output.GradleOutputParserProvider"
id="gradle"/>
<externalSystemExecutionConsoleManager implementation="com.android.tools.idea.gradle.project.build.output.AndroidGradleExecutionConsoleManager"
order="before gradle" />
<usageGroupingRuleProvider implementation="org.jetbrains.android.refactoring.ResourcePackageGroupingRuleProvider" />
<projectService serviceImplementation="com.android.tools.idea.stats.ToolWindowTrackerService" />
<projectImportProvider implementation="com.android.tools.idea.gradle.project.importing.AndroidGradleProjectImportProvider"/>
<projectImportBuilder implementation="com.android.tools.idea.gradle.project.importing.AndroidGradleProjectImportProvider$AndroidGradleImportBuilder"/>
</extensions>
<extensions defaultExtensionNs="com.intellij.properties">
<implicitPropertyUsageProvider implementation="com.android.tools.idea.editors.GradleImplicitPropertyUsageProvider"/>
</extensions>
<extensions defaultExtensionNs="org.jetbrains.plugins.gradle">
<resolve.contributor implementation="com.android.tools.idea.gradle.service.resolve.AndroidDslContributor"/>
</extensions>
<extensionPoints>
<extensionPoint qualifiedName="org.jetbrains.android.mavenProvider" interface="org.jetbrains.android.maven.AndroidMavenProvider"/>
<extensionPoint qualifiedName="org.jetbrains.android.lightBuildProvider" interface="org.jetbrains.android.compiler.AndroidLightBuildProvider"/>
<extensionPoint qualifiedName="com.android.moduleDescriptionProvider" interface="com.android.tools.idea.npw.module.ModuleDescriptionProvider"/>
<extensionPoint qualifiedName="com.android.customProjectTypeImporter" interface="com.android.tools.idea.project.CustomProjectTypeImporter"/>
<extensionPoint qualifiedName="com.android.gradle.sync.postSyncProjectSetupStep"
interface="com.android.tools.idea.gradle.project.sync.setup.post.ProjectSetupStep"/>
<extensionPoint qualifiedName="com.android.gradle.sync.postSyncModuleSetupStep"
interface="com.android.tools.idea.gradle.project.sync.setup.post.ModuleSetupStep"/>
<extensionPoint qualifiedName="com.android.gradle.sync.postSyncProjectCleanupStep"
interface="com.android.tools.idea.gradle.project.sync.setup.post.ProjectCleanupStep"/>
<extensionPoint qualifiedName="com.android.gradle.sync.extraGradleSyncJavaModels"
interface="com.android.tools.idea.gradle.project.sync.ng.ExtraGradleSyncJavaModels"/>
<extensionPoint qualifiedName="com.android.gradle.sync.forcedPluginVersionUpgradeStep"
interface="com.android.tools.idea.gradle.project.sync.setup.post.upgrade.ForcedPluginVersionUpgradeStep"/>
<extensionPoint qualifiedName="com.android.gradle.sync.recommendedPluginVersionUpgradeStep"
interface="com.android.tools.idea.gradle.project.sync.setup.post.upgrade.RecommendedPluginVersionUpgradeStep"/>
<extensionPoint qualifiedName="com.android.gradle.sync.extraGradleSyncAndroidModels"
interface="com.android.tools.idea.gradle.project.sync.ng.ExtraGradleSyncAndroidModels"/>
<extensionPoint qualifiedName="com.android.captureType" interface="com.android.tools.idea.profiling.capture.CaptureType"/>
<extensionPoint qualifiedName="com.android.gradle.sync.syncErrorHandler"
interface="com.android.tools.idea.gradle.project.sync.errors.SyncErrorHandler"/>
<extensionPoint qualifiedName="com.android.gradle.gradleEditorModelCustomizer"
interface="com.android.tools.idea.gradle.editor.parser.GradleEditorModelCustomizer"/>
<extensionPoint qualifiedName="com.android.gradle.gradleEditorEntityUi"
interface="com.android.tools.idea.gradle.editor.ui.GradleEditorEntityUi"/>
<extensionPoint qualifiedName="com.android.tools.idea.structure.services.developerServiceCreators"
interface="com.android.tools.idea.structure.services.DeveloperServiceCreators"/>
<extensionPoint qualifiedName="com.android.ide.sdkEventListener"
interface="com.android.tools.idea.sdk.IdeSdks$AndroidSdkEventListener"/>
<extensionPoint qualifiedName="com.android.ide.developerServiceBuildSystemOperations"
interface="com.android.tools.idea.structure.services.DeveloperServiceBuildSystemOperations"/>
<extensionPoint qualifiedName="com.android.run.deployTargetProvider" interface="com.android.tools.idea.run.editor.DeployTargetProvider" />
<extensionPoint qualifiedName="com.android.run.deviceNameRenderer"
interface="com.android.tools.idea.ddms.DeviceNameRendererEx"/>
<extensionPoint qualifiedName="com.android.ide.projectStructureItemsContributor"
interface="com.android.tools.idea.structure.dialog.ProjectStructureItemsContributor"/>
<extensionPoint qualifiedName="com.android.ide.moduleStructureConfigurableContributor"
interface="com.android.tools.idea.structure.dialog.ModuleStructureConfigurableContributor"/>
<extensionPoint qualifiedName="com.android.ide.androidConfigurableContributor"
interface="com.android.tools.idea.structure.dialog.AndroidConfigurableContributor"/>
<extensionPoint qualifiedName="com.android.run.androidDebugger" interface="com.android.tools.idea.run.editor.AndroidDebugger" />
<extensionPoint qualifiedName="com.android.logcat.filterProvider"
interface="com.android.tools.idea.logcat.LogcatFilterProvider" />
<extensionPoint qualifiedName="org.jetbrains.android.actions.newResourceCreationHandler"
interface="org.jetbrains.android.actions.NewResourceCreationHandler" />
<extensionPoint qualifiedName="com.android.run.androidLaunchTaskContributor"
interface="com.android.tools.idea.run.AndroidLaunchTaskContributor" />
<extensionPoint qualifiedName="com.android.rendering.renderErrorContributor"
interface="com.android.tools.idea.rendering.RenderErrorContributor$Provider" />
<extensionPoint qualifiedName="org.jetbrains.android.uipreview.viewLoaderExtension"
interface="org.jetbrains.android.uipreview.ViewLoaderExtension"
area="IDEA_PROJECT"/>
<extensionPoint qualifiedName="com.android.tools.idea.npw.template.convertJavaToKotlinProvider"
interface="com.android.tools.idea.npw.template.ConvertJavaToKotlinProvider" />
<extensionPoint qualifiedName="com.android.tools.idea.ui.guiTestingStatusProvider"
interface="com.android.tools.idea.ui.GuiTestingStatusProvider" />
<extensionPoint qualifiedName="com.android.tools.gradleModelProvider"
interface="com.android.tools.idea.gradle.dsl.api.GradleModelProvider" />
<extensionPoint qualifiedName="com.android.rendering.renderSecurityManagerOverrides"
interface="com.android.tools.idea.rendering.RenderSecurityManagerOverrides"/>
<extensionPoint qualifiedName="com.android.tools.idea.lang.databinding.dataBindingCompletionSupport"
interface="com.android.tools.idea.lang.databinding.DataBindingCompletionSupport"/>
<extensionPoint qualifiedName="com.android.tools.idea.lang.databinding.dataBindingExpressionSupport"
interface="com.android.tools.idea.lang.databinding.DataBindingExpressionSupport"/>
<extensionPoint qualifiedName="com.android.tools.idea.databinding.dataBindingSupport"
interface="com.android.tools.idea.databinding.DataBindingSupport"/>
</extensionPoints>
<extensions defaultExtensionNs="com.android">
<moduleDescriptionProvider implementation="com.android.tools.idea.npw.importing.ImportModuleGalleryEntryProvider"/>
<moduleDescriptionProvider implementation="com.android.tools.idea.npw.module.NewAndroidModuleDescriptionProvider"/>
<moduleDescriptionProvider implementation="com.android.tools.idea.npw.instantapp.NewInstantAppModuleDescriptionProvider"/>
<moduleDescriptionProvider implementation="com.android.tools.idea.npw.dynamicapp.NewDynamicAppModuleDescriptionProvider"/>
<moduleDescriptionProvider implementation="com.android.tools.idea.npw.benchmark.NewBenchmarkModuleDescriptionProvider"/>
<moduleDescriptionProvider implementation="com.android.tools.idea.npw.java.NewJavaModuleDescriptionProvider"/>
</extensions>
<extensions defaultExtensionNs="org.jetbrains.android.actions">
<newResourceCreationHandler
implementation="com.android.tools.idea.gradle.actions.GradleNewResourceCreationHandler" />
</extensions>
<extensions defaultExtensionNs="com.android.gradle.sync">
<postSyncProjectSetupStep implementation="com.android.tools.idea.gradle.project.sync.setup.post.project.ProjectJdkSetupStep"/>
<postSyncProjectSetupStep implementation="com.android.tools.idea.gradle.project.sync.setup.post.project.MissingPlatformsSetupStep"/>
<postSyncProjectSetupStep implementation="com.android.tools.idea.gradle.project.sync.setup.post.project.SdkToolsVersionSetupStep"/>
<postSyncProjectSetupStep implementation="com.android.tools.idea.gradle.project.sync.setup.post.project.ExpiredPreviewBuildSetupStep"/>
<postSyncProjectSetupStep implementation="com.android.tools.idea.gradle.project.sync.setup.post.project.IgnoredBuildScriptSetupStep"/>
<postSyncModuleSetupStep implementation="com.android.tools.idea.gradle.project.sync.setup.post.module.TestArtifactSearchScopeSetupStep"/>
<postSyncModuleSetupStep implementation="com.android.tools.idea.gradle.project.sync.setup.post.module.AndroidRunConfigurationSetupStep"/>
<postSyncModuleSetupStep implementation="com.android.tools.idea.gradle.project.sync.setup.post.module.RecordSuccessfulSyncAgpVersion"/>
<postSyncProjectCleanupStep implementation="com.android.tools.idea.gradle.project.sync.setup.post.cleanup.ProjectStructureCleanupStep"/>
<postSyncProjectCleanupStep implementation="com.android.tools.idea.gradle.project.sync.setup.post.cleanup.SdksCleanupStep"/>
<forcedPluginVersionUpgradeStep implementation="com.android.tools.idea.gradle.project.sync.setup.post.upgrade.ForcedPluginVersionUpgradeStep"/>
<recommendedPluginVersionUpgradeStep implementation="com.android.tools.idea.gradle.project.sync.setup.post.upgrade.RecommendedPluginVersionUpgradeStep"/>
<syncErrorHandler implementation="com.android.tools.idea.gradle.project.sync.errors.OldAndroidPluginErrorHandler"/>
<syncErrorHandler implementation="com.android.tools.idea.gradle.project.sync.errors.GradleBrokenPipeErrorHandler"/>
<syncErrorHandler implementation="com.android.tools.idea.gradle.project.sync.errors.Gradle2RequiredErrorHandler"/>
<syncErrorHandler implementation="com.android.tools.idea.gradle.project.sync.errors.DaemonContextMismatchErrorHandler"/>
<syncErrorHandler implementation="com.android.tools.idea.gradle.project.sync.errors.GradleDistributionInstallErrorHandler"/>
<syncErrorHandler implementation="com.android.tools.idea.gradle.project.sync.errors.ErrorOpeningZipFileErrorHandler"/>
<syncErrorHandler implementation="com.android.tools.idea.gradle.project.sync.errors.Jdk8RequiredErrorHandler"/>
<syncErrorHandler implementation="com.android.tools.idea.gradle.project.sync.errors.CachedDependencyNotFoundErrorHandler"/>
<syncErrorHandler implementation="com.android.tools.idea.gradle.project.sync.errors.ConnectionPermissionDeniedErrorHandler"/>
<syncErrorHandler implementation="com.android.tools.idea.gradle.project.sync.errors.GradleDslMethodNotFoundErrorHandler"/>
<syncErrorHandler implementation="com.android.tools.idea.gradle.project.sync.errors.UnsupportedModelVersionErrorHandler"/>
<syncErrorHandler implementation="com.android.tools.idea.gradle.project.sync.errors.FailedToParseSdkErrorHandler"/>
<syncErrorHandler implementation="com.android.tools.idea.gradle.project.sync.errors.UnsupportedGradleVersionErrorHandler"/>
<syncErrorHandler implementation="com.android.tools.idea.gradle.project.sync.errors.MissingAndroidSdkErrorHandler"/>
<syncErrorHandler implementation="com.android.tools.idea.gradle.project.sync.errors.SdkBuildToolsTooLowErrorHandler"/>
<syncErrorHandler implementation="com.android.tools.idea.gradle.project.sync.errors.MissingPlatformErrorHandler"/>
<syncErrorHandler implementation="com.android.tools.idea.gradle.project.sync.errors.MissingBuildToolsErrorHandler"/>
<syncErrorHandler implementation="com.android.tools.idea.gradle.project.sync.errors.MissingCMakeErrorHandler"/>
<syncErrorHandler implementation="com.android.tools.idea.gradle.project.sync.errors.MissingNdkErrorHandler"/>
<syncErrorHandler implementation="com.android.tools.idea.gradle.project.sync.errors.InternetConnectionErrorHandler"/>
<syncErrorHandler implementation="com.android.tools.idea.gradle.project.sync.errors.MissingDependencyErrorHandler"/>
<syncErrorHandler implementation="com.android.tools.idea.gradle.project.sync.errors.UnexpectedErrorHandler"/>
<syncErrorHandler implementation="com.android.tools.idea.gradle.project.sync.errors.UnknownHostErrorHandler"/>
<syncErrorHandler implementation="com.android.tools.idea.gradle.project.sync.errors.CorruptGradleDependencyErrorHandler"/>
<syncErrorHandler implementation="com.android.tools.idea.gradle.project.sync.errors.JavaHeapSpaceErrorHandler"/>
<syncErrorHandler implementation="com.android.tools.idea.gradle.project.sync.errors.MissingAndroidPluginErrorHandler"/>
<syncErrorHandler implementation="com.android.tools.idea.gradle.project.sync.errors.Gradle4AndPlugin2Dot2ErrorHandler"/>
<syncErrorHandler implementation="com.android.tools.idea.gradle.project.sync.errors.ClassLoadingErrorHandler"/>
<syncErrorHandler implementation="com.android.tools.idea.gradle.project.sync.errors.ObjectStreamErrorHandler"/>
<syncErrorHandler implementation="com.android.tools.idea.gradle.project.sync.errors.GenericErrorHandler"/>
<syncErrorHandler implementation="com.android.tools.idea.gradle.project.sync.errors.NdkIntegrationDeprecatedErrorHandler"/>
<syncErrorHandler implementation="com.android.tools.idea.gradle.project.sync.errors.NdkToolchainMissingABIHandler"/>
</extensions>
<extensions defaultExtensionNs="com.android.ide">
<sdkEventListener implementation="com.android.tools.idea.gradle.sdk.GradleAndroidSdkEventListener"/>
<developerServiceBuildSystemOperations implementation="com.android.tools.idea.gradle.structure.services.GradleOperations"/>
<androidConfigurableContributor
implementation="com.android.tools.idea.gradle.structure.configurables.GradleAndroidConfigurableContributor"/>
</extensions>
<extensions defaultExtensionNs="com.android.project">
<projectsystem implementation="com.android.tools.idea.project.DefaultProjectSystem"/>
</extensions>
<extensions defaultExtensionNs="com.android.rendering">
<renderErrorContributor implementation="com.android.tools.idea.rendering.RenderErrorContributor$Provider"/>
<renderErrorContributor implementation="com.android.tools.idea.gradle.rendering.GradleRenderErrorContributor$GradleProvider"/>
</extensions>
<!-- Begin new deployment target selection -->
<actions>
<action id="DeviceAndSnapshotComboBox" class="com.android.tools.idea.run.deployment.DeviceAndSnapshotComboBoxAction"
text="Select Device">
<add-to-group group-id="ToolbarRunGroup" relative-to-action="RunConfiguration" anchor="after"/>
</action>
</actions>
<extensions defaultExtensionNs="com.android.run">
<deployTargetProvider implementation="com.android.tools.idea.run.deployment.DeviceAndSnapshotComboBoxTargetProvider"/>
</extensions>
<extensions defaultExtensionNs="com.intellij">
<executionTargetProvider implementation="com.android.tools.idea.run.deployment.DeviceAndSnapshotExecutionTargetProvider"/>
<projectService serviceImplementation="com.android.tools.idea.run.deployment.AsyncDevicesGetter"/>
</extensions>
<!-- End new deployment target selection -->
<extensions defaultExtensionNs="com.android.run">
<deployTargetProvider implementation="com.android.tools.idea.run.editor.ShowChooserTargetProvider"/>
<deployTargetProvider implementation="com.android.tools.idea.run.editor.UsbDeviceTargetProvider"/>
<deployTargetProvider implementation="com.android.tools.idea.run.editor.EmulatorTargetProvider"/>
<androidDebugger implementation="com.android.tools.idea.run.editor.AndroidJavaDebugger"/>
</extensions>
<extensions defaultExtensionNs="com.intellij">
<applicationConfigurable parentId="preferences.general"
displayName="Memory Settings"
provider="com.android.tools.idea.memorysettings.MemorySettingsConfigurableProvider"
id="memory.settings"/>
</extensions>
<module-components>
<component>
<implementation-class>com.android.tools.idea.databinding.DataBindingModuleComponent</implementation-class>
</component>
</module-components>
</idea-plugin>