mirror of
https://github.com/Kunzisoft/KeePassDX.git
synced 2025-12-04 15:49:33 +01:00
Update UriUtil.kt
Removed KitKat sdk check
This commit is contained in:
@@ -67,55 +67,53 @@ object UriUtil {
|
|||||||
readOnly: Boolean) {
|
readOnly: Boolean) {
|
||||||
try {
|
try {
|
||||||
// try to persist read and write permissions
|
// try to persist read and write permissions
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
|
contentResolver?.apply {
|
||||||
contentResolver?.apply {
|
var readPermissionAllowed = false
|
||||||
var readPermissionAllowed = false
|
var writePermissionAllowed = false
|
||||||
var writePermissionAllowed = false
|
// Check current permissions allowed
|
||||||
// Check current permissions allowed
|
persistedUriPermissions.find { uriPermission ->
|
||||||
persistedUriPermissions.find { uriPermission ->
|
uriPermission.uri == uri
|
||||||
uriPermission.uri == uri
|
}?.let { uriPermission ->
|
||||||
}?.let { uriPermission ->
|
Log.d(TAG, "Check URI permission : $uriPermission")
|
||||||
Log.d(TAG, "Check URI permission : $uriPermission")
|
if (uriPermission.isReadPermission) {
|
||||||
if (uriPermission.isReadPermission) {
|
readPermissionAllowed = true
|
||||||
readPermissionAllowed = true
|
|
||||||
}
|
|
||||||
if (uriPermission.isWritePermission) {
|
|
||||||
writePermissionAllowed = true
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
if (uriPermission.isWritePermission) {
|
||||||
// Release permission
|
writePermissionAllowed = true
|
||||||
if (release) {
|
|
||||||
if (writePermissionAllowed) {
|
|
||||||
Log.d(TAG, "Release write permission : $uri")
|
|
||||||
val removeFlags: Int = Intent.FLAG_GRANT_WRITE_URI_PERMISSION
|
|
||||||
releasePersistableUriPermission(uri, removeFlags)
|
|
||||||
}
|
|
||||||
if (readPermissionAllowed) {
|
|
||||||
Log.d(TAG, "Release read permission $uri")
|
|
||||||
val takeFlags: Int = Intent.FLAG_GRANT_READ_URI_PERMISSION
|
|
||||||
releasePersistableUriPermission(uri, takeFlags)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Take missing permission
|
// Release permission
|
||||||
if (!readPermissionAllowed) {
|
if (release) {
|
||||||
Log.d(TAG, "Take read permission $uri")
|
if (writePermissionAllowed) {
|
||||||
|
Log.d(TAG, "Release write permission : $uri")
|
||||||
|
val removeFlags: Int = Intent.FLAG_GRANT_WRITE_URI_PERMISSION
|
||||||
|
releasePersistableUriPermission(uri, removeFlags)
|
||||||
|
}
|
||||||
|
if (readPermissionAllowed) {
|
||||||
|
Log.d(TAG, "Release read permission $uri")
|
||||||
val takeFlags: Int = Intent.FLAG_GRANT_READ_URI_PERMISSION
|
val takeFlags: Int = Intent.FLAG_GRANT_READ_URI_PERMISSION
|
||||||
takePersistableUriPermission(uri, takeFlags)
|
releasePersistableUriPermission(uri, takeFlags)
|
||||||
}
|
}
|
||||||
if (readOnly) {
|
}
|
||||||
if (writePermissionAllowed) {
|
|
||||||
Log.d(TAG, "Release write permission $uri")
|
// Take missing permission
|
||||||
val removeFlags: Int = Intent.FLAG_GRANT_WRITE_URI_PERMISSION
|
if (!readPermissionAllowed) {
|
||||||
releasePersistableUriPermission(uri, removeFlags)
|
Log.d(TAG, "Take read permission $uri")
|
||||||
}
|
val takeFlags: Int = Intent.FLAG_GRANT_READ_URI_PERMISSION
|
||||||
} else {
|
takePersistableUriPermission(uri, takeFlags)
|
||||||
if (!writePermissionAllowed) {
|
}
|
||||||
Log.d(TAG, "Take write permission $uri")
|
if (readOnly) {
|
||||||
val takeFlags: Int = Intent.FLAG_GRANT_WRITE_URI_PERMISSION
|
if (writePermissionAllowed) {
|
||||||
takePersistableUriPermission(uri, takeFlags)
|
Log.d(TAG, "Release write permission $uri")
|
||||||
}
|
val removeFlags: Int = Intent.FLAG_GRANT_WRITE_URI_PERMISSION
|
||||||
|
releasePersistableUriPermission(uri, removeFlags)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (!writePermissionAllowed) {
|
||||||
|
Log.d(TAG, "Take write permission $uri")
|
||||||
|
val takeFlags: Int = Intent.FLAG_GRANT_WRITE_URI_PERMISSION
|
||||||
|
takePersistableUriPermission(uri, takeFlags)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user