User-Agent spoofed to Chrome on Android (was Dart/3.x). Domain renamed to userevolt.app. Branding to Revolt VPN. Removed duplicate notification, patched flutter_vless for custom icon + dark background. Merged 5 disconnect paths into single idempotent gate, fixed stopVless timeout silently lying about state. Removed kDebugMode guard from AdMob bypass.
52 lines
2.1 KiB
XML
52 lines
2.1 KiB
XML
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
|
|
|
<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"/>
|
|
<!-- VpnService provides its own system notification; SPECIAL_USE is not needed -->
|
|
<!-- Required by url_launcher on Android 11+ to open external browser -->
|
|
<queries>
|
|
<intent>
|
|
<action android:name="android.intent.action.VIEW"/>
|
|
<data android:scheme="https"/>
|
|
</intent>
|
|
</queries>
|
|
|
|
<application
|
|
android:label="Revolt VPN"
|
|
android:name="${applicationName}"
|
|
android:icon="@mipmap/ic_launcher"
|
|
android:usesCleartextTraffic="false"
|
|
android:allowBackup="false"
|
|
android:extractNativeLibs="true">
|
|
|
|
<!-- AdMob App ID — injected at build time from android/admob.properties -->
|
|
<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>
|
|
|