blob: bc24883aa1e701a8f3abf24eae16570e4fb7c081 [file] [log] [blame]
<!--
*
* Copyright (C) 2013 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>
<extensions defaultExtensionNs="com.intellij">
<registryKey key="ide.slow.operations.assertion.generic" defaultValue="false" description="Flag for generic activities and code in `SlowOperations#allowSlowOperations`"/>
<applicationInitializedListener id="Startup.AndroidStudioInitializer" implementation="com.android.tools.idea.startup.AndroidStudioInitializer" />
<actionConfigurationCustomizer id="Startup.AndroidStudioActionCustomizer" implementation="com.android.tools.idea.startup.AndroidStudioActionCustomizer"/>
<applicationInitializedListener implementation="com.android.tools.idea.instrumentation.threading.ThreadingChecker" />
<applicationService serviceInterface="com.intellij.platform.ide.customization.ExternalProductResourceUrls"
serviceImplementation="com.android.tools.idea.AndroidStudioResourceUrls"
overrides="true"/>
<applicationService serviceInterface="com.intellij.openapi.updateSettings.UpdateStrategyCustomization"
serviceImplementation="com.android.tools.idea.AndroidStudioUpdateStrategyCustomization"
overrides="true"/>
<!--suppress PluginXmlValidity (this service is intentionally registered outside the module of the interface class) -->
<applicationService serviceInterface="com.intellij.analytics.AndroidStudioAnalytics"
serviceImplementation="com.android.tools.idea.startup.AndroidStudioAnalyticsImpl"/>
<!--suppress PluginXmlValidity (this service is intentionally registered outside the module of the interface class) -->
<applicationService serviceInterface="com.intellij.ide.AndroidStudioSystemHealthMonitorAdapter$EventsListener"
serviceImplementation="com.android.tools.idea.diagnostics.AndroidStudioSystemHealthMonitor$MyEventsListener"/>
<!-- overrides UTM-tracking implementation included from JavaIdePlugin.xml: -->
<applicationService serviceImplementation="com.intellij.openapi.application.IdeUrlTrackingParametersProvider"
overrides="true"/>
<!-- Disable JetBrains feedback surveys (b/402895189). Tested by AndroidStudioJetBrainsSurveysTest. -->
<registryKey overrides="true" key="platform.feedback" defaultValue="false" description="Enables JetBrains feedback surveys"/>
<!-- TODO(b/416578927): remove this override for ide.workspace.model.sdk.remove.custom.processing -->
<registryKey overrides="true" key="ide.workspace.model.sdk.remove.custom.processing" defaultValue="false" restartRequired="true"
description="Removes custom processing of Global Libraries and SDKs in the Workspace Model"/>
<!-- This registry flag changed upstream in 2025.1 causing the platform to think JCef is supported in Android Studio. b/416777166 -->
<registryKey key="ide.browser.jcef.out-of-process.enabled" overrides="true" defaultValue="false" description="Enable JCEF is a separate process"/>
<welcomeScreen implementation="com.android.tools.idea.welcome.wizard.AndroidStudioWelcomeScreenProvider"/>
<codeStyleSettingsProvider implementation="org.jetbrains.android.formatter.AndroidStudioCodeStyleSettingsProvider" order="last"/>
<errorHandler implementation="com.android.tools.idea.diagnostics.error.AndroidStudioErrorReportSubmitter"/>
<applicationInitializedListener id="Startup.StartLowMemoryReporter"
implementation="com.android.tools.idea.stats.LowMemoryReporter$OnStartup"/>
<postStartupActivity implementation="com.android.tools.idea.stats.GcPauseWatcher" />
<postStartupActivity implementation="com.android.tools.idea.serverflags.ServerFlagDownloader$Initializer" />
<postStartupActivity implementation="com.android.tools.idea.diagnostics.WindowsCRuntimeChecker" os="windows" />
<postStartupActivity implementation="com.android.tools.idea.diagnostics.DiagnosticsReportCleaner" />
<defender.config implementation="com.android.tools.idea.diagnostics.windows.AndroidWindowsDefenderCheckerExt"/>
<defaultToolWindowLayout
id="AndroidStudioDefaultToolWindowLayoutExtension"
implementation="com.android.tools.idea.AndroidStudioDefaultToolWindowLayoutExtension"
order="last"
/>
<applicationService serviceInterface="com.intellij.diagnostic.LowMemoryNotifier" preload="true" overrides="true"
serviceImplementation="com.android.tools.idea.memorysettings.AndroidLowMemoryNotifier"/>
<execution.applicationRunLineMarkerHider implementation="com.android.tools.idea.run.AndroidRunMarkerHider"/>
<postStartupActivity implementation="com.android.tools.idea.project.LibraryToolWindowInitializer"/>
<postStartupActivity implementation="com.android.tools.idea.gservices.StudioDeprecationChecker$Initializer" />
<notificationGroup displayType="STICKY_BALLOON" id="StudioDeprecationNotification" />
</extensions>
<applicationListeners>
<listener
class="com.android.tools.idea.diagnostics.LastActionTracker$MyActionListener"
topic="com.intellij.openapi.actionSystem.ex.AnActionListener" />
</applicationListeners>
<actions>
<action id="HelpTopics" class="com.android.tools.idea.actions.MeetAndroidStudioHelpAction" overrides="true"
icon="AllIcons.Actions.Help" text="Android Studio Help" description="Help"/>
<reference ref="AndroidToolsGroup">
<add-to-group group-id="ToolsMenu" anchor="first"/>
</reference>
<action class="com.intellij.ide.actions.HelpTopicsAction" id="IntelliJ.HelpTopics" text="IntelliJ IDEA Help">
<add-to-group group-id="HelpMenu" anchor="after" relative-to-action="HelpTopics" />
</action>
<action class="com.android.tools.idea.actions.license.ShowLicensesUsedAction" id="Android.ShowLicenses">
<add-to-group group-id="HelpMenu" anchor="before" relative-to-action="Help.KeymapReference" />
</action>
<action class="com.android.tools.idea.diagnostics.hprof.action.UserInvokedHeapDumpSnapshotAction" id="UserInvokedHeapDumpSnapshot"
text="Analyze Memory Usage">
<add-to-group group-id="HelpMenu" anchor="after" relative-to-action="CollectZippedLogs" />
</action>
<action class="com.android.tools.idea.diagnostics.hprof.action.InternalUserInvokedFullAnalysisAction" id="UserInvokedFullAnalysis"
text="Create And Immediately Analyze Heap Dump" internal="true">
<add-to-group group-id="Internal.HeapAnalysis"/>
</action>
<group id="Internal.Android.FreezeTools" popup="true" internal="true" text="Freeze">
<action class="com.android.tools.idea.diagnostics.freeze.DeadlockUIThreadWithLocks" id="DeadlockUIThread"
text="Create UI thread deadlock with Locks" internal="true"/>
<action class="com.android.tools.idea.diagnostics.freeze.DeadlockUIThreadWithLocksTimeout" id="DeadlockUIThreadWithTimeout"
text="Create UI thread deadlock with Locks (10s timeout)" internal="true"/>
<action class="com.android.tools.idea.diagnostics.freeze.DeadlockUIThreadWithSynchronized" id="DeadlockUIThreadWithSynchronized"
text="Create UI thread deadlock with Synchronized" internal="true"/>
<action class="com.android.tools.idea.diagnostics.freeze.DeadlockUIThreadWithReadAction" id="DeadlockUIThreadWithReadAction"
text="Create UI thread deadlock with Read action" internal="true"/>
<add-to-group group-id="Internal.Android"/>
</group>
<action class="com.android.tools.idea.diagnostics.hprof.action.InternalNonuserInvokedHeapDumpSnapshotAction" id="SilentHeapDumpSnapshot"
text="Create And Schedule Heap Dump Analysis (Non-user invoked)" internal="true">
<add-to-group group-id="Internal.HeapAnalysis"/>
</action>
<action class="com.android.tools.idea.diagnostics.heap.CollectMemoryUsageStatisticsAction" id="CollectMemoryUsageStatistics"
text="Collect Studio Components Memory Usage Statistics" internal="true">
<add-to-group group-id="Internal.HeapAnalysis"/>
</action>
<group id="Internal.JavaFlightRecorder" text="Java Flight Recorder" popup="true" internal="true">
<add-to-group group-id="Internal" anchor="after" relative-to-action="Internal.HeapAnalysis"/>
</group>
<action class="com.android.tools.idea.diagnostics.jfr.FreezeUiAction" id="FreezeUI"
text="Freeze UI" internal="true">
<add-to-group group-id="Internal.JavaFlightRecorder" anchor="first"/>
</action>
<action class="com.android.tools.idea.diagnostics.jfr.RecordingManager$DumpJfrAction" id="DumpJFR"
text="Dump JFR Recording" internal="true">
<add-to-group group-id="Internal.JavaFlightRecorder" anchor="after" relative-to-action="FreezeUI"/>
</action>
<group id="Android.NavBarToolBar">
<reference ref="AndroidDeviceManagerPlaceholder" />
<separator/>
<add-to-group group-id="NavBarToolBar" anchor="before" relative-to-action="SearchEverywhere" />
</group>
<group id="Android.MainToolbarRight" >
<reference ref="Android.InstantRunActions" />
<reference ref="AndroidConnectDebuggerAction" />
<add-to-group group-id="MainToolbarRight" anchor="before" relative-to-action="SearchEverywhere" />
</group>
<action id="WelcomeScreen.AndroidStudio.apkProfilingAndDebugging"
class="com.android.tools.idea.apk.ImportApkAction">
<add-to-group group-id="WelcomeScreen.QuickStart"/>
</action>
<action id="ImportApkAction"
class="com.android.tools.idea.apk.ImportApkAction" text="Profile or Debug APK...">
<add-to-group group-id="FileOpenGroup" relative-to-action="OpenFile" anchor="after"/>
</action>
<group id="ImportTests"
class="com.android.tools.idea.testartifacts.instrumented.testsuite.actions.ImportTestGroup"
icon="AllIcons.Vcs.History"
overrides="true"/>
<action id="ImportTestsFromFile"
class="com.android.tools.idea.testartifacts.instrumented.testsuite.actions.ImportTestsFromFileAction"
icon="AllIcons.ToolbarDecorator.Import"
overrides="true"/>
<action
id="ReportProblem"
class="com.android.tools.idea.actions.SubmitBugReportAction"
overrides="true"/>
<action
id="CollectZippedLogs"
class="com.android.tools.idea.actions.CreateDiagnosticReportAction"
overrides="true"
text="Collect Logs and Diagnostic Data"
description="Collect logs and diagnostic data"/>
<action
id="ResetUserIdAction"
class="com.android.tools.idea.actions.ResetUserIdAction"
text="Reset Data Sharing User Identifier"
description="Reset Data Sharing User Identifier"/>
</actions>
<extensions defaultExtensionNs="com.intellij">
<defaultProjectTypeProvider type="Android"/>
<targetElementEvaluator language="XML" implementationClass="org.jetbrains.android.dom.AndroidXmlTargetElementEvaluatorEx" order="first"/>
<!-- Unregister DefaultJdkConfigurator b/112481251 -->
<applicationService serviceInterface="com.intellij.openapi.projectRoots.DefaultJdkConfigurator"
serviceImplementation="com.android.tools.idea.sdk.StudioJdkConfigurator"
overrides="true"
headlessImplementation="com.android.tools.idea.sdk.StudioJdkConfigurator"
/>
<applicationService serviceInterface="com.intellij.diagnostic.EventWatcher"
serviceImplementation="com.android.tools.idea.diagnostics.typing.TypingEventWatcher" headlessImplementation=""
preload="notHeadless"
overrides="true"/>
<welcomeFrameProvider implementation="com.android.tools.idea.welcome.wizard.FirstRunWizardFrameProvider" order="FIRST"/>
<localInspection groupPath="Java" language="JAVA" suppressId="deprecation" shortName="Deprecation" displayName="Deprecated API usage"
groupKey="group.names.code.maturity.issues" groupBundle="messages.InspectionsBundle"
enabledByDefault="true" level="WARNING"
implementationClass="org.jetbrains.android.inspections.AndroidDeprecationInspection"/>
<applicationConfigurable parentId="preferences.general"
displayName="Memory Settings"
provider="com.android.tools.idea.memorysettings.MemorySettingsConfigurableProvider"
id="memory.settings"/>
<statistic.eventLog.eventLoggerProvider implementation="com.android.tools.idea.stats.AndroidStudioStatisticsEventLoggerProvider"/>
<projectService serviceInterface="com.intellij.codeInsight.NullableNotNullManager"
serviceImplementation="com.android.tools.idea.lang.AndroidNullableNotNullManagerImpl"
overrides="true"
/>
<postStartupActivity implementation="com.android.tools.idea.startup.ProjectMetricsInitializer$MyStartupActivity"/>
<postStartupActivity implementation="com.android.tools.idea.diagnostics.commit.GitCommitTrackerActivity"/>
</extensions>
<applicationListeners>
<listener class="com.android.tools.idea.startup.ProjectMetricsInitializer"
topic="com.intellij.openapi.project.ProjectCloseListener"/>
<listener class="com.android.tools.idea.stats.AndroidStudioUsageTracker$UsageTrackerAppLifecycleListener"
topic="com.intellij.ide.AppLifecycleListener"/>
</applicationListeners>
<projectListeners>
<listener class="com.android.tools.idea.navigator.ProjectViewListener"
activeInHeadlessMode="false"
activeInTestMode="false"
topic="com.intellij.openapi.wm.ex.ToolWindowManagerListener"/>
</projectListeners>
</idea-plugin>