blob: aa18d33dc213dd7472eab18c7de4517cba99b266 [file] [log] [blame]
Nick Pelly09e9cba2009-07-10 18:45:13 -07001<?xml version="1.0" encoding="utf-8"?>
2<manifest xmlns:android="http://schemas.android.com/apk/res/android"
Jaikumar Ganesh20b763a2010-03-11 13:06:54 -08003 package="com.android.bluetooth"
Jaikumar Ganeshff4f17b2011-12-19 15:54:50 -08004 android:sharedUserId="android.uid.bluetooth">
Jeff Hamilton5127e8e2010-02-11 16:25:47 -06005
6 <original-package android:name="com.android.bluetooth" />
7
Nick Pelly09e9cba2009-07-10 18:45:13 -07008 <!-- Allows access to the Bluetooth Share Manager -->
9 <permission android:name="android.permission.ACCESS_BLUETOOTH_SHARE"
10 android:label="@string/permlab_bluetoothShareManager"
11 android:description="@string/permdesc_bluetoothShareManager"
12 android:protectionLevel="signature" />
Martijn Coenen8099f5e2012-04-06 13:47:52 -070013
14 <!-- Allows temporarily whitelisting Bluetooth addresses for sharing -->
15 <permission android:name="com.android.permission.WHITELIST_BLUETOOTH_DEVICE"
16 android:label="@string/permlab_bluetoothWhitelist"
17 android:description="@string/permdesc_bluetoothWhitelist"
18 android:protectionLevel="signature" />
19
Nick Pelly09e9cba2009-07-10 18:45:13 -070020 <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
21 <uses-permission android:name="android.permission.ACCESS_BLUETOOTH_SHARE" />
22 <uses-permission android:name="android.permission.INTERNET" />
23 <uses-permission android:name="android.permission.BLUETOOTH" />
24 <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
Wei Wang871bee02014-02-28 14:45:31 -080025 <uses-permission android:name="android.permission.BLUETOOTH_PRIVILEGED" />
Nick Pelly09e9cba2009-07-10 18:45:13 -070026 <uses-permission android:name="android.permission.WAKE_LOCK" />
27 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Jackson Fan2c282d52009-07-19 12:25:14 +080028 <uses-permission android:name="android.permission.READ_CONTACTS" />
Daniel Lehmann4425b782012-03-09 20:43:54 -080029 <uses-permission android:name="android.permission.READ_CALL_LOG" />
Jackson Fan2c282d52009-07-19 12:25:14 +080030 <uses-permission android:name="android.permission.READ_PHONE_STATE" />
31 <uses-permission android:name="android.permission.WRITE_SETTINGS" />
Andres Moralescfaffa82014-03-11 08:56:54 -070032 <uses-permission android:name="android.permission.NFC_HANDOVER_STATUS" />
Matthew Xie6c91bc02012-02-16 18:47:53 -080033 <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
Prem Kumar87896dd2014-04-14 10:16:15 -070034 <uses-permission android:name="android.permission.WRITE_APN_SETTINGS" />
Jaikumar Ganesha11b96d2012-02-27 10:30:33 -080035 <uses-permission android:name="android.permission.NET_ADMIN" />
Matthew Xie6c91bc02012-02-16 18:47:53 -080036 <uses-permission android:name="android.permission.CALL_PRIVILEGED" />
37 <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
fredc6654f5c2012-04-12 00:18:52 -070038 <uses-permission android:name="android.permission.NET_TUNNELING" />
39 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
40 <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
Matthew Xie09a49912012-07-12 15:55:22 -070041 <uses-permission android:name="android.permission.CONNECTIVITY_INTERNAL" />
Matthew Xie0e463622012-09-26 00:12:26 -070042 <uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
Matthew Xie344036b2012-10-01 21:49:48 -070043 <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" />
44 <uses-permission android:name="android.permission.BLUETOOTH_STACK" />
Zhihai Xu37510152012-10-08 18:04:32 -070045 <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS"/>
46 <uses-permission android:name="android.permission.MANAGE_USERS"/>
Martijn Coenen19d8d542012-10-30 15:15:05 -070047 <uses-permission android:name="com.google.android.gallery3d.permission.GALLERY_PROVIDER"/>
48 <uses-permission android:name="com.android.gallery3d.permission.GALLERY_PROVIDER"/>
Matthew Xiefd6603b2013-07-18 18:18:36 -070049 <uses-permission android:name="android.permission.MMS_SEND_OUTBOX_MSG"/>
50 <uses-permission android:name="android.permission.RECEIVE_SMS" />
Matthew Xiefd6603b2013-07-18 18:18:36 -070051 <uses-permission android:name="android.permission.SEND_SMS" />
52 <uses-permission android:name="android.permission.READ_SMS" />
53 <uses-permission android:name="android.permission.WRITE_SMS" />
54 <uses-permission android:name="android.permission.READ_CONTACTS" />
Kim Schulz70be0052013-08-22 10:57:59 +020055 <uses-permission android:name="android.permission.READ_PHONE_STATE" />
Jean-Michel Trivi5509d362013-09-17 20:21:22 -070056 <uses-permission android:name="android.permission.MEDIA_CONTENT_CONTROL" />
Zhihai Xu37510152012-10-08 18:04:32 -070057
fredcc7a57f32012-05-07 14:20:35 -070058 <!-- For PBAP Owner Vcard Info -->
59 <uses-permission android:name="android.permission.READ_PROFILE"/>
Jaikumar Ganesh20b763a2010-03-11 13:06:54 -080060 <application
fredc6654f5c2012-04-12 00:18:52 -070061 android:name=".btservice.AdapterApp"
Jaikumar Ganesh20b763a2010-03-11 13:06:54 -080062 android:icon="@drawable/bt_share"
fredc6654f5c2012-04-12 00:18:52 -070063 android:persistent="false"
Alexandra Gherghina16fab072014-04-11 11:28:03 +000064 android:label="@string/app_name">
Nick Pelly09e9cba2009-07-10 18:45:13 -070065 <uses-library android:name="javax.obex" />
Tao Liejun6769b592009-07-14 15:55:04 -070066 <provider android:name=".opp.BluetoothOppProvider"
Jaikumar Ganesh20b763a2010-03-11 13:06:54 -080067 android:authorities="com.android.bluetooth.opp"
Nick Kralevichea0b4f92012-07-30 12:41:30 -070068 android:exported="true"
Jaikumar Ganesh20b763a2010-03-11 13:06:54 -080069 android:process="@string/process">
Tao Liejun1ac55072009-08-07 15:01:24 +080070 <path-permission
Matthew Xie2819c1d2013-12-06 12:19:36 -080071 android:pathPrefix="/btopp"
Tao Liejun1ac55072009-08-07 15:01:24 +080072 android:permission="android.permission.ACCESS_BLUETOOTH_SHARE" />
73 </provider>
Jaikumar Ganesh20b763a2010-03-11 13:06:54 -080074 <service
75 android:process="@string/process"
fredc6654f5c2012-04-12 00:18:52 -070076 android:name = ".btservice.AdapterService">
77 <intent-filter>
78 <action android:name="android.bluetooth.IBluetooth" />
79 </intent-filter>
80 </service>
81 <service
82 android:process="@string/process"
Jaikumar Ganesh20b763a2010-03-11 13:06:54 -080083 android:name=".opp.BluetoothOppService"
fredca7e8ef32012-05-10 22:07:32 -070084 android:permission="android.permission.ACCESS_BLUETOOTH_SHARE"
85 android:enabled="@bool/profile_supported_opp"/>
Jaikumar Ganesh20b763a2010-03-11 13:06:54 -080086 <receiver
87 android:process="@string/process"
Kausik Sinnaswamyd5708932012-04-09 20:02:49 +053088 android:exported="true"
fredca7e8ef32012-05-10 22:07:32 -070089 android:name=".opp.BluetoothOppReceiver"
90 android:enabled="@bool/profile_supported_opp">
Nick Pelly09e9cba2009-07-10 18:45:13 -070091 <intent-filter>
Nick Pellybd540682009-09-11 11:46:59 -070092 <action android:name="android.bluetooth.adapter.action.STATE_CHANGED" />
jhtop.kimef697b02011-08-02 10:59:35 +090093 <!--action android:name="android.intent.action.BOOT_COMPLETED" /-->
Jake Hamby1ed96d52011-01-25 19:46:26 -080094 <action android:name="android.btopp.intent.action.OPEN_RECEIVED_FILES" />
Martijn Coenen8099f5e2012-04-06 13:47:52 -070095 </intent-filter>
96 </receiver>
97 <receiver
98 android:process="@string/process"
99 android:name=".opp.BluetoothOppHandoverReceiver"
100 android:permission="com.android.permission.WHITELIST_BLUETOOTH_DEVICE">
101 <intent-filter>
102 <action android:name="android.btopp.intent.action.WHITELIST_DEVICE" />
Martijn Coenen584dfb22012-05-16 13:58:02 -0700103 <action android:name="android.btopp.intent.action.STOP_HANDOVER_TRANSFER" />
Nick Pelly09e9cba2009-07-10 18:45:13 -0700104 </intent-filter>
Martijn Coenen03f25a22012-05-18 13:43:30 -0700105 <intent-filter>
Andres Moralescfaffa82014-03-11 08:56:54 -0700106 <action android:name="android.nfc.handover.intent.action.HANDOVER_SEND" />
Martijn Coenen03f25a22012-05-18 13:43:30 -0700107 <category android:name="android.intent.category.DEFAULT" />
108 <data android:mimeType="*/*" />
109 </intent-filter>
110 <intent-filter>
Andres Moralescfaffa82014-03-11 08:56:54 -0700111 <action android:name="android.nfc.handover.intent.action.HANDOVER_SEND_MULTIPLE" />
Martijn Coenen03f25a22012-05-18 13:43:30 -0700112 <category android:name="android.intent.category.DEFAULT" />
113 <data android:mimeType="*/*" />
114 </intent-filter>
Nick Pelly09e9cba2009-07-10 18:45:13 -0700115 </receiver>
Tao Liejun6769b592009-07-14 15:55:04 -0700116 <activity android:name=".opp.BluetoothOppLauncherActivity"
Jaikumar Ganesh6a148f12010-05-14 15:00:28 -0700117 android:process="@string/process"
fredca7e8ef32012-05-10 22:07:32 -0700118 android:theme="@android:style/Theme.Holo.Dialog"
119 android:label="@string/bt_share_picker_label"
120 android:enabled="@bool/profile_supported_opp">
Nick Pelly09e9cba2009-07-10 18:45:13 -0700121 <intent-filter>
122 <action android:name="android.intent.action.SEND" />
123 <category android:name="android.intent.category.DEFAULT" />
124 <data android:mimeType="image/*" />
125 <data android:mimeType="video/*" />
Jackson Fan239bc522009-07-27 15:58:22 +0800126 <data android:mimeType="audio/*" />
Lixin Yue6ef730f2009-12-17 16:31:22 +0800127 <data android:mimeType="text/x-vcard" />
Tao Liejunfb8562d2009-11-18 11:02:59 -0600128 <data android:mimeType="text/plain" />
129 <data android:mimeType="text/html" />
Matthew Xiec0b728a2013-07-31 00:52:16 -0700130 <data android:mimeType="text/xml" />
Tao Liejunfb8562d2009-11-18 11:02:59 -0600131 <data android:mimeType="application/zip" />
132 <data android:mimeType="application/vnd.ms-excel" />
133 <data android:mimeType="application/msword" />
134 <data android:mimeType="application/vnd.ms-powerpoint" />
135 <data android:mimeType="application/pdf" />
Sungmin Choi5d574612012-11-30 15:59:30 +0900136 <data android:mimeType="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" />
137 <data android:mimeType="application/vnd.openxmlformats-officedocument.wordprocessingml.document" />
138 <data android:mimeType="application/vnd.openxmlformats-officedocument.presentationml.presentation" />
Nick Pelly09e9cba2009-07-10 18:45:13 -0700139 </intent-filter>
140 <intent-filter>
Tao Liejun1ac55072009-08-07 15:01:24 +0800141 <action android:name="android.intent.action.SEND_MULTIPLE" />
Nick Pelly09e9cba2009-07-10 18:45:13 -0700142 <category android:name="android.intent.category.DEFAULT" />
143 <data android:mimeType="image/*" />
144 <data android:mimeType="video/*" />
145 <data android:mimeType="x-mixmedia/*" />
Lixin Yue6ef730f2009-12-17 16:31:22 +0800146 <data android:mimeType="text/x-vcard" />
Nick Pelly09e9cba2009-07-10 18:45:13 -0700147 </intent-filter>
148 <intent-filter>
149 <action android:name="android.btopp.intent.action.OPEN" />
150 <category android:name="android.intent.category.DEFAULT" />
151 <data android:mimeType="vnd.android.cursor.item/vnd.android.btopp" />
152 </intent-filter>
153 </activity>
Lixin Yuedc3bacd2009-09-21 20:36:16 +0800154 <activity android:name=".opp.BluetoothOppBtEnableActivity"
Jaikumar Ganesh6a148f12010-05-14 15:00:28 -0700155 android:process="@string/process"
Lixin Yuedc3bacd2009-09-21 20:36:16 +0800156 android:excludeFromRecents="true"
fredca7e8ef32012-05-10 22:07:32 -0700157 android:theme="@*android:style/Theme.Holo.Dialog.Alert"
158 android:enabled="@bool/profile_supported_opp">
Nick Pelly09e9cba2009-07-10 18:45:13 -0700159 </activity>
Lixin Yuedc3bacd2009-09-21 20:36:16 +0800160 <activity android:name=".opp.BluetoothOppBtErrorActivity"
Jaikumar Ganesh6a148f12010-05-14 15:00:28 -0700161 android:process="@string/process"
Lixin Yuedc3bacd2009-09-21 20:36:16 +0800162 android:excludeFromRecents="true"
Jaikumar Ganeshb27df662011-01-10 15:21:53 -0800163 android:theme="@*android:style/Theme.Holo.Dialog.Alert">
Nick Pelly09e9cba2009-07-10 18:45:13 -0700164 </activity>
Lixin Yuedc3bacd2009-09-21 20:36:16 +0800165 <activity android:name=".opp.BluetoothOppBtEnablingActivity"
Jaikumar Ganesh6a148f12010-05-14 15:00:28 -0700166 android:process="@string/process"
Lixin Yuedc3bacd2009-09-21 20:36:16 +0800167 android:excludeFromRecents="true"
fredca7e8ef32012-05-10 22:07:32 -0700168 android:theme="@*android:style/Theme.Holo.Dialog.Alert"
169 android:enabled="@bool/profile_supported_opp">
Lixin Yuedc3bacd2009-09-21 20:36:16 +0800170 </activity>
Jaikumar Ganesh53647ab2009-09-11 16:20:52 -0700171 <activity android:name=".opp.BluetoothOppIncomingFileConfirmActivity"
Jaikumar Ganesh6a148f12010-05-14 15:00:28 -0700172 android:process="@string/process"
Jaikumar Ganesh53647ab2009-09-11 16:20:52 -0700173 android:excludeFromRecents="true"
fredca7e8ef32012-05-10 22:07:32 -0700174 android:theme="@*android:style/Theme.Holo.Dialog.Alert"
175 android:enabled="@bool/profile_supported_opp">
Nick Pelly09e9cba2009-07-10 18:45:13 -0700176 </activity>
Lixin Yuedc3bacd2009-09-21 20:36:16 +0800177 <activity android:name=".opp.BluetoothOppTransferActivity"
Jaikumar Ganesh6a148f12010-05-14 15:00:28 -0700178 android:process="@string/process"
Lixin Yuedc3bacd2009-09-21 20:36:16 +0800179 android:excludeFromRecents="true"
fredca7e8ef32012-05-10 22:07:32 -0700180 android:theme="@*android:style/Theme.Holo.Dialog.Alert"
181 android:enabled="@bool/profile_supported_opp">
Nick Pelly09e9cba2009-07-10 18:45:13 -0700182 </activity>
Tao Liejun6769b592009-07-14 15:55:04 -0700183 <activity android:name=".opp.BluetoothOppLiveFolder"
Jaikumar Ganesh6a148f12010-05-14 15:00:28 -0700184 android:process="@string/process"
Mike Cleronae70ee22009-09-29 13:03:26 -0700185 android:icon="@drawable/ic_launcher_folder_bluetooth"
fredca7e8ef32012-05-10 22:07:32 -0700186 android:label="@string/btopp_live_folder"
187 android:enabled="@bool/profile_supported_opp">
Nick Pelly09e9cba2009-07-10 18:45:13 -0700188 <intent-filter>
189 <action android:name="android.intent.action.CREATE_LIVE_FOLDER" />
190 <category android:name="android.intent.category.DEFAULT" />
191 </intent-filter>
192 </activity>
Lixin Yue5cc61792010-02-26 17:35:23 +0800193 <activity android:name=".opp.BluetoothOppTransferHistory"
Jaikumar Ganesh6a148f12010-05-14 15:00:28 -0700194 android:process="@string/process"
Lixin Yue5cc61792010-02-26 17:35:23 +0800195 android:label=""
196 android:excludeFromRecents="true"
fredca7e8ef32012-05-10 22:07:32 -0700197 android:configChanges="orientation|keyboardHidden"
198 android:enabled="@bool/profile_supported_opp">
Lixin Yue5cc61792010-02-26 17:35:23 +0800199 </activity>
Jackson Fan2c282d52009-07-19 12:25:14 +0800200 <activity android:name=".pbap.BluetoothPbapActivity"
Jaikumar Ganesh0bd5f7b2010-03-24 10:36:06 -0700201 android:process="@string/process"
Lixin Yuedc3bacd2009-09-21 20:36:16 +0800202 android:excludeFromRecents="true"
fredca7e8ef32012-05-10 22:07:32 -0700203 android:theme="@*android:style/Theme.Holo.Dialog.Alert"
204 android:enabled="@bool/profile_supported_pbap">
Jackson Fan2c282d52009-07-19 12:25:14 +0800205 <intent-filter>
Lixin Yued8961622009-07-28 10:45:23 +0800206 <category android:name="android.intent.category.DEFAULT" />
Jackson Fan2c282d52009-07-19 12:25:14 +0800207 </intent-filter>
208 </activity>
Jaikumar Ganesh20b763a2010-03-11 13:06:54 -0800209 <service
210 android:process="@string/process"
fredca7e8ef32012-05-10 22:07:32 -0700211 android:name=".pbap.BluetoothPbapService"
212 android:enabled="@bool/profile_supported_pbap" >
Jaikumar Ganeshb8c66032010-10-07 00:39:15 +0200213 <intent-filter>
214 <action android:name="android.bluetooth.IBluetoothPbap" />
215 </intent-filter>
Jackson Fan2c282d52009-07-19 12:25:14 +0800216 </service>
Jaikumar Ganesh20b763a2010-03-11 13:06:54 -0800217 <receiver
218 android:process="@string/process"
Kausik Sinnaswamyd5708932012-04-09 20:02:49 +0530219 android:exported="true"
fredca7e8ef32012-05-10 22:07:32 -0700220 android:name=".pbap.BluetoothPbapReceiver"
221 android:enabled="@bool/profile_supported_pbap">
Jackson Fan2c282d52009-07-19 12:25:14 +0800222 <intent-filter>
Nick Pellybd540682009-09-11 11:46:59 -0700223 <action android:name="android.bluetooth.adapter.action.STATE_CHANGED"/>
Matthew Xie7eab97d2011-06-28 13:53:56 -0700224 <action android:name="android.bluetooth.device.action.CONNECTION_ACCESS_REPLY" />
225 <category android:name="android.intent.category.DEFAULT" />
Jackson Fan2c282d52009-07-19 12:25:14 +0800226 </intent-filter>
227 </receiver>
Matthew Xiefd6603b2013-07-18 18:18:36 -0700228 <service
229 android:process="@string/process"
230 android:name=".map.BluetoothMapService"
231 android:enabled="@bool/profile_supported_map" >
232 <intent-filter>
233 <action android:name="android.bluetooth.IBluetoothMap" />
234 </intent-filter>
235 </service>
Matthew Xie6c91bc02012-02-16 18:47:53 -0800236 <service
237 android:process="@string/process"
Ganesh Ganapathi Batta03b83862013-02-05 15:38:27 -0800238 android:name = ".gatt.GattService"
239 android:enabled="@bool/profile_supported_gatt">
240 <intent-filter>
241 <action android:name="android.bluetooth.IBluetoothGatt" />
242 </intent-filter>
243 </service>
244 <service
245 android:process="@string/process"
fredca7e8ef32012-05-10 22:07:32 -0700246 android:name = ".hfp.HeadsetService"
247 android:enabled="@bool/profile_supported_hs_hfp">
Matthew Xie6c91bc02012-02-16 18:47:53 -0800248 <intent-filter>
249 <action android:name="android.bluetooth.IBluetoothHeadset" />
250 </intent-filter>
251 </service>
252 <service
253 android:process="@string/process"
fredca7e8ef32012-05-10 22:07:32 -0700254 android:name = ".a2dp.A2dpService"
255 android:enabled="@bool/profile_supported_a2dp">
Matthew Xie6c91bc02012-02-16 18:47:53 -0800256 <intent-filter>
257 <action android:name="android.bluetooth.IBluetoothA2dp" />
258 </intent-filter>
259 </service>
Matthew Xie35207a52012-03-21 23:11:40 -0700260 <service
261 android:process="@string/process"
Mike Lockwoodc030f082014-06-07 14:04:40 -0700262 android:name = ".a2dp.A2dpSinkService"
263 android:enabled="@bool/profile_supported_a2dp_sink">
264 <intent-filter>
265 <action android:name="android.bluetooth.IBluetoothA2dpSink" />
266 </intent-filter>
267 </service>
268 <service
269 android:process="@string/process"
Mike Lockwood066ad9e2014-06-06 13:04:55 -0700270 android:name = ".avrcp.AvrcpControllerService"
271 android:enabled="@bool/profile_supported_avrcp_controller">
272 <intent-filter>
273 <action android:name="android.bluetooth.IBluetoothAvrcpController" />
274 </intent-filter>
275 </service>
276 <service
277 android:process="@string/process"
fredca7e8ef32012-05-10 22:07:32 -0700278 android:name = ".hid.HidService"
279 android:enabled="@bool/profile_supported_hid">
Matthew Xie35207a52012-03-21 23:11:40 -0700280 <intent-filter>
281 <action android:name="android.bluetooth.IBluetoothInputDevice" />
282 </intent-filter>
283 </service>
Matthew Xie676cb1b2012-03-22 17:32:29 -0700284 <service
285 android:process="@string/process"
fredca7e8ef32012-05-10 22:07:32 -0700286 android:name = ".hdp.HealthService"
287 android:enabled="@bool/profile_supported_hdp">
Matthew Xie676cb1b2012-03-22 17:32:29 -0700288 <intent-filter>
289 <action android:name="android.bluetooth.IBluetoothHealth" />
290 </intent-filter>
291 </service>
fredc6654f5c2012-04-12 00:18:52 -0700292 <service
293 android:process="@string/process"
fredca7e8ef32012-05-10 22:07:32 -0700294 android:name = ".pan.PanService"
295 android:enabled="@bool/profile_supported_pan">
fredc6654f5c2012-04-12 00:18:52 -0700296 <intent-filter>
297 <action android:name="android.bluetooth.IBluetoothPan" />
298 </intent-filter>
299 </service>
Hemant Guptaaebc7262013-08-19 18:54:29 +0530300 <service
301 android:process="@string/process"
Mike Lockwood8d536f32014-06-12 12:07:01 -0700302 android:name = ".hfpclient.HeadsetClientService"
Hemant Guptaaebc7262013-08-19 18:54:29 +0530303 android:enabled="@bool/profile_supported_hfpclient">
304 <intent-filter>
Mike Lockwood8d536f32014-06-12 12:07:01 -0700305 <action android:name="android.bluetooth.IBluetoothHeadsetClient" />
Hemant Guptaaebc7262013-08-19 18:54:29 +0530306 </intent-filter>
307 </service>
Nick Pelly09e9cba2009-07-10 18:45:13 -0700308 </application>
309</manifest>