diff --git a/app/src/main/java/io/nekohasekai/sfa/bg/BoxService.kt b/app/src/main/java/io/nekohasekai/sfa/bg/BoxService.kt index 1761e65..a354866 100644 --- a/app/src/main/java/io/nekohasekai/sfa/bg/BoxService.kt +++ b/app/src/main/java/io/nekohasekai/sfa/bg/BoxService.kt @@ -162,7 +162,6 @@ class BoxService(private val service: Service, private val platformInterface: Pl android.Manifest.permission.ACCESS_BACKGROUND_LOCATION } if (!service.hasPermission(wifiPermission)) { - closeService() stopAndAlert(Alert.RequestLocationPermission) return } @@ -243,7 +242,6 @@ class BoxService(private val service: Service, private val platformInterface: Pl android.Manifest.permission.ACCESS_BACKGROUND_LOCATION } if (!service.hasPermission(wifiPermission)) { - closeService() stopAndAlert(Alert.RequestLocationPermission) return } @@ -311,6 +309,16 @@ class BoxService(private val service: Service, private val platformInterface: Pl private suspend fun stopAndAlert(type: Alert, message: String? = null) { Settings.startedByUser = false + val pfd = fileDescriptor + if (pfd != null) { + pfd.close() + fileDescriptor = null + } + DefaultNetworkMonitor.stop() + if (::commandServer.isInitialized) { + closeService() + commandServer.close() + } withContext(Dispatchers.Main) { if (receiverRegistered) { service.unregisterReceiver(receiver) @@ -321,6 +329,7 @@ class BoxService(private val service: Service, private val platformInterface: Pl callback.onServiceAlert(type.ordinal, message) } status.value = Status.Stopped + service.stopSelf() } } diff --git a/app/src/main/java/io/nekohasekai/sfa/compose/screen/profile/EditProfileRoute.kt b/app/src/main/java/io/nekohasekai/sfa/compose/screen/profile/EditProfileRoute.kt index a9a8cbc..424319d 100644 --- a/app/src/main/java/io/nekohasekai/sfa/compose/screen/profile/EditProfileRoute.kt +++ b/app/src/main/java/io/nekohasekai/sfa/compose/screen/profile/EditProfileRoute.kt @@ -1,5 +1,6 @@ package io.nekohasekai.sfa.compose.screen.profile +import android.net.Uri import androidx.compose.animation.AnimatedContentTransitionScope import androidx.compose.animation.core.tween import androidx.compose.runtime.Composable @@ -10,7 +11,6 @@ import androidx.navigation.NavType import androidx.navigation.compose.NavHost import androidx.navigation.compose.composable import androidx.navigation.compose.rememberNavController -import android.net.Uri import androidx.navigation.navArgument @Composable