Sunny Goyal | d83a67a | 2016-05-23 21:40:53 -0700 | [diff] [blame] | 1 | <?xml version="1.0" encoding="utf-8"?> |
| 2 | <!-- |
| 3 | /* |
| 4 | ** |
| 5 | ** Copyright 2016, The Android Open Source Project |
| 6 | ** |
| 7 | ** Licensed under the Apache License, Version 2.0 (the "License"); |
| 8 | ** you may not use this file except in compliance with the License. |
| 9 | ** You may obtain a copy of the License at |
| 10 | ** |
| 11 | ** http://www.apache.org/licenses/LICENSE-2.0 |
| 12 | ** |
| 13 | ** Unless required by applicable law or agreed to in writing, software |
| 14 | ** distributed under the License is distributed on an "AS IS" BASIS, |
| 15 | ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 16 | ** See the License for the specific language governing permissions and |
| 17 | ** limitations under the License. |
| 18 | */ |
| 19 | --> |
| 20 | <manifest |
| 21 | xmlns:android="http://schemas.android.com/apk/res/android" |
Alan Viverette | a88802e | 2021-08-25 22:06:47 +0000 | [diff] [blame] | 22 | xmlns:tools="http://schemas.android.com/tools" |
Pranav Vashi | 77ab0db | 2022-12-13 23:19:47 +0530 | [diff] [blame] | 23 | package="com.android.launcher3" |
| 24 | coreApp="true" |
| 25 | android:sharedUserId="android.uid.system"> |
Sunny Goyal | d83a67a | 2016-05-23 21:40:53 -0700 | [diff] [blame] | 26 | |
| 27 | <!-- |
| 28 | The manifest defines the common entries that should be present in any derivative of Launcher3. |
| 29 | The components should generally not require any changes. |
| 30 | |
| 31 | Rest of the components are defined in AndroidManifest.xml which is merged with this manifest |
| 32 | at compile time. Note that the components defined in AndroidManifest.xml are also required, |
| 33 | with some minor changed based on the derivative app. |
| 34 | --> |
Sunny Goyal | d83a67a | 2016-05-23 21:40:53 -0700 | [diff] [blame] | 35 | |
| 36 | <uses-permission android:name="android.permission.CALL_PHONE" /> |
| 37 | <uses-permission android:name="android.permission.SET_WALLPAPER" /> |
| 38 | <uses-permission android:name="android.permission.SET_WALLPAPER_HINTS" /> |
| 39 | <uses-permission android:name="android.permission.BIND_APPWIDGET" /> |
| 40 | <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> |
| 41 | <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> |
Jon Miranda | 94fe9fa | 2017-09-05 13:38:07 -0700 | [diff] [blame] | 42 | <uses-permission android:name="android.permission.REQUEST_DELETE_PACKAGES" /> |
Hyunyoung Song | 2dac6f8 | 2019-08-16 10:16:39 -0700 | [diff] [blame] | 43 | <uses-permission android:name="android.permission.READ_DEVICE_CONFIG" /> |
Patrick Baumann | ca16911 | 2020-02-14 10:32:39 -0800 | [diff] [blame] | 44 | <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" /> |
Brandon Dayauon | 12c193e | 2022-10-31 14:28:38 -0700 | [diff] [blame] | 45 | <uses-permission android:name="android.permission.VIBRATE"/> |
Oliver Scott | 93f98bb | 2021-07-01 23:01:03 -0400 | [diff] [blame] | 46 | <uses-permission android:name="android.permission.SUSPEND_APPS" /> |
| 47 | <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" /> |
minaripenguin | f84beb7 | 2024-10-30 09:58:00 +0800 | [diff] [blame] | 48 | <uses-permission android:name="android.permission.PACKAGE_USAGE_STATS" /> |
Hongwei Wang | f4b60d5 | 2020-11-17 15:57:38 -0800 | [diff] [blame] | 49 | <!-- for rotating surface by arbitrary degree --> |
| 50 | <uses-permission android:name="android.permission.ROTATE_SURFACE_FLINGER" /> |
Vishnu Nair | 7b3eb35 | 2022-12-01 17:21:15 -0800 | [diff] [blame] | 51 | <uses-permission android:name="android.permission.WAKEUP_SURFACE_FLINGER" /> |
Steve Elliott | 43c2c6c | 2021-12-03 16:32:19 -0500 | [diff] [blame] | 52 | <uses-permission android:name="android.permission.POST_NOTIFICATIONS" /> |
Joey | f1991e1 | 2019-01-23 17:49:25 +0100 | [diff] [blame] | 53 | <uses-permission android:name="android.permission.USE_BIOMETRIC" /> |
Thecrazyskull | 65b644a | 2017-02-10 09:38:50 -0500 | [diff] [blame] | 54 | <uses-permission android:name="android.permission.DEVICE_POWER" /> |
MLZ94 | 63d0dac | 2022-12-21 21:27:40 +0000 | [diff] [blame] | 55 | <uses-permission android:name="android.permission.FORCE_STOP_PACKAGES" /> |
Pranav Vashi | 14bb6f0 | 2022-06-10 11:02:38 +0530 | [diff] [blame] | 56 | <uses-permission android:name="android.permission.WRITE_SETTINGS" /> |
| 57 | <uses-permission android:name="lineageos.permission.WRITE_SETTINGS" /> |
Pranav Vashi | 3d4dd2c | 2022-09-17 17:29:13 +0530 | [diff] [blame] | 58 | <uses-permission android:name="android.permission.MEDIA_CONTENT_CONTROL" /> |
| 59 | <uses-permission android:name="org.omnirom.omnijaws.READ_WEATHER" /> |
minaripenguin | f6139d6 | 2022-12-26 14:16:30 +0800 | [diff] [blame] | 60 | <uses-permission android:name="android.permission.GET_INTENT_SENDER_INTENT" /> |
| 61 | <uses-permission android:name="com.android.alarm.permission.SET_ALARM" /> |
Abhay Singh Gill | 3075ae9 | 2024-08-03 01:42:27 +0800 | [diff] [blame] | 62 | <uses-permission android:name="android.permission.ACCESS_CONTEXTUAL_SEARCH"/> |
Pinyao Ting | 0bae1f5 | 2022-10-31 10:51:31 -0700 | [diff] [blame] | 63 | |
LibXZR | 321a397 | 2022-08-21 18:37:53 +0800 | [diff] [blame] | 64 | <!-- for parallel spaces --> |
| 65 | <uses-permission android:name="com.android.permission.MANAGE_PARALLEL_SPACES" /> |
| 66 | <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" /> |
| 67 | |
minaripenguin | 4f7c5c6 | 2024-11-19 18:02:54 +0800 | [diff] [blame] | 68 | <uses-permission android:name="android.permission.REGISTER_STATS_PULL_ATOM"/> |
| 69 | |
elpaablo | 5391fae | 2022-10-27 03:32:27 +0100 | [diff] [blame] | 70 | <!-- AppLock --> |
| 71 | <uses-permission android:name="android.permission.MANAGE_APP_LOCK" /> |
| 72 | |
Adithya R | 9f35c73 | 2024-08-24 13:27:40 +0530 | [diff] [blame] | 73 | <!-- LMOFreeform --> |
| 74 | <uses-permission android:name="com.bliss.permission.START_FREEFORM" /> |
| 75 | |
Sunny Goyal | 7f920b8 | 2018-06-27 15:47:49 -0700 | [diff] [blame] | 76 | <!-- |
| 77 | Permissions required for read/write access to the workspace data. These permission name |
| 78 | should not conflict with that defined in other apps, as such an app should embed its package |
| 79 | name in the permissions. eq com.mypackage.permission.READ_SETTINGS |
| 80 | --> |
| 81 | <permission |
Sunny Goyal | 2958616 | 2024-04-17 23:23:38 -0700 | [diff] [blame] | 82 | android:name="${applicationId}.permission.READ_SETTINGS" |
Sunny Goyal | 7f920b8 | 2018-06-27 15:47:49 -0700 | [diff] [blame] | 83 | android:protectionLevel="signatureOrSystem" |
| 84 | android:label="@string/permlab_read_settings" |
| 85 | android:description="@string/permdesc_read_settings"/> |
| 86 | <permission |
Sunny Goyal | 2958616 | 2024-04-17 23:23:38 -0700 | [diff] [blame] | 87 | android:name="${applicationId}.permission.WRITE_SETTINGS" |
Sunny Goyal | 7f920b8 | 2018-06-27 15:47:49 -0700 | [diff] [blame] | 88 | android:protectionLevel="signatureOrSystem" |
| 89 | android:label="@string/permlab_write_settings" |
| 90 | android:description="@string/permdesc_write_settings"/> |
| 91 | |
Sunny Goyal | 2958616 | 2024-04-17 23:23:38 -0700 | [diff] [blame] | 92 | <uses-permission android:name="${applicationId}.permission.READ_SETTINGS" /> |
| 93 | <uses-permission android:name="${applicationId}.permission.WRITE_SETTINGS" /> |
Sunny Goyal | 7f920b8 | 2018-06-27 15:47:49 -0700 | [diff] [blame] | 94 | |
Sunny Goyal | d83a67a | 2016-05-23 21:40:53 -0700 | [diff] [blame] | 95 | <application |
| 96 | android:backupAgent="com.android.launcher3.LauncherBackupAgent" |
Sunny Goyal | 79085da | 2023-10-18 11:51:54 -0700 | [diff] [blame] | 97 | android:name="com.android.launcher3.LauncherApplication" |
Sunny Goyal | d83a67a | 2016-05-23 21:40:53 -0700 | [diff] [blame] | 98 | android:fullBackupOnly="true" |
Sunny Goyal | 3bba168 | 2016-08-19 13:13:03 -0700 | [diff] [blame] | 99 | android:backupInForeground="true" |
Sunny Goyal | d83a67a | 2016-05-23 21:40:53 -0700 | [diff] [blame] | 100 | android:fullBackupContent="@xml/backupscheme" |
| 101 | android:hardwareAccelerated="true" |
Hyunyoung Song | 837eb1f | 2017-03-03 11:14:05 -0800 | [diff] [blame] | 102 | android:icon="@drawable/ic_launcher_home" |
Sunny Goyal | 112ce42 | 2016-08-22 16:45:29 -0700 | [diff] [blame] | 103 | android:label="@string/derived_app_name" |
Sunny Goyal | d83a67a | 2016-05-23 21:40:53 -0700 | [diff] [blame] | 104 | android:largeHeap="@bool/config_largeHeap" |
| 105 | android:restoreAnyVersion="true" |
| 106 | android:supportsRtl="true" > |
| 107 | |
Sunny Goyal | 4179e9b | 2017-03-08 14:25:09 -0800 | [diff] [blame] | 108 | <!-- Intent received when a session is committed --> |
| 109 | <receiver |
Ashwini Oruganti | aa902e8 | 2020-06-04 17:47:09 -0700 | [diff] [blame] | 110 | android:name="com.android.launcher3.SessionCommitReceiver" |
| 111 | android:exported="true"> |
Sunny Goyal | 4179e9b | 2017-03-08 14:25:09 -0800 | [diff] [blame] | 112 | <intent-filter> |
| 113 | <action android:name="android.content.pm.action.SESSION_COMMITTED" /> |
| 114 | </intent-filter> |
| 115 | </receiver> |
| 116 | |
Sunny Goyal | d83a67a | 2016-05-23 21:40:53 -0700 | [diff] [blame] | 117 | <!-- Intent received used to initialize a restored widget --> |
Ashwini Oruganti | aa902e8 | 2020-06-04 17:47:09 -0700 | [diff] [blame] | 118 | <receiver android:name="com.android.launcher3.AppWidgetsRestoredReceiver" |
| 119 | android:exported="true"> |
Sunny Goyal | d83a67a | 2016-05-23 21:40:53 -0700 | [diff] [blame] | 120 | <intent-filter> |
| 121 | <action android:name="android.appwidget.action.APPWIDGET_HOST_RESTORED"/> |
| 122 | </intent-filter> |
| 123 | </receiver> |
| 124 | |
Sunny Goyal | 3e93ec5 | 2017-05-23 14:00:32 -0700 | [diff] [blame] | 125 | <service |
Sunny Goyal | c466b17 | 2018-03-01 16:10:19 -0800 | [diff] [blame] | 126 | android:name="com.android.launcher3.notification.NotificationListener" |
Tony Wickham | f34bee8 | 2018-12-03 18:11:39 -0800 | [diff] [blame] | 127 | android:label="@string/notification_dots_service_title" |
Ashwini Oruganti | aa902e8 | 2020-06-04 17:47:09 -0700 | [diff] [blame] | 128 | android:exported="true" |
Sunny Goyal | c466b17 | 2018-03-01 16:10:19 -0800 | [diff] [blame] | 129 | android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE"> |
Tony | 4d8019a | 2017-02-13 07:44:01 -0800 | [diff] [blame] | 130 | <intent-filter> |
| 131 | <action android:name="android.service.notification.NotificationListenerService" /> |
| 132 | </intent-filter> |
| 133 | </service> |
| 134 | |
Sunny Goyal | d83a67a | 2016-05-23 21:40:53 -0700 | [diff] [blame] | 135 | <meta-data android:name="android.nfc.disable_beam_default" |
| 136 | android:value="true" /> |
| 137 | |
Sunny Goyal | 2783595 | 2017-01-13 12:15:53 -0800 | [diff] [blame] | 138 | <activity android:name="com.android.launcher3.dragndrop.AddItemActivity" |
Alina Zaidi | d80cec6 | 2021-05-13 14:13:18 +0100 | [diff] [blame] | 139 | android:theme="@style/AddItemActivityTheme" |
Sunny Goyal | b38fab7 | 2017-01-20 19:32:31 -0800 | [diff] [blame] | 140 | android:excludeFromRecents="true" |
| 141 | android:autoRemoveFromRecents="true" |
Alina Zaidi | 6d97d89 | 2021-03-22 10:06:25 +0000 | [diff] [blame] | 142 | android:exported="true"> |
Sunny Goyal | 2783595 | 2017-01-13 12:15:53 -0800 | [diff] [blame] | 143 | <intent-filter> |
Sunny Goyal | 8b2002e | 2017-01-26 14:40:10 -0800 | [diff] [blame] | 144 | <action android:name="android.content.pm.action.CONFIRM_PIN_SHORTCUT" /> |
| 145 | <action android:name="android.content.pm.action.CONFIRM_PIN_APPWIDGET" /> |
Sunny Goyal | 2783595 | 2017-01-13 12:15:53 -0800 | [diff] [blame] | 146 | </intent-filter> |
| 147 | </activity> |
| 148 | |
Hyunyoung Song | 37fa9b4 | 2017-05-04 15:21:20 -0700 | [diff] [blame] | 149 | <!-- |
Sunny Goyal | 7f920b8 | 2018-06-27 15:47:49 -0700 | [diff] [blame] | 150 | The settings provider contains Home's data, like the workspace favorites. The permissions |
| 151 | should be changed to what is defined above. The authorities should also be changed to |
| 152 | represent the package name. |
| 153 | --> |
| 154 | <provider |
| 155 | android:name="com.android.launcher3.LauncherProvider" |
Sunny Goyal | 2958616 | 2024-04-17 23:23:38 -0700 | [diff] [blame] | 156 | android:authorities="${applicationId}.settings" |
Sunny Goyal | 7f920b8 | 2018-06-27 15:47:49 -0700 | [diff] [blame] | 157 | android:exported="true" |
Sunny Goyal | 2958616 | 2024-04-17 23:23:38 -0700 | [diff] [blame] | 158 | android:writePermission="${applicationId}.permission.WRITE_SETTINGS" |
| 159 | android:readPermission="${applicationId}.permission.READ_SETTINGS" /> |
Sunny Goyal | 7f920b8 | 2018-06-27 15:47:49 -0700 | [diff] [blame] | 160 | |
| 161 | <!-- |
Sunny Goyal | eff44f3 | 2019-01-09 17:29:49 -0800 | [diff] [blame] | 162 | The content provider for exposing various launcher grid options. |
Hyunyoung Song | 58de5de | 2019-05-15 14:01:30 -0700 | [diff] [blame] | 163 | --> |
Sunny Goyal | eff44f3 | 2019-01-09 17:29:49 -0800 | [diff] [blame] | 164 | <provider |
Tracy Zhou | 0455d14 | 2021-01-27 14:05:01 -0800 | [diff] [blame] | 165 | android:name="com.android.launcher3.graphics.GridCustomizationsProvider" |
Sunny Goyal | 2958616 | 2024-04-17 23:23:38 -0700 | [diff] [blame] | 166 | android:authorities="${applicationId}.grid_control" |
Luca Stefani | 07ee6b8 | 2019-11-01 23:17:59 +0100 | [diff] [blame] | 167 | android:exported="true" |
| 168 | android:writePermission="${packageName}.permission.WRITE_SETTINGS" |
| 169 | android:readPermission="${packageName}.permission.READ_SETTINGS" /> |
Sunny Goyal | eff44f3 | 2019-01-09 17:29:49 -0800 | [diff] [blame] | 170 | |
| 171 | <!-- |
Sunny Goyal | 7f920b8 | 2018-06-27 15:47:49 -0700 | [diff] [blame] | 172 | The settings activity. To extend point settings_fragment_name to appropriate fragment class |
| 173 | --> |
| 174 | <activity |
Sunny Goyal | b2498b2 | 2018-10-16 16:36:02 -0700 | [diff] [blame] | 175 | android:name="com.android.launcher3.settings.SettingsActivity" |
Alex Cruz | 87b7790 | 2020-11-24 03:40:44 +0100 | [diff] [blame] | 176 | android:label="@string/settings_title" |
Brian Isganitis | 93031bc | 2021-06-09 16:34:45 -0400 | [diff] [blame] | 177 | android:theme="@style/HomeSettings.Theme" |
Ashwini Oruganti | aa902e8 | 2020-06-04 17:47:09 -0700 | [diff] [blame] | 178 | android:exported="true" |
Sunny Goyal | 7f920b8 | 2018-06-27 15:47:49 -0700 | [diff] [blame] | 179 | android:autoRemoveFromRecents="true"> |
| 180 | <intent-filter> |
| 181 | <action android:name="android.intent.action.APPLICATION_PREFERENCES" /> |
| 182 | <category android:name="android.intent.category.DEFAULT" /> |
| 183 | </intent-filter> |
| 184 | </activity> |
| 185 | |
Alex Cruz | 87b7790 | 2020-11-24 03:40:44 +0100 | [diff] [blame] | 186 | <!-- Icons --> |
| 187 | <activity |
| 188 | android:name="com.android.launcher3.settings.SettingsIcons" |
| 189 | android:label="@string/icons_category_title" |
| 190 | android:theme="@style/HomeSettings.Theme" |
| 191 | android:exported="true" |
| 192 | android:autoRemoveFromRecents="true" /> |
| 193 | |
| 194 | <!-- App drawer --> |
| 195 | <activity |
| 196 | android:name="com.android.launcher3.settings.SettingsAppDrawer" |
| 197 | android:label="@string/app_drawer_category_title" |
| 198 | android:theme="@style/HomeSettings.Theme" |
| 199 | android:exported="true" |
| 200 | android:autoRemoveFromRecents="true" /> |
| 201 | |
| 202 | <!-- Homescreen --> |
| 203 | <activity |
| 204 | android:name="com.android.launcher3.settings.SettingsHomescreen" |
| 205 | android:label="@string/home_category_title" |
| 206 | android:theme="@style/HomeSettings.Theme" |
| 207 | android:exported="true" |
| 208 | android:autoRemoveFromRecents="true" /> |
| 209 | |
| 210 | <!-- Misc settings --> |
| 211 | <activity |
| 212 | android:name="com.android.launcher3.settings.SettingsMisc" |
| 213 | android:label="@string/misc_category_title" |
| 214 | android:theme="@style/HomeSettings.Theme" |
| 215 | android:exported="true" |
| 216 | android:autoRemoveFromRecents="true" /> |
| 217 | |
| 218 | <!-- Recents --> |
| 219 | <activity |
| 220 | android:name="com.android.launcher3.settings.SettingsRecents" |
| 221 | android:label="@string/recents_category_title" |
| 222 | android:theme="@style/HomeSettings.Theme" |
| 223 | android:exported="true" |
| 224 | android:autoRemoveFromRecents="true" /> |
| 225 | |
Pranav Vashi | 6f69727 | 2022-11-13 13:50:05 +0530 | [diff] [blame] | 226 | <!-- Icon Pack --> |
| 227 | <activity |
| 228 | android:name="com.android.launcher3.icons.pack.IconPackSettingsActivity" |
| 229 | android:label="@string/icon_pack_title" |
| 230 | android:theme="@style/HomeSettings.Theme" |
| 231 | android:exported="true" |
| 232 | android:autoRemoveFromRecents="true" /> |
| 233 | |
Sunny Goyal | ab3963d | 2019-05-23 00:50:08 -0700 | [diff] [blame] | 234 | <provider |
| 235 | android:name="com.android.launcher3.testing.TestInformationProvider" |
Sunny Goyal | 2958616 | 2024-04-17 23:23:38 -0700 | [diff] [blame] | 236 | android:authorities="${applicationId}.TestInfo" |
Sunny Goyal | ab3963d | 2019-05-23 00:50:08 -0700 | [diff] [blame] | 237 | android:readPermission="android.permission.WRITE_SECURE_SETTINGS" |
| 238 | android:writePermission="android.permission.WRITE_SECURE_SETTINGS" |
| 239 | android:exported="true" |
| 240 | android:enabled="false" /> |
Sunny Goyal | 9c2b960 | 2020-01-07 13:07:55 -0800 | [diff] [blame] | 241 | |
| 242 | <!-- |
| 243 | Launcher activity for secondary display |
| 244 | --> |
| 245 | <activity |
| 246 | android:name="com.android.launcher3.secondarydisplay.SecondaryDisplayLauncher" |
| 247 | android:theme="@style/AppTheme" |
| 248 | android:launchMode="singleTop" |
Ashwini Oruganti | aa902e8 | 2020-06-04 17:47:09 -0700 | [diff] [blame] | 249 | android:exported="true" |
Sunny Goyal | 9c2b960 | 2020-01-07 13:07:55 -0800 | [diff] [blame] | 250 | android:enabled="true"> |
| 251 | <intent-filter> |
| 252 | <action android:name="android.intent.action.MAIN" /> |
| 253 | <category android:name="android.intent.category.SECONDARY_HOME" /> |
| 254 | <category android:name="android.intent.category.DEFAULT" /> |
| 255 | </intent-filter> |
| 256 | </activity> |
Alan Viverette | a88802e | 2021-08-25 22:06:47 +0000 | [diff] [blame] | 257 | |
Vadim Tryshev | c63c0f7 | 2024-05-10 12:27:39 -0700 | [diff] [blame] | 258 | <!-- Disable eager initialization of Jetpack libraries. See bug 197780098. --> |
Alan Viverette | a88802e | 2021-08-25 22:06:47 +0000 | [diff] [blame] | 259 | <provider |
| 260 | android:name="androidx.startup.InitializationProvider" |
| 261 | android:authorities="${applicationId}.androidx-startup" |
| 262 | tools:node="remove" /> |
Sebastian Franco | 9ae4032 | 2023-10-10 10:50:28 -0700 | [diff] [blame] | 263 | |
| 264 | <property |
| 265 | android:name="android.window.PROPERTY_ACTIVITY_EMBEDDING_SPLITS_ENABLED" |
| 266 | android:value="true" /> |
Joey | f1991e1 | 2019-01-23 17:49:25 +0100 | [diff] [blame] | 267 | |
| 268 | <activity |
| 269 | android:name="com.android.launcher3.lineage.trust.TrustAppsActivity" |
| 270 | android:label="@string/trust_apps_manager_name" |
elpaablo | 5391fae | 2022-10-27 03:32:27 +0100 | [diff] [blame] | 271 | android:permission="android.permission.MANAGE_APP_LOCK" |
minaripenguin | 2af4203 | 2024-10-26 20:50:29 +0800 | [diff] [blame] | 272 | android:theme="@style/Theme.SubSettingsBase" |
Joey | f1991e1 | 2019-01-23 17:49:25 +0100 | [diff] [blame] | 273 | android:autoRemoveFromRecents="true" /> |
Sunny Goyal | d83a67a | 2016-05-23 21:40:53 -0700 | [diff] [blame] | 274 | </application> |
| 275 | </manifest> |