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