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