
* add focusController class * add more key handlers * add focus navigation to qml * fixed language selector * add reverse focus change to FocusController * add default focus item * update transitions * update pages * add ListViewFocusController * fix ListView navigation * update CardType for using with focus navigation * remove useless key navigation * remove useless slots, logs, Drawer open and close * fix reverse focus move on listView * fix drawer radio buttons selection * fix drawer layout and focus move * fix PageSetupWizardProtocolSettings focus move * fix back navigation on default focus item * fix crashes after ListView navigation * fix protocol settings focus move * fix focus on users on page share * clean up page share * fix server rename * fix page share default server selection * refactor about page for correct focus move * fix focus move on list views with header and-or footer * minor fixes * fix server list back button handler * fix spawn signals on switch * fix share details drawer * fix drawer open close usage * refactor listViewFocusController * refactor focusController to make the logic more straightforward * fix focus on notification * update config page for scrolling with tab * fix crash on return with esc key * fix focus navigation in dynamic delegate of list view * fix focus move on qr code on share page * refactor page logging settings for focus navigation * update popup * Bump version * Add mandatory requirement for android.software.leanback. * Fix importing files on TVs * fix: add separate method for reading files to fix file reading on Android TV * fix(android): add CHANGE_NETWORK_STATE permission for all Android versions * Fix connection check for AWG/WG * chore: minor fixes (#1235) * fix: add a workaround to open files on Android TV due to lack of SAF * fix: change the banner format for TV * refactor: make TvFilePicker activity more sustainable * fix: add the touch emulation method for Android TV * fix: null uri processing * fix: add the touch emulation method for Android TV * fix: hide UI elements that use file saving * chore: bump version code * add `ScrollBarType` * update initial config page * refactor credentials setup page to handle the focus navigation * add `setDelegateIndex` method to `listViewFocusController` * fix focus behavior on new page/popup * make minor fixes and clean up * fix: get rid of the assign function call * Scrollbar is on if the content is larger than a screen * Fix selection in language change list * Update select language list * update logging settings page * fix checked item in lists * fix split tunneling settings * make unchangable properties readonly * refactor SwitcherType * fix hide/unhide password * `PageShare` readonly properties * Fix list view focus moving on `PageShare` * remove manual focus control on `PageShare` * format `ListViewFocusController` * format `FocusController` * add `focusControl` with utility functions for focus control * refactor `listViewFocusController` acoording to `focusControl` * refactor `focusConroller` according to `focusControl` * add `printSectionName` method to `listViewController` * remove arrow from `Close application` item * fix focus movement in `ServersListView` * `Restore from backup` is visible only on start screen * `I have nothing` is visible only on start screen * fix back button on `SelectLanguageDrawer` * rename `focusControl` to `qmlUtils` * fix `CMakeLists.txt` * fix `ScrollBarType` * fix `PageSetupWizardApiServicesList` * fix focus movement on dynamic delegates in listView * refactor `PageSetupWizardProtocols` * remove comments and clean up * fix `ListViewWithLabelsType` * fix `PageProtocolCloakSettings` * fix `PageSettingsAppSplitTunneling` * fix `PageDevMenu` * remove debug output from `FocusController` * remove debug output from `ListViewFocusController` * remove debug output from `focusControl` * `focusControl` => `FocusControl` --------- Co-authored-by: albexk <albexk@proton.me> Co-authored-by: Nethius <nethiuswork@gmail.com>
217 lines
9.1 KiB
XML
217 lines
9.1 KiB
XML
<?xml version="1.0"?>
|
|
<!-- Leave package attribute for androiddeployqt -->
|
|
<manifest
|
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
|
xmlns:tools="http://schemas.android.com/tools"
|
|
android:versionName="-- %%INSERT_VERSION_NAME%% --"
|
|
android:versionCode="-- %%INSERT_VERSION_CODE%% --"
|
|
android:installLocation="auto">
|
|
|
|
<uses-feature android:name="android.hardware.camera" android:required="false" />
|
|
<uses-feature android:name="android.hardware.camera.any" android:required="false" />
|
|
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />
|
|
<!-- for TV -->
|
|
<uses-feature android:name="android.software.leanback" android:required="true" />
|
|
<uses-feature android:name="android.hardware.touchscreen" android:required="false" />
|
|
|
|
<!-- The following comment will be replaced upon deployment with default features based on the dependencies
|
|
of the application. Remove the comment if you do not require these default features. -->
|
|
<!-- %%INSERT_FEATURES -->
|
|
|
|
<uses-permission android:name="android.permission.INTERNET" />
|
|
<!-- To request network state -->
|
|
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
|
|
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" android:maxSdkVersion="28" />
|
|
<uses-permission android:name="android.permission.CAMERA" />
|
|
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
|
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_SYSTEM_EXEMPTED" />
|
|
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
|
|
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" tools:ignore="QueryAllPackagesPermission" />
|
|
|
|
<application
|
|
android:name=".AmneziaApplication"
|
|
android:label="-- %%INSERT_APP_NAME%% --"
|
|
android:icon="@mipmap/icon"
|
|
android:roundIcon="@mipmap/icon_round"
|
|
android:banner="@mipmap/ic_banner"
|
|
android:theme="@style/NoActionBar"
|
|
android:fullBackupContent="@xml/backup_content"
|
|
android:dataExtractionRules="@xml/data_extraction_rules"
|
|
android:hasFragileUserData="false"
|
|
tools:targetApi="s">
|
|
|
|
<activity
|
|
android:name=".AmneziaActivity"
|
|
android:configChanges="uiMode|screenSize|smallestScreenSize|screenLayout|orientation|density
|
|
|fontScale|layoutDirection|locale|keyboard|keyboardHidden|navigation|mcc|mnc"
|
|
android:launchMode="singleInstance"
|
|
android:windowSoftInputMode="stateUnchanged|adjustResize"
|
|
android:exported="true">
|
|
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.MAIN" />
|
|
<category android:name="android.intent.category.LAUNCHER" />
|
|
<category android:name="android.intent.category.LEANBACK_LAUNCHER" />
|
|
</intent-filter>
|
|
|
|
<intent-filter>
|
|
<action android:name="org.amnezia.vpn.IMPORT_CONFIG" />
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
</intent-filter>
|
|
|
|
<intent-filter>
|
|
<action android:name="android.service.quicksettings.action.QS_TILE_PREFERENCES" />
|
|
</intent-filter>
|
|
|
|
<meta-data
|
|
android:name="android.app.lib_name"
|
|
android:value="-- %%INSERT_APP_LIB_NAME%% --" />
|
|
|
|
</activity>
|
|
|
|
<activity
|
|
android:name=".CameraActivity"
|
|
android:excludeFromRecents="true"
|
|
android:launchMode="singleTask"
|
|
android:taskAffinity=""
|
|
android:exported="false" />
|
|
|
|
<activity
|
|
android:name=".VpnRequestActivity"
|
|
android:excludeFromRecents="true"
|
|
android:launchMode="singleTask"
|
|
android:taskAffinity=""
|
|
android:exported="false"
|
|
android:theme="@style/Translucent" />
|
|
|
|
<activity android:name=".AuthActivity"
|
|
android:excludeFromRecents="true"
|
|
android:launchMode="singleTask"
|
|
android:taskAffinity=""
|
|
android:exported="false"
|
|
android:theme="@style/Translucent" />
|
|
|
|
<activity android:name=".TvFilePicker"
|
|
android:excludeFromRecents="true"
|
|
android:launchMode="singleTask"
|
|
android:taskAffinity=""
|
|
android:exported="false"
|
|
android:theme="@style/Translucent" />
|
|
|
|
<activity
|
|
android:name=".ImportConfigActivity"
|
|
android:excludeFromRecents="true"
|
|
android:launchMode="singleTask"
|
|
android:taskAffinity=""
|
|
android:exported="true"
|
|
android:theme="@style/Translucent">
|
|
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.SEND" />
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
|
|
<data android:mimeType="application/octet-stream" />
|
|
<data android:mimeType="text/plain" />
|
|
</intent-filter>
|
|
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.VIEW" />
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
<category android:name="android.intent.category.BROWSABLE" />
|
|
|
|
<data android:scheme="vpn" android:host="*" />
|
|
</intent-filter>
|
|
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.VIEW" />
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
|
|
<data android:scheme="file" />
|
|
<data android:scheme="content" />
|
|
<data android:mimeType="*/*" />
|
|
<data android:host="*" />
|
|
|
|
<data android:pathPattern=".*\\.vpn" />
|
|
<data android:pathPattern=".*\\..*\\.vpn" />
|
|
<data android:pathPattern=".*\\..*\\..*\\.vpn" />
|
|
<data android:pathPattern=".*\\..*\\..*\\..*\\.vpn" />
|
|
<data android:pathPattern=".*\\..*\\..*\\..*\\..*\\.vpn" />
|
|
|
|
<data android:pathPattern=".*\\.cfg" />
|
|
<data android:pathPattern=".*\\..*\\.cfg" />
|
|
<data android:pathPattern=".*\\..*\\..*\\.cfg" />
|
|
<data android:pathPattern=".*\\..*\\..*\\..*\\.cfg" />
|
|
<data android:pathPattern=".*\\..*\\..*\\..*\\..*\\.cfg" />
|
|
|
|
<data android:pathPattern=".*\\.conf" />
|
|
<data android:pathPattern=".*\\..*\\.conf" />
|
|
<data android:pathPattern=".*\\..*\\..*\\.conf" />
|
|
<data android:pathPattern=".*\\..*\\..*\\..*\\.conf" />
|
|
<data android:pathPattern=".*\\..*\\..*\\..*\\..*\\.conf" />
|
|
</intent-filter>
|
|
</activity>
|
|
|
|
<service
|
|
android:name=".AwgService"
|
|
android:process=":amneziaAwgService"
|
|
android:permission="android.permission.BIND_VPN_SERVICE"
|
|
android:foregroundServiceType="systemExempted"
|
|
android:exported="false"
|
|
tools:ignore="ForegroundServicePermission">
|
|
|
|
<intent-filter>
|
|
<action android:name="android.net.VpnService" />
|
|
</intent-filter>
|
|
</service>
|
|
|
|
<service
|
|
android:name=".OpenVpnService"
|
|
android:process=":amneziaOpenVpnService"
|
|
android:permission="android.permission.BIND_VPN_SERVICE"
|
|
android:foregroundServiceType="systemExempted"
|
|
android:exported="false"
|
|
tools:ignore="ForegroundServicePermission">
|
|
|
|
<intent-filter>
|
|
<action android:name="android.net.VpnService" />
|
|
</intent-filter>
|
|
</service>
|
|
|
|
<service
|
|
android:name=".XrayService"
|
|
android:process=":amneziaXrayService"
|
|
android:permission="android.permission.BIND_VPN_SERVICE"
|
|
android:foregroundServiceType="systemExempted"
|
|
android:exported="false"
|
|
tools:ignore="ForegroundServicePermission">
|
|
|
|
<intent-filter>
|
|
<action android:name="android.net.VpnService" />
|
|
</intent-filter>
|
|
</service>
|
|
|
|
<service
|
|
android:name=".AmneziaTileService"
|
|
android:process=":amneziaTileService"
|
|
android:icon="@drawable/ic_amnezia_round"
|
|
android:permission="android.permission.BIND_QUICK_SETTINGS_TILE"
|
|
android:exported="true">
|
|
|
|
<intent-filter>
|
|
<action android:name="android.service.quicksettings.action.QS_TILE" />
|
|
</intent-filter>
|
|
|
|
<meta-data
|
|
android:name="android.service.quicksettings.TOGGLEABLE_TILE"
|
|
android:value="true" />
|
|
</service>
|
|
|
|
<provider
|
|
android:name="androidx.core.content.FileProvider"
|
|
android:authorities="org.amnezia.vpn.qtprovider"
|
|
android:exported="false"
|
|
android:grantUriPermissions="true">
|
|
<meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/qtprovider_paths" />
|
|
</provider>
|
|
</application>
|
|
</manifest>
|