Update check permission
This commit is contained in:
parent
17f6a4a64a
commit
fe238ed8ae
@ -1,11 +1,13 @@
|
||||
package com.dumon.plugin.geolocation
|
||||
|
||||
import android.Manifest
|
||||
import android.content.pm.PackageManager
|
||||
import android.graphics.Color
|
||||
import android.os.Build
|
||||
import android.view.View
|
||||
import android.view.WindowInsetsController
|
||||
import android.view.WindowManager
|
||||
import androidx.core.app.ActivityCompat
|
||||
import androidx.core.view.ViewCompat
|
||||
import androidx.core.view.WindowInsetsCompat
|
||||
import com.getcapacitor.*
|
||||
@ -125,15 +127,21 @@ class DumonGeolocation : Plugin() {
|
||||
|
||||
@PluginMethod
|
||||
fun checkAndRequestPermissions(call: PluginCall) {
|
||||
if (PermissionUtils.hasLocationAndWifiPermissions(context)) {
|
||||
val locationStatus = PermissionUtils.mapPermissionResult(
|
||||
ActivityCompat.checkSelfPermission(context, Manifest.permission.ACCESS_FINE_LOCATION)
|
||||
)
|
||||
val wifiStatus = PermissionUtils.mapPermissionResult(
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU)
|
||||
ActivityCompat.checkSelfPermission(context, Manifest.permission.NEARBY_WIFI_DEVICES)
|
||||
else
|
||||
PackageManager.PERMISSION_GRANTED
|
||||
)
|
||||
|
||||
val result = JSObject().apply {
|
||||
put("location", "granted")
|
||||
put("wifi", "granted")
|
||||
put("location", locationStatus)
|
||||
put("wifi", wifiStatus)
|
||||
}
|
||||
call.resolve(result)
|
||||
} else {
|
||||
requestAllPermissions(call, "checkAndRequestPermissions")
|
||||
}
|
||||
}
|
||||
|
||||
@PluginMethod
|
||||
|
||||
@ -20,4 +20,8 @@ object PermissionUtils {
|
||||
coarseLocation == PackageManager.PERMISSION_GRANTED &&
|
||||
nearbyWifi == PackageManager.PERMISSION_GRANTED
|
||||
}
|
||||
|
||||
fun mapPermissionResult(result: Int): String {
|
||||
return if (result == PackageManager.PERMISSION_GRANTED) "granted" else "denied"
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user