android_device_qcom_common/appops/appops_policy.xsd

166 lines
7.6 KiB
XML

<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<!--
/* Copyright (c) 2014, The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
* met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the following
* disclaimer in the documentation and/or other materials provided
* with the distribution.
* * Neither the name of The Linux Foundation nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-->
<xs:simpleType name="showType">
<xs:restriction base="xs:string">
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="permissionType">
<xs:restriction base="xs:string">
<xs:enumeration value="allowed"/>
<xs:enumeration value="ask"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="opType">
<xs:restriction base="xs:string">
<xs:enumeration value= "android:coarse_location"/>
<xs:enumeration value= "android:fine_location"/>
<xs:enumeration value= "android:gps"/>
<xs:enumeration value= "android:vibrate"/>
<xs:enumeration value= "android:read_contacts"/>
<xs:enumeration value= "android:write_contacts"/>
<xs:enumeration value= "android:read_call_log"/>
<xs:enumeration value= "android:write_call_log"/>
<xs:enumeration value= "android:read_calendar"/>
<xs:enumeration value= "android:write_calendar"/>
<xs:enumeration value= "android:wifi_scan"/>
<xs:enumeration value= "android:post_notification"/>
<xs:enumeration value= "android:neighboring_cells"/>
<xs:enumeration value= "android:call_phone"/>
<xs:enumeration value= "android:read_sms"/>
<xs:enumeration value= "android:write_sms"/>
<xs:enumeration value= "android:receive_sms"/>
<xs:enumeration value= "android:receive_emergecy_sms"/>
<xs:enumeration value= "android:receive_mms"/>
<xs:enumeration value= "android:receive_wap_push"/>
<xs:enumeration value= "android:send_sms"/>
<xs:enumeration value= "android:read_icc_sms"/>
<xs:enumeration value= "android:write_icc_sms"/>
<xs:enumeration value= "android:write_settings"/>
<xs:enumeration value= "android:system_alert_window"/>
<xs:enumeration value= "android:access_notifications"/>
<xs:enumeration value= "android:camera"/>
<xs:enumeration value= "android:record_audio"/>
<xs:enumeration value= "android:play_audio"/>
<xs:enumeration value= "android:read_clipboard"/>
<xs:enumeration value= "android:write_clipboard"/>
<xs:enumeration value= "android:take_media_buttons"/>
<xs:enumeration value= "android:take_audio_focus"/>
<xs:enumeration value= "android:audio_master_volume"/>
<xs:enumeration value= "android:audio_voice_volume"/>
<xs:enumeration value= "android:audio_ring_volume"/>
<xs:enumeration value= "android:audio_media_volume"/>
<xs:enumeration value= "android:audio_alarm_volume"/>
<xs:enumeration value= "android:audio_notification_volume"/>
<xs:enumeration value= "android:audio_bluetooth_volume"/>
<xs:enumeration value= "android:wake_lock"/>
<xs:enumeration value= "android:monitor_location"/>
<xs:enumeration value= "android:monitor_high_power_location"/>
<xs:enumeration value= "android:wifi_change"/>
<xs:enumeration value= "android:bluetooth_change"/>
<xs:enumeration value= "android:data_connect_change"/>
<xs:enumeration value= "android:send_mms"/>
<xs:enumeration value= "android:read_mms"/>
<xs:enumeration value= "android:write_mms"/>
<xs:enumeration value= "android:boot_completed"/>
<xs:enumeration value= "android:nfc_change"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="appType">
<xs:restriction base="xs:string">
<xs:enumeration value="system-app"/>
<xs:enumeration value="user-app"/>
</xs:restriction>
</xs:simpleType>
<xs:element name="appops-policy">
<xs:complexType>
<xs:sequence>
<xs:element name="user-app">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="permissionType" name="permission" use="required"/>
<xs:attribute type="showType" name="show" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="system-app">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="permissionType" name="permission" use="required"/>
<xs:attribute type="showType" name="show" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="application">
<xs:complexType>
<xs:sequence>
<xs:element name="pkg" maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="op" maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="opType" name="name" use="required"/>
<xs:attribute type="permissionType" name="permission" use="required"/>
<xs:attribute type="showType" name="show" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:string" name="name" use="required"/>
<xs:attribute type="appType" name="type" use="required"/>
<xs:attribute type="permissionType" name="permission" use="optional"/>
<xs:attribute type="showType" name="show" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:byte" name="version"/>
</xs:complexType>
</xs:element>
</xs:schema>