Skip to content

Commit

Permalink
Merge branch 'release-2.5.11'
Browse files Browse the repository at this point in the history
* release-2.5.11:
  Bump versionCOde and versionName for 2.5.11
  NotificationHelper: test that function to make sure it doesn't break in the future
  hotfix: NotificationHelper: fix crash on vibration preference parsing
  • Loading branch information
AlvaroBrey committed Nov 15, 2018
2 parents 4a3e6e6 + a491540 commit eff7585
Show file tree
Hide file tree
Showing 3 changed files with 76 additions and 11 deletions.
4 changes: 2 additions & 2 deletions Calendula/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -76,8 +76,8 @@ android {
defaultConfig {
minSdkVersion 18
targetSdkVersion 26
versionCode 41
versionName "2.5.10"
versionCode 42
versionName "2.5.11"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
applicationId "es.usc.citius.servando.calendula"
multiDexEnabled true
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ object NotificationHelper {

@JvmField
val VIBRATION_PATTERN_MEDS =
longArrayOf(1000, 200, 100, 500, 400, 200, 100, 500, 400, 200, 100, 500, 1000)
longArrayOf(1000, 200, 100, 500, 400, 200, 100, 500, 400, 200, 100, 500, 1000)
@JvmField
val VIBRATION_PATTERN_DEFAULT = longArrayOf(1000, 200, 500, 200, 100, 200, 1000)
@JvmField
Expand Down Expand Up @@ -62,18 +62,18 @@ object NotificationHelper {
val medChannelName = context.getString(R.string.channel_meds_name)
val medChannelDesc = context.getString(R.string.channel_meds_description)
val medChannel = NotificationChannel(
CHANNEL_MEDS_ID,
medChannelName,
NotificationManager.IMPORTANCE_HIGH
CHANNEL_MEDS_ID,
medChannelName,
NotificationManager.IMPORTANCE_HIGH
)
medChannel.description = medChannelDesc
//create other channel
val defaultChannelName = context.getString(R.string.channel_default_name)
val defaultChannelDesc = context.getString(R.string.channel_default_description)
val defaultChannel = NotificationChannel(
CHANNEL_DEFAULT_ID,
defaultChannelName,
NotificationManager.IMPORTANCE_DEFAULT
CHANNEL_DEFAULT_ID,
defaultChannelName,
NotificationManager.IMPORTANCE_DEFAULT
)

defaultChannel.description = defaultChannelDesc
Expand All @@ -93,8 +93,8 @@ object NotificationHelper {
@JvmStatic
fun isNotificationVibrationEnabled(context: Context): Boolean {

val vibrationSettingInt =
PreferenceUtils.getInt(PreferenceKeys.SETTINGS_NOTIFICATION_VIBRATION, 0)
val vibrationSettingInt = Integer.parseInt(
PreferenceUtils.getString(PreferenceKeys.SETTINGS_NOTIFICATION_VIBRATION, "0"))
val audioManager = context.getSystemService(Context.AUDIO_SERVICE) as AudioManager

return when (vibrationSettingInt) {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
/*
* Calendula - An assistant for personal medication management.
* Copyright (C) 2014-2018 CiTIUS - University of Santiago de Compostela
*
* Calendula is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this software. If not, see <http://www.gnu.org/licenses/>.
*/

package es.usc.citius.servando.calendula.notifications

import es.usc.citius.servando.calendula.util.PreferenceKeys
import es.usc.citius.servando.calendula.util.PreferenceUtils
import org.junit.Assert.assertFalse
import org.junit.Assert.assertTrue
import org.junit.Test
import org.junit.runner.RunWith
import org.robolectric.RobolectricTestRunner
import org.robolectric.RuntimeEnvironment


@RunWith(RobolectricTestRunner::class)
class NotificationHelperTest {


@Test
fun `Vibration is enabled when the vibration preference is the default value`() {
PreferenceUtils.edit().remove(PreferenceKeys.SETTINGS_NOTIFICATION_VIBRATION.key()).apply()

val notificationVibrationEnabled =
NotificationHelper.isNotificationVibrationEnabled(RuntimeEnvironment.systemContext)

assertTrue(notificationVibrationEnabled)
}

@Test
fun `Vibration is enabled when the vibration preference is set to vibrate`() {
PreferenceUtils.edit().putString(PreferenceKeys.SETTINGS_NOTIFICATION_VIBRATION.key(), "0").apply()

val notificationVibrationEnabled =
NotificationHelper.isNotificationVibrationEnabled(RuntimeEnvironment.systemContext)

assertTrue(notificationVibrationEnabled)
}


@Test
fun `Vibration is disabled when the vibration preference is set to off`() {
PreferenceUtils.edit().putString(PreferenceKeys.SETTINGS_NOTIFICATION_VIBRATION.key(), "3").apply()

val notificationVibrationEnabled =
NotificationHelper.isNotificationVibrationEnabled(RuntimeEnvironment.systemContext)

assertFalse(notificationVibrationEnabled)
}
}

0 comments on commit eff7585

Please sign in to comment.