From e9ba0397b9e26042a217ee5bc7953d23706bcfd6 Mon Sep 17 00:00:00 2001 From: Janne Koschinski <janne@kuschku.de> Date: Wed, 12 Dec 2018 13:39:53 +0100 Subject: [PATCH] Fixes #159 --- .../ui/coresettings/aliasitem/AliasItemFragment.kt | 3 +-- .../ui/coresettings/aliaslist/AliasListAdapter.kt | 2 +- app/src/main/res/values/strings.xml | 1 + .../libquassel/quassel/syncables/AliasManager.kt | 12 ++++++------ .../quassel/syncables/interfaces/IAliasManager.kt | 6 +++--- .../quasseldroid/viewmodel/data/AutoCompleteItem.kt | 6 +++--- 6 files changed, 15 insertions(+), 15 deletions(-) diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/aliasitem/AliasItemFragment.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/aliasitem/AliasItemFragment.kt index fc061d638..d7b15d669 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/aliasitem/AliasItemFragment.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/aliasitem/AliasItemFragment.kt @@ -39,7 +39,6 @@ import de.kuschku.quasseldroid.settings.AutoCompleteSettings import de.kuschku.quasseldroid.settings.MessageSettings import de.kuschku.quasseldroid.ui.chat.input.* import de.kuschku.quasseldroid.ui.coresettings.SettingsFragment -import de.kuschku.quasseldroid.util.compatibility.AndroidCrashFixer import de.kuschku.quasseldroid.util.irc.format.IrcFormatDeserializer import de.kuschku.quasseldroid.util.irc.format.IrcFormatSerializer import de.kuschku.quasseldroid.viewmodel.EditorViewModel @@ -131,7 +130,7 @@ class AliasItemFragment : SettingsFragment(), SettingsFragment.Savable, } rule?.let { data -> - name.setText(AndroidCrashFixer.removeCrashableCharacters(data.name)) + name.setText(data.name ?: "") expansion.setText(formatDeserializer.formatString(data.expansion, true)) } diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/aliaslist/AliasListAdapter.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/aliaslist/AliasListAdapter.kt index 625c40470..e1df794a7 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/aliaslist/AliasListAdapter.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/aliaslist/AliasListAdapter.kt @@ -69,7 +69,7 @@ class AliasListAdapter @Inject constructor( notifyItemChanged(index) } - fun indexOf(name: String) = data.map(IAliasManager.Alias::name).indexOf(name) + fun indexOf(name: String?) = data.map(IAliasManager.Alias::name).indexOf(name) fun remove(index: Int) { data.removeAt(index) diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 336b63168..7e7f849a0 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -66,6 +66,7 @@ <string name="label_join_long">Join Channel</string> <string name="label_libraries">Libraries</string> <string name="label_license">License</string> + <string name="label_match_all">Matches all messages</string> <string name="label_mark_read">Mark Read</string> <string name="label_mention">Mention</string> <string name="label_mention_long">Copy username into input line</string> diff --git a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/AliasManager.kt b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/AliasManager.kt index 3e26c5bca..132f1624e 100644 --- a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/AliasManager.kt +++ b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/AliasManager.kt @@ -60,7 +60,7 @@ class AliasManager constructor( _aliases = names.zip(expansions, ::Alias).toList() } - override fun addAlias(name: String, expansion: String) { + override fun addAlias(name: String?, expansion: String?) { if (contains(name)) { return } @@ -70,9 +70,9 @@ class AliasManager constructor( super.addAlias(name, expansion) } - fun indexOf(name: String) = _aliases.map(Alias::name).indexOf(name) + fun indexOf(name: String?) = _aliases.map(Alias::name).indexOf(name) - fun contains(name: String) = _aliases.map(Alias::name).contains(name) + fun contains(name: String?) = _aliases.map(Alias::name).contains(name) fun defaults() = listOf( Alias("j", "/join $0"), @@ -124,7 +124,7 @@ class AliasManager constructor( if (search != null) { val found = _aliases.firstOrNull { it.name.equals(search, true) } if (found != null) { - expand(found.expansion, info, split.getOrNull(1) ?: "", previousCommands) + expand(found.expansion ?: "", info, split.getOrNull(1) ?: "", previousCommands) return } } @@ -138,8 +138,8 @@ class AliasManager constructor( val network = proxy.network(bufferInfo.networkId) val paramRange = Regex("""\$(\d+)\.\.(\d*)""") - val commands = expansion.split("; ?".toRegex()).dropLastWhile { it.isEmpty() } - val params = msg.split(' ').dropLastWhile({ it.isEmpty() }) + val commands = expansion.split("; ?".toRegex()).dropLastWhile(String::isEmpty) + val params = msg.split(' ').dropLastWhile(String::isEmpty) val expandedCommands = LinkedList<String>() for (i in commands.indices) { diff --git a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/interfaces/IAliasManager.kt b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/interfaces/IAliasManager.kt index efb7edefc..d45b8d48e 100644 --- a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/interfaces/IAliasManager.kt +++ b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/interfaces/IAliasManager.kt @@ -32,7 +32,7 @@ interface IAliasManager : ISyncableObject { fun initAliases(): QVariantMap fun initSetAliases(aliases: QVariantMap) @Slot - fun addAlias(name: String, expansion: String) { + fun addAlias(name: String?, expansion: String?) { SYNC("addAlias", ARG(name, Type.QString), ARG(expansion, Type.QString)) } @@ -42,8 +42,8 @@ interface IAliasManager : ISyncableObject { } data class Alias( - val name: String, - val expansion: String + val name: String?, + val expansion: String? ) : Serializable data class Command( diff --git a/viewmodel/src/main/java/de/kuschku/quasseldroid/viewmodel/data/AutoCompleteItem.kt b/viewmodel/src/main/java/de/kuschku/quasseldroid/viewmodel/data/AutoCompleteItem.kt index 29c9e39fb..53e44b93b 100644 --- a/viewmodel/src/main/java/de/kuschku/quasseldroid/viewmodel/data/AutoCompleteItem.kt +++ b/viewmodel/src/main/java/de/kuschku/quasseldroid/viewmodel/data/AutoCompleteItem.kt @@ -79,9 +79,9 @@ sealed class AutoCompleteItem(open val name: String, val suffix: String, private } data class AliasItem( - val alias: String, - val expansion: String - ) : AutoCompleteItem(alias, " ", 1) + val alias: String?, + val expansion: String? + ) : AutoCompleteItem(alias ?: "", " ", 1) data class ChannelItem( val info: BufferInfo, -- GitLab