Skip to content
Snippets Groups Projects
Verified Commit 4bc27eae authored by Janne Mareike Koschinski's avatar Janne Mareike Koschinski
Browse files

Implement notification settings, fixes #48

parent b9760a0b
No related branches found
No related tags found
No related merge requests found
Pipeline #
Showing
with 44 additions and 20 deletions
......@@ -19,4 +19,6 @@
<resources>
<string name="app_name">QuasselTest</string>
<string name="package_name">com.iskrembilen.quasseldroid.debug</string>
</resources>
......@@ -149,7 +149,7 @@ class QuasseldroidNotificationManager @Inject constructor(private val context: C
.apply {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) {
var defaults = 0
if (!notificationSettings.sound.isNullOrEmpty()) {
if (!notificationSettings.sound.isEmpty()) {
setSound(Uri.parse(notificationSettings.sound))
}
if (notificationSettings.vibrate) {
......
......@@ -23,8 +23,9 @@ data class NotificationSettings(
val query: Level = Level.ALL,
val channel: Level = Level.HIGHLIGHT,
val other: Level = Level.NONE,
val sound: String? = null,
val vibrate: Boolean = true
val sound: String = "content://settings/system/notification_sound",
val vibrate: Boolean = true,
val light: Boolean = true
) {
enum class Level {
ALL,
......
......@@ -143,7 +143,19 @@ object Settings {
context.getString(R.string.preference_notification_other_key),
""
)
) ?: NotificationSettings.DEFAULT.other
) ?: NotificationSettings.DEFAULT.other,
sound = getString(
context.getString(R.string.preference_notification_sound_key),
NotificationSettings.DEFAULT.sound
),
vibrate = getBoolean(
context.getString(R.string.preference_notification_sound_key),
NotificationSettings.DEFAULT.vibrate
),
light = getBoolean(
context.getString(R.string.preference_notification_light_key),
NotificationSettings.DEFAULT.light
)
)
}
......
......@@ -21,7 +21,7 @@ package de.kuschku.quasseldroid.ui.chat.info.channel
import android.content.Context
import android.content.Intent
import de.kuschku.quasseldroid.util.ui.ServiceBoundSettingsActivity
import de.kuschku.quasseldroid.util.ui.settings.ServiceBoundSettingsActivity
class ChannelInfoActivity : ServiceBoundSettingsActivity(ChannelInfoFragment()) {
companion object {
......
......@@ -23,7 +23,7 @@ import android.content.Context
import android.content.Intent
import de.kuschku.libquassel.protocol.BufferId
import de.kuschku.libquassel.protocol.NetworkId
import de.kuschku.quasseldroid.util.ui.ServiceBoundSettingsActivity
import de.kuschku.quasseldroid.util.ui.settings.ServiceBoundSettingsActivity
class UserInfoActivity : ServiceBoundSettingsActivity(UserInfoFragment()) {
companion object {
......
......@@ -21,7 +21,7 @@ package de.kuschku.quasseldroid.ui.chat.topic
import android.content.Context
import android.content.Intent
import de.kuschku.quasseldroid.util.ui.ServiceBoundSettingsActivity
import de.kuschku.quasseldroid.util.ui.settings.ServiceBoundSettingsActivity
class TopicActivity : ServiceBoundSettingsActivity(TopicFragment()) {
companion object {
......
......@@ -21,7 +21,7 @@ package de.kuschku.quasseldroid.ui.clientsettings.about
import android.content.Context
import android.content.Intent
import de.kuschku.quasseldroid.util.ui.SettingsActivity
import de.kuschku.quasseldroid.util.ui.settings.SettingsActivity
class AboutActivity : SettingsActivity(AboutFragment()) {
companion object {
......
......@@ -21,7 +21,7 @@ package de.kuschku.quasseldroid.ui.clientsettings.client
import android.content.Context
import android.content.Intent
import de.kuschku.quasseldroid.util.ui.SettingsActivity
import de.kuschku.quasseldroid.util.ui.settings.SettingsActivity
class ClientSettingsActivity : SettingsActivity(ClientSettingsFragment()) {
companion object {
......
......@@ -20,6 +20,7 @@
package de.kuschku.quasseldroid.ui.clientsettings.client
import android.content.SharedPreferences
import android.os.Build
import android.os.Bundle
import android.support.v7.preference.ListPreference
import android.support.v7.preference.Preference
......@@ -33,11 +34,12 @@ import de.kuschku.quasseldroid.settings.Settings
import de.kuschku.quasseldroid.ui.clientsettings.about.AboutActivity
import de.kuschku.quasseldroid.ui.clientsettings.crash.CrashActivity
import de.kuschku.quasseldroid.ui.clientsettings.whitelist.WhitelistActivity
import de.kuschku.quasseldroid.util.backport.DaggerPreferenceFragmentCompat
import de.kuschku.quasseldroid.util.ui.settings.DaggerPreferenceFragmentCompat
import javax.inject.Inject
class ClientSettingsFragment : DaggerPreferenceFragmentCompat(),
SharedPreferences.OnSharedPreferenceChangeListener {
@Inject
lateinit var appearanceSettings: AppearanceSettings
......@@ -48,6 +50,13 @@ class ClientSettingsFragment : DaggerPreferenceFragmentCompat(),
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
setPreferencesFromResource(R.xml.preferences, rootKey)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
findPreference(getString(R.string.preference_notification_sound_key)).isVisible = false
findPreference(getString(R.string.preference_notification_vibration_key)).isVisible = false
findPreference(getString(R.string.preference_notification_light_key)).isVisible = false
} else {
findPreference(getString(R.string.preference_notification_configure_key)).isVisible = true
}
}
override fun onStart() {
......
......@@ -21,7 +21,7 @@ package de.kuschku.quasseldroid.ui.clientsettings.crash
import android.content.Context
import android.content.Intent
import de.kuschku.quasseldroid.util.ui.SettingsActivity
import de.kuschku.quasseldroid.util.ui.settings.SettingsActivity
class CrashActivity : SettingsActivity(CrashFragment()) {
companion object {
......
......@@ -22,7 +22,7 @@ package de.kuschku.quasseldroid.ui.clientsettings.license
import android.content.Context
import android.content.Intent
import android.support.annotation.StringRes
import de.kuschku.quasseldroid.util.ui.SettingsActivity
import de.kuschku.quasseldroid.util.ui.settings.SettingsActivity
class LicenseActivity : SettingsActivity(LicenseFragment()) {
companion object {
......
......@@ -21,7 +21,7 @@ package de.kuschku.quasseldroid.ui.clientsettings.whitelist
import android.content.Context
import android.content.Intent
import de.kuschku.quasseldroid.util.ui.SettingsActivity
import de.kuschku.quasseldroid.util.ui.settings.SettingsActivity
class WhitelistActivity : SettingsActivity(WhitelistFragment()) {
companion object {
......
......@@ -21,7 +21,7 @@ package de.kuschku.quasseldroid.ui.coresettings
import android.content.Context
import android.content.Intent
import de.kuschku.quasseldroid.util.ui.ServiceBoundSettingsActivity
import de.kuschku.quasseldroid.util.ui.settings.ServiceBoundSettingsActivity
class CoreSettingsActivity : ServiceBoundSettingsActivity(CoreSettingsFragment()) {
companion object {
......
......@@ -22,7 +22,7 @@ package de.kuschku.quasseldroid.ui.coresettings.aliasitem
import android.content.Context
import android.content.Intent
import de.kuschku.libquassel.quassel.syncables.interfaces.IAliasManager
import de.kuschku.quasseldroid.util.ui.ServiceBoundSettingsActivity
import de.kuschku.quasseldroid.util.ui.settings.ServiceBoundSettingsActivity
class AliasItemActivity : ServiceBoundSettingsActivity(AliasItemFragment()) {
companion object {
......
......@@ -21,7 +21,7 @@ package de.kuschku.quasseldroid.ui.coresettings.aliaslist
import android.content.Context
import android.content.Intent
import de.kuschku.quasseldroid.util.ui.ServiceBoundSettingsActivity
import de.kuschku.quasseldroid.util.ui.settings.ServiceBoundSettingsActivity
class AliasListActivity : ServiceBoundSettingsActivity(AliasListFragment()) {
companion object {
......
......@@ -21,7 +21,7 @@ package de.kuschku.quasseldroid.ui.coresettings.chatlist
import android.content.Context
import android.content.Intent
import de.kuschku.quasseldroid.util.ui.ServiceBoundSettingsActivity
import de.kuschku.quasseldroid.util.ui.settings.ServiceBoundSettingsActivity
class ChatlistCreateActivity : ServiceBoundSettingsActivity(ChatListCreateFragment()) {
companion object {
......
......@@ -21,7 +21,7 @@ package de.kuschku.quasseldroid.ui.coresettings.chatlist
import android.content.Context
import android.content.Intent
import de.kuschku.quasseldroid.util.ui.ServiceBoundSettingsActivity
import de.kuschku.quasseldroid.util.ui.settings.ServiceBoundSettingsActivity
class ChatlistEditActivity : ServiceBoundSettingsActivity(ChatListEditFragment()) {
companion object {
......
......@@ -21,7 +21,7 @@ package de.kuschku.quasseldroid.ui.coresettings.highlightlist
import android.content.Context
import android.content.Intent
import de.kuschku.quasseldroid.util.ui.ServiceBoundSettingsActivity
import de.kuschku.quasseldroid.util.ui.settings.ServiceBoundSettingsActivity
class HighlightListActivity : ServiceBoundSettingsActivity(HighlightListFragment()) {
companion object {
......
......@@ -22,7 +22,7 @@ package de.kuschku.quasseldroid.ui.coresettings.highlightrule
import android.content.Context
import android.content.Intent
import de.kuschku.libquassel.quassel.syncables.HighlightRuleManager
import de.kuschku.quasseldroid.util.ui.ServiceBoundSettingsActivity
import de.kuschku.quasseldroid.util.ui.settings.ServiceBoundSettingsActivity
class HighlightRuleActivity : ServiceBoundSettingsActivity(HighlightRuleFragment()) {
companion object {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment