diff --git a/app/src/main/java/org/thoughtcrime/securesms/avatar/AvatarColorItem.kt b/app/src/main/java/org/thoughtcrime/securesms/avatar/AvatarColorItem.kt index 2780ff912..ef27d0754 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/avatar/AvatarColorItem.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/avatar/AvatarColorItem.kt @@ -4,9 +4,10 @@ import android.view.View import android.widget.ImageView import com.airbnb.lottie.SimpleColorFilter import org.thoughtcrime.securesms.R -import org.thoughtcrime.securesms.util.MappingAdapter -import org.thoughtcrime.securesms.util.MappingModel -import org.thoughtcrime.securesms.util.MappingViewHolder +import org.thoughtcrime.securesms.util.adapter.mapping.LayoutFactory +import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter +import org.thoughtcrime.securesms.util.adapter.mapping.MappingModel +import org.thoughtcrime.securesms.util.adapter.mapping.MappingViewHolder typealias OnAvatarColorClickListener = (Avatars.ColorPair) -> Unit @@ -20,7 +21,7 @@ data class AvatarColorItem( companion object { fun registerViewHolder(adapter: MappingAdapter, onAvatarColorClickListener: OnAvatarColorClickListener) { - adapter.registerFactory(Model::class.java, MappingAdapter.LayoutFactory({ ViewHolder(it, onAvatarColorClickListener) }, R.layout.avatar_color_item)) + adapter.registerFactory(Model::class.java, LayoutFactory({ ViewHolder(it, onAvatarColorClickListener) }, R.layout.avatar_color_item)) } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/avatar/picker/AvatarPickerFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/avatar/picker/AvatarPickerFragment.kt index 7e0851790..b6ef89862 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/avatar/picker/AvatarPickerFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/avatar/picker/AvatarPickerFragment.kt @@ -28,8 +28,8 @@ import org.thoughtcrime.securesms.groups.ParcelableGroupId import org.thoughtcrime.securesms.mediasend.AvatarSelectionActivity import org.thoughtcrime.securesms.mediasend.Media import org.thoughtcrime.securesms.permissions.Permissions -import org.thoughtcrime.securesms.util.MappingAdapter import org.thoughtcrime.securesms.util.ViewUtil +import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter import org.thoughtcrime.securesms.util.navigation.safeNavigate import org.thoughtcrime.securesms.util.visible diff --git a/app/src/main/java/org/thoughtcrime/securesms/avatar/picker/AvatarPickerItem.kt b/app/src/main/java/org/thoughtcrime/securesms/avatar/picker/AvatarPickerItem.kt index 2ae074548..e30d349ec 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/avatar/picker/AvatarPickerItem.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/avatar/picker/AvatarPickerItem.kt @@ -14,9 +14,10 @@ import org.thoughtcrime.securesms.avatar.AvatarRenderer import org.thoughtcrime.securesms.avatar.Avatars import org.thoughtcrime.securesms.mms.DecryptableStreamUriLoader import org.thoughtcrime.securesms.mms.GlideApp -import org.thoughtcrime.securesms.util.MappingAdapter -import org.thoughtcrime.securesms.util.MappingModel -import org.thoughtcrime.securesms.util.MappingViewHolder +import org.thoughtcrime.securesms.util.adapter.mapping.LayoutFactory +import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter +import org.thoughtcrime.securesms.util.adapter.mapping.MappingModel +import org.thoughtcrime.securesms.util.adapter.mapping.MappingViewHolder import org.thoughtcrime.securesms.util.visible typealias OnAvatarClickListener = (Avatar, Boolean) -> Unit @@ -27,7 +28,7 @@ object AvatarPickerItem { private val SELECTION_CHANGED = Any() fun register(adapter: MappingAdapter, onAvatarClickListener: OnAvatarClickListener, onAvatarLongClickListener: OnAvatarLongClickListener) { - adapter.registerFactory(Model::class.java, MappingAdapter.LayoutFactory({ ViewHolder(it, onAvatarClickListener, onAvatarLongClickListener) }, R.layout.avatar_picker_item)) + adapter.registerFactory(Model::class.java, LayoutFactory({ ViewHolder(it, onAvatarClickListener, onAvatarLongClickListener) }, R.layout.avatar_picker_item)) } class Model(val avatar: Avatar, val isSelected: Boolean) : MappingModel { diff --git a/app/src/main/java/org/thoughtcrime/securesms/avatar/text/TextAvatarCreationFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/avatar/text/TextAvatarCreationFragment.kt index 026c3f160..7ea8f1095 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/avatar/text/TextAvatarCreationFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/avatar/text/TextAvatarCreationFragment.kt @@ -27,8 +27,8 @@ import org.thoughtcrime.securesms.components.BoldSelectionTabItem import org.thoughtcrime.securesms.components.ControllableTabLayout import org.thoughtcrime.securesms.components.KeyboardAwareLinearLayout import org.thoughtcrime.securesms.components.recyclerview.GridDividerDecoration -import org.thoughtcrime.securesms.util.MappingAdapter import org.thoughtcrime.securesms.util.ViewUtil +import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter /** * Fragment to create an avatar based off of a Vector or Text (via a pager) diff --git a/app/src/main/java/org/thoughtcrime/securesms/avatar/vector/VectorAvatarCreationFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/avatar/vector/VectorAvatarCreationFragment.kt index 802ecd7d5..99c87f93e 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/avatar/vector/VectorAvatarCreationFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/avatar/vector/VectorAvatarCreationFragment.kt @@ -15,8 +15,8 @@ import org.thoughtcrime.securesms.avatar.AvatarBundler import org.thoughtcrime.securesms.avatar.AvatarColorItem import org.thoughtcrime.securesms.avatar.Avatars import org.thoughtcrime.securesms.components.recyclerview.GridDividerDecoration -import org.thoughtcrime.securesms.util.MappingAdapter import org.thoughtcrime.securesms.util.ViewUtil +import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter /** * Fragment to create an avatar based off a default vector. diff --git a/app/src/main/java/org/thoughtcrime/securesms/badges/models/Badge.kt b/app/src/main/java/org/thoughtcrime/securesms/badges/models/Badge.kt index 5c8013df1..aa20dcbbe 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/badges/models/Badge.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/badges/models/Badge.kt @@ -14,9 +14,10 @@ import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.badges.glide.BadgeSpriteTransformation import org.thoughtcrime.securesms.components.settings.PreferenceModel import org.thoughtcrime.securesms.mms.GlideApp -import org.thoughtcrime.securesms.util.MappingAdapter -import org.thoughtcrime.securesms.util.MappingViewHolder import org.thoughtcrime.securesms.util.ThemeUtil +import org.thoughtcrime.securesms.util.adapter.mapping.LayoutFactory +import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter +import org.thoughtcrime.securesms.util.adapter.mapping.MappingViewHolder import java.security.MessageDigest typealias OnBadgeClicked = (Badge, Boolean, Boolean) -> Unit @@ -165,8 +166,8 @@ data class Badge( private val SELECTION_CHANGED = Any() fun register(mappingAdapter: MappingAdapter, onBadgeClicked: OnBadgeClicked) { - mappingAdapter.registerFactory(Model::class.java, MappingAdapter.LayoutFactory({ ViewHolder(it, onBadgeClicked) }, R.layout.badge_preference_view)) - mappingAdapter.registerFactory(EmptyModel::class.java, MappingAdapter.LayoutFactory({ EmptyViewHolder(it) }, R.layout.badge_preference_view)) + mappingAdapter.registerFactory(Model::class.java, LayoutFactory({ ViewHolder(it, onBadgeClicked) }, R.layout.badge_preference_view)) + mappingAdapter.registerFactory(EmptyModel::class.java, LayoutFactory({ EmptyViewHolder(it) }, R.layout.badge_preference_view)) } } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/badges/models/BadgePreview.kt b/app/src/main/java/org/thoughtcrime/securesms/badges/models/BadgePreview.kt index 7cbf340ae..dd0ae0331 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/badges/models/BadgePreview.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/badges/models/BadgePreview.kt @@ -6,14 +6,15 @@ import org.thoughtcrime.securesms.badges.BadgeImageView import org.thoughtcrime.securesms.components.AvatarImageView import org.thoughtcrime.securesms.components.settings.PreferenceModel import org.thoughtcrime.securesms.recipients.Recipient -import org.thoughtcrime.securesms.util.MappingAdapter -import org.thoughtcrime.securesms.util.MappingViewHolder +import org.thoughtcrime.securesms.util.adapter.mapping.LayoutFactory +import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter +import org.thoughtcrime.securesms.util.adapter.mapping.MappingViewHolder object BadgePreview { fun register(mappingAdapter: MappingAdapter) { - mappingAdapter.registerFactory(Model::class.java, MappingAdapter.LayoutFactory({ ViewHolder(it) }, R.layout.featured_badge_preview_preference)) - mappingAdapter.registerFactory(SubscriptionModel::class.java, MappingAdapter.LayoutFactory({ ViewHolder(it) }, R.layout.subscription_flow_badge_preview_preference)) + mappingAdapter.registerFactory(Model::class.java, LayoutFactory({ ViewHolder(it) }, R.layout.featured_badge_preview_preference)) + mappingAdapter.registerFactory(SubscriptionModel::class.java, LayoutFactory({ ViewHolder(it) }, R.layout.subscription_flow_badge_preview_preference)) } abstract class BadgeModel> : PreferenceModel() { diff --git a/app/src/main/java/org/thoughtcrime/securesms/badges/models/ExpiredBadge.kt b/app/src/main/java/org/thoughtcrime/securesms/badges/models/ExpiredBadge.kt index 947761800..4e58a0218 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/badges/models/ExpiredBadge.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/badges/models/ExpiredBadge.kt @@ -4,8 +4,9 @@ import android.view.View import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.badges.BadgeImageView import org.thoughtcrime.securesms.components.settings.PreferenceModel -import org.thoughtcrime.securesms.util.MappingAdapter -import org.thoughtcrime.securesms.util.MappingViewHolder +import org.thoughtcrime.securesms.util.adapter.mapping.LayoutFactory +import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter +import org.thoughtcrime.securesms.util.adapter.mapping.MappingViewHolder object ExpiredBadge { @@ -29,6 +30,6 @@ object ExpiredBadge { } fun register(adapter: MappingAdapter) { - adapter.registerFactory(Model::class.java, MappingAdapter.LayoutFactory({ ViewHolder(it) }, R.layout.expired_badge_preference)) + adapter.registerFactory(Model::class.java, LayoutFactory({ ViewHolder(it) }, R.layout.expired_badge_preference)) } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/badges/models/LargeBadge.kt b/app/src/main/java/org/thoughtcrime/securesms/badges/models/LargeBadge.kt index 47a62b2d2..17c9ead3d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/badges/models/LargeBadge.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/badges/models/LargeBadge.kt @@ -4,9 +4,10 @@ import android.view.View import android.widget.TextView import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.badges.BadgeImageView -import org.thoughtcrime.securesms.util.MappingAdapter -import org.thoughtcrime.securesms.util.MappingModel -import org.thoughtcrime.securesms.util.MappingViewHolder +import org.thoughtcrime.securesms.util.adapter.mapping.LayoutFactory +import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter +import org.thoughtcrime.securesms.util.adapter.mapping.MappingModel +import org.thoughtcrime.securesms.util.adapter.mapping.MappingViewHolder data class LargeBadge( val badge: Badge @@ -51,8 +52,8 @@ data class LargeBadge( companion object { fun register(mappingAdapter: MappingAdapter) { - mappingAdapter.registerFactory(Model::class.java, MappingAdapter.LayoutFactory({ ViewHolder(it) }, R.layout.view_badge_bottom_sheet_dialog_fragment_page)) - mappingAdapter.registerFactory(EmptyModel::class.java, MappingAdapter.LayoutFactory({ EmptyViewHolder(it) }, R.layout.view_badge_bottom_sheet_dialog_fragment_page)) + mappingAdapter.registerFactory(Model::class.java, LayoutFactory({ ViewHolder(it) }, R.layout.view_badge_bottom_sheet_dialog_fragment_page)) + mappingAdapter.registerFactory(EmptyModel::class.java, LayoutFactory({ EmptyViewHolder(it) }, R.layout.view_badge_bottom_sheet_dialog_fragment_page)) } } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/badges/view/ViewBadgeBottomSheetDialogFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/badges/view/ViewBadgeBottomSheetDialogFragment.kt index f97680d77..f63723aed 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/badges/view/ViewBadgeBottomSheetDialogFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/badges/view/ViewBadgeBottomSheetDialogFragment.kt @@ -24,9 +24,9 @@ import org.thoughtcrime.securesms.recipients.RecipientId import org.thoughtcrime.securesms.util.BottomSheetUtil import org.thoughtcrime.securesms.util.CommunicationActions import org.thoughtcrime.securesms.util.FeatureFlags -import org.thoughtcrime.securesms.util.MappingAdapter import org.thoughtcrime.securesms.util.PlayServicesUtil import org.thoughtcrime.securesms.util.ViewUtil +import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter import org.thoughtcrime.securesms.util.visible import kotlin.math.ceil import kotlin.math.max diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/emoji/EmojiPageView.java b/app/src/main/java/org/thoughtcrime/securesms/components/emoji/EmojiPageView.java index cd8fdab3e..e7632e79c 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/emoji/EmojiPageView.java +++ b/app/src/main/java/org/thoughtcrime/securesms/components/emoji/EmojiPageView.java @@ -21,7 +21,7 @@ import org.thoughtcrime.securesms.components.emoji.EmojiPageViewGridAdapter.Emoj import org.thoughtcrime.securesms.components.emoji.EmojiPageViewGridAdapter.VariationSelectorListener; import org.thoughtcrime.securesms.util.ContextUtil; import org.thoughtcrime.securesms.util.DrawableUtil; -import org.thoughtcrime.securesms.util.MappingModel; +import org.thoughtcrime.securesms.util.adapter.mapping.MappingModel; import org.thoughtcrime.securesms.util.ViewUtil; import java.util.List; diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/emoji/EmojiPageViewGridAdapter.java b/app/src/main/java/org/thoughtcrime/securesms/components/emoji/EmojiPageViewGridAdapter.java index 7ad18c760..551355fe5 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/emoji/EmojiPageViewGridAdapter.java +++ b/app/src/main/java/org/thoughtcrime/securesms/components/emoji/EmojiPageViewGridAdapter.java @@ -10,9 +10,10 @@ import androidx.annotation.LayoutRes; import androidx.annotation.NonNull; import org.thoughtcrime.securesms.R; -import org.thoughtcrime.securesms.util.MappingAdapter; -import org.thoughtcrime.securesms.util.MappingModel; -import org.thoughtcrime.securesms.util.MappingViewHolder; +import org.thoughtcrime.securesms.util.adapter.mapping.LayoutFactory; +import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter; +import org.thoughtcrime.securesms.util.adapter.mapping.MappingModel; +import org.thoughtcrime.securesms.util.adapter.mapping.MappingViewHolder; public class EmojiPageViewGridAdapter extends MappingAdapter implements PopupWindow.OnDismissListener { diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/menu/SignalContextMenu.kt b/app/src/main/java/org/thoughtcrime/securesms/components/menu/SignalContextMenu.kt index f3c6c6ce4..1af6c3723 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/menu/SignalContextMenu.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/menu/SignalContextMenu.kt @@ -13,10 +13,11 @@ import androidx.core.content.ContextCompat import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import org.thoughtcrime.securesms.R -import org.thoughtcrime.securesms.util.MappingAdapter -import org.thoughtcrime.securesms.util.MappingModel -import org.thoughtcrime.securesms.util.MappingViewHolder import org.thoughtcrime.securesms.util.ViewUtil +import org.thoughtcrime.securesms.util.adapter.mapping.Factory +import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter +import org.thoughtcrime.securesms.util.adapter.mapping.MappingModel +import org.thoughtcrime.securesms.util.adapter.mapping.MappingViewHolder /** * A custom context menu that will show next to an anchor view and display several options. Basically a PopupMenu with custom UI and positioning rules. @@ -174,7 +175,7 @@ class SignalContextMenu private constructor( } } - private inner class ItemViewHolderFactory : MappingAdapter.Factory { + private inner class ItemViewHolderFactory : Factory { override fun createViewHolder(parent: ViewGroup): MappingViewHolder { return ItemViewHolder(LayoutInflater.from(parent.context).inflate(R.layout.signal_context_menu_item, parent, false)) } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/BaseSettingsAdapter.java b/app/src/main/java/org/thoughtcrime/securesms/components/settings/BaseSettingsAdapter.java index ed4ce3e4e..5214471ca 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/BaseSettingsAdapter.java +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/BaseSettingsAdapter.java @@ -3,7 +3,8 @@ package org.thoughtcrime.securesms.components.settings; import androidx.annotation.NonNull; import org.thoughtcrime.securesms.R; -import org.thoughtcrime.securesms.util.MappingAdapter; +import org.thoughtcrime.securesms.util.adapter.mapping.LayoutFactory; +import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter; /** * Reusable adapter for generic settings list. diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/BaseSettingsFragment.java b/app/src/main/java/org/thoughtcrime/securesms/components/settings/BaseSettingsFragment.java index 02a7fd9f5..d5841c2a0 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/BaseSettingsFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/BaseSettingsFragment.java @@ -13,7 +13,7 @@ import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; import org.thoughtcrime.securesms.R; -import org.thoughtcrime.securesms.util.MappingModelList; +import org.thoughtcrime.securesms.util.adapter.mapping.MappingModelList; import java.io.Serializable; import java.util.Objects; diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/CustomizableSingleSelectSetting.java b/app/src/main/java/org/thoughtcrime/securesms/components/settings/CustomizableSingleSelectSetting.java index 74f1615be..33aec570a 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/CustomizableSingleSelectSetting.java +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/CustomizableSingleSelectSetting.java @@ -7,8 +7,8 @@ import androidx.annotation.Nullable; import androidx.constraintlayout.widget.Group; import org.thoughtcrime.securesms.R; -import org.thoughtcrime.securesms.util.MappingModel; -import org.thoughtcrime.securesms.util.MappingViewHolder; +import org.thoughtcrime.securesms.util.adapter.mapping.MappingModel; +import org.thoughtcrime.securesms.util.adapter.mapping.MappingViewHolder; import java.util.Objects; diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/DSLSettingsAdapter.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/DSLSettingsAdapter.kt index 2d387632c..af7d76e63 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/DSLSettingsAdapter.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/DSLSettingsAdapter.kt @@ -18,9 +18,10 @@ import org.thoughtcrime.securesms.components.settings.models.Button import org.thoughtcrime.securesms.components.settings.models.Space import org.thoughtcrime.securesms.components.settings.models.Text import org.thoughtcrime.securesms.util.CommunicationActions -import org.thoughtcrime.securesms.util.MappingAdapter -import org.thoughtcrime.securesms.util.MappingViewHolder import org.thoughtcrime.securesms.util.ViewUtil +import org.thoughtcrime.securesms.util.adapter.mapping.LayoutFactory +import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter +import org.thoughtcrime.securesms.util.adapter.mapping.MappingViewHolder import org.thoughtcrime.securesms.util.visible class DSLSettingsAdapter : MappingAdapter() { diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/SettingHeader.java b/app/src/main/java/org/thoughtcrime/securesms/components/settings/SettingHeader.java index c04a263b0..ec291109c 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/SettingHeader.java +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/SettingHeader.java @@ -7,8 +7,8 @@ import androidx.annotation.NonNull; import androidx.annotation.StringRes; import org.thoughtcrime.securesms.R; -import org.thoughtcrime.securesms.util.MappingModel; -import org.thoughtcrime.securesms.util.MappingViewHolder; +import org.thoughtcrime.securesms.util.adapter.mapping.MappingModel; +import org.thoughtcrime.securesms.util.adapter.mapping.MappingViewHolder; import java.util.Objects; diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/SettingProgress.java b/app/src/main/java/org/thoughtcrime/securesms/components/settings/SettingProgress.java index cf4346f20..ffe76540d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/SettingProgress.java +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/SettingProgress.java @@ -4,8 +4,8 @@ import android.view.View; import androidx.annotation.NonNull; -import org.thoughtcrime.securesms.util.MappingModel; -import org.thoughtcrime.securesms.util.MappingViewHolder; +import org.thoughtcrime.securesms.util.adapter.mapping.MappingModel; +import org.thoughtcrime.securesms.util.adapter.mapping.MappingViewHolder; /** * Simple progress indicator that can be used multiple times (if provided with different {@link Item#id}s). diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/SingleSelectSetting.java b/app/src/main/java/org/thoughtcrime/securesms/components/settings/SingleSelectSetting.java index b5ef2f2ba..9fdfc9dba 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/SingleSelectSetting.java +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/SingleSelectSetting.java @@ -10,8 +10,8 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import org.thoughtcrime.securesms.R; -import org.thoughtcrime.securesms.util.MappingModel; -import org.thoughtcrime.securesms.util.MappingViewHolder; +import org.thoughtcrime.securesms.util.adapter.mapping.MappingModel; +import org.thoughtcrime.securesms.util.adapter.mapping.MappingViewHolder; import java.util.Objects; diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/AppSettingsFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/AppSettingsFragment.kt index bc2cdd51b..e43f61ee0 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/AppSettingsFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/AppSettingsFragment.kt @@ -21,9 +21,9 @@ import org.thoughtcrime.securesms.keyvalue.SignalStore import org.thoughtcrime.securesms.phonenumbers.PhoneNumberFormatter import org.thoughtcrime.securesms.recipients.Recipient import org.thoughtcrime.securesms.util.FeatureFlags -import org.thoughtcrime.securesms.util.MappingAdapter -import org.thoughtcrime.securesms.util.MappingViewHolder import org.thoughtcrime.securesms.util.PlayServicesUtil +import org.thoughtcrime.securesms.util.adapter.mapping.LayoutFactory +import org.thoughtcrime.securesms.util.adapter.mapping.MappingViewHolder import org.thoughtcrime.securesms.util.navigation.safeNavigate class AppSettingsFragment : DSLSettingsFragment(R.string.text_secure_normal__menu_settings) { @@ -35,9 +35,9 @@ class AppSettingsFragment : DSLSettingsFragment(R.string.text_secure_normal__men ) override fun bindAdapter(adapter: DSLSettingsAdapter) { - adapter.registerFactory(BioPreference::class.java, MappingAdapter.LayoutFactory(::BioPreferenceViewHolder, R.layout.bio_preference_item)) - adapter.registerFactory(PaymentsPreference::class.java, MappingAdapter.LayoutFactory(::PaymentsPreferenceViewHolder, R.layout.dsl_payments_preference)) - adapter.registerFactory(SubscriptionPreference::class.java, MappingAdapter.LayoutFactory(::SubscriptionPreferenceViewHolder, R.layout.dsl_preference_item)) + adapter.registerFactory(BioPreference::class.java, LayoutFactory(::BioPreferenceViewHolder, R.layout.bio_preference_item)) + adapter.registerFactory(PaymentsPreference::class.java, LayoutFactory(::PaymentsPreferenceViewHolder, R.layout.dsl_payments_preference)) + adapter.registerFactory(SubscriptionPreference::class.java, LayoutFactory(::SubscriptionPreferenceViewHolder, R.layout.dsl_preference_item)) viewModel.state.observe(viewLifecycleOwner) { state -> adapter.submitList(getConfiguration(state).toMappingModelList()) diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/notifications/NotificationsSettingsFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/notifications/NotificationsSettingsFragment.kt index 67b656a0c..f23f26dbc 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/notifications/NotificationsSettingsFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/notifications/NotificationsSettingsFragment.kt @@ -29,9 +29,9 @@ import org.thoughtcrime.securesms.components.settings.RadioListPreferenceViewHol import org.thoughtcrime.securesms.components.settings.configure import org.thoughtcrime.securesms.keyvalue.SignalStore import org.thoughtcrime.securesms.notifications.NotificationChannels -import org.thoughtcrime.securesms.util.MappingAdapter import org.thoughtcrime.securesms.util.RingtoneUtil import org.thoughtcrime.securesms.util.ViewUtil +import org.thoughtcrime.securesms.util.adapter.mapping.LayoutFactory import org.thoughtcrime.securesms.util.navigation.safeNavigate private const val MESSAGE_SOUND_SELECT: Int = 1 @@ -69,7 +69,7 @@ class NotificationsSettingsFragment : DSLSettingsFragment(R.string.preferences__ override fun bindAdapter(adapter: DSLSettingsAdapter) { adapter.registerFactory( LedColorPreference::class.java, - MappingAdapter.LayoutFactory(::LedColorPreferenceViewHolder, R.layout.dsl_preference_item) + LayoutFactory(::LedColorPreferenceViewHolder, R.layout.dsl_preference_item) ) val sharedPreferences = PreferenceManager.getDefaultSharedPreferences(requireContext()) diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/notifications/manual/models/NotificationProfileSelection.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/notifications/manual/models/NotificationProfileSelection.kt index 32bf44e07..d9257f6e6 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/notifications/manual/models/NotificationProfileSelection.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/notifications/manual/models/NotificationProfileSelection.kt @@ -9,8 +9,9 @@ import org.thoughtcrime.securesms.components.emoji.EmojiImageView import org.thoughtcrime.securesms.components.settings.DSLSettingsText import org.thoughtcrime.securesms.components.settings.PreferenceModel import org.thoughtcrime.securesms.notifications.profiles.NotificationProfile -import org.thoughtcrime.securesms.util.MappingAdapter -import org.thoughtcrime.securesms.util.MappingViewHolder +import org.thoughtcrime.securesms.util.adapter.mapping.LayoutFactory +import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter +import org.thoughtcrime.securesms.util.adapter.mapping.MappingViewHolder import org.thoughtcrime.securesms.util.formatHours import org.thoughtcrime.securesms.util.visible import java.time.LocalDateTime @@ -25,8 +26,8 @@ object NotificationProfileSelection { private const val UPDATE_TIMESLOT = 1 fun register(adapter: MappingAdapter) { - adapter.registerFactory(New::class.java, MappingAdapter.LayoutFactory(::NewViewHolder, R.layout.new_notification_profile_pref)) - adapter.registerFactory(Entry::class.java, MappingAdapter.LayoutFactory(::EntryViewHolder, R.layout.notification_profile_entry_pref)) + adapter.registerFactory(New::class.java, LayoutFactory(::NewViewHolder, R.layout.new_notification_profile_pref)) + adapter.registerFactory(Entry::class.java, LayoutFactory(::EntryViewHolder, R.layout.notification_profile_entry_pref)) } class Entry( diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/notifications/profiles/models/NoNotificationProfiles.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/notifications/profiles/models/NoNotificationProfiles.kt index d06c1f03e..01ae5d3d8 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/notifications/profiles/models/NoNotificationProfiles.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/notifications/profiles/models/NoNotificationProfiles.kt @@ -6,8 +6,9 @@ import com.airbnb.lottie.SimpleColorFilter import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.components.settings.PreferenceModel import org.thoughtcrime.securesms.conversation.colors.AvatarColor -import org.thoughtcrime.securesms.util.MappingAdapter -import org.thoughtcrime.securesms.util.MappingViewHolder +import org.thoughtcrime.securesms.util.adapter.mapping.LayoutFactory +import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter +import org.thoughtcrime.securesms.util.adapter.mapping.MappingViewHolder /** * DSL custom preference for showing no profiles/empty state. @@ -15,7 +16,7 @@ import org.thoughtcrime.securesms.util.MappingViewHolder object NoNotificationProfiles { fun register(adapter: MappingAdapter) { - adapter.registerFactory(Model::class.java, MappingAdapter.LayoutFactory({ ViewHolder(it) }, R.layout.notification_profiles_empty)) + adapter.registerFactory(Model::class.java, LayoutFactory({ ViewHolder(it) }, R.layout.notification_profiles_empty)) } class Model(val onClick: () -> Unit) : PreferenceModel() { diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/notifications/profiles/models/NotificationProfileAddMembers.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/notifications/profiles/models/NotificationProfileAddMembers.kt index 1b3f832c8..9cda6f150 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/notifications/profiles/models/NotificationProfileAddMembers.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/notifications/profiles/models/NotificationProfileAddMembers.kt @@ -8,7 +8,8 @@ import org.thoughtcrime.securesms.components.settings.NO_TINT import org.thoughtcrime.securesms.components.settings.PreferenceModel import org.thoughtcrime.securesms.components.settings.PreferenceViewHolder import org.thoughtcrime.securesms.recipients.RecipientId -import org.thoughtcrime.securesms.util.MappingAdapter +import org.thoughtcrime.securesms.util.adapter.mapping.LayoutFactory +import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter /** * Custom DSL preference for adding members to a profile. @@ -16,7 +17,7 @@ import org.thoughtcrime.securesms.util.MappingAdapter object NotificationProfileAddMembers { fun register(adapter: MappingAdapter) { - adapter.registerFactory(Model::class.java, MappingAdapter.LayoutFactory(::ViewHolder, R.layout.large_icon_preference_item)) + adapter.registerFactory(Model::class.java, LayoutFactory(::ViewHolder, R.layout.large_icon_preference_item)) } class Model( diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/notifications/profiles/models/NotificationProfileNamePreset.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/notifications/profiles/models/NotificationProfileNamePreset.kt index b278abff1..18d60a753 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/notifications/profiles/models/NotificationProfileNamePreset.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/notifications/profiles/models/NotificationProfileNamePreset.kt @@ -6,16 +6,17 @@ import android.widget.TextView import androidx.annotation.StringRes import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.components.emoji.EmojiUtil -import org.thoughtcrime.securesms.util.MappingAdapter -import org.thoughtcrime.securesms.util.MappingModel -import org.thoughtcrime.securesms.util.MappingViewHolder +import org.thoughtcrime.securesms.util.adapter.mapping.LayoutFactory +import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter +import org.thoughtcrime.securesms.util.adapter.mapping.MappingModel +import org.thoughtcrime.securesms.util.adapter.mapping.MappingViewHolder /** * DSL custom preference for showing default emoji/name combos for create/edit profile. */ object NotificationProfileNamePreset { fun register(adapter: MappingAdapter) { - adapter.registerFactory(Model::class.java, MappingAdapter.LayoutFactory({ ViewHolder(it) }, R.layout.about_preset_item)) + adapter.registerFactory(Model::class.java, LayoutFactory({ ViewHolder(it) }, R.layout.about_preset_item)) } class Model(val emoji: String, @StringRes val bodyResource: Int, val onClick: (Model) -> Unit) : MappingModel { diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/notifications/profiles/models/NotificationProfilePreference.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/notifications/profiles/models/NotificationProfilePreference.kt index c7a44cf5d..d850358b8 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/notifications/profiles/models/NotificationProfilePreference.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/notifications/profiles/models/NotificationProfilePreference.kt @@ -9,7 +9,8 @@ import org.thoughtcrime.securesms.components.settings.DSLSettingsText import org.thoughtcrime.securesms.components.settings.PreferenceModel import org.thoughtcrime.securesms.components.settings.PreferenceViewHolder import org.thoughtcrime.securesms.conversation.colors.AvatarColor -import org.thoughtcrime.securesms.util.MappingAdapter +import org.thoughtcrime.securesms.util.adapter.mapping.LayoutFactory +import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter import org.thoughtcrime.securesms.util.visible /** @@ -18,7 +19,7 @@ import org.thoughtcrime.securesms.util.visible object NotificationProfilePreference { fun register(adapter: MappingAdapter) { - adapter.registerFactory(Model::class.java, MappingAdapter.LayoutFactory(::ViewHolder, R.layout.notification_profile_preference_item)) + adapter.registerFactory(Model::class.java, LayoutFactory(::ViewHolder, R.layout.notification_profile_preference_item)) } class Model( diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/notifications/profiles/models/NotificationProfileRecipient.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/notifications/profiles/models/NotificationProfileRecipient.kt index 3b3cbeed8..c002c6b78 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/notifications/profiles/models/NotificationProfileRecipient.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/notifications/profiles/models/NotificationProfileRecipient.kt @@ -5,8 +5,9 @@ import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.components.settings.PreferenceModel import org.thoughtcrime.securesms.components.settings.conversation.preferences.RecipientPreference import org.thoughtcrime.securesms.recipients.RecipientId -import org.thoughtcrime.securesms.util.MappingAdapter -import org.thoughtcrime.securesms.util.MappingViewHolder +import org.thoughtcrime.securesms.util.adapter.mapping.LayoutFactory +import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter +import org.thoughtcrime.securesms.util.adapter.mapping.MappingViewHolder /** * DSL custom preference for showing recipients in a profile. Delegates most work to [RecipientPreference]. @@ -14,7 +15,7 @@ import org.thoughtcrime.securesms.util.MappingViewHolder object NotificationProfileRecipient { fun register(adapter: MappingAdapter) { - adapter.registerFactory(Model::class.java, MappingAdapter.LayoutFactory({ ViewHolder(it) }, R.layout.notification_profile_recipient_list_item)) + adapter.registerFactory(Model::class.java, LayoutFactory({ ViewHolder(it) }, R.layout.notification_profile_recipient_list_item)) } class Model(val recipientModel: RecipientPreference.Model, val onRemoveClick: (RecipientId) -> Unit) : PreferenceModel() { diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/privacy/PrivacySettingsFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/privacy/PrivacySettingsFragment.kt index 743151d6d..54e3e0c02 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/privacy/PrivacySettingsFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/privacy/PrivacySettingsFragment.kt @@ -39,10 +39,10 @@ import org.thoughtcrime.securesms.util.CommunicationActions import org.thoughtcrime.securesms.util.ConversationUtil import org.thoughtcrime.securesms.util.ExpirationUtil import org.thoughtcrime.securesms.util.FeatureFlags -import org.thoughtcrime.securesms.util.MappingAdapter import org.thoughtcrime.securesms.util.ServiceUtil import org.thoughtcrime.securesms.util.SpanUtil import org.thoughtcrime.securesms.util.TextSecurePreferences +import org.thoughtcrime.securesms.util.adapter.mapping.LayoutFactory import org.thoughtcrime.securesms.util.navigation.safeNavigate import java.lang.Integer.max import java.util.Locale @@ -70,7 +70,7 @@ class PrivacySettingsFragment : DSLSettingsFragment(R.string.preferences__privac } override fun bindAdapter(adapter: DSLSettingsAdapter) { - adapter.registerFactory(ValueClickPreference::class.java, MappingAdapter.LayoutFactory(::ValueClickPreferenceViewHolder, R.layout.value_click_preference_item)) + adapter.registerFactory(ValueClickPreference::class.java, LayoutFactory(::ValueClickPreferenceViewHolder, R.layout.value_click_preference_item)) val sharedPreferences = PreferenceManager.getDefaultSharedPreferences(requireContext()) val repository = PrivacySettingsRepository() diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/boost/Boost.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/boost/Boost.kt index 09ac15d53..514e86403 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/boost/Boost.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/boost/Boost.kt @@ -19,10 +19,11 @@ import org.thoughtcrime.securesms.badges.BadgeImageView import org.thoughtcrime.securesms.badges.models.Badge import org.thoughtcrime.securesms.components.settings.PreferenceModel import org.thoughtcrime.securesms.payments.FiatMoneyUtil -import org.thoughtcrime.securesms.util.MappingAdapter -import org.thoughtcrime.securesms.util.MappingViewHolder import org.thoughtcrime.securesms.util.StringUtil import org.thoughtcrime.securesms.util.ViewUtil +import org.thoughtcrime.securesms.util.adapter.mapping.LayoutFactory +import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter +import org.thoughtcrime.securesms.util.adapter.mapping.MappingViewHolder import java.lang.Integer.min import java.text.DecimalFormatSymbols import java.text.NumberFormat @@ -310,9 +311,9 @@ data class Boost( companion object { fun register(adapter: MappingAdapter) { - adapter.registerFactory(SelectionModel::class.java, MappingAdapter.LayoutFactory({ SelectionViewHolder(it) }, R.layout.boost_preference)) - adapter.registerFactory(HeadingModel::class.java, MappingAdapter.LayoutFactory({ HeadingViewHolder(it) }, R.layout.boost_preview_preference)) - adapter.registerFactory(LoadingModel::class.java, MappingAdapter.LayoutFactory({ LoadingViewHolder(it) }, R.layout.boost_loading_preference)) + adapter.registerFactory(SelectionModel::class.java, LayoutFactory({ SelectionViewHolder(it) }, R.layout.boost_preference)) + adapter.registerFactory(HeadingModel::class.java, LayoutFactory({ HeadingViewHolder(it) }, R.layout.boost_preview_preference)) + adapter.registerFactory(LoadingModel::class.java, LayoutFactory({ LoadingViewHolder(it) }, R.layout.boost_loading_preference)) } } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/boost/BoostAnimation.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/boost/BoostAnimation.kt index 169ac352c..78476855e 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/boost/BoostAnimation.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/boost/BoostAnimation.kt @@ -7,8 +7,9 @@ import com.airbnb.lottie.LottieDrawable import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.animation.AnimationCompleteListener import org.thoughtcrime.securesms.components.settings.PreferenceModel -import org.thoughtcrime.securesms.util.MappingAdapter -import org.thoughtcrime.securesms.util.MappingViewHolder +import org.thoughtcrime.securesms.util.adapter.mapping.LayoutFactory +import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter +import org.thoughtcrime.securesms.util.adapter.mapping.MappingViewHolder /** * A simple mapping model to show a boost animation. @@ -39,6 +40,6 @@ object BoostAnimation { } fun register(adapter: MappingAdapter) { - adapter.registerFactory(Model::class.java, MappingAdapter.LayoutFactory({ ViewHolder(it) }, R.layout.boost_animation_pref)) + adapter.registerFactory(Model::class.java, LayoutFactory({ ViewHolder(it) }, R.layout.boost_animation_pref)) } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/manage/ActiveSubscriptionPreference.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/manage/ActiveSubscriptionPreference.kt index a048ec2db..1d82185f6 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/manage/ActiveSubscriptionPreference.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/manage/ActiveSubscriptionPreference.kt @@ -14,9 +14,10 @@ import org.thoughtcrime.securesms.keyvalue.SignalStore import org.thoughtcrime.securesms.payments.FiatMoneyUtil import org.thoughtcrime.securesms.subscription.Subscription import org.thoughtcrime.securesms.util.DateUtils -import org.thoughtcrime.securesms.util.MappingAdapter -import org.thoughtcrime.securesms.util.MappingViewHolder import org.thoughtcrime.securesms.util.SpanUtil +import org.thoughtcrime.securesms.util.adapter.mapping.LayoutFactory +import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter +import org.thoughtcrime.securesms.util.adapter.mapping.MappingViewHolder import org.thoughtcrime.securesms.util.visible import org.whispersystems.signalservice.api.subscriptions.ActiveSubscription import java.util.Locale @@ -142,6 +143,6 @@ object ActiveSubscriptionPreference { } fun register(adapter: MappingAdapter) { - adapter.registerFactory(Model::class.java, MappingAdapter.LayoutFactory({ ViewHolder(it) }, R.layout.my_support_preference)) + adapter.registerFactory(Model::class.java, LayoutFactory({ ViewHolder(it) }, R.layout.my_support_preference)) } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/models/CurrencySelection.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/models/CurrencySelection.kt index 306ccd09e..ef34396b9 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/models/CurrencySelection.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/models/CurrencySelection.kt @@ -4,14 +4,15 @@ import android.view.View import android.widget.TextView import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.components.settings.PreferenceModel -import org.thoughtcrime.securesms.util.MappingAdapter -import org.thoughtcrime.securesms.util.MappingViewHolder +import org.thoughtcrime.securesms.util.adapter.mapping.LayoutFactory +import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter +import org.thoughtcrime.securesms.util.adapter.mapping.MappingViewHolder import java.util.Currency object CurrencySelection { fun register(adapter: MappingAdapter) { - adapter.registerFactory(Model::class.java, MappingAdapter.LayoutFactory({ ViewHolder(it) }, R.layout.subscription_currency_selection)) + adapter.registerFactory(Model::class.java, LayoutFactory({ ViewHolder(it) }, R.layout.subscription_currency_selection)) } class Model( diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/models/GooglePayButton.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/models/GooglePayButton.kt index a51ea3408..54dd0648f 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/models/GooglePayButton.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/models/GooglePayButton.kt @@ -3,8 +3,9 @@ package org.thoughtcrime.securesms.components.settings.app.subscription.models import android.view.View import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.components.settings.PreferenceModel -import org.thoughtcrime.securesms.util.MappingAdapter -import org.thoughtcrime.securesms.util.MappingViewHolder +import org.thoughtcrime.securesms.util.adapter.mapping.LayoutFactory +import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter +import org.thoughtcrime.securesms.util.adapter.mapping.MappingViewHolder object GooglePayButton { @@ -26,6 +27,6 @@ object GooglePayButton { } fun register(adapter: MappingAdapter) { - adapter.registerFactory(Model::class.java, MappingAdapter.LayoutFactory({ ViewHolder(it) }, R.layout.google_pay_button_pref)) + adapter.registerFactory(Model::class.java, LayoutFactory({ ViewHolder(it) }, R.layout.google_pay_button_pref)) } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/models/NetworkFailure.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/models/NetworkFailure.kt index 6f5fff089..092b098c8 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/models/NetworkFailure.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/models/NetworkFailure.kt @@ -4,8 +4,9 @@ import android.view.View import com.google.android.material.button.MaterialButton import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.components.settings.PreferenceModel -import org.thoughtcrime.securesms.util.MappingAdapter -import org.thoughtcrime.securesms.util.MappingViewHolder +import org.thoughtcrime.securesms.util.adapter.mapping.LayoutFactory +import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter +import org.thoughtcrime.securesms.util.adapter.mapping.MappingViewHolder /** * NetworkFailure will display a "card" to the user informing them that there @@ -29,6 +30,6 @@ object NetworkFailure { } fun register(mappingAdapter: MappingAdapter) { - mappingAdapter.registerFactory(Model::class.java, MappingAdapter.LayoutFactory({ ViewHolder(it) }, R.layout.network_failure_pref)) + mappingAdapter.registerFactory(Model::class.java, LayoutFactory({ ViewHolder(it) }, R.layout.network_failure_pref)) } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/preferences/AvatarPreference.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/preferences/AvatarPreference.kt index aad9a87d0..6eff46c02 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/preferences/AvatarPreference.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/preferences/AvatarPreference.kt @@ -10,9 +10,10 @@ import org.thoughtcrime.securesms.components.settings.PreferenceModel import org.thoughtcrime.securesms.contacts.avatars.FallbackContactPhoto import org.thoughtcrime.securesms.contacts.avatars.FallbackPhoto import org.thoughtcrime.securesms.recipients.Recipient -import org.thoughtcrime.securesms.util.MappingAdapter -import org.thoughtcrime.securesms.util.MappingViewHolder import org.thoughtcrime.securesms.util.ViewUtil +import org.thoughtcrime.securesms.util.adapter.mapping.LayoutFactory +import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter +import org.thoughtcrime.securesms.util.adapter.mapping.MappingViewHolder /** * Renders a large avatar (80dp) for a given Recipient. @@ -20,7 +21,7 @@ import org.thoughtcrime.securesms.util.ViewUtil object AvatarPreference { fun register(adapter: MappingAdapter) { - adapter.registerFactory(Model::class.java, MappingAdapter.LayoutFactory(::ViewHolder, R.layout.conversation_settings_avatar_preference_item)) + adapter.registerFactory(Model::class.java, LayoutFactory(::ViewHolder, R.layout.conversation_settings_avatar_preference_item)) } class Model( diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/preferences/BioTextPreference.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/preferences/BioTextPreference.kt index 000fb1340..3242b99fc 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/preferences/BioTextPreference.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/preferences/BioTextPreference.kt @@ -9,9 +9,10 @@ import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.components.settings.PreferenceModel import org.thoughtcrime.securesms.phonenumbers.PhoneNumberFormatter import org.thoughtcrime.securesms.recipients.Recipient -import org.thoughtcrime.securesms.util.MappingAdapter -import org.thoughtcrime.securesms.util.MappingViewHolder import org.thoughtcrime.securesms.util.ServiceUtil +import org.thoughtcrime.securesms.util.adapter.mapping.LayoutFactory +import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter +import org.thoughtcrime.securesms.util.adapter.mapping.MappingViewHolder /** * Renders name, description, about, etc. for a given group or recipient. @@ -19,8 +20,8 @@ import org.thoughtcrime.securesms.util.ServiceUtil object BioTextPreference { fun register(adapter: MappingAdapter) { - adapter.registerFactory(RecipientModel::class.java, MappingAdapter.LayoutFactory(::RecipientViewHolder, R.layout.conversation_settings_bio_preference_item)) - adapter.registerFactory(GroupModel::class.java, MappingAdapter.LayoutFactory(::GroupViewHolder, R.layout.conversation_settings_bio_preference_item)) + adapter.registerFactory(RecipientModel::class.java, LayoutFactory(::RecipientViewHolder, R.layout.conversation_settings_bio_preference_item)) + adapter.registerFactory(GroupModel::class.java, LayoutFactory(::GroupViewHolder, R.layout.conversation_settings_bio_preference_item)) } abstract class BioTextPreferenceModel> : PreferenceModel() { diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/preferences/ButtonStripPreference.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/preferences/ButtonStripPreference.kt index 977bbc939..e94faddc6 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/preferences/ButtonStripPreference.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/preferences/ButtonStripPreference.kt @@ -7,8 +7,9 @@ import androidx.appcompat.content.res.AppCompatResources import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.components.settings.DSLSettingsIcon import org.thoughtcrime.securesms.components.settings.PreferenceModel -import org.thoughtcrime.securesms.util.MappingAdapter -import org.thoughtcrime.securesms.util.MappingViewHolder +import org.thoughtcrime.securesms.util.adapter.mapping.LayoutFactory +import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter +import org.thoughtcrime.securesms.util.adapter.mapping.MappingViewHolder import org.thoughtcrime.securesms.util.visible /** @@ -17,7 +18,7 @@ import org.thoughtcrime.securesms.util.visible object ButtonStripPreference { fun register(adapter: MappingAdapter) { - adapter.registerFactory(Model::class.java, MappingAdapter.LayoutFactory(::ViewHolder, R.layout.conversation_settings_button_strip)) + adapter.registerFactory(Model::class.java, LayoutFactory(::ViewHolder, R.layout.conversation_settings_button_strip)) } class Model( diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/preferences/GroupDescriptionPreference.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/preferences/GroupDescriptionPreference.kt index f34f9068f..8989e7b19 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/preferences/GroupDescriptionPreference.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/preferences/GroupDescriptionPreference.kt @@ -7,13 +7,14 @@ import org.thoughtcrime.securesms.components.settings.PreferenceModel import org.thoughtcrime.securesms.groups.GroupId import org.thoughtcrime.securesms.groups.v2.GroupDescriptionUtil import org.thoughtcrime.securesms.util.LongClickMovementMethod -import org.thoughtcrime.securesms.util.MappingAdapter -import org.thoughtcrime.securesms.util.MappingViewHolder +import org.thoughtcrime.securesms.util.adapter.mapping.LayoutFactory +import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter +import org.thoughtcrime.securesms.util.adapter.mapping.MappingViewHolder object GroupDescriptionPreference { fun register(adapter: MappingAdapter) { - adapter.registerFactory(Model::class.java, MappingAdapter.LayoutFactory(::ViewHolder, R.layout.conversation_settings_group_description_preference)) + adapter.registerFactory(Model::class.java, LayoutFactory(::ViewHolder, R.layout.conversation_settings_group_description_preference)) } class Model( diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/preferences/InternalPreference.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/preferences/InternalPreference.kt index 3da20b8f9..5ede85911 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/preferences/InternalPreference.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/preferences/InternalPreference.kt @@ -4,13 +4,14 @@ import android.view.View import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.components.settings.PreferenceModel import org.thoughtcrime.securesms.recipients.Recipient -import org.thoughtcrime.securesms.util.MappingAdapter -import org.thoughtcrime.securesms.util.MappingViewHolder +import org.thoughtcrime.securesms.util.adapter.mapping.LayoutFactory +import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter +import org.thoughtcrime.securesms.util.adapter.mapping.MappingViewHolder object InternalPreference { fun register(adapter: MappingAdapter) { - adapter.registerFactory(Model::class.java, MappingAdapter.LayoutFactory(::ViewHolder, R.layout.conversation_settings_internal_preference)) + adapter.registerFactory(Model::class.java, LayoutFactory(::ViewHolder, R.layout.conversation_settings_internal_preference)) } class Model( diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/preferences/LargeIconClickPreference.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/preferences/LargeIconClickPreference.kt index 4befc03c1..eb44a3346 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/preferences/LargeIconClickPreference.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/preferences/LargeIconClickPreference.kt @@ -6,7 +6,8 @@ import org.thoughtcrime.securesms.components.settings.DSLSettingsIcon import org.thoughtcrime.securesms.components.settings.DSLSettingsText import org.thoughtcrime.securesms.components.settings.PreferenceModel import org.thoughtcrime.securesms.components.settings.PreferenceViewHolder -import org.thoughtcrime.securesms.util.MappingAdapter +import org.thoughtcrime.securesms.util.adapter.mapping.LayoutFactory +import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter /** * Renders a preference line item with a larger (40dp) icon @@ -14,7 +15,7 @@ import org.thoughtcrime.securesms.util.MappingAdapter object LargeIconClickPreference { fun register(adapter: MappingAdapter) { - adapter.registerFactory(Model::class.java, MappingAdapter.LayoutFactory(::ViewHolder, R.layout.large_icon_preference_item)) + adapter.registerFactory(Model::class.java, LayoutFactory(::ViewHolder, R.layout.large_icon_preference_item)) } class Model( diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/preferences/LegacyGroupPreference.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/preferences/LegacyGroupPreference.kt index 10eeb72bc..8bf4ff074 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/preferences/LegacyGroupPreference.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/preferences/LegacyGroupPreference.kt @@ -5,14 +5,15 @@ import androidx.core.content.ContextCompat import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.components.settings.PreferenceModel import org.thoughtcrime.securesms.util.FeatureFlags -import org.thoughtcrime.securesms.util.MappingAdapter -import org.thoughtcrime.securesms.util.MappingViewHolder +import org.thoughtcrime.securesms.util.adapter.mapping.LayoutFactory +import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter +import org.thoughtcrime.securesms.util.adapter.mapping.MappingViewHolder import org.thoughtcrime.securesms.util.views.LearnMoreTextView object LegacyGroupPreference { fun register(adapter: MappingAdapter) { - adapter.registerFactory(Model::class.java, MappingAdapter.LayoutFactory(::ViewHolder, R.layout.conversation_settings_legacy_group_preference)) + adapter.registerFactory(Model::class.java, LayoutFactory(::ViewHolder, R.layout.conversation_settings_legacy_group_preference)) } class Model( diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/preferences/RecipientPreference.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/preferences/RecipientPreference.kt index b49d418b6..0bfe4c952 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/preferences/RecipientPreference.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/preferences/RecipientPreference.kt @@ -7,8 +7,9 @@ import org.thoughtcrime.securesms.badges.BadgeImageView import org.thoughtcrime.securesms.components.AvatarImageView import org.thoughtcrime.securesms.components.settings.PreferenceModel import org.thoughtcrime.securesms.recipients.Recipient -import org.thoughtcrime.securesms.util.MappingAdapter -import org.thoughtcrime.securesms.util.MappingViewHolder +import org.thoughtcrime.securesms.util.adapter.mapping.LayoutFactory +import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter +import org.thoughtcrime.securesms.util.adapter.mapping.MappingViewHolder import org.thoughtcrime.securesms.util.visible /** @@ -17,7 +18,7 @@ import org.thoughtcrime.securesms.util.visible object RecipientPreference { fun register(adapter: MappingAdapter) { - adapter.registerFactory(Model::class.java, MappingAdapter.LayoutFactory(::ViewHolder, R.layout.group_recipient_list_item)) + adapter.registerFactory(Model::class.java, LayoutFactory(::ViewHolder, R.layout.group_recipient_list_item)) } class Model( diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/preferences/SharedMediaPreference.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/preferences/SharedMediaPreference.kt index bf9386910..8e7a7d9f4 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/preferences/SharedMediaPreference.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/preferences/SharedMediaPreference.kt @@ -7,9 +7,10 @@ import org.thoughtcrime.securesms.components.ThreadPhotoRailView import org.thoughtcrime.securesms.components.settings.PreferenceModel import org.thoughtcrime.securesms.database.MediaDatabase import org.thoughtcrime.securesms.mms.GlideApp -import org.thoughtcrime.securesms.util.MappingAdapter -import org.thoughtcrime.securesms.util.MappingViewHolder import org.thoughtcrime.securesms.util.ViewUtil +import org.thoughtcrime.securesms.util.adapter.mapping.LayoutFactory +import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter +import org.thoughtcrime.securesms.util.adapter.mapping.MappingViewHolder /** * Renders the shared media photo rail. @@ -17,7 +18,7 @@ import org.thoughtcrime.securesms.util.ViewUtil object SharedMediaPreference { fun register(adapter: MappingAdapter) { - adapter.registerFactory(Model::class.java, MappingAdapter.LayoutFactory(::ViewHolder, R.layout.conversation_settings_shared_media)) + adapter.registerFactory(Model::class.java, LayoutFactory(::ViewHolder, R.layout.conversation_settings_shared_media)) } class Model( diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/dsl.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/dsl.kt index 3324f87b8..3cc0d75cc 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/dsl.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/dsl.kt @@ -7,8 +7,8 @@ import org.thoughtcrime.securesms.components.settings.models.AsyncSwitch import org.thoughtcrime.securesms.components.settings.models.Button import org.thoughtcrime.securesms.components.settings.models.Space import org.thoughtcrime.securesms.components.settings.models.Text -import org.thoughtcrime.securesms.util.MappingModel -import org.thoughtcrime.securesms.util.MappingModelList +import org.thoughtcrime.securesms.util.adapter.mapping.MappingModel +import org.thoughtcrime.securesms.util.adapter.mapping.MappingModelList fun configure(init: DSLConfiguration.() -> Unit): DSLConfiguration { val configuration = DSLConfiguration() diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/models/AsyncSwitch.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/models/AsyncSwitch.kt index d5513aff4..55b690fab 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/models/AsyncSwitch.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/models/AsyncSwitch.kt @@ -7,7 +7,8 @@ import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.components.settings.DSLSettingsText import org.thoughtcrime.securesms.components.settings.PreferenceModel import org.thoughtcrime.securesms.components.settings.PreferenceViewHolder -import org.thoughtcrime.securesms.util.MappingAdapter +import org.thoughtcrime.securesms.util.adapter.mapping.LayoutFactory +import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter /** * Switch that will perform a long-running async operation (normally network) that requires a @@ -16,7 +17,7 @@ import org.thoughtcrime.securesms.util.MappingAdapter object AsyncSwitch { fun register(adapter: MappingAdapter) { - adapter.registerFactory(Model::class.java, MappingAdapter.LayoutFactory(AsyncSwitch::ViewHolder, R.layout.dsl_async_switch_preference_item)) + adapter.registerFactory(Model::class.java, LayoutFactory(AsyncSwitch::ViewHolder, R.layout.dsl_async_switch_preference_item)) } class Model( diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/models/Button.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/models/Button.kt index 4bfb122ae..a41159851 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/models/Button.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/models/Button.kt @@ -6,14 +6,15 @@ import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.components.settings.DSLSettingsIcon import org.thoughtcrime.securesms.components.settings.DSLSettingsText import org.thoughtcrime.securesms.components.settings.PreferenceModel -import org.thoughtcrime.securesms.util.MappingAdapter -import org.thoughtcrime.securesms.util.MappingViewHolder +import org.thoughtcrime.securesms.util.adapter.mapping.LayoutFactory +import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter +import org.thoughtcrime.securesms.util.adapter.mapping.MappingViewHolder object Button { fun register(mappingAdapter: MappingAdapter) { - mappingAdapter.registerFactory(Model.Primary::class.java, MappingAdapter.LayoutFactory({ ViewHolder(it) as MappingViewHolder }, R.layout.dsl_button_primary)) - mappingAdapter.registerFactory(Model.SecondaryNoOutline::class.java, MappingAdapter.LayoutFactory({ ViewHolder(it) as MappingViewHolder }, R.layout.dsl_button_secondary)) + mappingAdapter.registerFactory(Model.Primary::class.java, LayoutFactory({ ViewHolder(it) as MappingViewHolder }, R.layout.dsl_button_primary)) + mappingAdapter.registerFactory(Model.SecondaryNoOutline::class.java, LayoutFactory({ ViewHolder(it) as MappingViewHolder }, R.layout.dsl_button_secondary)) } sealed class Model>( diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/models/IndeterminateLoadingCircle.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/models/IndeterminateLoadingCircle.kt index 25968d70f..74fd267c9 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/models/IndeterminateLoadingCircle.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/models/IndeterminateLoadingCircle.kt @@ -3,8 +3,9 @@ package org.thoughtcrime.securesms.components.settings.models import android.view.View import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.components.settings.PreferenceModel -import org.thoughtcrime.securesms.util.MappingAdapter -import org.thoughtcrime.securesms.util.MappingViewHolder +import org.thoughtcrime.securesms.util.adapter.mapping.LayoutFactory +import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter +import org.thoughtcrime.securesms.util.adapter.mapping.MappingViewHolder object IndeterminateLoadingCircle : PreferenceModel() { override fun areItemsTheSame(newItem: IndeterminateLoadingCircle): Boolean = true @@ -14,6 +15,6 @@ object IndeterminateLoadingCircle : PreferenceModel( } fun register(mappingAdapter: MappingAdapter) { - mappingAdapter.registerFactory(IndeterminateLoadingCircle::class.java, MappingAdapter.LayoutFactory({ ViewHolder(it) }, R.layout.indeterminate_loading_circle_pref)) + mappingAdapter.registerFactory(IndeterminateLoadingCircle::class.java, LayoutFactory({ ViewHolder(it) }, R.layout.indeterminate_loading_circle_pref)) } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/models/Progress.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/models/Progress.kt index 1268672e0..86ea48a45 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/models/Progress.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/models/Progress.kt @@ -5,14 +5,15 @@ import android.widget.TextView import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.components.settings.DSLSettingsText import org.thoughtcrime.securesms.components.settings.PreferenceModel -import org.thoughtcrime.securesms.util.MappingAdapter -import org.thoughtcrime.securesms.util.MappingViewHolder +import org.thoughtcrime.securesms.util.adapter.mapping.LayoutFactory +import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter +import org.thoughtcrime.securesms.util.adapter.mapping.MappingViewHolder import org.thoughtcrime.securesms.util.visible object Progress { fun register(mappingAdapter: MappingAdapter) { - mappingAdapter.registerFactory(Model::class.java, MappingAdapter.LayoutFactory(::ViewHolder, R.layout.dsl_progress_pref)) + mappingAdapter.registerFactory(Model::class.java, LayoutFactory(::ViewHolder, R.layout.dsl_progress_pref)) } data class Model( diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/models/Space.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/models/Space.kt index e08374f6e..0424face1 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/models/Space.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/models/Space.kt @@ -5,8 +5,9 @@ import androidx.annotation.Px import androidx.core.view.updateLayoutParams import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.components.settings.PreferenceModel -import org.thoughtcrime.securesms.util.MappingAdapter -import org.thoughtcrime.securesms.util.MappingViewHolder +import org.thoughtcrime.securesms.util.adapter.mapping.LayoutFactory +import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter +import org.thoughtcrime.securesms.util.adapter.mapping.MappingViewHolder /** * Adds extra space between elements in a DSL fragment @@ -17,7 +18,7 @@ data class Space( companion object { fun register(mappingAdapter: MappingAdapter) { - mappingAdapter.registerFactory(Model::class.java, MappingAdapter.LayoutFactory({ ViewHolder(it) }, R.layout.dsl_space_preference)) + mappingAdapter.registerFactory(Model::class.java, LayoutFactory({ ViewHolder(it) }, R.layout.dsl_space_preference)) } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/models/Text.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/models/Text.kt index 9d7fa721e..37e4cc931 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/models/Text.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/models/Text.kt @@ -8,8 +8,9 @@ import android.widget.TextView import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.components.settings.DSLSettingsText import org.thoughtcrime.securesms.components.settings.PreferenceModel -import org.thoughtcrime.securesms.util.MappingAdapter -import org.thoughtcrime.securesms.util.MappingViewHolder +import org.thoughtcrime.securesms.util.adapter.mapping.LayoutFactory +import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter +import org.thoughtcrime.securesms.util.adapter.mapping.MappingViewHolder /** * A Text without any padding, allowing for exact padding to be handed in at runtime. @@ -20,7 +21,7 @@ data class Text( companion object { fun register(adapter: MappingAdapter) { - adapter.registerFactory(Model::class.java, MappingAdapter.LayoutFactory({ ViewHolder(it) }, R.layout.dsl_text_preference)) + adapter.registerFactory(Model::class.java, LayoutFactory({ ViewHolder(it) }, R.layout.dsl_text_preference)) } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/participantslist/CallParticipantsListAdapter.java b/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/participantslist/CallParticipantsListAdapter.java index 33002292b..16d304618 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/participantslist/CallParticipantsListAdapter.java +++ b/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/participantslist/CallParticipantsListAdapter.java @@ -1,7 +1,8 @@ package org.thoughtcrime.securesms.components.webrtc.participantslist; import org.thoughtcrime.securesms.R; -import org.thoughtcrime.securesms.util.MappingAdapter; +import org.thoughtcrime.securesms.util.adapter.mapping.LayoutFactory; +import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter; public class CallParticipantsListAdapter extends MappingAdapter { diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/participantslist/CallParticipantsListDialog.java b/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/participantslist/CallParticipantsListDialog.java index 05a19ef49..9d2e9c3e3 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/participantslist/CallParticipantsListDialog.java +++ b/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/participantslist/CallParticipantsListDialog.java @@ -24,7 +24,7 @@ import org.thoughtcrime.securesms.components.webrtc.WebRtcCallViewModel; import org.thoughtcrime.securesms.events.CallParticipant; import org.thoughtcrime.securesms.events.WebRtcViewModel; import org.thoughtcrime.securesms.util.BottomSheetUtil; -import org.thoughtcrime.securesms.util.MappingModel; +import org.thoughtcrime.securesms.util.adapter.mapping.MappingModel; import java.util.ArrayList; import java.util.List; diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/participantslist/CallParticipantsListHeader.java b/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/participantslist/CallParticipantsListHeader.java index 5e46b4469..d8327dd6b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/participantslist/CallParticipantsListHeader.java +++ b/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/participantslist/CallParticipantsListHeader.java @@ -5,7 +5,7 @@ import android.content.Context; import androidx.annotation.NonNull; import org.thoughtcrime.securesms.R; -import org.thoughtcrime.securesms.util.MappingModel; +import org.thoughtcrime.securesms.util.adapter.mapping.MappingModel; public class CallParticipantsListHeader implements MappingModel { diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/participantslist/CallParticipantsListHeaderViewHolder.java b/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/participantslist/CallParticipantsListHeaderViewHolder.java index 3d5ec7c04..e854af280 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/participantslist/CallParticipantsListHeaderViewHolder.java +++ b/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/participantslist/CallParticipantsListHeaderViewHolder.java @@ -6,7 +6,7 @@ import android.widget.TextView; import androidx.annotation.NonNull; import org.thoughtcrime.securesms.R; -import org.thoughtcrime.securesms.util.MappingViewHolder; +import org.thoughtcrime.securesms.util.adapter.mapping.MappingViewHolder; public class CallParticipantsListHeaderViewHolder extends MappingViewHolder { diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/colors/ui/ChatColorMappingModel.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/colors/ui/ChatColorMappingModel.kt index 92cba9fda..167078f5f 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/colors/ui/ChatColorMappingModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/colors/ui/ChatColorMappingModel.kt @@ -1,7 +1,7 @@ package org.thoughtcrime.securesms.conversation.colors.ui import org.thoughtcrime.securesms.conversation.colors.ChatColors -import org.thoughtcrime.securesms.util.MappingModel +import org.thoughtcrime.securesms.util.adapter.mapping.MappingModel class ChatColorMappingModel( val chatColors: ChatColors, diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/colors/ui/ChatColorSelectionAdapter.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/colors/ui/ChatColorSelectionAdapter.kt index ac61adaeb..57a67219a 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/colors/ui/ChatColorSelectionAdapter.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/colors/ui/ChatColorSelectionAdapter.kt @@ -10,9 +10,10 @@ import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.components.TooltipPopup import org.thoughtcrime.securesms.conversation.colors.ChatColors import org.thoughtcrime.securesms.keyvalue.SignalStore -import org.thoughtcrime.securesms.util.MappingAdapter -import org.thoughtcrime.securesms.util.MappingViewHolder import org.thoughtcrime.securesms.util.ViewUtil +import org.thoughtcrime.securesms.util.adapter.mapping.LayoutFactory +import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter +import org.thoughtcrime.securesms.util.adapter.mapping.MappingViewHolder import org.thoughtcrime.securesms.util.withFixedSize class ChatColorSelectionAdapter( diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/colors/ui/ChatColorSelectionState.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/colors/ui/ChatColorSelectionState.kt index c4d94eebd..7e7018015 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/colors/ui/ChatColorSelectionState.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/colors/ui/ChatColorSelectionState.kt @@ -2,7 +2,7 @@ package org.thoughtcrime.securesms.conversation.colors.ui import org.thoughtcrime.securesms.conversation.colors.ChatColors import org.thoughtcrime.securesms.conversation.colors.ChatColorsPalette -import org.thoughtcrime.securesms.util.MappingModelList +import org.thoughtcrime.securesms.util.adapter.mapping.MappingModelList import org.thoughtcrime.securesms.wallpaper.ChatWallpaper data class ChatColorSelectionState( diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/colors/ui/CustomColorMappingModel.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/colors/ui/CustomColorMappingModel.kt index fa2ef14e9..aed0383d2 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/colors/ui/CustomColorMappingModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/colors/ui/CustomColorMappingModel.kt @@ -1,6 +1,6 @@ package org.thoughtcrime.securesms.conversation.colors.ui -import org.thoughtcrime.securesms.util.MappingModel +import org.thoughtcrime.securesms.util.adapter.mapping.MappingModel class CustomColorMappingModel : MappingModel { override fun areItemsTheSame(newItem: CustomColorMappingModel): Boolean { diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/ui/mentions/MentionsPickerAdapter.java b/app/src/main/java/org/thoughtcrime/securesms/conversation/ui/mentions/MentionsPickerAdapter.java index 06682cad3..ee7cc9c81 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/ui/mentions/MentionsPickerAdapter.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/ui/mentions/MentionsPickerAdapter.java @@ -4,8 +4,8 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import org.thoughtcrime.securesms.R; -import org.thoughtcrime.securesms.util.MappingAdapter; -import org.thoughtcrime.securesms.util.MappingModel; +import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter; +import org.thoughtcrime.securesms.util.adapter.mapping.MappingModel; import org.thoughtcrime.securesms.util.viewholders.RecipientViewHolder; import org.thoughtcrime.securesms.util.viewholders.RecipientViewHolder.EventListener; diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/ui/mentions/MentionsPickerFragment.java b/app/src/main/java/org/thoughtcrime/securesms/conversation/ui/mentions/MentionsPickerFragment.java index b8846e902..10d42887e 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/ui/mentions/MentionsPickerFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/ui/mentions/MentionsPickerFragment.java @@ -18,7 +18,7 @@ import com.google.android.material.bottomsheet.BottomSheetBehavior; import org.thoughtcrime.securesms.LoggingFragment; import org.thoughtcrime.securesms.R; import org.thoughtcrime.securesms.recipients.Recipient; -import org.thoughtcrime.securesms.util.MappingModel; +import org.thoughtcrime.securesms.util.adapter.mapping.MappingModel; import org.thoughtcrime.securesms.util.VibrateUtil; import java.util.Collections; diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/ui/mentions/MentionsPickerViewModel.java b/app/src/main/java/org/thoughtcrime/securesms/conversation/ui/mentions/MentionsPickerViewModel.java index 8a50006db..44e996f90 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/ui/mentions/MentionsPickerViewModel.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/ui/mentions/MentionsPickerViewModel.java @@ -15,7 +15,7 @@ import org.thoughtcrime.securesms.dependencies.ApplicationDependencies; import org.thoughtcrime.securesms.recipients.LiveRecipient; import org.thoughtcrime.securesms.recipients.Recipient; import org.thoughtcrime.securesms.recipients.RecipientId; -import org.thoughtcrime.securesms.util.MappingModel; +import org.thoughtcrime.securesms.util.adapter.mapping.MappingModel; import org.thoughtcrime.securesms.util.SingleLiveEvent; import org.thoughtcrime.securesms.util.livedata.LiveDataUtil; diff --git a/app/src/main/java/org/thoughtcrime/securesms/keyboard/KeyboardPageCategoryIconViewHolder.kt b/app/src/main/java/org/thoughtcrime/securesms/keyboard/KeyboardPageCategoryIconViewHolder.kt index 42678b430..d17a61098 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/keyboard/KeyboardPageCategoryIconViewHolder.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/keyboard/KeyboardPageCategoryIconViewHolder.kt @@ -5,8 +5,8 @@ import android.graphics.drawable.Drawable import android.view.View import androidx.appcompat.widget.AppCompatImageView import org.thoughtcrime.securesms.R -import org.thoughtcrime.securesms.util.MappingModel -import org.thoughtcrime.securesms.util.MappingViewHolder +import org.thoughtcrime.securesms.util.adapter.mapping.MappingModel +import org.thoughtcrime.securesms.util.adapter.mapping.MappingViewHolder import java.util.function.Consumer interface KeyboardPageCategoryIconMappingModel> : MappingModel { diff --git a/app/src/main/java/org/thoughtcrime/securesms/keyboard/emoji/EmojiKeyboardPageCategoriesAdapter.kt b/app/src/main/java/org/thoughtcrime/securesms/keyboard/emoji/EmojiKeyboardPageCategoriesAdapter.kt index f45cd24da..8bdeaefc9 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/keyboard/emoji/EmojiKeyboardPageCategoriesAdapter.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/keyboard/emoji/EmojiKeyboardPageCategoriesAdapter.kt @@ -2,7 +2,8 @@ package org.thoughtcrime.securesms.keyboard.emoji import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.keyboard.KeyboardPageCategoryIconViewHolder -import org.thoughtcrime.securesms.util.MappingAdapter +import org.thoughtcrime.securesms.util.adapter.mapping.LayoutFactory +import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter import java.util.function.Consumer class EmojiKeyboardPageCategoriesAdapter(private val onPageSelected: Consumer) : MappingAdapter() { diff --git a/app/src/main/java/org/thoughtcrime/securesms/keyboard/emoji/EmojiKeyboardPageFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/keyboard/emoji/EmojiKeyboardPageFragment.kt index 8ca72e59e..6774c9f0b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/keyboard/emoji/EmojiKeyboardPageFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/keyboard/emoji/EmojiKeyboardPageFragment.kt @@ -16,7 +16,7 @@ import org.thoughtcrime.securesms.components.emoji.EmojiPageViewGridAdapter import org.thoughtcrime.securesms.components.emoji.EmojiPageViewGridAdapter.EmojiHeader import org.thoughtcrime.securesms.keyboard.findListener import org.thoughtcrime.securesms.keyvalue.SignalStore -import org.thoughtcrime.securesms.util.MappingModel +import org.thoughtcrime.securesms.util.adapter.mapping.MappingModel import java.util.Optional private val DELETE_KEY_EVENT: KeyEvent = KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DEL) diff --git a/app/src/main/java/org/thoughtcrime/securesms/keyboard/emoji/EmojiKeyboardPageViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/keyboard/emoji/EmojiKeyboardPageViewModel.kt index 4b1c11de8..684ae9028 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/keyboard/emoji/EmojiKeyboardPageViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/keyboard/emoji/EmojiKeyboardPageViewModel.kt @@ -13,8 +13,8 @@ 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.MappingModelList import org.thoughtcrime.securesms.util.TextSecurePreferences +import org.thoughtcrime.securesms.util.adapter.mapping.MappingModelList import org.thoughtcrime.securesms.util.livedata.LiveDataUtil class EmojiKeyboardPageViewModel(repository: EmojiKeyboardPageRepository) : ViewModel() { diff --git a/app/src/main/java/org/thoughtcrime/securesms/keyboard/emoji/EmojiPageMappingModel.kt b/app/src/main/java/org/thoughtcrime/securesms/keyboard/emoji/EmojiPageMappingModel.kt index f9ac6bc22..3465e462e 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/keyboard/emoji/EmojiPageMappingModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/keyboard/emoji/EmojiPageMappingModel.kt @@ -1,7 +1,7 @@ package org.thoughtcrime.securesms.keyboard.emoji import org.thoughtcrime.securesms.components.emoji.EmojiPageModel -import org.thoughtcrime.securesms.util.MappingModel +import org.thoughtcrime.securesms.util.adapter.mapping.MappingModel class EmojiPageMappingModel(val key: String, val emojiPageModel: EmojiPageModel) : MappingModel { override fun areItemsTheSame(newItem: EmojiPageMappingModel): Boolean { diff --git a/app/src/main/java/org/thoughtcrime/securesms/keyboard/emoji/EmojiPageModelExtensions.kt b/app/src/main/java/org/thoughtcrime/securesms/keyboard/emoji/EmojiPageModelExtensions.kt index 20d4b45d3..807b34a96 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/keyboard/emoji/EmojiPageModelExtensions.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/keyboard/emoji/EmojiPageModelExtensions.kt @@ -6,7 +6,7 @@ import org.thoughtcrime.securesms.components.emoji.RecentEmojiPageModel import org.thoughtcrime.securesms.components.emoji.parsing.EmojiTree import org.thoughtcrime.securesms.emoji.EmojiCategory import org.thoughtcrime.securesms.emoji.EmojiSource -import org.thoughtcrime.securesms.util.MappingModel +import org.thoughtcrime.securesms.util.adapter.mapping.MappingModel fun EmojiPageModel.toMappingModels(): List> { val emojiTree: EmojiTree = EmojiSource.latest.emojiTree diff --git a/app/src/main/java/org/thoughtcrime/securesms/keyboard/emoji/search/EmojiSearchViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/keyboard/emoji/search/EmojiSearchViewModel.kt index 3b492634d..7f147cd1b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/keyboard/emoji/search/EmojiSearchViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/keyboard/emoji/search/EmojiSearchViewModel.kt @@ -7,7 +7,7 @@ import androidx.lifecycle.ViewModelProvider import org.thoughtcrime.securesms.components.emoji.EmojiPageModel import org.thoughtcrime.securesms.components.emoji.RecentEmojiPageModel import org.thoughtcrime.securesms.keyboard.emoji.toMappingModels -import org.thoughtcrime.securesms.util.MappingModel +import org.thoughtcrime.securesms.util.adapter.mapping.MappingModel import org.thoughtcrime.securesms.util.livedata.LiveDataUtil class EmojiSearchViewModel(private val repository: EmojiSearchRepository) : ViewModel() { diff --git a/app/src/main/java/org/thoughtcrime/securesms/keyboard/gif/GifQuickSearch.kt b/app/src/main/java/org/thoughtcrime/securesms/keyboard/gif/GifQuickSearch.kt index 30b18e7f7..a373b3b17 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/keyboard/gif/GifQuickSearch.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/keyboard/gif/GifQuickSearch.kt @@ -1,6 +1,6 @@ package org.thoughtcrime.securesms.keyboard.gif -import org.thoughtcrime.securesms.util.MappingModel +import org.thoughtcrime.securesms.util.adapter.mapping.MappingModel data class GifQuickSearch(val gifQuickSearchOption: GifQuickSearchOption, val selected: Boolean) : MappingModel { override fun areItemsTheSame(newItem: GifQuickSearch): Boolean { diff --git a/app/src/main/java/org/thoughtcrime/securesms/keyboard/gif/GifQuickSearchAdapter.kt b/app/src/main/java/org/thoughtcrime/securesms/keyboard/gif/GifQuickSearchAdapter.kt index cbae8db66..ac84c7bde 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/keyboard/gif/GifQuickSearchAdapter.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/keyboard/gif/GifQuickSearchAdapter.kt @@ -3,8 +3,9 @@ package org.thoughtcrime.securesms.keyboard.gif import android.view.View import android.widget.ImageView import org.thoughtcrime.securesms.R -import org.thoughtcrime.securesms.util.MappingAdapter -import org.thoughtcrime.securesms.util.MappingViewHolder +import org.thoughtcrime.securesms.util.adapter.mapping.LayoutFactory +import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter +import org.thoughtcrime.securesms.util.adapter.mapping.MappingViewHolder class GifQuickSearchAdapter(clickListener: (GifQuickSearchOption) -> Unit) : MappingAdapter() { init { diff --git a/app/src/main/java/org/thoughtcrime/securesms/keyboard/sticker/KeyboardStickerListAdapter.kt b/app/src/main/java/org/thoughtcrime/securesms/keyboard/sticker/KeyboardStickerListAdapter.kt index 8937c67bd..308f2d80d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/keyboard/sticker/KeyboardStickerListAdapter.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/keyboard/sticker/KeyboardStickerListAdapter.kt @@ -10,9 +10,10 @@ import org.thoughtcrime.securesms.database.model.StickerRecord import org.thoughtcrime.securesms.glide.cache.ApngOptions import org.thoughtcrime.securesms.mms.DecryptableStreamUriLoader.DecryptableUri import org.thoughtcrime.securesms.mms.GlideRequests -import org.thoughtcrime.securesms.util.MappingAdapter -import org.thoughtcrime.securesms.util.MappingModel -import org.thoughtcrime.securesms.util.MappingViewHolder +import org.thoughtcrime.securesms.util.adapter.mapping.LayoutFactory +import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter +import org.thoughtcrime.securesms.util.adapter.mapping.MappingModel +import org.thoughtcrime.securesms.util.adapter.mapping.MappingViewHolder class KeyboardStickerListAdapter( private val glideRequests: GlideRequests, diff --git a/app/src/main/java/org/thoughtcrime/securesms/keyboard/sticker/KeyboardStickerPackListAdapter.kt b/app/src/main/java/org/thoughtcrime/securesms/keyboard/sticker/KeyboardStickerPackListAdapter.kt index 6571b96d6..301f0a81d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/keyboard/sticker/KeyboardStickerPackListAdapter.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/keyboard/sticker/KeyboardStickerPackListAdapter.kt @@ -8,9 +8,10 @@ import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.glide.cache.ApngOptions import org.thoughtcrime.securesms.mms.DecryptableStreamUriLoader.DecryptableUri import org.thoughtcrime.securesms.mms.GlideRequests -import org.thoughtcrime.securesms.util.MappingAdapter -import org.thoughtcrime.securesms.util.MappingModel -import org.thoughtcrime.securesms.util.MappingViewHolder +import org.thoughtcrime.securesms.util.adapter.mapping.LayoutFactory +import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter +import org.thoughtcrime.securesms.util.adapter.mapping.MappingModel +import org.thoughtcrime.securesms.util.adapter.mapping.MappingViewHolder class KeyboardStickerPackListAdapter(private val glideRequests: GlideRequests, private val allowApngAnimation: Boolean, private val onTabSelected: (StickerPack) -> Unit) : MappingAdapter() { diff --git a/app/src/main/java/org/thoughtcrime/securesms/keyboard/sticker/StickerKeyboardPageFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/keyboard/sticker/StickerKeyboardPageFragment.kt index a974638ad..6dbcc3379 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/keyboard/sticker/StickerKeyboardPageFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/keyboard/sticker/StickerKeyboardPageFragment.kt @@ -22,9 +22,9 @@ import org.thoughtcrime.securesms.stickers.StickerRolloverTouchListener import org.thoughtcrime.securesms.stickers.StickerRolloverTouchListener.RolloverStickerRetriever import org.thoughtcrime.securesms.util.DeviceProperties import org.thoughtcrime.securesms.util.InsetItemDecoration -import org.thoughtcrime.securesms.util.MappingModel -import org.thoughtcrime.securesms.util.MappingModelList import org.thoughtcrime.securesms.util.Throttler +import org.thoughtcrime.securesms.util.adapter.mapping.MappingModel +import org.thoughtcrime.securesms.util.adapter.mapping.MappingModelList import org.whispersystems.libsignal.util.Pair import java.util.Optional import kotlin.math.abs diff --git a/app/src/main/java/org/thoughtcrime/securesms/keyboard/sticker/StickerKeyboardPageViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/keyboard/sticker/StickerKeyboardPageViewModel.kt index 0b5411cba..1cc97bfa7 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/keyboard/sticker/StickerKeyboardPageViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/keyboard/sticker/StickerKeyboardPageViewModel.kt @@ -7,7 +7,7 @@ import androidx.lifecycle.ViewModel import androidx.lifecycle.ViewModelProvider import org.thoughtcrime.securesms.database.SignalDatabase import org.thoughtcrime.securesms.keyboard.sticker.KeyboardStickerPackListAdapter.StickerPack -import org.thoughtcrime.securesms.util.MappingModelList +import org.thoughtcrime.securesms.util.adapter.mapping.MappingModelList import org.thoughtcrime.securesms.util.livedata.LiveDataUtil private const val NO_SELECTED_PAGE = "no_selected_page" diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/gallery/MediaGalleryFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/gallery/MediaGalleryFragment.kt index 8ba5d0a14..a5919efbd 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/gallery/MediaGalleryFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/gallery/MediaGalleryFragment.kt @@ -17,9 +17,9 @@ import org.thoughtcrime.securesms.keyboard.findListener import org.thoughtcrime.securesms.mediasend.Media import org.thoughtcrime.securesms.mediasend.MediaRepository import org.thoughtcrime.securesms.mediasend.v2.MediaCountIndicatorButton -import org.thoughtcrime.securesms.util.MappingAdapter import org.thoughtcrime.securesms.util.Stopwatch import org.thoughtcrime.securesms.util.ViewUtil +import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter import org.thoughtcrime.securesms.util.livedata.LiveDataUtil import org.thoughtcrime.securesms.util.visible diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/gallery/MediaGallerySelectableItem.kt b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/gallery/MediaGallerySelectableItem.kt index 55a7f1014..3b6ba2bdc 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/gallery/MediaGallerySelectableItem.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/gallery/MediaGallerySelectableItem.kt @@ -15,10 +15,11 @@ import org.thoughtcrime.securesms.mediasend.Media import org.thoughtcrime.securesms.mediasend.MediaFolder import org.thoughtcrime.securesms.mms.DecryptableStreamUriLoader import org.thoughtcrime.securesms.mms.GlideApp -import org.thoughtcrime.securesms.util.MappingAdapter -import org.thoughtcrime.securesms.util.MappingModel -import org.thoughtcrime.securesms.util.MappingViewHolder import org.thoughtcrime.securesms.util.MediaUtil +import org.thoughtcrime.securesms.util.adapter.mapping.LayoutFactory +import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter +import org.thoughtcrime.securesms.util.adapter.mapping.MappingModel +import org.thoughtcrime.securesms.util.adapter.mapping.MappingViewHolder import org.thoughtcrime.securesms.util.visible typealias OnMediaFolderClicked = (MediaFolder) -> Unit @@ -34,8 +35,8 @@ object MediaGallerySelectableItem { onMediaClicked: OnMediaClicked, isMultiselectEnabled: Boolean ) { - mappingAdapter.registerFactory(FolderModel::class.java, MappingAdapter.LayoutFactory({ FolderViewHolder(it, onMediaFolderClicked) }, R.layout.v2_media_gallery_folder_item)) - mappingAdapter.registerFactory(FileModel::class.java, MappingAdapter.LayoutFactory({ FileViewHolder(it, onMediaClicked) }, if (isMultiselectEnabled) R.layout.v2_media_gallery_item else R.layout.v2_media_gallery_item_no_check)) + mappingAdapter.registerFactory(FolderModel::class.java, LayoutFactory({ FolderViewHolder(it, onMediaFolderClicked) }, R.layout.v2_media_gallery_folder_item)) + mappingAdapter.registerFactory(FileModel::class.java, LayoutFactory({ FileViewHolder(it, onMediaClicked) }, if (isMultiselectEnabled) R.layout.v2_media_gallery_item else R.layout.v2_media_gallery_item_no_check)) } class FolderModel(val mediaFolder: MediaFolder) : MappingModel { diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/gallery/MediaGallerySelectedItem.kt b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/gallery/MediaGallerySelectedItem.kt index a6a1c732c..de6e0f992 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/gallery/MediaGallerySelectedItem.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/gallery/MediaGallerySelectedItem.kt @@ -6,10 +6,11 @@ import com.bumptech.glide.Glide import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.mediasend.Media import org.thoughtcrime.securesms.mms.DecryptableStreamUriLoader -import org.thoughtcrime.securesms.util.MappingAdapter -import org.thoughtcrime.securesms.util.MappingModel -import org.thoughtcrime.securesms.util.MappingViewHolder import org.thoughtcrime.securesms.util.MediaUtil +import org.thoughtcrime.securesms.util.adapter.mapping.LayoutFactory +import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter +import org.thoughtcrime.securesms.util.adapter.mapping.MappingModel +import org.thoughtcrime.securesms.util.adapter.mapping.MappingViewHolder import org.thoughtcrime.securesms.util.visible typealias OnSelectedMediaClicked = (Media) -> Unit @@ -17,7 +18,7 @@ typealias OnSelectedMediaClicked = (Media) -> Unit object MediaGallerySelectedItem { fun register(mappingAdapter: MappingAdapter, onSelectedMediaClicked: OnSelectedMediaClicked) { - mappingAdapter.registerFactory(Model::class.java, MappingAdapter.LayoutFactory({ ViewHolder(it, onSelectedMediaClicked) }, R.layout.v2_media_selection_item)) + mappingAdapter.registerFactory(Model::class.java, LayoutFactory({ ViewHolder(it, onSelectedMediaClicked) }, R.layout.v2_media_selection_item)) } class Model(val media: Media) : MappingModel { diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/gallery/MediaGalleryState.kt b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/gallery/MediaGalleryState.kt index 7898572ab..66929109d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/gallery/MediaGalleryState.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/gallery/MediaGalleryState.kt @@ -1,6 +1,6 @@ package org.thoughtcrime.securesms.mediasend.v2.gallery -import org.thoughtcrime.securesms.util.MappingModel +import org.thoughtcrime.securesms.util.adapter.mapping.MappingModel data class MediaGalleryState( val bucketId: String?, diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/review/MediaReviewAddItem.kt b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/review/MediaReviewAddItem.kt index 842c47363..f8f88bd58 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/review/MediaReviewAddItem.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/review/MediaReviewAddItem.kt @@ -2,16 +2,17 @@ package org.thoughtcrime.securesms.mediasend.v2.review import android.view.View import org.thoughtcrime.securesms.R -import org.thoughtcrime.securesms.util.MappingAdapter -import org.thoughtcrime.securesms.util.MappingModel -import org.thoughtcrime.securesms.util.MappingViewHolder +import org.thoughtcrime.securesms.util.adapter.mapping.LayoutFactory +import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter +import org.thoughtcrime.securesms.util.adapter.mapping.MappingModel +import org.thoughtcrime.securesms.util.adapter.mapping.MappingViewHolder typealias OnAddMediaItemClicked = () -> Unit object MediaReviewAddItem { fun register(mappingAdapter: MappingAdapter, onAddMediaItemClicked: OnAddMediaItemClicked) { - mappingAdapter.registerFactory(Model::class.java, MappingAdapter.LayoutFactory({ ViewHolder(it, onAddMediaItemClicked) }, R.layout.v2_media_review_add_media_item)) + mappingAdapter.registerFactory(Model::class.java, LayoutFactory({ ViewHolder(it, onAddMediaItemClicked) }, R.layout.v2_media_review_add_media_item)) } object Model : MappingModel { diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/review/MediaReviewFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/review/MediaReviewFragment.kt index dc5c408bc..e9d886e0b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/review/MediaReviewFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/review/MediaReviewFragment.kt @@ -36,8 +36,8 @@ import org.thoughtcrime.securesms.mediasend.v2.MediaValidator import org.thoughtcrime.securesms.mms.SentMediaQuality import org.thoughtcrime.securesms.permissions.Permissions import org.thoughtcrime.securesms.recipients.RecipientId -import org.thoughtcrime.securesms.util.MappingAdapter import org.thoughtcrime.securesms.util.MediaUtil +import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter import org.thoughtcrime.securesms.util.views.TouchInterceptingFrameLayout import org.thoughtcrime.securesms.util.visible diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/review/MediaReviewSelectedItem.kt b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/review/MediaReviewSelectedItem.kt index b0616f78c..5e90c34cc 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/review/MediaReviewSelectedItem.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/review/MediaReviewSelectedItem.kt @@ -6,17 +6,18 @@ import com.bumptech.glide.Glide import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.mediasend.Media import org.thoughtcrime.securesms.mms.DecryptableStreamUriLoader -import org.thoughtcrime.securesms.util.MappingAdapter -import org.thoughtcrime.securesms.util.MappingModel -import org.thoughtcrime.securesms.util.MappingViewHolder import org.thoughtcrime.securesms.util.MediaUtil +import org.thoughtcrime.securesms.util.adapter.mapping.LayoutFactory +import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter +import org.thoughtcrime.securesms.util.adapter.mapping.MappingModel +import org.thoughtcrime.securesms.util.adapter.mapping.MappingViewHolder import org.thoughtcrime.securesms.util.visible typealias OnSelectedMediaClicked = (Media, Boolean) -> Unit object MediaReviewSelectedItem { fun register(mappingAdapter: MappingAdapter, onSelectedMediaClicked: OnSelectedMediaClicked) { - mappingAdapter.registerFactory(Model::class.java, MappingAdapter.LayoutFactory({ ViewHolder(it, onSelectedMediaClicked) }, R.layout.v2_media_review_selected_item)) + mappingAdapter.registerFactory(Model::class.java, LayoutFactory({ ViewHolder(it, onSelectedMediaClicked) }, R.layout.v2_media_review_selected_item)) } class Model(val media: Media, val isSelected: Boolean) : MappingModel { diff --git a/app/src/main/java/org/thoughtcrime/securesms/payments/confirm/ConfirmPaymentAdapter.java b/app/src/main/java/org/thoughtcrime/securesms/payments/confirm/ConfirmPaymentAdapter.java index 80acc4235..0adef58e4 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/payments/confirm/ConfirmPaymentAdapter.java +++ b/app/src/main/java/org/thoughtcrime/securesms/payments/confirm/ConfirmPaymentAdapter.java @@ -11,9 +11,9 @@ import com.airbnb.lottie.LottieAnimationView; import org.thoughtcrime.securesms.R; import org.thoughtcrime.securesms.payments.confirm.ConfirmPaymentState.Status; -import org.thoughtcrime.securesms.util.MappingAdapter; -import org.thoughtcrime.securesms.util.MappingModel; -import org.thoughtcrime.securesms.util.MappingViewHolder; +import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter; +import org.thoughtcrime.securesms.util.adapter.mapping.MappingModel; +import org.thoughtcrime.securesms.util.adapter.mapping.MappingViewHolder; import org.thoughtcrime.securesms.util.SpanUtil; import org.whispersystems.signalservice.api.payments.FormatterOptions; import org.whispersystems.signalservice.api.payments.Money; diff --git a/app/src/main/java/org/thoughtcrime/securesms/payments/confirm/ConfirmPaymentFragment.java b/app/src/main/java/org/thoughtcrime/securesms/payments/confirm/ConfirmPaymentFragment.java index 2fc7b9e6c..235d4e05b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/payments/confirm/ConfirmPaymentFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/payments/confirm/ConfirmPaymentFragment.java @@ -33,7 +33,7 @@ import org.thoughtcrime.securesms.payments.Payee; import org.thoughtcrime.securesms.payments.preferences.RecipientHasNotEnabledPaymentsDialog; import org.thoughtcrime.securesms.recipients.Recipient; import org.thoughtcrime.securesms.util.BottomSheetUtil; -import org.thoughtcrime.securesms.util.MappingModelList; +import org.thoughtcrime.securesms.util.adapter.mapping.MappingModelList; import org.thoughtcrime.securesms.util.StringUtil; import org.thoughtcrime.securesms.util.navigation.SafeNavigation; import org.whispersystems.signalservice.api.payments.FormatterOptions; diff --git a/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/PaymentsHomeAdapter.java b/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/PaymentsHomeAdapter.java index 17ef9aac5..e6391993b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/PaymentsHomeAdapter.java +++ b/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/PaymentsHomeAdapter.java @@ -16,7 +16,7 @@ import org.thoughtcrime.securesms.payments.preferences.viewholder.IntroducingPay import org.thoughtcrime.securesms.payments.preferences.viewholder.NoRecentActivityViewHolder; import org.thoughtcrime.securesms.payments.preferences.viewholder.PaymentItemViewHolder; import org.thoughtcrime.securesms.payments.preferences.viewholder.SeeAllViewHolder; -import org.thoughtcrime.securesms.util.MappingAdapter; +import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter; public class PaymentsHomeAdapter extends MappingAdapter { diff --git a/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/PaymentsHomeViewModel.java b/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/PaymentsHomeViewModel.java index ac5354a64..e8b79bb67 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/PaymentsHomeViewModel.java +++ b/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/PaymentsHomeViewModel.java @@ -29,7 +29,7 @@ import org.thoughtcrime.securesms.payments.preferences.model.NoRecentActivity; import org.thoughtcrime.securesms.payments.preferences.model.PaymentItem; import org.thoughtcrime.securesms.payments.preferences.model.SeeAll; import org.thoughtcrime.securesms.util.AsynchronousCallback; -import org.thoughtcrime.securesms.util.MappingModelList; +import org.thoughtcrime.securesms.util.adapter.mapping.MappingModelList; import org.thoughtcrime.securesms.util.SingleLiveEvent; import org.thoughtcrime.securesms.util.livedata.LiveDataUtil; import org.thoughtcrime.securesms.util.livedata.Store; diff --git a/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/PaymentsPagerItemViewModel.java b/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/PaymentsPagerItemViewModel.java index 4103c13cd..1a821beef 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/PaymentsPagerItemViewModel.java +++ b/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/PaymentsPagerItemViewModel.java @@ -7,7 +7,7 @@ import androidx.lifecycle.ViewModelProvider; import org.thoughtcrime.securesms.payments.Payment; import org.thoughtcrime.securesms.payments.preferences.model.PaymentItem; -import org.thoughtcrime.securesms.util.MappingModelList; +import org.thoughtcrime.securesms.util.adapter.mapping.MappingModelList; import org.thoughtcrime.securesms.util.livedata.LiveDataUtil; import java.util.List; diff --git a/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/SetCurrencyViewModel.java b/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/SetCurrencyViewModel.java index 8b639f919..2863ff352 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/SetCurrencyViewModel.java +++ b/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/SetCurrencyViewModel.java @@ -21,7 +21,7 @@ import org.thoughtcrime.securesms.payments.currency.CurrencyExchange; import org.thoughtcrime.securesms.payments.currency.CurrencyExchangeRepository; import org.thoughtcrime.securesms.payments.currency.CurrencyUtil; import org.thoughtcrime.securesms.util.AsynchronousCallback; -import org.thoughtcrime.securesms.util.MappingModelList; +import org.thoughtcrime.securesms.util.adapter.mapping.MappingModelList; import org.thoughtcrime.securesms.util.SetUtil; import org.thoughtcrime.securesms.util.livedata.Store; import org.whispersystems.libsignal.util.Pair; diff --git a/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/model/InProgress.java b/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/model/InProgress.java index a492ba273..1cf3401e7 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/model/InProgress.java +++ b/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/model/InProgress.java @@ -2,7 +2,7 @@ package org.thoughtcrime.securesms.payments.preferences.model; import androidx.annotation.NonNull; -import org.thoughtcrime.securesms.util.MappingModel; +import org.thoughtcrime.securesms.util.adapter.mapping.MappingModel; public class InProgress implements MappingModel { @Override diff --git a/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/model/InfoCard.java b/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/model/InfoCard.java index 783916d61..13b46d15f 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/model/InfoCard.java +++ b/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/model/InfoCard.java @@ -7,7 +7,7 @@ import androidx.annotation.StringRes; import org.thoughtcrime.securesms.R; import org.thoughtcrime.securesms.keyvalue.PaymentsValues; import org.thoughtcrime.securesms.keyvalue.SignalStore; -import org.thoughtcrime.securesms.util.MappingModel; +import org.thoughtcrime.securesms.util.adapter.mapping.MappingModel; import java.util.ArrayList; import java.util.List; diff --git a/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/model/IntroducingPayments.java b/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/model/IntroducingPayments.java index af46ab777..71ad116a9 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/model/IntroducingPayments.java +++ b/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/model/IntroducingPayments.java @@ -3,7 +3,7 @@ package org.thoughtcrime.securesms.payments.preferences.model; import androidx.annotation.NonNull; import org.thoughtcrime.securesms.payments.preferences.PaymentsHomeState; -import org.thoughtcrime.securesms.util.MappingModel; +import org.thoughtcrime.securesms.util.adapter.mapping.MappingModel; public class IntroducingPayments implements MappingModel { private PaymentsHomeState.PaymentsState paymentsState; diff --git a/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/model/NoRecentActivity.java b/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/model/NoRecentActivity.java index 20d1d82af..a8ea838d3 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/model/NoRecentActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/model/NoRecentActivity.java @@ -2,7 +2,7 @@ package org.thoughtcrime.securesms.payments.preferences.model; import androidx.annotation.NonNull; -import org.thoughtcrime.securesms.util.MappingModel; +import org.thoughtcrime.securesms.util.adapter.mapping.MappingModel; public class NoRecentActivity implements MappingModel { @Override diff --git a/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/model/PaymentItem.java b/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/model/PaymentItem.java index 8b1874286..d26b627f5 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/model/PaymentItem.java +++ b/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/model/PaymentItem.java @@ -17,8 +17,8 @@ import org.thoughtcrime.securesms.payments.State; import org.thoughtcrime.securesms.payments.preferences.PaymentType; import org.thoughtcrime.securesms.payments.preferences.details.PaymentDetailsParcelable; import org.thoughtcrime.securesms.util.DateUtils; -import org.thoughtcrime.securesms.util.MappingModel; -import org.thoughtcrime.securesms.util.MappingModelList; +import org.thoughtcrime.securesms.util.adapter.mapping.MappingModel; +import org.thoughtcrime.securesms.util.adapter.mapping.MappingModelList; import org.thoughtcrime.securesms.util.SpanUtil; import org.whispersystems.signalservice.api.payments.FormatterOptions; import org.whispersystems.signalservice.api.payments.PaymentsConstants; diff --git a/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/model/SeeAll.java b/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/model/SeeAll.java index 5924c898a..15b123b5d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/model/SeeAll.java +++ b/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/model/SeeAll.java @@ -3,7 +3,7 @@ package org.thoughtcrime.securesms.payments.preferences.model; import androidx.annotation.NonNull; import org.thoughtcrime.securesms.payments.preferences.PaymentType; -import org.thoughtcrime.securesms.util.MappingModel; +import org.thoughtcrime.securesms.util.adapter.mapping.MappingModel; public class SeeAll implements MappingModel { diff --git a/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/viewholder/InProgressViewHolder.java b/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/viewholder/InProgressViewHolder.java index b49ea618c..239dfd78b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/viewholder/InProgressViewHolder.java +++ b/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/viewholder/InProgressViewHolder.java @@ -5,7 +5,7 @@ import android.view.View; import androidx.annotation.NonNull; import org.thoughtcrime.securesms.payments.preferences.model.InProgress; -import org.thoughtcrime.securesms.util.MappingViewHolder; +import org.thoughtcrime.securesms.util.adapter.mapping.MappingViewHolder; public class InProgressViewHolder extends MappingViewHolder { diff --git a/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/viewholder/InfoCardViewHolder.java b/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/viewholder/InfoCardViewHolder.java index 562baa60d..05714809a 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/viewholder/InfoCardViewHolder.java +++ b/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/viewholder/InfoCardViewHolder.java @@ -18,7 +18,7 @@ import androidx.appcompat.widget.Toolbar; import org.thoughtcrime.securesms.R; import org.thoughtcrime.securesms.payments.preferences.PaymentsHomeAdapter; import org.thoughtcrime.securesms.payments.preferences.model.InfoCard; -import org.thoughtcrime.securesms.util.MappingViewHolder; +import org.thoughtcrime.securesms.util.adapter.mapping.MappingViewHolder; public class InfoCardViewHolder extends MappingViewHolder { diff --git a/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/viewholder/IntroducingPaymentViewHolder.java b/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/viewholder/IntroducingPaymentViewHolder.java index 6f0510d5e..9194d6a6b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/viewholder/IntroducingPaymentViewHolder.java +++ b/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/viewholder/IntroducingPaymentViewHolder.java @@ -9,7 +9,7 @@ import org.thoughtcrime.securesms.R; import org.thoughtcrime.securesms.keyvalue.SignalStore; import org.thoughtcrime.securesms.payments.preferences.PaymentsHomeAdapter; import org.thoughtcrime.securesms.payments.preferences.model.IntroducingPayments; -import org.thoughtcrime.securesms.util.MappingViewHolder; +import org.thoughtcrime.securesms.util.adapter.mapping.MappingViewHolder; import org.thoughtcrime.securesms.util.views.LearnMoreTextView; public class IntroducingPaymentViewHolder extends MappingViewHolder { diff --git a/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/viewholder/NoRecentActivityViewHolder.java b/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/viewholder/NoRecentActivityViewHolder.java index 32bc9da12..8c172f94f 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/viewholder/NoRecentActivityViewHolder.java +++ b/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/viewholder/NoRecentActivityViewHolder.java @@ -5,7 +5,7 @@ import android.view.View; import androidx.annotation.NonNull; import org.thoughtcrime.securesms.payments.preferences.model.NoRecentActivity; -import org.thoughtcrime.securesms.util.MappingViewHolder; +import org.thoughtcrime.securesms.util.adapter.mapping.MappingViewHolder; public class NoRecentActivityViewHolder extends MappingViewHolder { diff --git a/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/viewholder/PaymentItemViewHolder.java b/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/viewholder/PaymentItemViewHolder.java index 225666572..ae753beb9 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/viewholder/PaymentItemViewHolder.java +++ b/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/viewholder/PaymentItemViewHolder.java @@ -10,7 +10,7 @@ import org.thoughtcrime.securesms.R; import org.thoughtcrime.securesms.components.AvatarImageView; import org.thoughtcrime.securesms.payments.preferences.PaymentsHomeAdapter; import org.thoughtcrime.securesms.payments.preferences.model.PaymentItem; -import org.thoughtcrime.securesms.util.MappingViewHolder; +import org.thoughtcrime.securesms.util.adapter.mapping.MappingViewHolder; import org.thoughtcrime.securesms.util.SpanUtil; import org.thoughtcrime.securesms.util.viewholders.RecipientMappingModel.RecipientIdMappingModel; import org.thoughtcrime.securesms.util.viewholders.RecipientViewHolder; diff --git a/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/viewholder/SeeAllViewHolder.java b/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/viewholder/SeeAllViewHolder.java index 783abf4b2..9d661c024 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/viewholder/SeeAllViewHolder.java +++ b/app/src/main/java/org/thoughtcrime/securesms/payments/preferences/viewholder/SeeAllViewHolder.java @@ -7,7 +7,7 @@ import androidx.annotation.NonNull; import org.thoughtcrime.securesms.R; import org.thoughtcrime.securesms.payments.preferences.PaymentsHomeAdapter; import org.thoughtcrime.securesms.payments.preferences.model.SeeAll; -import org.thoughtcrime.securesms.util.MappingViewHolder; +import org.thoughtcrime.securesms.util.adapter.mapping.MappingViewHolder; public class SeeAllViewHolder extends MappingViewHolder { diff --git a/app/src/main/java/org/thoughtcrime/securesms/preferences/StoragePreferenceFragment.java b/app/src/main/java/org/thoughtcrime/securesms/preferences/StoragePreferenceFragment.java index 8be8ceddc..a887b37b8 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/preferences/StoragePreferenceFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/preferences/StoragePreferenceFragment.java @@ -36,7 +36,7 @@ import org.thoughtcrime.securesms.keyvalue.SignalStore; import org.thoughtcrime.securesms.mediaoverview.MediaOverviewActivity; import org.thoughtcrime.securesms.permissions.Permissions; import org.thoughtcrime.securesms.preferences.widgets.StoragePreferenceCategory; -import org.thoughtcrime.securesms.util.MappingModelList; +import org.thoughtcrime.securesms.util.adapter.mapping.MappingModelList; import org.thoughtcrime.securesms.util.StringUtil; import java.text.NumberFormat; diff --git a/app/src/main/java/org/thoughtcrime/securesms/reactions/any/ReactWithAnyEmojiBottomSheetDialogFragment.java b/app/src/main/java/org/thoughtcrime/securesms/reactions/any/ReactWithAnyEmojiBottomSheetDialogFragment.java index 957235f60..e2d4f8787 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/reactions/any/ReactWithAnyEmojiBottomSheetDialogFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/reactions/any/ReactWithAnyEmojiBottomSheetDialogFragment.java @@ -41,7 +41,7 @@ import org.thoughtcrime.securesms.keyboard.emoji.EmojiKeyboardPageCategoryMappin import org.thoughtcrime.securesms.keyboard.emoji.KeyboardPageSearchView; import org.thoughtcrime.securesms.reactions.edit.EditReactionsActivity; import org.thoughtcrime.securesms.util.LifecycleDisposable; -import org.thoughtcrime.securesms.util.MappingModel; +import org.thoughtcrime.securesms.util.adapter.mapping.MappingModel; import org.thoughtcrime.securesms.util.TextSecurePreferences; import org.thoughtcrime.securesms.util.ViewUtil; diff --git a/app/src/main/java/org/thoughtcrime/securesms/reactions/any/ReactWithAnyEmojiViewModel.java b/app/src/main/java/org/thoughtcrime/securesms/reactions/any/ReactWithAnyEmojiViewModel.java index e2d703750..49928f6c4 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/reactions/any/ReactWithAnyEmojiViewModel.java +++ b/app/src/main/java/org/thoughtcrime/securesms/reactions/any/ReactWithAnyEmojiViewModel.java @@ -17,7 +17,7 @@ import org.thoughtcrime.securesms.keyboard.emoji.EmojiKeyboardPageCategoryMappin import org.thoughtcrime.securesms.keyboard.emoji.search.EmojiSearchRepository; import org.thoughtcrime.securesms.keyvalue.SignalStore; import org.thoughtcrime.securesms.reactions.ReactionsRepository; -import org.thoughtcrime.securesms.util.MappingModelList; +import org.thoughtcrime.securesms.util.adapter.mapping.MappingModelList; import org.thoughtcrime.securesms.util.TextSecurePreferences; import java.util.List; diff --git a/app/src/main/java/org/thoughtcrime/securesms/sharing/ShareSelectionAdapter.java b/app/src/main/java/org/thoughtcrime/securesms/sharing/ShareSelectionAdapter.java index 8445c08e4..fafe33142 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/sharing/ShareSelectionAdapter.java +++ b/app/src/main/java/org/thoughtcrime/securesms/sharing/ShareSelectionAdapter.java @@ -1,7 +1,7 @@ package org.thoughtcrime.securesms.sharing; import org.thoughtcrime.securesms.R; -import org.thoughtcrime.securesms.util.MappingAdapter; +import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter; public class ShareSelectionAdapter extends MappingAdapter { public ShareSelectionAdapter() { diff --git a/app/src/main/java/org/thoughtcrime/securesms/sharing/ShareSelectionMappingModel.java b/app/src/main/java/org/thoughtcrime/securesms/sharing/ShareSelectionMappingModel.java index c446a4178..b4d4021ee 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/sharing/ShareSelectionMappingModel.java +++ b/app/src/main/java/org/thoughtcrime/securesms/sharing/ShareSelectionMappingModel.java @@ -6,7 +6,7 @@ import androidx.annotation.NonNull; import org.thoughtcrime.securesms.R; import org.thoughtcrime.securesms.recipients.Recipient; -import org.thoughtcrime.securesms.util.MappingModel; +import org.thoughtcrime.securesms.util.adapter.mapping.MappingModel; public class ShareSelectionMappingModel implements MappingModel { diff --git a/app/src/main/java/org/thoughtcrime/securesms/sharing/ShareSelectionViewHolder.java b/app/src/main/java/org/thoughtcrime/securesms/sharing/ShareSelectionViewHolder.java index 9e91cef0b..590584b20 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/sharing/ShareSelectionViewHolder.java +++ b/app/src/main/java/org/thoughtcrime/securesms/sharing/ShareSelectionViewHolder.java @@ -5,15 +5,11 @@ import android.widget.TextView; import androidx.annotation.LayoutRes; import androidx.annotation.NonNull; -import androidx.annotation.Nullable; import org.thoughtcrime.securesms.R; -import org.thoughtcrime.securesms.components.AvatarImageView; -import org.thoughtcrime.securesms.recipients.Recipient; -import org.thoughtcrime.securesms.util.MappingAdapter; -import org.thoughtcrime.securesms.util.MappingViewHolder; -import org.thoughtcrime.securesms.util.ViewUtil; -import org.thoughtcrime.securesms.util.viewholders.RecipientMappingModel; +import org.thoughtcrime.securesms.util.adapter.mapping.Factory; +import org.thoughtcrime.securesms.util.adapter.mapping.LayoutFactory; +import org.thoughtcrime.securesms.util.adapter.mapping.MappingViewHolder; public class ShareSelectionViewHolder extends MappingViewHolder { @@ -30,7 +26,7 @@ public class ShareSelectionViewHolder extends MappingViewHolder createFactory(@LayoutRes int layout) { - return new MappingAdapter.LayoutFactory<>(ShareSelectionViewHolder::new, layout); + public static @NonNull Factory createFactory(@LayoutRes int layout) { + return new LayoutFactory<>(ShareSelectionViewHolder::new, layout); } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/sharing/ShareViewModel.java b/app/src/main/java/org/thoughtcrime/securesms/sharing/ShareViewModel.java index 8ecbd52f8..a5da1bbcb 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/sharing/ShareViewModel.java +++ b/app/src/main/java/org/thoughtcrime/securesms/sharing/ShareViewModel.java @@ -20,7 +20,7 @@ import org.thoughtcrime.securesms.dependencies.ApplicationDependencies; import org.thoughtcrime.securesms.providers.BlobProvider; import org.thoughtcrime.securesms.recipients.Recipient; import org.thoughtcrime.securesms.util.DefaultValueLiveData; -import org.thoughtcrime.securesms.util.MappingModelList; +import org.thoughtcrime.securesms.util.adapter.mapping.MappingModelList; import org.whispersystems.libsignal.util.guava.Optional; import java.util.Collections; diff --git a/app/src/main/java/org/thoughtcrime/securesms/sharing/interstitial/ShareInterstitialSelectionAdapter.java b/app/src/main/java/org/thoughtcrime/securesms/sharing/interstitial/ShareInterstitialSelectionAdapter.java index 2663234f1..76e6b8014 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/sharing/interstitial/ShareInterstitialSelectionAdapter.java +++ b/app/src/main/java/org/thoughtcrime/securesms/sharing/interstitial/ShareInterstitialSelectionAdapter.java @@ -1,7 +1,7 @@ package org.thoughtcrime.securesms.sharing.interstitial; import org.thoughtcrime.securesms.R; -import org.thoughtcrime.securesms.util.MappingAdapter; +import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter; import org.thoughtcrime.securesms.util.viewholders.RecipientViewHolder; class ShareInterstitialSelectionAdapter extends MappingAdapter { diff --git a/app/src/main/java/org/thoughtcrime/securesms/sharing/interstitial/ShareInterstitialViewModel.java b/app/src/main/java/org/thoughtcrime/securesms/sharing/interstitial/ShareInterstitialViewModel.java index b4830be94..99b916c35 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/sharing/interstitial/ShareInterstitialViewModel.java +++ b/app/src/main/java/org/thoughtcrime/securesms/sharing/interstitial/ShareInterstitialViewModel.java @@ -17,7 +17,7 @@ import org.thoughtcrime.securesms.linkpreview.LinkPreview; import org.thoughtcrime.securesms.sharing.MultiShareArgs; import org.thoughtcrime.securesms.sharing.MultiShareSender; import org.thoughtcrime.securesms.util.DefaultValueLiveData; -import org.thoughtcrime.securesms.util.MappingModelList; +import org.thoughtcrime.securesms.util.adapter.mapping.MappingModelList; import org.thoughtcrime.securesms.util.Util; class ShareInterstitialViewModel extends ViewModel { diff --git a/app/src/main/java/org/thoughtcrime/securesms/subscription/Subscription.kt b/app/src/main/java/org/thoughtcrime/securesms/subscription/Subscription.kt index b56ef0f46..1bdd4eacb 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/subscription/Subscription.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/subscription/Subscription.kt @@ -15,8 +15,9 @@ import org.thoughtcrime.securesms.badges.models.Badge import org.thoughtcrime.securesms.components.settings.PreferenceModel import org.thoughtcrime.securesms.payments.FiatMoneyUtil import org.thoughtcrime.securesms.util.DateUtils -import org.thoughtcrime.securesms.util.MappingAdapter -import org.thoughtcrime.securesms.util.MappingViewHolder +import org.thoughtcrime.securesms.util.adapter.mapping.LayoutFactory +import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter +import org.thoughtcrime.securesms.util.adapter.mapping.MappingViewHolder import org.thoughtcrime.securesms.util.visible import java.util.Currency import java.util.Locale @@ -34,8 +35,8 @@ data class Subscription( companion object { fun register(adapter: MappingAdapter) { - adapter.registerFactory(Model::class.java, MappingAdapter.LayoutFactory({ ViewHolder(it) }, R.layout.subscription_preference)) - adapter.registerFactory(LoaderModel::class.java, MappingAdapter.LayoutFactory({ LoaderViewHolder(it) }, R.layout.subscription_preference_loader)) + adapter.registerFactory(Model::class.java, LayoutFactory({ ViewHolder(it) }, R.layout.subscription_preference)) + adapter.registerFactory(LoaderModel::class.java, LayoutFactory({ LoaderViewHolder(it) }, R.layout.subscription_preference_loader)) } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/util/adapter/mapping/Factory.java b/app/src/main/java/org/thoughtcrime/securesms/util/adapter/mapping/Factory.java new file mode 100644 index 000000000..5dd7793f5 --- /dev/null +++ b/app/src/main/java/org/thoughtcrime/securesms/util/adapter/mapping/Factory.java @@ -0,0 +1,9 @@ +package org.thoughtcrime.securesms.util.adapter.mapping; + +import android.view.ViewGroup; + +import androidx.annotation.NonNull; + +public interface Factory> { + @NonNull MappingViewHolder createViewHolder(@NonNull ViewGroup parent); +} diff --git a/app/src/main/java/org/thoughtcrime/securesms/util/adapter/mapping/LayoutFactory.java b/app/src/main/java/org/thoughtcrime/securesms/util/adapter/mapping/LayoutFactory.java new file mode 100644 index 000000000..168a53f0a --- /dev/null +++ b/app/src/main/java/org/thoughtcrime/securesms/util/adapter/mapping/LayoutFactory.java @@ -0,0 +1,25 @@ +package org.thoughtcrime.securesms.util.adapter.mapping; + +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import androidx.annotation.LayoutRes; +import androidx.annotation.NonNull; + +import org.whispersystems.libsignal.util.guava.Function; + +public class LayoutFactory> implements Factory { + private Function> creator; + private final int layout; + + public LayoutFactory(@NonNull Function> creator, @LayoutRes int layout) { + this.creator = creator; + this.layout = layout; + } + + @Override + public @NonNull MappingViewHolder createViewHolder(@NonNull ViewGroup parent) { + return creator.apply(LayoutInflater.from(parent.getContext()).inflate(layout, parent, false)); + } +} diff --git a/app/src/main/java/org/thoughtcrime/securesms/util/MappingAdapter.java b/app/src/main/java/org/thoughtcrime/securesms/util/adapter/mapping/MappingAdapter.java similarity index 72% rename from app/src/main/java/org/thoughtcrime/securesms/util/MappingAdapter.java rename to app/src/main/java/org/thoughtcrime/securesms/util/adapter/mapping/MappingAdapter.java index 8d0bc2b9b..b215bde6d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/util/MappingAdapter.java +++ b/app/src/main/java/org/thoughtcrime/securesms/util/adapter/mapping/MappingAdapter.java @@ -1,18 +1,15 @@ -package org.thoughtcrime.securesms.util; +package org.thoughtcrime.securesms.util.adapter.mapping; -import android.annotation.SuppressLint; -import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import androidx.annotation.LayoutRes; import androidx.annotation.NonNull; -import androidx.annotation.Nullable; import androidx.recyclerview.widget.DefaultItemAnimator; -import androidx.recyclerview.widget.DiffUtil; import androidx.recyclerview.widget.ListAdapter; import androidx.recyclerview.widget.RecyclerView; +import org.thoughtcrime.securesms.util.NoCrossfadeChangeDefaultAnimator; import org.whispersystems.libsignal.util.guava.Function; import java.util.HashMap; @@ -129,54 +126,4 @@ public class MappingAdapter extends ListAdapter, MappingViewHold } return Optional.empty(); } - - private static class MappingDiffCallback extends DiffUtil.ItemCallback> { - @Override - public boolean areItemsTheSame(@NonNull MappingModel oldItem, @NonNull MappingModel newItem) { - if (oldItem.getClass() == newItem.getClass()) { - //noinspection unchecked - return oldItem.areItemsTheSame(newItem); - } - return false; - } - - @SuppressLint("DiffUtilEquals") - @Override - public boolean areContentsTheSame(@NonNull MappingModel oldItem, @NonNull MappingModel newItem) { - if (oldItem.getClass() == newItem.getClass()) { - //noinspection unchecked - return oldItem.areContentsTheSame(newItem); - } - return false; - } - - @Override - public @Nullable Object getChangePayload(@NonNull MappingModel oldItem, @NonNull MappingModel newItem) { - if (oldItem.getClass() == newItem.getClass()) { - //noinspection unchecked - return oldItem.getChangePayload(newItem); - } - - return null; - } - } - - public interface Factory> { - @NonNull MappingViewHolder createViewHolder(@NonNull ViewGroup parent); - } - - public static class LayoutFactory> implements Factory { - private Function> creator; - private final int layout; - - public LayoutFactory(@NonNull Function> creator, @LayoutRes int layout) { - this.creator = creator; - this.layout = layout; - } - - @Override - public @NonNull MappingViewHolder createViewHolder(@NonNull ViewGroup parent) { - return creator.apply(LayoutInflater.from(parent.getContext()).inflate(layout, parent, false)); - } - } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/util/adapter/mapping/MappingDiffCallback.java b/app/src/main/java/org/thoughtcrime/securesms/util/adapter/mapping/MappingDiffCallback.java new file mode 100644 index 000000000..b48d4ad8c --- /dev/null +++ b/app/src/main/java/org/thoughtcrime/securesms/util/adapter/mapping/MappingDiffCallback.java @@ -0,0 +1,38 @@ +package org.thoughtcrime.securesms.util.adapter.mapping; + +import android.annotation.SuppressLint; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.recyclerview.widget.DiffUtil; + +class MappingDiffCallback extends DiffUtil.ItemCallback> { + @Override + public boolean areItemsTheSame(@NonNull MappingModel oldItem, @NonNull MappingModel newItem) { + if (oldItem.getClass() == newItem.getClass()) { + //noinspection unchecked + return oldItem.areItemsTheSame(newItem); + } + return false; + } + + @SuppressLint("DiffUtilEquals") + @Override + public boolean areContentsTheSame(@NonNull MappingModel oldItem, @NonNull MappingModel newItem) { + if (oldItem.getClass() == newItem.getClass()) { + //noinspection unchecked + return oldItem.areContentsTheSame(newItem); + } + return false; + } + + @Override + public @Nullable Object getChangePayload(@NonNull MappingModel oldItem, @NonNull MappingModel newItem) { + if (oldItem.getClass() == newItem.getClass()) { + //noinspection unchecked + return oldItem.getChangePayload(newItem); + } + + return null; + } +} diff --git a/app/src/main/java/org/thoughtcrime/securesms/util/MappingModel.java b/app/src/main/java/org/thoughtcrime/securesms/util/adapter/mapping/MappingModel.java similarity index 83% rename from app/src/main/java/org/thoughtcrime/securesms/util/MappingModel.java rename to app/src/main/java/org/thoughtcrime/securesms/util/adapter/mapping/MappingModel.java index 21fc15124..e6eae7502 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/util/MappingModel.java +++ b/app/src/main/java/org/thoughtcrime/securesms/util/adapter/mapping/MappingModel.java @@ -1,4 +1,4 @@ -package org.thoughtcrime.securesms.util; +package org.thoughtcrime.securesms.util.adapter.mapping; import androidx.annotation.NonNull; import androidx.annotation.Nullable; diff --git a/app/src/main/java/org/thoughtcrime/securesms/util/MappingModelList.java b/app/src/main/java/org/thoughtcrime/securesms/util/adapter/mapping/MappingModelList.java similarity index 97% rename from app/src/main/java/org/thoughtcrime/securesms/util/MappingModelList.java rename to app/src/main/java/org/thoughtcrime/securesms/util/adapter/mapping/MappingModelList.java index 73f281b2c..e855ccb6a 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/util/MappingModelList.java +++ b/app/src/main/java/org/thoughtcrime/securesms/util/adapter/mapping/MappingModelList.java @@ -1,4 +1,4 @@ -package org.thoughtcrime.securesms.util; +package org.thoughtcrime.securesms.util.adapter.mapping; import androidx.annotation.NonNull; diff --git a/app/src/main/java/org/thoughtcrime/securesms/util/MappingViewHolder.java b/app/src/main/java/org/thoughtcrime/securesms/util/adapter/mapping/MappingViewHolder.java similarity index 95% rename from app/src/main/java/org/thoughtcrime/securesms/util/MappingViewHolder.java rename to app/src/main/java/org/thoughtcrime/securesms/util/adapter/mapping/MappingViewHolder.java index 1ba829dfa..fde4990cd 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/util/MappingViewHolder.java +++ b/app/src/main/java/org/thoughtcrime/securesms/util/adapter/mapping/MappingViewHolder.java @@ -1,4 +1,4 @@ -package org.thoughtcrime.securesms.util; +package org.thoughtcrime.securesms.util.adapter.mapping; import android.content.Context; import android.view.View; diff --git a/app/src/main/java/org/thoughtcrime/securesms/util/viewholders/RecipientMappingModel.java b/app/src/main/java/org/thoughtcrime/securesms/util/viewholders/RecipientMappingModel.java index 420c8916c..962ddeeff 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/util/viewholders/RecipientMappingModel.java +++ b/app/src/main/java/org/thoughtcrime/securesms/util/viewholders/RecipientMappingModel.java @@ -7,7 +7,7 @@ import androidx.annotation.NonNull; import org.thoughtcrime.securesms.dependencies.ApplicationDependencies; import org.thoughtcrime.securesms.recipients.Recipient; import org.thoughtcrime.securesms.recipients.RecipientId; -import org.thoughtcrime.securesms.util.MappingModel; +import org.thoughtcrime.securesms.util.adapter.mapping.MappingModel; import java.util.Objects; diff --git a/app/src/main/java/org/thoughtcrime/securesms/util/viewholders/RecipientViewHolder.java b/app/src/main/java/org/thoughtcrime/securesms/util/viewholders/RecipientViewHolder.java index 194040cd4..bdde025a4 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/util/viewholders/RecipientViewHolder.java +++ b/app/src/main/java/org/thoughtcrime/securesms/util/viewholders/RecipientViewHolder.java @@ -11,8 +11,9 @@ import org.thoughtcrime.securesms.R; import org.thoughtcrime.securesms.badges.BadgeImageView; import org.thoughtcrime.securesms.components.AvatarImageView; import org.thoughtcrime.securesms.recipients.Recipient; -import org.thoughtcrime.securesms.util.MappingAdapter; -import org.thoughtcrime.securesms.util.MappingViewHolder; +import org.thoughtcrime.securesms.util.adapter.mapping.Factory; +import org.thoughtcrime.securesms.util.adapter.mapping.LayoutFactory; +import org.thoughtcrime.securesms.util.adapter.mapping.MappingViewHolder; public class RecipientViewHolder> extends MappingViewHolder { @@ -57,8 +58,8 @@ public class RecipientViewHolder> extends Map } } - public static @NonNull > MappingAdapter.Factory createFactory(@LayoutRes int layout, @Nullable EventListener listener) { - return new MappingAdapter.LayoutFactory<>(view -> new RecipientViewHolder<>(view, listener), layout); + public static @NonNull > Factory createFactory(@LayoutRes int layout, @Nullable EventListener listener) { + return new LayoutFactory<>(view -> new RecipientViewHolder<>(view, listener), layout); } public interface EventListener> { diff --git a/app/src/main/java/org/thoughtcrime/securesms/wallpaper/ChatWallpaperPreviewActivity.java b/app/src/main/java/org/thoughtcrime/securesms/wallpaper/ChatWallpaperPreviewActivity.java index d0496e5d8..f90180950 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/wallpaper/ChatWallpaperPreviewActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/wallpaper/ChatWallpaperPreviewActivity.java @@ -23,7 +23,7 @@ import org.thoughtcrime.securesms.recipients.RecipientId; import org.thoughtcrime.securesms.util.DynamicNoActionBarTheme; import org.thoughtcrime.securesms.util.DynamicTheme; import org.thoughtcrime.securesms.util.FullscreenHelper; -import org.thoughtcrime.securesms.util.MappingModel; +import org.thoughtcrime.securesms.util.adapter.mapping.MappingModel; import org.thoughtcrime.securesms.util.Projection; import org.thoughtcrime.securesms.util.ViewUtil; import org.thoughtcrime.securesms.util.WindowUtil; diff --git a/app/src/main/java/org/thoughtcrime/securesms/wallpaper/ChatWallpaperPreviewAdapter.java b/app/src/main/java/org/thoughtcrime/securesms/wallpaper/ChatWallpaperPreviewAdapter.java index e98b04ae2..7a06c123f 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/wallpaper/ChatWallpaperPreviewAdapter.java +++ b/app/src/main/java/org/thoughtcrime/securesms/wallpaper/ChatWallpaperPreviewAdapter.java @@ -1,7 +1,7 @@ package org.thoughtcrime.securesms.wallpaper; import org.thoughtcrime.securesms.R; -import org.thoughtcrime.securesms.util.MappingAdapter; +import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter; class ChatWallpaperPreviewAdapter extends MappingAdapter { ChatWallpaperPreviewAdapter() { diff --git a/app/src/main/java/org/thoughtcrime/securesms/wallpaper/ChatWallpaperSelectionAdapter.java b/app/src/main/java/org/thoughtcrime/securesms/wallpaper/ChatWallpaperSelectionAdapter.java index 3b0f23204..c7dab1eb3 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/wallpaper/ChatWallpaperSelectionAdapter.java +++ b/app/src/main/java/org/thoughtcrime/securesms/wallpaper/ChatWallpaperSelectionAdapter.java @@ -3,7 +3,7 @@ package org.thoughtcrime.securesms.wallpaper; import androidx.annotation.Nullable; import org.thoughtcrime.securesms.R; -import org.thoughtcrime.securesms.util.MappingAdapter; +import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter; class ChatWallpaperSelectionAdapter extends MappingAdapter { ChatWallpaperSelectionAdapter(@Nullable ChatWallpaperViewHolder.EventListener eventListener) { diff --git a/app/src/main/java/org/thoughtcrime/securesms/wallpaper/ChatWallpaperSelectionMappingModel.java b/app/src/main/java/org/thoughtcrime/securesms/wallpaper/ChatWallpaperSelectionMappingModel.java index 75f08bc8a..126a0f900 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/wallpaper/ChatWallpaperSelectionMappingModel.java +++ b/app/src/main/java/org/thoughtcrime/securesms/wallpaper/ChatWallpaperSelectionMappingModel.java @@ -4,7 +4,7 @@ import android.widget.ImageView; import androidx.annotation.NonNull; -import org.thoughtcrime.securesms.util.MappingModel; +import org.thoughtcrime.securesms.util.adapter.mapping.MappingModel; class ChatWallpaperSelectionMappingModel implements MappingModel { diff --git a/app/src/main/java/org/thoughtcrime/securesms/wallpaper/ChatWallpaperViewHolder.java b/app/src/main/java/org/thoughtcrime/securesms/wallpaper/ChatWallpaperViewHolder.java index 3bf530fa0..c1ae7d93f 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/wallpaper/ChatWallpaperViewHolder.java +++ b/app/src/main/java/org/thoughtcrime/securesms/wallpaper/ChatWallpaperViewHolder.java @@ -13,8 +13,9 @@ import com.google.android.exoplayer2.ui.AspectRatioFrameLayout; import org.thoughtcrime.securesms.R; import org.thoughtcrime.securesms.util.DisplayMetricsUtil; -import org.thoughtcrime.securesms.util.MappingAdapter; -import org.thoughtcrime.securesms.util.MappingViewHolder; +import org.thoughtcrime.securesms.util.adapter.mapping.Factory; +import org.thoughtcrime.securesms.util.adapter.mapping.LayoutFactory; +import org.thoughtcrime.securesms.util.adapter.mapping.MappingViewHolder; class ChatWallpaperViewHolder extends MappingViewHolder { @@ -50,8 +51,8 @@ class ChatWallpaperViewHolder extends MappingViewHolder createFactory(@LayoutRes int layout, @Nullable EventListener listener, @Nullable DisplayMetrics windowDisplayMetrics) { - return new MappingAdapter.LayoutFactory<>(view -> new ChatWallpaperViewHolder(view, listener, windowDisplayMetrics), layout); + public static @NonNull Factory createFactory(@LayoutRes int layout, @Nullable EventListener listener, @Nullable DisplayMetrics windowDisplayMetrics) { + return new LayoutFactory<>(view -> new ChatWallpaperViewHolder(view, listener, windowDisplayMetrics), layout); } public interface EventListener { diff --git a/app/src/main/java/org/thoughtcrime/securesms/wallpaper/ChatWallpaperViewModel.java b/app/src/main/java/org/thoughtcrime/securesms/wallpaper/ChatWallpaperViewModel.java index 318fbbc26..19d775fa2 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/wallpaper/ChatWallpaperViewModel.java +++ b/app/src/main/java/org/thoughtcrime/securesms/wallpaper/ChatWallpaperViewModel.java @@ -18,7 +18,7 @@ import org.thoughtcrime.securesms.recipients.Recipient; import org.thoughtcrime.securesms.recipients.RecipientForeverObserver; import org.thoughtcrime.securesms.recipients.RecipientId; import org.thoughtcrime.securesms.util.DefaultValueLiveData; -import org.thoughtcrime.securesms.util.MappingModel; +import org.thoughtcrime.securesms.util.adapter.mapping.MappingModel; import org.thoughtcrime.securesms.util.livedata.LiveDataUtil; import org.whispersystems.libsignal.util.guava.Optional;