AndroidManifest.xml (6361B)
1 <?xml version="1.0" encoding="utf-8"?><!-- 2 ~ This file is part of GNU Taler 3 ~ (C) 2020 Taler Systems S.A. 4 ~ 5 ~ GNU Taler is free software; you can redistribute it and/or modify it under the 6 ~ terms of the GNU General Public License as published by the Free Software 7 ~ Foundation; either version 3, or (at your option) any later version. 8 ~ 9 ~ GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY 10 ~ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 11 ~ A PARTICULAR PURPOSE. See the GNU General Public License for more details. 12 ~ 13 ~ You should have received a copy of the GNU General Public License along with 14 ~ GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/> 15 --> 16 17 <manifest xmlns:android="http://schemas.android.com/apk/res/android" 18 xmlns:tools="http://schemas.android.com/tools"> 19 20 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 21 <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /> 22 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 23 <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> 24 <uses-permission 25 android:name="android.permission.WRITE_EXTERNAL_STORAGE" 26 android:maxSdkVersion="28" /> 27 <uses-permission android:name="android.permission.CAMERA" /> 28 <uses-permission android:name="android.permission.NFC" /> 29 30 <uses-feature 31 android:name="android.hardware.camera" 32 android:required="false" /> 33 34 <uses-feature 35 android:name="android.hardware.telephony" 36 android:required="false" /> 37 <uses-feature 38 android:name="android.hardware.nfc.hce" 39 android:required="false" /> 40 41 <application 42 android:name=".WalletApp" 43 android:allowBackup="true" 44 android:fullBackupContent="@xml/backup_descriptor" 45 android:icon="@mipmap/ic_launcher" 46 android:label="@string/app_name" 47 android:networkSecurityConfig="@xml/network_security_config" 48 android:roundIcon="@mipmap/ic_launcher_round" 49 android:supportsRtl="true" 50 android:theme="@style/AppTheme" 51 android:enableOnBackInvokedCallback="true" 52 android:usesCleartextTraffic="true" 53 tools:ignore="GoogleAppIndexingWarning,UnusedAttribute"> 54 55 <property 56 android:name="android.window.PROPERTY_COMPAT_ALLOW_RESTRICTED_RESIZABILITY" 57 android:value="true" /> 58 59 <activity 60 android:name=".main.MainActivity" 61 android:exported="true" 62 android:launchMode="singleTask" 63 android:theme="@style/AppTheme.NoActionBar" 64 android:windowSoftInputMode="adjustResize" 65 android:configChanges="keyboardHidden|orientation|screenSize|uiMode"> 66 <intent-filter> 67 <action android:name="android.intent.action.MAIN" /> 68 <category android:name="android.intent.category.LAUNCHER" /> 69 </intent-filter> 70 <intent-filter> 71 <action android:name="android.intent.action.VIEW" /> 72 73 <category android:name="android.intent.category.DEFAULT" /> 74 <category android:name="android.intent.category.BROWSABLE" /> 75 76 <data android:scheme="taler" /> 77 <data 78 android:scheme="TALER" 79 tools:ignore="AppLinkUrlError" /> 80 <data android:scheme="ext+taler" /> 81 <data 82 android:scheme="EXT+TALER" 83 tools:ignore="AppLinkUrlError" /> 84 <data android:scheme="payto" /> 85 </intent-filter> 86 <intent-filter> 87 <action android:name="android.intent.action.SEND" /> 88 <category android:name="android.intent.category.DEFAULT" /> 89 <data android:mimeType="text/plain" /> 90 </intent-filter> 91 </activity> 92 93 <!-- 94 Dedicated NFC entry point. Keeping it as an alias leaves the 95 launcher activity above free to change independently. 96 If the app targets SDK 37 again, this alias must additionally be 97 protected by android.permission.DISPATCH_NFC_MESSAGE. 98 --> 99 <activity-alias 100 android:name=".main.NfcEntryActivity" 101 android:targetActivity=".main.MainActivity" 102 android:exported="true" 103 android:permission="android.permission.DISPATCH_NFC_MESSAGE"> 104 <intent-filter> 105 <action android:name="android.nfc.action.NDEF_DISCOVERED" /> 106 107 <category android:name="android.intent.category.DEFAULT" /> 108 109 <data android:scheme="taler" /> 110 <data 111 android:scheme="TALER" 112 tools:ignore="AppLinkUrlError" /> 113 <data android:scheme="ext+taler" /> 114 <data 115 android:scheme="EXT+TALER" 116 tools:ignore="AppLinkUrlError" /> 117 <data android:scheme="payto" /> 118 </intent-filter> 119 </activity-alias> 120 121 <service 122 android:name="net.taler.lib.android.TalerNfcService" 123 android:exported="true" 124 android:permission="android.permission.BIND_NFC_SERVICE" 125 tools:ignore="MissingClass"> 126 <intent-filter> 127 <action android:name="android.nfc.cardemulation.action.HOST_APDU_SERVICE" /> 128 </intent-filter> 129 130 <meta-data 131 android:name="android.nfc.cardemulation.host_apdu_service" 132 android:resource="@xml/apduservice" /> 133 </service> 134 135 <provider 136 android:name="androidx.core.content.FileProvider" 137 android:authorities="${applicationId}.fileprovider" 138 android:exported="false" 139 android:grantUriPermissions="true"> 140 <meta-data 141 android:name="android.support.FILE_PROVIDER_PATHS" 142 android:resource="@xml/file_paths" /> 143 </provider> 144 </application> 145 146 <queries> 147 <intent> 148 <data 149 android:host="iban" 150 android:scheme="payto" /> 151 <action android:name="android.intent.action.VIEW" /> 152 </intent> 153 </queries> 154 155 </manifest>