change get_content intent to an open_document one with persistent read uri perm

This commit is contained in:
tibbi 2018-03-29 16:35:57 +02:00
parent 4c9c5e0c7e
commit 2dd62ab3c6
2 changed files with 8 additions and 1 deletions

View file

@ -1,8 +1,10 @@
package com.simplemobiletools.clock.activities
import android.annotation.TargetApi
import android.content.Intent
import android.graphics.drawable.ColorDrawable
import android.net.Uri
import android.os.Build
import android.os.Bundle
import android.view.Menu
import android.view.MenuItem
@ -128,6 +130,7 @@ class MainActivity : SimpleActivity() {
}
}
@TargetApi(Build.VERSION_CODES.KITKAT)
private fun storeNewAlarmSound(uri: Uri) {
var filename = getFilenameFromUri(uri)
if (filename.isEmpty()) {
@ -139,6 +142,9 @@ class MainActivity : SimpleActivity() {
val newAlarmSoundId = (yourAlarmSounds.maxBy { it.id }?.id ?: YOUR_ALARM_SOUNDS_MIN_ID) + 1
yourAlarmSounds.add(AlarmSound(newAlarmSoundId, filename, uri.toString()))
config.yourAlarmSounds = Gson().toJson(yourAlarmSounds)
val takeFlags = Intent.FLAG_GRANT_READ_URI_PERMISSION
contentResolver.takePersistableUriPermission(uri, takeFlags)
}
private fun initFragments() {

View file

@ -83,9 +83,10 @@ class SelectAlarmSoundDialog(val activity: SimpleActivity, val currentUri: Strin
private fun alarmClicked(alarmSound: AlarmSound) {
if (alarmSound.id == ADD_NEW_SOUND_ID) {
Intent(Intent.ACTION_GET_CONTENT).apply {
Intent(Intent.ACTION_OPEN_DOCUMENT).apply {
type = "audio/*"
activity.startActivityForResult(this, PICK_AUDIO_FILE_INTENT_ID)
flags = flags or Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION
}
dialog.dismiss()
} else {