移除定位权限

This commit is contained in:
2024-09-22 18:45:29 +08:00
parent 8019543de5
commit 731caf11fb

View File

@@ -1,8 +1,5 @@
package com.aiosman.riderpro.ui.index.tabs.street
import android.content.pm.PackageManager
import androidx.activity.compose.rememberLauncherForActivityResult
import androidx.activity.result.contract.ActivityResultContracts
import androidx.compose.foundation.Image
import androidx.compose.foundation.background
import androidx.compose.foundation.clickable
@@ -33,20 +30,16 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.ColorFilter
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.platform.LocalDensity
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import androidx.core.content.ContextCompat
import androidx.navigation.NavOptions
import com.aiosman.riderpro.LocalNavController
import com.aiosman.riderpro.R
import com.aiosman.riderpro.test.countries
import com.google.android.gms.location.FusedLocationProviderClient
import com.google.android.gms.location.LocationServices
import com.google.android.gms.maps.model.CameraPosition
import com.google.android.gms.maps.model.LatLng
import com.google.maps.android.compose.GoogleMap
@@ -59,9 +52,6 @@ import com.google.maps.android.compose.rememberCameraPositionState
@Composable
fun StreetPage() {
val navController = LocalNavController.current
val context = LocalContext.current
val fusedLocationClient: FusedLocationProviderClient =
LocationServices.getFusedLocationProviderClient(context)
var currentLocation by remember { mutableStateOf<LatLng?>(null) }
val navigationBarHeight = with(LocalDensity.current) {
WindowInsets.navigationBars.getBottom(this).toDp()
@@ -71,41 +61,12 @@ fun StreetPage() {
}
var hasLocationPermission by remember { mutableStateOf(false) }
var searchText by remember { mutableStateOf("") }
val permissionLauncher = rememberLauncherForActivityResult(
contract = ActivityResultContracts.RequestPermission(),
onResult = { isGranted ->
hasLocationPermission = isGranted
if (isGranted) {
fusedLocationClient.lastLocation.addOnSuccessListener { location ->
if (location != null) {
currentLocation = LatLng(location.latitude, location.longitude)
}
}
}
}
)
LaunchedEffect(Unit) {
when (PackageManager.PERMISSION_GRANTED) {
ContextCompat.checkSelfPermission(
context,
android.Manifest.permission.ACCESS_FINE_LOCATION
) -> {
fusedLocationClient.lastLocation.addOnSuccessListener { location ->
if (location != null) {
// currentLocation = LatLng(location.latitude, location.longitude)
}
}
hasLocationPermission = true
}
else -> {
permissionLauncher.launch(android.Manifest.permission.ACCESS_FINE_LOCATION)
}
}
}
LaunchedEffect(currentLocation) {
cameraPositionState.position =
CameraPosition.fromLatLngZoom(
currentLocation ?: LatLng(