Add explicit TUN and SOCKS5 connection modes, app routing controls, authenticated per-session local SOCKS5, Android network monitoring, persistent haptics, resilient session recovery, notification hardening and client-side Hivemind cleanup. Keep the hosted flutter_vless_android 1.1.5 runtime as the base and apply the Android compatibility/security patches at build time instead of restoring the unstable vendored runtime.
62 lines
2.5 KiB
XML
62 lines
2.5 KiB
XML
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
|
xmlns:tools="http://schemas.android.com/tools">
|
|
|
|
<uses-permission android:name="android.permission.INTERNET"/>
|
|
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
|
|
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
|
|
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
|
|
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_SPECIAL_USE"/>
|
|
<uses-permission android:name="android.permission.VIBRATE"/>
|
|
|
|
<!-- flutter_vless 1.1.5 declares this legacy permission. ReVolt never needs it. -->
|
|
<uses-permission
|
|
android:name="android.permission.READ_EXTERNAL_STORAGE"
|
|
tools:node="remove"/>
|
|
|
|
<queries>
|
|
<intent>
|
|
<action android:name="android.intent.action.VIEW"/>
|
|
<data android:scheme="https"/>
|
|
</intent>
|
|
<!-- App routing only enumerates launcher apps; QUERY_ALL_PACKAGES is not required. -->
|
|
<intent>
|
|
<action android:name="android.intent.action.MAIN"/>
|
|
<category android:name="android.intent.category.LAUNCHER"/>
|
|
</intent>
|
|
</queries>
|
|
|
|
<application
|
|
android:label="Revolt VPN"
|
|
android:name="${applicationName}"
|
|
android:icon="@mipmap/ic_launcher"
|
|
android:usesCleartextTraffic="false"
|
|
android:allowBackup="false"
|
|
android:extractNativeLibs="true">
|
|
|
|
<meta-data
|
|
android:name="com.google.android.gms.ads.APPLICATION_ID"
|
|
android:value="${ADMOB_APP_ID}"/>
|
|
|
|
<activity
|
|
android:name=".MainActivity"
|
|
android:exported="true"
|
|
android:launchMode="singleTop"
|
|
android:theme="@style/LaunchTheme"
|
|
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
|
|
android:hardwareAccelerated="true"
|
|
android:windowSoftInputMode="adjustResize">
|
|
<meta-data
|
|
android:name="io.flutter.embedding.android.NormalTheme"
|
|
android:resource="@style/NormalTheme"/>
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.MAIN"/>
|
|
<category android:name="android.intent.category.LAUNCHER"/>
|
|
</intent-filter>
|
|
</activity>
|
|
|
|
<meta-data
|
|
android:name="flutterEmbedding"
|
|
android:value="2"/>
|
|
</application>
|
|
</manifest>
|