<?xml version="1.0" encoding="utf-8"?>
<!--

 Licensed to the Apache Software Foundation (ASF) under one
 or more contributor license agreements.  See the NOTICE file
 distributed with this work for additional information
 regarding copyright ownership.  The ASF licenses this file
 to you 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.

-->

<plugins>
    <plugin name="File" value="com.cordova.File"/>
    <plugin name="Notification" value="com.cordova.Notification"/>
    <plugin name="Accelerometer" value="com.cordova.Accelerometer"/>
    <plugin name="Events" value="com.cordova.Events"/>
    <plugin name="Geolocation" value="com.cordova.Geolocation"/>
    <plugin name="Device" value="com.cordova.Device"/>
    <plugin name="Console" value="com.cordova.Console"/>
    <plugin name="Connection" value="com.cordova.Connection"/>
    <plugin name="Compass" value="com.cordova.Compass"/>
    <plugin name="Camera" value="com.cordova.Camera"/>
    <plugin name="Contacts" value="com.cordova.Contacts"/>
<!--    <plugin name="Media" value="com.cordova.Media"/>-->

<!--    <plugin name="Compass" value="com.cordova.CompassListener"/>
    <plugin name="Media" value="com.cordova.AudioHandler"/>
    <plugin name="Contacts" value="com.cordova.ContactManager"/>
    <plugin name="Crypto" value="com.cordova.CryptoHandler"/>
    <plugin name="Network Status" value="com.cordova.NetworkManager"/>
    <plugin name="Storage" value="com.cordova.Storage"/>
    <plugin name="Temperature" value="com.cordova.TempListener"/>
    <plugin name="FileTransfer" value="com.cordova.FileTransfer"/>
    <plugin name="Capture" value="com.cordova.Capture"/>
    <plugin name="Battery" value="com.cordova.BatteryListener"/>-->
</plugins>
