Add support for foreground service permission
This commit is contained in:
@@ -32,6 +32,7 @@
|
|||||||
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
|
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
|
||||||
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
|
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
|
||||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
|
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
|
||||||
|
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_CONNECTED_DEVICE"/>
|
||||||
<uses-permission android:name="android.permission.INTERNET"/>
|
<uses-permission android:name="android.permission.INTERNET"/>
|
||||||
<uses-permission android:name="android.permission.LOCAL_MAC_ADDRESS"
|
<uses-permission android:name="android.permission.LOCAL_MAC_ADDRESS"
|
||||||
tools:ignore="ProtectedPermissions" />
|
tools:ignore="ProtectedPermissions" />
|
||||||
@@ -102,11 +103,13 @@
|
|||||||
<service
|
<service
|
||||||
android:name=".LocalOnlyHotspotService"
|
android:name=".LocalOnlyHotspotService"
|
||||||
android:directBootAware="true"
|
android:directBootAware="true"
|
||||||
android:foregroundServiceType="location|connectedDevice"/>
|
android:foregroundServiceType="location|connectedDevice"
|
||||||
|
tools:ignore="ForegroundServicePermission"/>
|
||||||
<service
|
<service
|
||||||
android:name=".RepeaterService"
|
android:name=".RepeaterService"
|
||||||
android:directBootAware="true"
|
android:directBootAware="true"
|
||||||
android:foregroundServiceType="location|connectedDevice"/>
|
android:foregroundServiceType="location|connectedDevice"
|
||||||
|
tools:ignore="ForegroundServicePermission"/>
|
||||||
<service
|
<service
|
||||||
android:name=".TetheringService"
|
android:name=".TetheringService"
|
||||||
android:directBootAware="true"
|
android:directBootAware="true"
|
||||||
|
|||||||
@@ -3,6 +3,8 @@ package be.mygod.vpnhotspot
|
|||||||
import android.app.*
|
import android.app.*
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
|
import android.content.pm.ServiceInfo
|
||||||
|
import android.os.Build
|
||||||
import androidx.core.content.getSystemService
|
import androidx.core.content.getSystemService
|
||||||
import be.mygod.vpnhotspot.App.Companion.app
|
import be.mygod.vpnhotspot.App.Companion.app
|
||||||
import java.util.*
|
import java.util.*
|
||||||
@@ -53,7 +55,10 @@ object ServiceNotification {
|
|||||||
synchronized(this) {
|
synchronized(this) {
|
||||||
deviceCountsMap[service] = deviceCounts
|
deviceCountsMap[service] = deviceCounts
|
||||||
if (inactive.isEmpty()) inactiveMap.remove(service) else inactiveMap[service] = inactive
|
if (inactive.isEmpty()) inactiveMap.remove(service) else inactiveMap[service] = inactive
|
||||||
service.startForeground(NOTIFICATION_ID, buildNotification(service))
|
if (Build.VERSION.SDK_INT >= 33) {
|
||||||
|
service.startForeground(NOTIFICATION_ID, buildNotification(service),
|
||||||
|
ServiceInfo.FOREGROUND_SERVICE_TYPE_CONNECTED_DEVICE)
|
||||||
|
} else service.startForeground(NOTIFICATION_ID, buildNotification(service))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
fun stopForeground(service: Service) = synchronized(this) {
|
fun stopForeground(service: Service) = synchronized(this) {
|
||||||
|
|||||||
Reference in New Issue
Block a user