Update kotlin to 1.7.20

This commit is contained in:
Cody Henthorne
2022-12-07 15:23:48 -05:00
committed by Alex Hart
parent 66ece479f6
commit 56f6888d49
12 changed files with 215 additions and 36 deletions

View File

@@ -8,7 +8,7 @@ import java.util.function.Consumer
class EmojiKeyboardPageCategoriesAdapter(private val onPageSelected: Consumer<String>) : MappingAdapter() {
init {
registerFactory(EmojiKeyboardPageCategoryMappingModel.RecentsMappingModel::class.java, LayoutFactory({ v -> KeyboardPageCategoryIconViewHolder<EmojiKeyboardPageCategoryMappingModel.RecentsMappingModel>(v, onPageSelected) }, R.layout.keyboard_pager_category_icon))
registerFactory(EmojiKeyboardPageCategoryMappingModel.EmojiCategoryMappingModel::class.java, LayoutFactory({ v -> KeyboardPageCategoryIconViewHolder<EmojiKeyboardPageCategoryMappingModel.EmojiCategoryMappingModel>(v, onPageSelected) }, R.layout.keyboard_pager_category_icon))
registerFactory(RecentsMappingModel::class.java, LayoutFactory({ v -> KeyboardPageCategoryIconViewHolder(v, onPageSelected) }, R.layout.keyboard_pager_category_icon))
registerFactory(EmojiCategoryMappingModel::class.java, LayoutFactory({ v -> KeyboardPageCategoryIconViewHolder(v, onPageSelected) }, R.layout.keyboard_pager_category_icon))
}
}

View File

@@ -2,42 +2,42 @@ package org.thoughtcrime.securesms.keyboard.emoji
import android.content.Context
import android.graphics.drawable.Drawable
import androidx.annotation.AttrRes
import org.thoughtcrime.securesms.R
import org.thoughtcrime.securesms.components.emoji.RecentEmojiPageModel
import org.thoughtcrime.securesms.emoji.EmojiCategory
import org.thoughtcrime.securesms.keyboard.KeyboardPageCategoryIconMappingModel
import org.thoughtcrime.securesms.util.ThemeUtil
sealed class EmojiKeyboardPageCategoryMappingModel(
override val key: String,
@AttrRes val iconId: Int,
override val selected: Boolean
) : KeyboardPageCategoryIconMappingModel<EmojiKeyboardPageCategoryMappingModel> {
class RecentsMappingModel(override val selected: Boolean) : KeyboardPageCategoryIconMappingModel<RecentsMappingModel> {
override val key: String = RecentEmojiPageModel.KEY
override fun getIcon(context: Context): Drawable {
return requireNotNull(ThemeUtil.getThemedDrawable(context, iconId))
return requireNotNull(ThemeUtil.getThemedDrawable(context, R.attr.emoji_category_recent))
}
override fun areItemsTheSame(newItem: EmojiKeyboardPageCategoryMappingModel): Boolean {
override fun areItemsTheSame(newItem: RecentsMappingModel): Boolean {
return newItem.key == key
}
class RecentsMappingModel(selected: Boolean) : EmojiKeyboardPageCategoryMappingModel(RecentEmojiPageModel.KEY, R.attr.emoji_category_recent, selected) {
override fun areContentsTheSame(newItem: EmojiKeyboardPageCategoryMappingModel): Boolean {
return newItem is RecentsMappingModel && super.areContentsTheSame(newItem)
}
}
class EmojiCategoryMappingModel(private val emojiCategory: EmojiCategory, selected: Boolean) : EmojiKeyboardPageCategoryMappingModel(emojiCategory.key, emojiCategory.icon, selected) {
override fun areContentsTheSame(newItem: EmojiKeyboardPageCategoryMappingModel): Boolean {
return newItem is EmojiCategoryMappingModel &&
super.areContentsTheSame(newItem) &&
newItem.emojiCategory == emojiCategory
}
}
override fun areContentsTheSame(newItem: EmojiKeyboardPageCategoryMappingModel): Boolean {
override fun areContentsTheSame(newItem: RecentsMappingModel): Boolean {
return areItemsTheSame(newItem) && selected == newItem.selected
}
}
class EmojiCategoryMappingModel(private val emojiCategory: EmojiCategory, override val selected: Boolean) : KeyboardPageCategoryIconMappingModel<EmojiCategoryMappingModel> {
override val key: String = emojiCategory.key
override fun getIcon(context: Context): Drawable {
return requireNotNull(ThemeUtil.getThemedDrawable(context, emojiCategory.icon))
}
override fun areItemsTheSame(newItem: EmojiCategoryMappingModel): Boolean {
return newItem.key == key
}
override fun areContentsTheSame(newItem: EmojiCategoryMappingModel): Boolean {
return areItemsTheSame(newItem) &&
selected == newItem.selected &&
newItem.emojiCategory == emojiCategory
}
}

View File

@@ -16,6 +16,7 @@ import org.thoughtcrime.securesms.components.emoji.EmojiEventListener
import org.thoughtcrime.securesms.components.emoji.EmojiPageView
import org.thoughtcrime.securesms.components.emoji.EmojiPageViewGridAdapter
import org.thoughtcrime.securesms.components.emoji.EmojiPageViewGridAdapter.EmojiHeader
import org.thoughtcrime.securesms.keyboard.KeyboardPageCategoryIconMappingModel
import org.thoughtcrime.securesms.keyboard.KeyboardPageSelected
import org.thoughtcrime.securesms.keyvalue.SignalStore
import org.thoughtcrime.securesms.util.ThemedFragment.themedInflate
@@ -107,7 +108,7 @@ class EmojiKeyboardPageFragment : Fragment(), EmojiEventListener, EmojiPageViewG
private fun updateCategoryTab(key: String) {
emojiCategoriesRecycler.post {
val index: Int = categoriesAdapter.indexOfFirst(EmojiKeyboardPageCategoryMappingModel::class.java) { it.key == key }
val index: Int = categoriesAdapter.indexOfFirst(KeyboardPageCategoryIconMappingModel::class.java) { it.key == key }
if (index != -1) {
emojiCategoriesRecycler.smoothScrollToPosition(index)

View File

@@ -11,7 +11,6 @@ import org.thoughtcrime.securesms.components.emoji.EmojiPageViewGridAdapter.Emoj
import org.thoughtcrime.securesms.components.emoji.RecentEmojiPageModel
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies
import org.thoughtcrime.securesms.emoji.EmojiCategory
import org.thoughtcrime.securesms.keyboard.emoji.EmojiKeyboardPageCategoryMappingModel.EmojiCategoryMappingModel
import org.thoughtcrime.securesms.util.DefaultValueLiveData
import org.thoughtcrime.securesms.util.TextSecurePreferences
import org.thoughtcrime.securesms.util.adapter.mapping.MappingModelList
@@ -49,7 +48,7 @@ class EmojiKeyboardPageViewModel(private val repository: EmojiKeyboardPageReposi
val list = MappingModelList()
list += models.map { m ->
if (RecentEmojiPageModel.KEY == m.key) {
EmojiKeyboardPageCategoryMappingModel.RecentsMappingModel(m.key == selectedKey)
RecentsMappingModel(m.key == selectedKey)
} else {
val category = EmojiCategory.forKey(m.key)
EmojiCategoryMappingModel(category, category.key == selectedKey)