]> git.ipfire.org Git - thirdparty/strongswan.git/commitdiff
android: Declare foreground service type for VpnService instance
authorTobias Brunner <tobias@strongswan.org>
Tue, 30 Jul 2024 13:18:22 +0000 (15:18 +0200)
committerTobias Brunner <tobias@strongswan.org>
Tue, 6 Aug 2024 16:01:54 +0000 (18:01 +0200)
Required for Android 14 (34).  Since no other type fits we use specialUse,
which also requires a new permission and a description for why we use it.

src/frontends/android/app/src/main/AndroidManifest.xml

index ec4bf65cfa39fbf60c05b9bcd80841721bcc2244..e102b70d9bfddf1a9e9e3ff22996882144bbfce1 100644 (file)
@@ -22,6 +22,7 @@
     <uses-permission android:name="android.permission.INTERNET" />
     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
     <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
+    <uses-permission android:name="android.permission.FOREGROUND_SERVICE_SPECIAL_USE" />
     <uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
     <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
     <uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />
         <service
             android:name=".logic.CharonVpnService"
             android:exported="false"
+            android:foregroundServiceType="specialUse"
             android:permission="android.permission.BIND_VPN_SERVICE">
             <intent-filter>
                 <action android:name="android.net.VpnService" />
             </intent-filter>
+            <property
+                android:name="android.app.PROPERTY_SPECIAL_USE_FGS_SUBTYPE"
+                android:value="VpnService instance"/>
         </service>
         <service
             android:name=".ui.VpnTileService"