<!--
  ~ 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>
  <extensions defaultExtensionNs="com.intellij">
    <projectService
        serviceInterface="com.android.tools.idea.backup.BackupManager"
        serviceImplementation="com.android.tools.idea.backup.BackupManagerImpl"/>

    <projectService
        serviceInterface="com.android.tools.idea.backup.ProjectAppsProvider"
        serviceImplementation="com.android.tools.idea.backup.ProjectAppsProviderImpl"/>

    <notificationGroup id="Backup" displayType="BALLOON"/>

    <fileType
        name="Android Backup File"
        implementationClass="com.android.tools.idea.backup.BackupFileType"
        fieldName="INSTANCE"
        extensions="backup"
    />
  </extensions>


  <actions>
    <action
        id="action.android.restore.file" class="com.android.tools.idea.backup.RestoreFileAction"
        text="Restore App Data"
        description="Restore app data from file"
        icon="AllIcons.Actions.Download">
      <add-to-group group-id="ProjectViewPopupMenu" anchor="last"/>
    </action>

    <action
        id="action.android.backup" class="com.android.tools.idea.backup.BackupAppAction"
        text="Backup App Data"
        description="Backup app data to a file"
        icon="AllIcons.Actions.Upload">
      <add-to-group group-id="ToolbarRunGroup" anchor="after" relative-to-action="AndroidConnectDebuggerAction"/>
      <add-to-group group-id="RunMenu" anchor="after" relative-to-action="AndroidConnectDebuggerAction"/>
    </action>

    <action
        id="action.android.backup.foreground.app" class="com.android.tools.idea.backup.BackupForegroundAppAction"
        text="Backup App Data"
        description="Backup app data to a file"
        icon="AllIcons.Actions.Upload">
      <add-to-group group-id="android.streaming.backup" anchor="first"/>
    </action>

    <!--
      Both action.android.restore.group and action.android.restore are installed, but they are mutually exclusive.
      Only one of them is actually displayed. The group is only displayed if there are any recently used backup files.
      Otherwise, the action is displayed.
    -->
    <group
        id="action.android.restore.group" class="com.android.tools.idea.backup.RestoreAppActionGroup"
        text="Restore App Data"
        description="Restore app data from file"
        icon="AllIcons.Actions.Download">
      <add-to-group group-id="ToolbarRunGroup" anchor="after" relative-to-action="action.android.backup"/>
      <add-to-group group-id="RunMenu" anchor="after" relative-to-action="action.android.backup"/>
      <add-to-group group-id="android.streaming.backup" anchor="last"/>
    </group>

    <action
        id="action.android.restore" class="com.android.tools.idea.backup.RestoreAppAction"
        text="Restore App Data"
        description="Restore app data from file"
        icon="AllIcons.Actions.Download">
      <add-to-group group-id="ToolbarRunGroup" anchor="after" relative-to-action="action.android.backup"/>
      <add-to-group group-id="RunMenu" anchor="after" relative-to-action="action.android.backup"/>
      <add-to-group group-id="android.streaming.backup" anchor="last"/>
    </action>
  </actions>

</idea-plugin>
