Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 09f798dd authored by tibbi's avatar tibbi
Browse files

add a type parameter to select alarm sound dialog

parent b1edf14a
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -6,7 +6,7 @@ buildscript {
        propMinSdkVersion = 16
        propTargetSdkVersion = propCompileSdkVersion
        propVersionCode = 1
        propVersionName = '3.17.11'
        propVersionName = '3.17.12'
        kotlin_version = '1.2.31'
        support_libs = '27.1.0'
    }
+3 −3
Original line number Diff line number Diff line
@@ -20,8 +20,8 @@ import com.simplemobiletools.commons.views.MyCompatRadioButton
import kotlinx.android.synthetic.main.dialog_select_alarm_sound.view.*
import java.util.*

class SelectAlarmSoundDialog(val activity: BaseSimpleActivity, val currentUri: String, val audioStream: Int, val pickAudioIntentId: Int, val onAlarmPicked: (alarmSound: AlarmSound?) -> Unit,
                             val onAlarmSoundDeleted: (alarmSound: AlarmSound) -> Unit) {
class SelectAlarmSoundDialog(val activity: BaseSimpleActivity, val currentUri: String, val audioStream: Int, val pickAudioIntentId: Int,
                             val type: Int, val onAlarmPicked: (alarmSound: AlarmSound?) -> Unit, val onAlarmSoundDeleted: (alarmSound: AlarmSound) -> Unit) {
    private val ADD_NEW_SOUND_ID = -2

    private val view = activity.layoutInflater.inflate(R.layout.dialog_select_alarm_sound, null)
@@ -32,7 +32,7 @@ class SelectAlarmSoundDialog(val activity: BaseSimpleActivity, val currentUri: S
    private val dialog: AlertDialog

    init {
        activity.getAlarmSounds {
        activity.getAlarmSounds(type) {
            systemAlarmSounds = it
            gotSystemAlarms()
        }
+6 −5
Original line number Diff line number Diff line
@@ -782,14 +782,14 @@ fun Activity.showPickSecondsDialog(curSeconds: Int, isSnoozePicker: Boolean = fa
    }
}

fun BaseSimpleActivity.getAlarmSounds(callback: (ArrayList<AlarmSound>) -> Unit) {
fun BaseSimpleActivity.getAlarmSounds(type: Int, callback: (ArrayList<AlarmSound>) -> Unit) {
    val alarms = ArrayList<AlarmSound>()
    val manager = RingtoneManager(this)
    manager.setType(RingtoneManager.TYPE_ALARM)
    manager.setType(if (type == ALARM_SOUND_TYPE_NOTIFICATION) RingtoneManager.TYPE_NOTIFICATION else RingtoneManager.TYPE_ALARM)

    try {
        val cursor = manager.cursor
        val defaultAlarm = AlarmSound(0, getDefaultAlarmTitle(getString(R.string.alarm)), getDefaultAlarmUri().toString())
        val defaultAlarm = getDefaultAlarmSound(type, getString(R.string.alarm))
        alarms.add(defaultAlarm)

        var curId = 1
@@ -800,6 +800,7 @@ fun BaseSimpleActivity.getAlarmSounds(callback: (ArrayList<AlarmSound>) -> Unit)
            if (!uri.endsWith(id)) {
                uri += "/$id"
            }

            val alarmSound = AlarmSound(curId++, title, uri)
            alarms.add(alarmSound)
        }
@@ -808,7 +809,7 @@ fun BaseSimpleActivity.getAlarmSounds(callback: (ArrayList<AlarmSound>) -> Unit)
        if (e is SecurityException) {
            handlePermission(PERMISSION_READ_STORAGE) {
                if (it) {
                    getAlarmSounds(callback)
                    getAlarmSounds(type, callback)
                } else {
                    showErrorToast(e)
                    callback(ArrayList())
+6 −2
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@ import com.simplemobiletools.commons.helpers.MyContentProvider.Companion.COL_BAC
import com.simplemobiletools.commons.helpers.MyContentProvider.Companion.COL_LAST_UPDATED_TS
import com.simplemobiletools.commons.helpers.MyContentProvider.Companion.COL_PRIMARY_COLOR
import com.simplemobiletools.commons.helpers.MyContentProvider.Companion.COL_TEXT_COLOR
import com.simplemobiletools.commons.models.AlarmSound
import com.simplemobiletools.commons.models.SharedTheme
import com.simplemobiletools.commons.views.*
import java.io.File
@@ -446,9 +447,12 @@ fun Context.getFormattedSeconds(seconds: Int, showBefore: Boolean = true) = when
    }
}

fun Context.getDefaultAlarmUri() = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM)
fun Context.getDefaultAlarmUri(type: Int) = RingtoneManager.getDefaultUri(if (type == ALARM_SOUND_TYPE_NOTIFICATION) RingtoneManager.TYPE_NOTIFICATION else RingtoneManager.TYPE_ALARM)

fun Context.getDefaultAlarmTitle(defaultTitle: String) = RingtoneManager.getRingtone(this, getDefaultAlarmUri())?.getTitle(this) ?: defaultTitle
fun Context.getDefaultAlarmTitle(type: Int, defaultTitle: String) = RingtoneManager.getRingtone(this, getDefaultAlarmUri(type))?.getTitle(this)
        ?: defaultTitle

fun Context.getDefaultAlarmSound(type: Int, defaultTitle: String) = AlarmSound(0, getDefaultAlarmTitle(type, defaultTitle), getDefaultAlarmUri(type).toString())

fun Context.grantReadUriPermission(uriString: String) {
    try {
+2 −0
Original line number Diff line number Diff line
@@ -11,6 +11,8 @@ const val REAL_FILE_PATH = "real_file_path_2"
const val IS_FROM_GALLERY = "is_from_gallery"
const val BROADCAST_REFRESH_MEDIA = "com.simplemobiletools.REFRESH_MEDIA"
const val OTG_PATH = "otg:/"
const val ALARM_SOUND_TYPE_ALARM = 1
const val ALARM_SOUND_TYPE_NOTIFICATION = 2

const val HOUR_MINUTES = 60
const val DAY_MINUTES = 24 * HOUR_MINUTES