tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

AndroidManifest.xml (10011B)


      1 <?xml version="1.0" encoding="utf-8"?>
      2 <!-- This Source Code Form is subject to the terms of the Mozilla Public
      3   - License, v. 2.0. If a copy of the MPL was not distributed with this
      4   - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
      5 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
      6    xmlns:tools="http://schemas.android.com/tools">
      7 
      8    <uses-permission android:name="android.permission.INTERNET" />
      9 
     10    <!-- Allows for storing and retrieving screenshots -->
     11    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"
     12        android:maxSdkVersion="32" />
     13    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
     14        android:maxSdkVersion="28" />
     15 
     16    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- Used by sentry. -->
     17    <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
     18    <uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
     19    <!-- Needed to prompt the user to give permission for camera access -->
     20    <uses-permission android:name="android.permission.CAMERA" />
     21 
     22    <uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK" />
     23    <uses-permission android:name="android.permission.FOREGROUND_SERVICE_DATA_SYNC" />
     24 
     25    <!-- This is needed because the android.permission.CAMERA above automatically
     26    adds a requirements for camera hardware and we don't want add those restrictions -->
     27    <uses-feature
     28        android:name="android.hardware.camera"
     29        android:required="false" />
     30    <uses-feature
     31        android:name="android.hardware.camera.autofocus"
     32        android:required="false" />
     33 
     34    <!-- Needed to prompt the user to give permission to install a downloaded apk -->
     35    <uses-permission-sdk-23 android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
     36 
     37    <uses-feature android:name="android.hardware.fingerprint" android:required="false"/>
     38 
     39    <uses-permission-sdk-23 android:name="android.permission.USE_FINGERPRINT"/>
     40 
     41    <!-- Permission needed to publish the app on Samsung AppStore -->
     42    <uses-permission android:name="com.samsung.android.providers.context.permission.WRITE_USE_APP_FEATURE_SURVEY"/>
     43 
     44    <!-- Needed to interact with all apps installed on a device -->
     45    <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"
     46        tools:ignore="QueryAllPackagesPermission" />
     47 
     48    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
     49    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
     50    <uses-permission android:name="android.permission.RECORD_AUDIO" />
     51 
     52    <!-- Needed to post notifications on devices with Android 13 and later-->
     53    <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
     54 
     55    <!-- Needed for uploading media files on devices with Android 13 and later. -->
     56    <uses-permission android:name="android.permission.READ_MEDIA_AUDIO" />
     57    <uses-permission android:name="android.permission.FOREGROUND_SERVICE_SPECIAL_USE" />
     58 
     59    <!-- Needed to support Credential Manager with Android 14 and later. -->
     60    <uses-permission android:name="android.permission.CREDENTIAL_MANAGER_SET_ORIGIN" />
     61    <uses-permission android:name="android.permission.CREDENTIAL_MANAGER_QUERY_CANDIDATE_CREDENTIALS" />
     62 
     63    <application
     64        android:allowBackup="false"
     65        android:icon="@mipmap/ic_launcher"
     66        android:label="@string/app_name"
     67        android:supportsRtl="true"
     68        android:theme="@style/Theme.App.Starting"
     69        android:name=".FocusApplication"
     70        android:enableOnBackInvokedCallback="false"
     71        android:usesCleartextTraffic="true"
     72        tools:ignore="UnusedAttribute">
     73 
     74        <activity
     75            android:name=".activity.IntentReceiverActivity"
     76            android:exported="true">
     77            <intent-filter>
     78                <action android:name="android.intent.action.VIEW" />
     79                <category android:name="android.intent.category.DEFAULT" />
     80                <category android:name="android.intent.category.BROWSABLE" />
     81                <data android:scheme="http" />
     82                <data android:scheme="https" />
     83            </intent-filter>
     84 
     85            <intent-filter>
     86                <action android:name="android.intent.action.VIEW" />
     87                <category android:name="android.intent.category.BROWSABLE" />
     88                <category android:name="android.intent.category.DEFAULT" />
     89                <data android:scheme="http" />
     90                <data android:scheme="https" />
     91                <data android:mimeType="text/html"/>
     92                <data android:mimeType="text/plain"/>
     93                <data android:mimeType="application/xhtml+xml"/>
     94            </intent-filter>
     95 
     96            <intent-filter>
     97                <action android:name="android.intent.action.SEND" />
     98                <category android:name="android.intent.category.DEFAULT" />
     99                <data android:mimeType="text/plain" />
    100            </intent-filter>
    101 
    102            <intent-filter>
    103                <action android:name="android.intent.action.ASSIST" />
    104                <category android:name="android.intent.category.DEFAULT" />
    105            </intent-filter>
    106        </activity>
    107 
    108        <activity android:name=".activity.MainActivity"
    109            android:launchMode="singleTask"
    110            android:exported="true"
    111            android:windowSoftInputMode="adjustResize"
    112            android:configChanges="orientation|screenSize|screenLayout|smallestScreenSize"
    113            android:resizeableActivity="true"
    114            android:supportsPictureInPicture="true">
    115            <intent-filter>
    116                <action android:name="android.intent.action.MAIN" />
    117 
    118                <category android:name="android.intent.category.LAUNCHER" />
    119            </intent-filter>
    120 
    121            <meta-data android:name="android.app.shortcuts" android:resource="@xml/shortcuts" />
    122        </activity>
    123 
    124        <activity android:name=".activity.CustomTabActivity"
    125            android:windowSoftInputMode="adjustResize|stateAlwaysHidden"
    126            android:exported="false"
    127            android:taskAffinity=""
    128            android:persistableMode="persistNever"
    129            android:autoRemoveFromRecents="false"
    130            android:configChanges="orientation|screenSize|screenLayout|smallestScreenSize"
    131            android:resizeableActivity="true"
    132            android:supportsPictureInPicture="true"
    133            android:theme="@style/AppTheme" />
    134 
    135        <activity android:name=".activity.TextActionActivity"
    136            android:label="${textSelectionSearchAction}"
    137            android:exported="true">
    138            <intent-filter>
    139                <action android:name="android.intent.action.PROCESS_TEXT" />
    140                <category android:name="android.intent.category.DEFAULT" />
    141                <data android:mimeType="text/plain" />
    142            </intent-filter>
    143        </activity>
    144 
    145        <activity android:name=".activity.EraseShortcutActivity"
    146            android:theme="@android:style/Theme.Translucent" />
    147 
    148        <activity android:name=".activity.EraseAndOpenShortcutActivity"
    149            android:theme="@android:style/Theme.Translucent" />
    150 
    151        <activity
    152            android:name=".searchwidget.VoiceSearchActivity"
    153            android:excludeFromRecents="true"
    154            android:taskAffinity=""
    155            android:theme="@style/Theme.AppCompat.Translucent" />
    156 
    157        <provider
    158            android:authorities="${applicationId}.fileprovider"
    159            android:name="androidx.core.content.FileProvider"
    160            android:exported="false"
    161            android:grantUriPermissions="true">
    162            <meta-data
    163                android:name="android.support.FILE_PROVIDER_PATHS"
    164                android:resource="@xml/provider_paths"/>
    165        </provider>
    166 
    167        <service
    168            android:name=".customtabs.CustomTabsService"
    169            android:exported="true"
    170            tools:ignore="ExportedService">
    171            <intent-filter>
    172                <action android:name="android.support.customtabs.action.CustomTabsService" />
    173            </intent-filter>
    174        </service>
    175 
    176        <service
    177            android:name=".downloads.DownloadService"
    178            android:exported="false"
    179            android:foregroundServiceType="dataSync" />
    180 
    181        <service android:name=".media.MediaSessionService"
    182            android:foregroundServiceType="mediaPlayback"
    183            android:exported="false" />
    184 
    185        <service
    186            android:name=".session.SessionNotificationService"
    187            android:exported="false"
    188            android:foregroundServiceType="specialUse">
    189            <property
    190                android:name="android.app.PROPERTY_SPECIAL_USE_FGS_SUBTYPE"
    191                android:value="This foreground service allows users to easily remove private tabs from the notification" />
    192        </service>
    193 
    194        <meta-data android:name="android.webkit.WebView.MetricsOptOut"
    195                   android:value="true" />
    196 
    197        <receiver
    198            android:name=".searchwidget.SearchWidgetProvider"
    199            android:exported="true">
    200            <intent-filter>
    201                <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
    202            </intent-filter>
    203            <meta-data
    204                android:name="android.appwidget.provider"
    205                android:resource="@xml/search_widget_info" />
    206        </receiver>
    207 
    208        <!-- Removes the default Workmanager initialization so that we can use on-demand initializer. -->
    209        <provider
    210            android:name="androidx.startup.InitializationProvider"
    211            android:authorities="${applicationId}.androidx-startup"
    212            android:exported="false"
    213            tools:node="merge" >
    214            <meta-data
    215                android:name="androidx.work.WorkManagerInitializer"
    216                android:value="androidx.startup"
    217                tools:node="remove" />
    218        </provider>
    219 
    220    </application>
    221 
    222 </manifest>