diff --git a/app/build.gradle b/app/build.gradle index a992015d..918e0f00 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -41,7 +41,7 @@ android { } dependencies { - implementation 'com.simplemobiletools:commons:3.17.12' + implementation 'com.simplemobiletools:commons:3.17.13' implementation 'com.facebook.stetho:stetho:1.5.0' implementation 'com.android.support.constraint:constraint-layout:1.0.2' implementation 'com.shawnlin:number-picker:2.4.6' diff --git a/app/src/main/kotlin/com/simplemobiletools/clock/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/clock/activities/MainActivity.kt index 3bc4ac57..5f171307 100644 --- a/app/src/main/kotlin/com/simplemobiletools/clock/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/clock/activities/MainActivity.kt @@ -3,14 +3,11 @@ 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 import android.view.WindowManager -import com.google.gson.Gson -import com.google.gson.reflect.TypeToken import com.simplemobiletools.clock.BuildConfig import com.simplemobiletools.clock.R import com.simplemobiletools.clock.adapters.ViewPagerAdapter @@ -22,11 +19,8 @@ import com.simplemobiletools.clock.helpers.* import com.simplemobiletools.commons.extensions.* import com.simplemobiletools.commons.helpers.LICENSE_NUMBER_PICKER import com.simplemobiletools.commons.helpers.LICENSE_STETHO -import com.simplemobiletools.commons.helpers.isKitkatPlus -import com.simplemobiletools.commons.models.AlarmSound import com.simplemobiletools.commons.models.FAQItem import kotlinx.android.synthetic.main.activity_main.* -import java.util.* class MainActivity : SimpleActivity() { private var storedUseEnglish = false @@ -127,31 +121,13 @@ class MainActivity : SimpleActivity() { override fun onActivityResult(requestCode: Int, resultCode: Int, resultData: Intent?) { super.onActivityResult(requestCode, resultCode, resultData) if (requestCode == PICK_AUDIO_FILE_INTENT_ID && resultCode == RESULT_OK && resultData != null) { - storeNewAlarmSound(resultData.data) + storeNewAlarmSound(resultData) } } @TargetApi(Build.VERSION_CODES.KITKAT) - private fun storeNewAlarmSound(uri: Uri) { - var filename = getFilenameFromUri(uri) - if (filename.isEmpty()) { - filename = getString(R.string.alarm) - } - - val token = object : TypeToken>() {}.type - val yourAlarmSounds = Gson().fromJson>(config.yourAlarmSounds, token) ?: ArrayList() - val newAlarmSoundId = (yourAlarmSounds.maxBy { it.id }?.id ?: YOUR_ALARM_SOUNDS_MIN_ID) + 1 - val newAlarmSound = AlarmSound(newAlarmSoundId, filename, uri.toString()) - if (yourAlarmSounds.firstOrNull { it.uri == uri.toString() } == null) { - yourAlarmSounds.add(newAlarmSound) - } - - config.yourAlarmSounds = Gson().toJson(yourAlarmSounds) - - if (isKitkatPlus()) { - val takeFlags = Intent.FLAG_GRANT_READ_URI_PERMISSION - contentResolver.takePersistableUriPermission(uri, takeFlags) - } + private fun storeNewAlarmSound(resultData: Intent) { + val newAlarmSound = storeNewYourAlarmSound(resultData) when (view_pager.currentItem) { TAB_ALARM -> getViewPagerAdapter()?.updateAlarmTabAlarmSound(newAlarmSound) diff --git a/app/src/main/kotlin/com/simplemobiletools/clock/dialogs/EditAlarmDialog.kt b/app/src/main/kotlin/com/simplemobiletools/clock/dialogs/EditAlarmDialog.kt index ae8f0a35..5f7bb99c 100644 --- a/app/src/main/kotlin/com/simplemobiletools/clock/dialogs/EditAlarmDialog.kt +++ b/app/src/main/kotlin/com/simplemobiletools/clock/dialogs/EditAlarmDialog.kt @@ -37,7 +37,7 @@ class EditAlarmDialog(val activity: SimpleActivity, val alarm: Alarm, val callba } }, onAlarmSoundDeleted = { if (alarm.soundUri == it.uri) { - val defaultAlarm = context.getDefaultAlarmSound(ALARM_SOUND_TYPE_ALARM, context.getString(R.string.alarm)) + val defaultAlarm = context.getDefaultAlarmSound(ALARM_SOUND_TYPE_ALARM) updateSelectedAlarmSound(defaultAlarm) } activity.checkAlarmsWithDeletedSoundUri(it.uri) diff --git a/app/src/main/kotlin/com/simplemobiletools/clock/extensions/Context.kt b/app/src/main/kotlin/com/simplemobiletools/clock/extensions/Context.kt index c3314563..2577f621 100644 --- a/app/src/main/kotlin/com/simplemobiletools/clock/extensions/Context.kt +++ b/app/src/main/kotlin/com/simplemobiletools/clock/extensions/Context.kt @@ -75,7 +75,7 @@ fun Context.getAllTimeZonesModified(): ArrayList { fun Context.getModifiedTimeZoneTitle(id: Int) = getAllTimeZonesModified().firstOrNull { it.id == id }?.title ?: getDefaultTimeZoneTitle(id) fun Context.createNewAlarm(timeInMinutes: Int, weekDays: Int): Alarm { - val defaultAlarmSound = getDefaultAlarmSound(ALARM_SOUND_TYPE_ALARM, getString(R.string.alarm)) + val defaultAlarmSound = getDefaultAlarmSound(ALARM_SOUND_TYPE_ALARM) return Alarm(0, timeInMinutes, weekDays, false, false, defaultAlarmSound.title, defaultAlarmSound.uri, "") } @@ -345,7 +345,7 @@ fun Context.getReminderActivityIntent(): PendingIntent { } fun Context.checkAlarmsWithDeletedSoundUri(uri: String) { - val defaultAlarmSound = getDefaultAlarmSound(ALARM_SOUND_TYPE_ALARM, getString(R.string.alarm)) + val defaultAlarmSound = getDefaultAlarmSound(ALARM_SOUND_TYPE_ALARM) dbHelper.getAlarmsWithUri(uri).forEach { it.soundTitle = defaultAlarmSound.title it.soundUri = defaultAlarmSound.uri diff --git a/app/src/main/kotlin/com/simplemobiletools/clock/fragments/TimerFragment.kt b/app/src/main/kotlin/com/simplemobiletools/clock/fragments/TimerFragment.kt index 0eaf8527..0d2a4ed2 100644 --- a/app/src/main/kotlin/com/simplemobiletools/clock/fragments/TimerFragment.kt +++ b/app/src/main/kotlin/com/simplemobiletools/clock/fragments/TimerFragment.kt @@ -75,7 +75,7 @@ class TimerFragment : Fragment() { } }, onAlarmSoundDeleted = { if (config.timerSoundUri == it.uri) { - val defaultAlarm = context.getDefaultAlarmSound(ALARM_SOUND_TYPE_ALARM, getString(R.string.alarm)) + val defaultAlarm = context.getDefaultAlarmSound(ALARM_SOUND_TYPE_ALARM) updateAlarmSound(defaultAlarm) } context.checkAlarmsWithDeletedSoundUri(it.uri) diff --git a/app/src/main/kotlin/com/simplemobiletools/clock/helpers/Config.kt b/app/src/main/kotlin/com/simplemobiletools/clock/helpers/Config.kt index 9125cd99..aace94eb 100644 --- a/app/src/main/kotlin/com/simplemobiletools/clock/helpers/Config.kt +++ b/app/src/main/kotlin/com/simplemobiletools/clock/helpers/Config.kt @@ -1,7 +1,6 @@ package com.simplemobiletools.clock.helpers import android.content.Context -import com.simplemobiletools.clock.R import com.simplemobiletools.commons.extensions.getDefaultAlarmTitle import com.simplemobiletools.commons.extensions.getDefaultAlarmUri import com.simplemobiletools.commons.helpers.ALARM_SOUND_TYPE_ALARM @@ -37,7 +36,7 @@ class Config(context: Context) : BaseConfig(context) { set(timerSoundUri) = prefs.edit().putString(TIMER_SOUND_URI, timerSoundUri).apply() var timerSoundTitle: String - get() = prefs.getString(TIMER_SOUND_TITLE, context.getDefaultAlarmTitle(ALARM_SOUND_TYPE_ALARM, context.getString(R.string.alarm))) + get() = prefs.getString(TIMER_SOUND_TITLE, context.getDefaultAlarmTitle(ALARM_SOUND_TYPE_ALARM)) set(timerSoundTitle) = prefs.edit().putString(TIMER_SOUND_TITLE, timerSoundTitle).apply() var timerMaxReminderSecs: Int diff --git a/app/src/main/kotlin/com/simplemobiletools/clock/helpers/Constants.kt b/app/src/main/kotlin/com/simplemobiletools/clock/helpers/Constants.kt index b879b7a0..13f9205a 100644 --- a/app/src/main/kotlin/com/simplemobiletools/clock/helpers/Constants.kt +++ b/app/src/main/kotlin/com/simplemobiletools/clock/helpers/Constants.kt @@ -23,7 +23,6 @@ const val DAY_MINUTES = 1440 const val DEFAULT_MAX_ALARM_REMINDER_SECS = 300 const val DEFAULT_MAX_TIMER_REMINDER_SECS = 60 const val HIDE_REMINDER_ACTIVITY = "hide_reminder_activity" -const val YOUR_ALARM_SOUNDS_MIN_ID = 1000 const val PICK_AUDIO_FILE_INTENT_ID = 9994 const val REMINDER_ACTIVITY_INTENT_ID = 9995