Skip to content
Snippets Groups Projects
Commit 97f5130a authored by Janne Mareike Koschinski's avatar Janne Mareike Koschinski
Browse files

Fix avatar settings

parent 2c9ef1b0
No related branches found
No related tags found
No related merge requests found
Pipeline #
...@@ -77,6 +77,9 @@ class ChatActivity : ServiceBoundActivity(), SharedPreferences.OnSharedPreferenc ...@@ -77,6 +77,9 @@ class ChatActivity : ServiceBoundActivity(), SharedPreferences.OnSharedPreferenc
@Inject @Inject
lateinit var ircFormatDeserializer: IrcFormatDeserializer lateinit var ircFormatDeserializer: IrcFormatDeserializer
@Inject
lateinit var autoCompleteAdapter: AutoCompleteAdapter
private lateinit var drawerToggle: ActionBarDrawerToggle private lateinit var drawerToggle: ActionBarDrawerToggle
private var chatlineFragment: ChatlineFragment? = null private var chatlineFragment: ChatlineFragment? = null
...@@ -141,12 +144,12 @@ class ChatActivity : ServiceBoundActivity(), SharedPreferences.OnSharedPreferenc ...@@ -141,12 +144,12 @@ class ChatActivity : ServiceBoundActivity(), SharedPreferences.OnSharedPreferenc
if (autoCompleteSettings.prefix || autoCompleteSettings.auto) { if (autoCompleteSettings.prefix || autoCompleteSettings.auto) {
chatlineFragment?.let { chatlineFragment?.let {
val autocompleteAdapter = AutoCompleteAdapter(messageSettings, it.chatline::autoComplete) autoCompleteAdapter.setOnClickListener(it.chatline::autoComplete)
autoCompleteList.layoutManager = LinearLayoutManager(it.activity) autoCompleteList.layoutManager = LinearLayoutManager(it.activity)
autoCompleteList.itemAnimator = DefaultItemAnimator() autoCompleteList.itemAnimator = DefaultItemAnimator()
autoCompleteList.adapter = autocompleteAdapter autoCompleteList.adapter = autoCompleteAdapter
it.autoCompleteHelper.setDataListener { it.autoCompleteHelper.setDataListener {
autocompleteAdapter.submitList(it) autoCompleteAdapter.submitList(it)
} }
} }
} }
......
...@@ -18,10 +18,10 @@ import de.kuschku.quasseldroid.util.helper.* ...@@ -18,10 +18,10 @@ import de.kuschku.quasseldroid.util.helper.*
import de.kuschku.quasseldroid.util.ui.SpanFormatter import de.kuschku.quasseldroid.util.ui.SpanFormatter
import de.kuschku.quasseldroid.viewmodel.data.AutoCompleteItem import de.kuschku.quasseldroid.viewmodel.data.AutoCompleteItem
import de.kuschku.quasseldroid.viewmodel.data.BufferStatus import de.kuschku.quasseldroid.viewmodel.data.BufferStatus
import javax.inject.Inject
class AutoCompleteAdapter( class AutoCompleteAdapter @Inject constructor(
private val messageSettings: MessageSettings, private val messageSettings: MessageSettings
private val clickListener: ((String) -> Unit)? = null
) : ListAdapter<AutoCompleteItem, AutoCompleteAdapter.AutoCompleteViewHolder>( ) : ListAdapter<AutoCompleteItem, AutoCompleteAdapter.AutoCompleteViewHolder>(
object : DiffUtil.ItemCallback<AutoCompleteItem>() { object : DiffUtil.ItemCallback<AutoCompleteItem>() {
override fun areItemsTheSame(oldItem: AutoCompleteItem, newItem: AutoCompleteItem) = override fun areItemsTheSame(oldItem: AutoCompleteItem, newItem: AutoCompleteItem) =
...@@ -30,6 +30,11 @@ class AutoCompleteAdapter( ...@@ -30,6 +30,11 @@ class AutoCompleteAdapter(
override fun areContentsTheSame(oldItem: AutoCompleteItem, newItem: AutoCompleteItem) = override fun areContentsTheSame(oldItem: AutoCompleteItem, newItem: AutoCompleteItem) =
oldItem == newItem oldItem == newItem
}) { }) {
private var clickListener: ((String) -> Unit)? = null
fun setOnClickListener(listener: ((String) -> Unit)?) {
this.clickListener = listener
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = when (viewType) { override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = when (viewType) {
VIEWTYPE_CHANNEL -> AutoCompleteViewHolder.ChannelViewHolder( VIEWTYPE_CHANNEL -> AutoCompleteViewHolder.ChannelViewHolder(
......
...@@ -63,6 +63,9 @@ class ChatlineFragment : ServiceBoundFragment() { ...@@ -63,6 +63,9 @@ class ChatlineFragment : ServiceBoundFragment() {
@Inject @Inject
lateinit var ircFormatSerializer: IrcFormatSerializer lateinit var ircFormatSerializer: IrcFormatSerializer
@Inject
lateinit var autoCompleteAdapter: AutoCompleteAdapter
lateinit var editorHelper: EditorHelper lateinit var editorHelper: EditorHelper
lateinit var autoCompleteHelper: AutoCompleteHelper lateinit var autoCompleteHelper: AutoCompleteHelper
...@@ -145,12 +148,12 @@ class ChatlineFragment : ServiceBoundFragment() { ...@@ -145,12 +148,12 @@ class ChatlineFragment : ServiceBoundFragment() {
editorViewModel.lastWord.onNext(editorHelper.lastWord) editorViewModel.lastWord.onNext(editorHelper.lastWord)
if (autoCompleteSettings.prefix || autoCompleteSettings.auto) { if (autoCompleteSettings.prefix || autoCompleteSettings.auto) {
val autocompleteAdapter = AutoCompleteAdapter(messageSettings, chatline::autoComplete) autoCompleteAdapter.setOnClickListener(chatline::autoComplete)
autoCompleteList.layoutManager = LinearLayoutManager(activity) autoCompleteList.layoutManager = LinearLayoutManager(activity)
autoCompleteList.itemAnimator = DefaultItemAnimator() autoCompleteList.itemAnimator = DefaultItemAnimator()
autoCompleteList.adapter = autocompleteAdapter autoCompleteList.adapter = autoCompleteAdapter
autoCompleteHelper.setDataListener { autoCompleteHelper.setDataListener {
autocompleteAdapter.submitList(it) autoCompleteAdapter.submitList(it)
} }
} }
......
...@@ -110,8 +110,8 @@ class QuasselMessageRenderer @Inject constructor( ...@@ -110,8 +110,8 @@ class QuasselMessageRenderer @Inject constructor(
} }
viewHolder.avatar?.visibleIf(!isFollowUp) viewHolder.avatar?.visibleIf(!isFollowUp)
avatarContainer?.visibleIf(messageSettings.showAvatars) avatarContainer?.visibleIf(messageSettings.showAvatars && messageSettings.nicksOnNewLine)
avatarPlaceholder?.visibleIf(messageSettings.showAvatars) avatarPlaceholder?.visibleIf(messageSettings.showAvatars && messageSettings.nicksOnNewLine)
val separateLine = viewHolder.content != null && viewHolder.name != null && messageSettings.nicksOnNewLine val separateLine = viewHolder.content != null && viewHolder.name != null && messageSettings.nicksOnNewLine
viewHolder.name?.visibleIf(separateLine && !isFollowUp) viewHolder.name?.visibleIf(separateLine && !isFollowUp)
viewHolder.content?.visibleIf(separateLine) viewHolder.content?.visibleIf(separateLine)
......
...@@ -50,6 +50,9 @@ class TopicFragment : SettingsFragment(), SettingsFragment.Savable { ...@@ -50,6 +50,9 @@ class TopicFragment : SettingsFragment(), SettingsFragment.Savable {
@Inject @Inject
lateinit var formatSerializer: IrcFormatSerializer lateinit var formatSerializer: IrcFormatSerializer
@Inject
lateinit var autoCompleteAdapter: AutoCompleteAdapter
private lateinit var editorHelper: EditorHelper private lateinit var editorHelper: EditorHelper
private lateinit var mircColorMap: Map<Int, Int> private lateinit var mircColorMap: Map<Int, Int>
...@@ -124,12 +127,12 @@ class TopicFragment : SettingsFragment(), SettingsFragment.Savable { ...@@ -124,12 +127,12 @@ class TopicFragment : SettingsFragment(), SettingsFragment.Savable {
editorViewModel.lastWord.onNext(editorHelper.lastWord) editorViewModel.lastWord.onNext(editorHelper.lastWord)
if (autoCompleteSettings.prefix || autoCompleteSettings.auto) { if (autoCompleteSettings.prefix || autoCompleteSettings.auto) {
val autocompleteAdapter = AutoCompleteAdapter(messageSettings, chatline::autoComplete) autoCompleteAdapter.setOnClickListener(chatline::autoComplete)
autoCompleteList.layoutManager = LinearLayoutManager(activity) autoCompleteList.layoutManager = LinearLayoutManager(activity)
autoCompleteList.itemAnimator = DefaultItemAnimator() autoCompleteList.itemAnimator = DefaultItemAnimator()
autoCompleteList.adapter = autocompleteAdapter autoCompleteList.adapter = autoCompleteAdapter
autoCompleteHelper.setDataListener { autoCompleteHelper.setDataListener {
autocompleteAdapter.submitList(it) autoCompleteAdapter.submitList(it)
} }
} }
......
package de.kuschku.quasseldroid.util.irc.format package de.kuschku.quasseldroid.util.irc.format
import android.graphics.Typeface import android.graphics.Typeface
import android.support.annotation.ColorInt
import android.text.Spanned import android.text.Spanned
import android.text.style.* import android.text.style.*
import java.util.* import java.util.*
import javax.inject.Inject import javax.inject.Inject
class IrcFormatSerializer @Inject constructor() { class IrcFormatSerializer @Inject constructor() {
fun toEscapeCodes(@ColorInt colorForegroundMirc: Int, mircColorMap: Map<Int, Int>, fun toEscapeCodes(colorForegroundMirc: Int, mircColorMap: Map<Int, Int>, text: Spanned): String {
text: Spanned): String {
val out = StringBuilder() val out = StringBuilder()
withinParagraph(colorForegroundMirc, mircColorMap, out, text, 0, text.length) withinParagraph(colorForegroundMirc, mircColorMap, out, text, 0, text.length)
return out.toString() return out.toString()
} }
private fun withinParagraph(@ColorInt colorForegroundMirc: Int, mircColorMap: Map<Int, Int>, private fun withinParagraph(colorForegroundMirc: Int, mircColorMap: Map<Int, Int>,
out: StringBuilder, text: Spanned, start: Int, end: Int) { out: StringBuilder, text: Spanned, start: Int, end: Int) {
fun writeBold() { fun writeBold() {
out.append(CODE_BOLD) out.append(CODE_BOLD)
......
...@@ -70,19 +70,6 @@ ...@@ -70,19 +70,6 @@
<SwitchPreference <SwitchPreference
android:defaultValue="true" android:defaultValue="true"
android:key="@string/preference_nicks_on_new_line_key"
android:summary="@string/preference_nicks_on_new_line_summary"
android:title="@string/preference_nicks_on_new_line_title" />
<SwitchPreference
android:defaultValue="true"
android:dependency="@string/preference_nicks_on_new_line_key"
android:key="@string/preference_show_realnames_key"
android:title="@string/preference_show_realnames_title" />
<SwitchPreference
android:defaultValue="true"
android:dependency="@string/preference_nicks_on_new_line_key"
android:key="@string/preference_show_avatars_key" android:key="@string/preference_show_avatars_key"
android:title="@string/preference_show_avatars_title" /> android:title="@string/preference_show_avatars_title" />
...@@ -98,6 +85,18 @@ ...@@ -98,6 +85,18 @@
android:key="@string/preference_show_gravatar_avatars_key" android:key="@string/preference_show_gravatar_avatars_key"
android:title="@string/preference_show_gravatar_avatars_title" /> android:title="@string/preference_show_gravatar_avatars_title" />
<SwitchPreference
android:defaultValue="true"
android:key="@string/preference_nicks_on_new_line_key"
android:summary="@string/preference_nicks_on_new_line_summary"
android:title="@string/preference_nicks_on_new_line_title" />
<SwitchPreference
android:defaultValue="true"
android:dependency="@string/preference_nicks_on_new_line_key"
android:key="@string/preference_show_realnames_key"
android:title="@string/preference_show_realnames_title" />
<SwitchPreference <SwitchPreference
android:defaultValue="false" android:defaultValue="false"
android:key="@string/preference_hostmask_actions_key" android:key="@string/preference_hostmask_actions_key"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment