<!--
  ~ Copyright (C) 2022 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.android.tools.idea.uibuilder.editor.multirepresentation.sourcecode">
    <sourceCodePreviewRepresentationProvider implementation="com.android.tools.idea.glance.preview.AppWidgetPreviewRepresentationProvider"/>
  </extensions>

  <extensions defaultExtensionNs="com.intellij">
    <localInspection implementationClass="com.android.tools.idea.glance.preview.GlancePreviewNeedsComposableAnnotationInspection"
                     language="kotlin"
                     enabledByDefault="true"
                     bundle="bundle.glance.GlancePreviewBundle"
                     groupKey="inspection.group.name"
                     key="inspection.no.composable.name"
                     level="ERROR"/>

    <localInspection implementationClass="com.android.tools.idea.glance.preview.GlancePreviewMustBeTopLevelFunction"
                     language="kotlin"
                     enabledByDefault="true"
                     bundle="bundle.glance.GlancePreviewBundle"
                     groupKey="inspection.group.name"
                     key="inspection.top.level.function"
                     level="ERROR"/>

    <localInspection implementationClass="com.android.tools.idea.glance.preview.GlancePreviewNotSupportedInUnitTestFiles"
                     language="kotlin"
                     enabledByDefault="true"
                     bundle="bundle.glance.GlancePreviewBundle"
                     groupKey="inspection.group.name"
                     key="inspection.unit.test.files"
                     level="ERROR"/>

    <localInspection implementationClass="com.android.tools.idea.glance.preview.GlancePreviewDimensionRespectsLimit"
                     language="kotlin"
                     enabledByDefault="true"
                     bundle="bundle.glance.GlancePreviewBundle"
                     groupKey="inspection.group.name"
                     key="inspection.dimension.limit.name"
                     level="WARNING"/>

    <notificationGroup id="Glance Preview Notification" displayType="NONE"/>
  </extensions>

</idea-plugin>