<!--
  ~ 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>
  <extensions defaultExtensionNs="com.intellij">
    <defaultLiveTemplates file="liveTemplates/Android"/>
    <defaultLiveTemplates file="liveTemplates/AndroidKotlin"/>
    <defaultLiveTemplates file="liveTemplates/AndroidComments"/>
    <defaultLiveTemplates file="liveTemplates/AndroidCommentsKotlin"/>
    <defaultLiveTemplates file="liveTemplates/AndroidLog"/>
    <defaultLiveTemplates file="liveTemplates/AndroidLogKotlin"/>
    <defaultLiveTemplates file="liveTemplates/AndroidParcelable"/>
    <defaultLiveTemplates file="liveTemplates/AndroidXML"/>
    <liveTemplateContext contextId="XML_ATTRIBUTE" implementation="com.android.tools.idea.templates.live.XmlAttributeContextType"/>
    <liveTemplateContext contextId="ANDROID" implementation="com.android.tools.idea.templates.live.AndroidSourceSetTemplateContextType" />
    <liveTemplateContext contextId="ANDROID_KOTLIN" baseContextId="ANDROID" implementation="com.android.tools.idea.templates.live.AndroidKotlinTemplateContextType$Generic"/>
    <liveTemplateContext contextId="ANDROID_KOTLIN_TOP_LEVEL" baseContextId="ANDROID_KOTLIN" implementation="com.android.tools.idea.templates.live.AndroidKotlinTemplateContextType$TopLevel"/>
    <liveTemplateContext contextId="ANDROID_KOTLIN_STATEMENT" baseContextId="ANDROID_KOTLIN" implementation="com.android.tools.idea.templates.live.AndroidKotlinTemplateContextType$Statement"/>
    <liveTemplateContext contextId="ANDROID_KOTLIN_CLASS" baseContextId="ANDROID_KOTLIN" implementation="com.android.tools.idea.templates.live.AndroidKotlinTemplateContextType$Class"/>
    <liveTemplateContext contextId="ANDROID_KOTLIN_EXPRESSION" baseContextId="ANDROID_KOTLIN" implementation="com.android.tools.idea.templates.live.AndroidKotlinTemplateContextType$Expression"/>
    <liveTemplateContext contextId="ANDROID_KOTLIN_COMMENT" baseContextId="ANDROID_KOTLIN" implementation="com.android.tools.idea.templates.live.AndroidKotlinTemplateContextType$Comment"/>
    <liveTemplateContext contextId="ANDROID_KOTLIN_OBJECT_DECLARATION" baseContextId="ANDROID_KOTLIN" implementation="com.android.tools.idea.templates.live.AndroidKotlinTemplateContextType$ObjectDeclaration"/>
  </extensions>

  <extensionPoints>
    <extensionPoint qualifiedName="com.android.tools.idea.templates.additionalTemplateActionsProvider"
                    interface="com.android.tools.idea.templates.AdditionalTemplateActionsProvider"/>
  </extensionPoints>
</idea-plugin>