<!--
  ~ Copyright (C) 2021 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">
  <extensions defaultExtensionNs="com.intellij">
    <externalSystemNotificationExtension implementation="com.android.tools.idea.gradle.service.notification.GradleJvmNotificationExtension"/>
    <externalSystemNotificationExtension implementation="com.android.tools.idea.gradle.service.notification.AGPMessagesNotificationExtension"/>
    <applicationInitializedListener id="Startup.AndroidGradleOpenProjectProcessorInitializer"
                                    implementation="com.android.tools.idea.projectsystem.gradle.DisableGradleProjectOpenProcessor"/>
    <applicationInitializedListener id="Startup.HideNotApplicableSettings"
                                    implementation="com.android.tools.idea.projectsystem.gradle.AndroidStudioSettingsInitializer"/>
    <applicationInitializedListener id="DisableGradleAttachSourcesProvider"
                                    implementation="com.android.tools.idea.projectsystem.gradle.DisableGradleAttachSourcesProvider" />
    <applicationInitializedListener id="DisableKotlinGradleTomlVersionCatalogReferencesSearcher"
                                    implementation="com.android.tools.idea.projectsystem.gradle.DisableKotlinGradleTomlVersionCatalogReferencesSearcher" />

    <projectConfigurable groupId="build" id="build.tools"
                         instance="com.android.tools.idea.projectsystem.gradle.AndroidStudioBuildToolsConfigurable"
                         key="settings.build.tools.display.name" bundle="messages.ExternalSystemBundle"/>
    <advancedSetting default="false" id="project.view.default" bundle="messages.AndroidBundle"
                     groupKey="group.advanced.settings.project.view"
                     service="com.android.tools.idea.gradle.projectView.AndroidProjectViewSettings"
                     property="defaultToProjectView"/>
    <applicationService
        serviceInterface="com.android.tools.idea.gradle.projectView.AndroidProjectViewSettings"
        serviceImplementation="com.android.tools.idea.gradle.projectView.AndroidProjectViewSettingsImpl"/>
    <projectService serviceImplementation="com.android.tools.idea.gradle.project.ProjectMigrationsPersistentState"/>
    <projectService serviceInterface="com.intellij.openapi.externalSystem.autoimport.ExternalSystemProjectTracker"
                    serviceImplementation="com.android.tools.idea.projectsystem.gradle.RefreshOnlyAutoImportProjectTracker"
                    overrides="true"/>
    <projectService serviceInterface="org.jetbrains.plugins.gradle.settings.GradleSettings"
                    serviceImplementation="com.android.tools.idea.gradle.project.AndroidStudioGradleSettings"
                    overrides="true"/>
    <applicationService serviceInterface="org.jetbrains.plugins.gradle.settings.GradleSystemSettings"
                        serviceImplementation="com.android.tools.idea.gradle.project.AndroidStudioGradleSystemSettings"
                        overrides="true"/>
    <applicationService serviceInterface="org.jetbrains.plugins.gradle.service.GradleInstallationManager"
                        serviceImplementation="com.android.tools.idea.gradle.project.AndroidStudioGradleInstallationManager"
                        overrides="true"/>
    <applicationService serviceImplementation="com.android.tools.idea.gradle.projectView.ProjectToolWindowSettings"/>

    <projectService serviceImplementation="com.android.tools.idea.gradle.project.sync.GradleFiles"/>
    <postStartupActivity implementation="com.android.tools.idea.gradle.project.sync.GradleFilesProjectActivity"/>
    <postStartupActivity implementation="com.android.tools.idea.gradle.project.AndroidStudioProjectActivity" />

    <externalSystemExecutionConsoleManager implementation="com.android.tools.idea.testartifacts.testsuite.temp.GradleAndroidTestsExecutionConsoleManager" id="GradleAndroidTestExecutionConsoleManager" order="before gradleTest" />
    <externalSystem.runConfigurationEx implementation="com.android.tools.idea.testartifacts.testsuite.GradleRunConfigurationExtension"/>

    <actionConfigurationCustomizer id="Startup.GradleSpecificActionCustomizer" order="after Startup.AndroidStudioActionCustomizer" implementation="com.android.tools.idea.startup.GradleSpecificActionCustomizer" />
    <directoryIndexExcludePolicy implementation="com.android.tools.idea.gradle.project.importing.InitialImportExcludeDirectoryPolicy" />
    <externalProjectDataService implementation="com.android.tools.idea.gradle.project.sync.idea.data.service.ProjectJdkUpdateService" />
    <editorNotificationProvider implementation="com.android.tools.idea.gradle.notification.ProjectSyncStatusNotificationProvider"/>
    <feedbackDescriptionProvider implementation="com.android.tools.idea.feedback.GradleAndNdkFeedbackDescriptionProvider" />
    <registryKey key="unknown.sdk"  defaultValue="false" description="Check for unknown SDKs and provide automatic fixes or smart suggestions" overrides="true"/>
    <registryKey key="unknown.sdk.auto" defaultValue="false" description="Checks and resolves unknown SDKs automatically on start" overrides="true"/>
    <registryKey key="unknown.sdk.modal.jps" defaultValue="false" description="Run unknown JDK test before JPS build is started" overrides="true"/>
    <registryKey key="unknown.sdk.show.editor.actions" defaultValue="false" description="Show editor suggestions to fix missing SKDs" overrides="true"/>
    <!-- Disable Gradle auto-import by overriding the corresponding registry flag. -->
    <registryKey key="external.system.auto.import.disabled" defaultValue="true" description="Disable build system auto-import" overrides="true"/>
    <!-- Disable phased sync as we've found it to be slower and there is currently no benefit for Android Studio. Context: b/360851078 -->
    <registryKey key="gradle.phased.sync.enabled" defaultValue="false" description="Enable the phased Gradle sync execution" overrides="true"/>
    <!-- Disable project widget status as it does not work (has no benefit) as expected in Android Studio. Discuss with JB about its benefits: b/378463994 -->
    <registryKey key="ide.widget.project.status" defaultValue="false" description="Enables the project status widget and disables editor project notifications" overrides="true"/>
  </extensions>
  <extensions defaultExtensionNs="org.jetbrains.plugins.gradle">
    <taskManager implementation="com.android.tools.idea.gradle.task.AndroidGradleTaskManager"/>
    <taskManager implementation="com.android.tools.idea.testartifacts.testsuite.GradleAndroidTestsTaskManager"/>
    <syncContributor implementation="com.android.tools.idea.projectsystem.gradle.FixSyncContributorIssues" />
    <syncContributor implementation="com.android.tools.idea.gradle.project.sync.idea.AndroidSourceRootSyncContributor"/>
  </extensions>
  <applicationListeners>
    <listener class="com.android.tools.idea.startup.GradleSpecificInitializer"
              topic="com.intellij.ide.AppLifecycleListener"/>
  </applicationListeners>
  <projectListeners>
    <listener class="com.android.tools.idea.gradle.project.sync.listeners.MigrateGradleJvmFromMacrosSyncListener"
              topic="com.android.tools.idea.gradle.project.sync.GradleSyncListenerWithRoot"/>
    <listener class="com.android.tools.idea.gradle.project.sync.listeners.MigrateJdkConfigToGradleJavaHomeListener"
              topic="com.android.tools.idea.gradle.project.sync.GradleSyncListenerWithRoot"/>
    <listener class="com.android.tools.idea.gradle.project.sync.listeners.RemoveGradleJvmReferenceSyncListener"
              topic="com.android.tools.idea.gradle.project.sync.GradleSyncListenerWithRoot"/>
  </projectListeners>
  <actions>
    <action id="WelcomeScreen.Configure.ProjectStructure" class="com.android.tools.idea.gradle.actions.AndroidTemplateProjectStructureAction" overrides="true" />
    <action id="ChangeGradleJdkLocation" class="com.android.tools.idea.gradle.actions.ChangeGradleJdkLocationAction"/>
    <action id="GenerateSourcesModuleAction" class="com.android.tools.idea.gradle.actions.GenerateSourcesModuleAction"/>
    <action id="InferNullity" text="Infer Nullity..." class="com.android.tools.idea.actions.AndroidInferNullityAnnotationAction" overrides="true"/>
    <action id="AssembleRunConfiguration" class="com.android.tools.idea.gradle.actions.AssembleRunConfigurationAction" use-shortcut-of="CompileDirty">
      <add-to-group group-id="TouchBarDefault" anchor="before" relative-to-action="RunConfiguration"/>
      <add-to-group group-id="Android.MainToolbarRight" anchor="first"/>
      <add-to-group group-id="BuildMenu" anchor="first"/>
    </action>
    <group>
      <add-to-group group-id="BuildMenu" anchor="before" relative-to-action="Android.BuildApkOrBundle"/>
      <action id="AssembleGradleModule" class="com.android.tools.idea.gradle.actions.AssembleGradleModuleAction"/>
      <action id="MakeGradleProject" class="com.android.tools.idea.gradle.actions.AssembleGradleProjectAction"/>
      <action id="AssembleGradleProjectWithTests" class="com.android.tools.idea.gradle.actions.AssembleGradleProjectWithTestsAction"/>
      <separator/>
    </group>
    <action internal="true" id="VerifyGradleTokensAction" class="com.android.tools.idea.projectsystem.VerifyGradleTokensAction">
      <add-to-group group-id="Internal.Android"/>
    </action>
    <action id="CompileGradleModule" class="com.android.tools.idea.gradle.actions.CompileGradleModuleAction">
      <add-to-group group-id="BuildMenu" anchor="after" relative-to-action="AssembleRunConfiguration"/>
    </action>
    <action id="CompileAllSources" class="com.android.tools.idea.gradle.actions.CompileAllSources">
      <add-to-group group-id="BuildMenu" anchor="after" relative-to-action="CompileGradleModule"/>
    </action>
    <group id="AndroidToolbarMakeGroup">
      <action id="MakeTypeSelectionGroup" class="com.android.tools.idea.gradle.actions.MakeTypeSelectionGroupAction"/>
      <add-to-group group-id="ToolbarRunGroup" relative-to-action="RunConfiguration" anchor="before"/>
    </group>
    <reference ref="Android.SyncProject">
      <add-to-group group-id="Android.NavBarToolBar" anchor="first"/>
      <add-to-group group-id="Android.MainToolbarRight" anchor="last"/>
    </reference>
    <group>
      <add-to-group group-id="ProjectView.ToolWindow.Appearance.Actions" relative-to-action="ProjectView.FlattenModules" anchor="before"/>
      <separator/>
      <action id="ShowBuildFilesInModuleAction" class="com.android.tools.idea.gradle.actions.ShowBuildFilesInModuleAction"/>
      <separator/>
    </group>
  </actions>
</idea-plugin>