1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168
|
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="org.a11y.brltty.android"
android:versionCode="0"
android:versionName="@string/app_version"
>
<!-- for creating a foreground notification -->
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<!-- for resetting the device's lock timer -->
<uses-permission android:name="android.permission.WAKE_LOCK" />
<!-- this application uses Bluetooth -->
<uses-feature android:name="android.hardware.bluetooth" />
<!-- for communicating with a braille device via Bluetooth (API level <= 30) -->
<uses-permission android:name="android.permission.BLUETOOTH" android:maxSdkVersion="30" />
<!-- for connecting to an already-paired Bluetooth device (API level > 30) -->
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
<!-- for checking if Bluetoth device discovery is currently active (API level > 30) -->
<uses-permission android:name="android.permission.BLUETOOTH_SCAN" />
<!-- for communicating with a braille device via USB -->
<uses-feature android:name="android.hardware.usb.host" />
<!-- for listening on a TCP/IP port for BrlAPI client connection requests -->
<uses-permission android:name="android.permission.INTERNET" />
<!-- for reading customized data files -->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<!-- for presenting the Accessibility Actions chooser -->
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<!-- for knowing when locked storage can be accessed after a reboot -->
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<!-- for getting Wi-Fi status values (for the INDICATORS command) -->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-feature android:name="android.hardware.wifi" />
<!-- for getting the Wi-Fi SSID (for the INDICATORS command) -->
<!-- for getting cell information (for the INDICATORS command) -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-feature android:name="android.hardware.location" />
<!-- for getting the cell signal strength (for the INDICATORS command) -->
<uses-permission android:name="android.permission.ACCESS_COARSE_UPDATES" />
<!-- for getting the cell data network type (for the INDICATORS command) -->
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<application
android:label="@string/app_name"
android:icon="@drawable/braille_service"
android:name=".BrailleApplication"
android:persistent="true"
android:supportsRtl="false"
android:allowBackup="true"
android:fullBackupContent="@xml/backup_rules"
>
<service
android:name=".BrailleService"
android:label="@string/app_name"
android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE"
android:exported="false"
tools:ignore="UnusedAttribute"
android:directBootAware="true"
>
<intent-filter>
<action android:name="android.accessibilityservice.AccessibilityService" />
</intent-filter>
<meta-data
android:name="android.accessibilityservice"
android:resource="@xml/accessibility_service"
/>
</service>
<service
android:name=".InputService"
android:label="@string/inputService_name"
android:permission="android.permission.BIND_INPUT_METHOD"
android:exported="true"
tools:ignore="UnusedAttribute"
android:directBootAware="true"
>
<intent-filter>
<action android:name="android.view.InputMethod" />
</intent-filter>
<meta-data
android:name="android.view.im"
android:resource="@xml/input_service"
/>
</service>
<activity
android:name=".activities.ActionsActivity"
android:label="@string/app_name"
>
</activity>
<activity
android:name=".settings.SettingsActivity"
android:label="@string/SETTINGS_SCREEN_MAIN"
>
</activity>
<activity
android:name=".activities.AboutActivity"
android:label="@string/about_label_activity"
>
</activity>
<activity
android:name=".settings.UsbDeviceAttachedMonitor"
android:label="@string/usbMonitor_label"
android:exported="false"
android:noHistory="true"
android:excludeFromRecents="true"
android:directBootAware="true"
>
<intent-filter>
<action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />
</intent-filter>
<meta-data
android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED"
android:resource="@xml/usb_devices"
/>
</activity>
<receiver
android:name=".HostMonitor"
android:exported="false"
>
<intent-filter>
<action android:name="android.intent.action.MY_PACKAGE_REPLACED" />
<action android:name="android.intent.action.LOCKED_BOOT_COMPLETED" />
</intent-filter>
</receiver>
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="org.a11y.brltty.android.fileprovider"
android:exported="false"
android:grantUriPermissions="true"
>
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_provider_paths"
/>
</provider>
</application>
</manifest>
|