mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-20 16:49:40 +01:00
Upgrade kotlin to 1.6.21
Also fix a collection of warnings.
This commit is contained in:
@@ -183,7 +183,7 @@ sealed class AvatarPickerViewModel(private val repository: AvatarPickerRepositor
|
||||
private val isNewGroup: Boolean,
|
||||
private val groupAvatarMedia: Media?
|
||||
) : ViewModelProvider.Factory {
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
val viewModel = if (groupId == null && !isNewGroup) {
|
||||
SelfAvatarPickerViewModel(repository)
|
||||
} else if (groupId == null) {
|
||||
|
||||
@@ -33,7 +33,7 @@ class TextAvatarCreationViewModel(initialText: Avatar.Text) : ViewModel() {
|
||||
}
|
||||
|
||||
class Factory(private val initialText: Avatar.Text) : ViewModelProvider.Factory {
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return requireNotNull(modelClass.cast(TextAvatarCreationViewModel(initialText)))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@ class VectorAvatarCreationViewModel(initialAvatar: Avatar.Vector) : ViewModel()
|
||||
fun getCurrentAvatar() = store.state.currentAvatar
|
||||
|
||||
class Factory(private val initialAvatar: Avatar.Vector) : ViewModelProvider.Factory {
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return requireNotNull(modelClass.cast(VectorAvatarCreationViewModel(initialAvatar)))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -239,7 +239,7 @@ class GiftFlowViewModel(
|
||||
private val repository: GiftFlowRepository,
|
||||
private val donationPaymentRepository: DonationPaymentRepository
|
||||
) : ViewModelProvider.Factory {
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return modelClass.cast(
|
||||
GiftFlowViewModel(
|
||||
repository,
|
||||
|
||||
@@ -143,7 +143,7 @@ class ViewReceivedGiftViewModel(
|
||||
private val repository: ViewGiftRepository,
|
||||
private val badgeRepository: BadgeRepository
|
||||
) : ViewModelProvider.Factory {
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return modelClass.cast(ViewReceivedGiftViewModel(sentFrom, messageId, repository, badgeRepository)) as T
|
||||
}
|
||||
}
|
||||
|
||||
@@ -45,7 +45,7 @@ class ViewSentGiftViewModel(
|
||||
private val giftBadge: GiftBadge,
|
||||
private val repository: ViewGiftRepository
|
||||
) : ViewModelProvider.Factory {
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return modelClass.cast(ViewSentGiftViewModel(sentFrom, giftBadge, repository)) as T
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,7 +66,7 @@ class SelectFeaturedBadgeViewModel(private val repository: BadgeRepository) : Vi
|
||||
}
|
||||
|
||||
class Factory(private val badgeRepository: BadgeRepository) : ViewModelProvider.Factory {
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return requireNotNull(modelClass.cast(SelectFeaturedBadgeViewModel(badgeRepository)))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -38,7 +38,7 @@ class BecomeASustainerViewModel(subscriptionsRepository: SubscriptionsRepository
|
||||
}
|
||||
|
||||
class Factory(private val subscriptionsRepository: SubscriptionsRepository) : ViewModelProvider.Factory {
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return modelClass.cast(BecomeASustainerViewModel(subscriptionsRepository))!!
|
||||
}
|
||||
}
|
||||
|
||||
@@ -91,7 +91,7 @@ class BadgesOverviewViewModel(
|
||||
private val badgeRepository: BadgeRepository,
|
||||
private val subscriptionsRepository: SubscriptionsRepository
|
||||
) : ViewModelProvider.Factory {
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return requireNotNull(modelClass.cast(BadgesOverviewViewModel(badgeRepository, subscriptionsRepository)))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -52,7 +52,7 @@ class ViewBadgeViewModel(
|
||||
private val recipientId: RecipientId,
|
||||
private val repository: BadgeRepository
|
||||
) : ViewModelProvider.Factory {
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return requireNotNull(modelClass.cast(ViewBadgeViewModel(startBadge, recipientId, repository)))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -165,7 +165,7 @@ class ChangeNumberViewModel(
|
||||
|
||||
class Factory(owner: SavedStateRegistryOwner) : AbstractSavedStateViewModelFactory(owner, null) {
|
||||
|
||||
override fun <T : ViewModel?> create(key: String, modelClass: Class<T>, handle: SavedStateHandle): T {
|
||||
override fun <T : ViewModel> create(key: String, modelClass: Class<T>, handle: SavedStateHandle): T {
|
||||
val context: Application = ApplicationDependencies.getApplication()
|
||||
val localNumber: String = SignalStore.account().e164!!
|
||||
val password: String = SignalStore.account().servicePassword!!
|
||||
|
||||
@@ -57,7 +57,7 @@ class ChatsSettingsViewModel(private val repository: ChatsSettingsRepository) :
|
||||
}
|
||||
|
||||
class Factory(private val repository: ChatsSettingsRepository) : ViewModelProvider.Factory {
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return requireNotNull(modelClass.cast(ChatsSettingsViewModel(repository)))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -77,7 +77,7 @@ class DataAndStorageSettingsViewModel(
|
||||
private val repository: DataAndStorageSettingsRepository
|
||||
) :
|
||||
ViewModelProvider.Factory {
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return requireNotNull(modelClass.cast(DataAndStorageSettingsViewModel(sharedPreferences, repository)))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -143,7 +143,7 @@ class InternalSettingsViewModel(private val repository: InternalSettingsReposito
|
||||
)
|
||||
|
||||
class Factory(private val repository: InternalSettingsRepository) : ViewModelProvider.Factory {
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return requireNotNull(modelClass.cast(InternalSettingsViewModel(repository)))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -115,7 +115,7 @@ class NotificationsSettingsViewModel(private val sharedPreferences: SharedPrefer
|
||||
)
|
||||
|
||||
class Factory(private val sharedPreferences: SharedPreferences) : ViewModelProvider.Factory {
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return requireNotNull(modelClass.cast(NotificationsSettingsViewModel(sharedPreferences)))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -78,7 +78,7 @@ class NotificationProfileSelectionViewModel(private val repository: Notification
|
||||
}
|
||||
|
||||
class Factory(private val notificationProfilesRepository: NotificationProfilesRepository) : ViewModelProvider.Factory {
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return modelClass.cast(NotificationProfileSelectionViewModel(notificationProfilesRepository))!!
|
||||
}
|
||||
}
|
||||
|
||||
@@ -126,7 +126,7 @@ class PrivacySettingsViewModel(
|
||||
private val sharedPreferences: SharedPreferences,
|
||||
private val repository: PrivacySettingsRepository
|
||||
) : ViewModelProvider.Factory {
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return requireNotNull(modelClass.cast(PrivacySettingsViewModel(sharedPreferences, repository)))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -160,7 +160,7 @@ class AdvancedPrivacySettingsViewModel(
|
||||
private val sharedPreferences: SharedPreferences,
|
||||
private val repository: AdvancedPrivacySettingsRepository
|
||||
) : ViewModelProvider.Factory {
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return requireNotNull(
|
||||
modelClass.cast(
|
||||
AdvancedPrivacySettingsViewModel(
|
||||
|
||||
@@ -58,7 +58,7 @@ class ExpireTimerSettingsViewModel(val config: Config, private val repository: E
|
||||
class Factory(context: Context, private val config: Config) : ViewModelProvider.Factory {
|
||||
val repository = ExpireTimerSettingsRepository(context.applicationContext)
|
||||
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return requireNotNull(modelClass.cast(ExpireTimerSettingsViewModel(config, repository)))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -213,7 +213,7 @@ class DonationPaymentRepository(activity: Activity) : StripeApi.PaymentIntentFet
|
||||
DonationReceiptRecord.createForGift(price)
|
||||
}
|
||||
|
||||
val donationTypeLabel = donationReceiptRecord.type.code.capitalize(Locale.US)
|
||||
val donationTypeLabel = donationReceiptRecord.type.code.replaceFirstChar { c -> if (c.isLowerCase()) c.titlecase(Locale.US) else c.toString() }
|
||||
|
||||
Log.d(TAG, "Confirmed payment intent. Recording $donationTypeLabel receipt and submitting badge reimbursement job chain.", true)
|
||||
SignalDatabase.donationReceipts.addReceipt(donationReceiptRecord)
|
||||
|
||||
@@ -233,7 +233,7 @@ class BoostViewModel(
|
||||
private val donationPaymentRepository: DonationPaymentRepository,
|
||||
private val fetchTokenRequestCode: Int
|
||||
) : ViewModelProvider.Factory {
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return modelClass.cast(BoostViewModel(boostRepository, donationPaymentRepository, fetchTokenRequestCode))!!
|
||||
}
|
||||
}
|
||||
|
||||
@@ -84,7 +84,7 @@ class SetCurrencyViewModel(
|
||||
}
|
||||
|
||||
class Factory(private val isOneTime: Boolean, private val supportedCurrencyCodes: List<String>) : ViewModelProvider.Factory {
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return modelClass.cast(SetCurrencyViewModel(isOneTime, supportedCurrencyCodes))!!
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,13 +22,8 @@ object DonationErrorDialogs {
|
||||
|
||||
val params = DonationErrorParams.create(context, throwable, callback)
|
||||
|
||||
if (params.title != null) {
|
||||
builder.setTitle(params.title)
|
||||
}
|
||||
|
||||
if (params.message != null) {
|
||||
builder.setMessage(params.message)
|
||||
}
|
||||
builder.setTitle(params.title)
|
||||
.setMessage(params.message)
|
||||
|
||||
if (params.positiveAction != null) {
|
||||
builder.setPositiveButton(params.positiveAction.label) { _, _ -> params.positiveAction.action() }
|
||||
|
||||
@@ -110,7 +110,7 @@ class ManageDonationsViewModel(
|
||||
class Factory(
|
||||
private val subscriptionsRepository: SubscriptionsRepository
|
||||
) : ViewModelProvider.Factory {
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return modelClass.cast(ManageDonationsViewModel(subscriptionsRepository))!!
|
||||
}
|
||||
}
|
||||
|
||||
@@ -63,7 +63,7 @@ class DonationReceiptDetailViewModel(id: Long, private val repository: DonationR
|
||||
}
|
||||
|
||||
class Factory(private val id: Long, private val repository: DonationReceiptDetailRepository) : ViewModelProvider.Factory {
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return modelClass.cast(DonationReceiptDetailViewModel(id, repository)) as T
|
||||
}
|
||||
}
|
||||
|
||||
@@ -32,7 +32,7 @@ class DonationReceiptListPageViewModel(type: DonationReceiptRecord.Type?, reposi
|
||||
}
|
||||
|
||||
class Factory(private val type: DonationReceiptRecord.Type?, private val repository: DonationReceiptListPageRepository) : ViewModelProvider.Factory {
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return modelClass.cast(DonationReceiptListPageViewModel(type, repository)) as T
|
||||
}
|
||||
}
|
||||
|
||||
@@ -49,7 +49,7 @@ class DonationReceiptListViewModel(private val repository: DonationReceiptListRe
|
||||
}
|
||||
|
||||
class Factory(private val repository: DonationReceiptListRepository) : ViewModelProvider.Factory {
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return modelClass.cast(DonationReceiptListViewModel(repository)) as T
|
||||
}
|
||||
}
|
||||
|
||||
@@ -296,7 +296,7 @@ class SubscribeViewModel(
|
||||
private val donationPaymentRepository: DonationPaymentRepository,
|
||||
private val fetchTokenRequestCode: Int
|
||||
) : ViewModelProvider.Factory {
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return modelClass.cast(SubscribeViewModel(subscriptionsRepository, donationPaymentRepository, fetchTokenRequestCode))!!
|
||||
}
|
||||
}
|
||||
|
||||
@@ -471,7 +471,7 @@ sealed class ConversationSettingsViewModel(
|
||||
private val repository: ConversationSettingsRepository,
|
||||
) : ViewModelProvider.Factory {
|
||||
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return requireNotNull(
|
||||
modelClass.cast(
|
||||
when {
|
||||
|
||||
@@ -280,7 +280,7 @@ class InternalConversationSettingsFragment : DSLSettingsFragment(
|
||||
}
|
||||
|
||||
class MyViewModelFactory(val recipientId: RecipientId) : ViewModelProvider.NewInstanceFactory() {
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return Objects.requireNonNull(modelClass.cast(InternalViewModel(recipientId)))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -69,7 +69,7 @@ class PermissionsSettingsViewModel(
|
||||
private val groupId: GroupId,
|
||||
private val repository: PermissionsSettingsRepository
|
||||
) : ViewModelProvider.Factory {
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return requireNotNull(modelClass.cast(PermissionsSettingsViewModel(groupId, repository)))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -53,7 +53,7 @@ class SoundsAndNotificationsSettingsViewModel(
|
||||
private val recipientId: RecipientId,
|
||||
private val repository: SoundsAndNotificationsSettingsRepository
|
||||
) : ViewModelProvider.Factory {
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return requireNotNull(modelClass.cast(SoundsAndNotificationsSettingsViewModel(recipientId, repository)))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -78,7 +78,7 @@ class CustomNotificationsSettingsViewModel(
|
||||
private val recipientId: RecipientId,
|
||||
private val repository: CustomNotificationsSettingsRepository
|
||||
) : ViewModelProvider.Factory {
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return requireNotNull(modelClass.cast(CustomNotificationsSettingsViewModel(recipientId, repository)))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,8 +13,8 @@ import org.thoughtcrime.securesms.util.adapter.mapping.MappingViewHolder
|
||||
object Button {
|
||||
|
||||
fun register(mappingAdapter: MappingAdapter) {
|
||||
mappingAdapter.registerFactory(Model.Primary::class.java, LayoutFactory({ ViewHolder(it) as MappingViewHolder<Model.Primary> }, R.layout.dsl_button_primary))
|
||||
mappingAdapter.registerFactory(Model.SecondaryNoOutline::class.java, LayoutFactory({ ViewHolder(it) as MappingViewHolder<Model.SecondaryNoOutline> }, R.layout.dsl_button_secondary))
|
||||
mappingAdapter.registerFactory(Model.Primary::class.java, LayoutFactory({ ViewHolder(it) }, R.layout.dsl_button_primary))
|
||||
mappingAdapter.registerFactory(Model.SecondaryNoOutline::class.java, LayoutFactory({ ViewHolder(it) }, R.layout.dsl_button_secondary))
|
||||
}
|
||||
|
||||
sealed class Model<T : Model<T>>(
|
||||
@@ -42,11 +42,11 @@ object Button {
|
||||
) : Model<SecondaryNoOutline>(title, icon, isEnabled, onClick)
|
||||
}
|
||||
|
||||
class ViewHolder(itemView: View) : MappingViewHolder<Model<*>>(itemView) {
|
||||
class ViewHolder<T : Model<T>>(itemView: View) : MappingViewHolder<T>(itemView) {
|
||||
|
||||
private val button: MaterialButton = itemView as MaterialButton
|
||||
|
||||
override fun bind(model: Model<*>) {
|
||||
override fun bind(model: T) {
|
||||
button.text = model.title?.resolve(context)
|
||||
button.setOnClickListener {
|
||||
model.onClick()
|
||||
|
||||
@@ -134,7 +134,7 @@ object ContactSearchItems {
|
||||
/**
|
||||
* Base Recipient View Holder
|
||||
*/
|
||||
private abstract class BaseRecipientViewHolder<T, D : ContactSearchData>(itemView: View, private val displayCheckBox: Boolean, val onClick: (D, Boolean) -> Unit) : MappingViewHolder<T>(itemView) {
|
||||
private abstract class BaseRecipientViewHolder<T : MappingModel<T>, D : ContactSearchData>(itemView: View, private val displayCheckBox: Boolean, val onClick: (D, Boolean) -> Unit) : MappingViewHolder<T>(itemView) {
|
||||
|
||||
protected val avatar: AvatarImageView = itemView.findViewById(R.id.contact_photo_image)
|
||||
protected val badge: BadgeImageView = itemView.findViewById(R.id.contact_badge)
|
||||
|
||||
@@ -14,7 +14,7 @@ class ContactSearchPagedDataSource(
|
||||
) : PagedDataSource<ContactSearchKey, ContactSearchData> {
|
||||
|
||||
override fun size(): Int {
|
||||
return contactConfiguration.sections.sumBy {
|
||||
return contactConfiguration.sections.sumOf {
|
||||
getSectionSize(it, contactConfiguration.query)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -98,7 +98,7 @@ class ContactSearchViewModel(
|
||||
}
|
||||
|
||||
class Factory(private val selectionLimits: SelectionLimits, private val repository: ContactSearchRepository) : ViewModelProvider.Factory {
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return modelClass.cast(ContactSearchViewModel(selectionLimits, repository)) as T
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,6 +14,7 @@ import android.os.Parcel
|
||||
import android.os.Parcelable
|
||||
import androidx.annotation.ColorInt
|
||||
import com.google.common.base.Objects
|
||||
import kotlinx.parcelize.IgnoredOnParcel
|
||||
import kotlinx.parcelize.Parcelize
|
||||
import org.signal.core.util.ColorUtil
|
||||
import org.thoughtcrime.securesms.components.RotatableGradientDrawable
|
||||
@@ -62,6 +63,7 @@ class ChatColors(
|
||||
/**
|
||||
* Returns the ColorFilter to apply to a conversation bubble or other relevant piece of UI.
|
||||
*/
|
||||
@IgnoredOnParcel
|
||||
val chatBubbleColorFilter: ColorFilter = if (Build.VERSION.SDK_INT >= 21) {
|
||||
PorterDuffColorFilter(Color.TRANSPARENT, PorterDuff.Mode.SRC_IN)
|
||||
} else {
|
||||
|
||||
@@ -51,7 +51,7 @@ class ChatColorSelectionViewModel(private val repository: ChatColorSelectionRepo
|
||||
}
|
||||
|
||||
class Factory(private val repository: ChatColorSelectionRepository) : ViewModelProvider.Factory {
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T = requireNotNull(modelClass.cast(ChatColorSelectionViewModel(repository)))
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T = requireNotNull(modelClass.cast(ChatColorSelectionViewModel(repository)))
|
||||
}
|
||||
|
||||
companion object {
|
||||
|
||||
@@ -141,7 +141,7 @@ class CustomChatColorCreatorViewModel(
|
||||
private val recipientId: RecipientId?,
|
||||
private val chatColorCreatorRepository: CustomChatColorCreatorRepository
|
||||
) : ViewModelProvider.Factory {
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return requireNotNull(modelClass.cast(CustomChatColorCreatorViewModel(maxSliderValue, chatColorsId, recipientId, chatColorCreatorRepository)))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -80,7 +80,7 @@ class DraftViewModel(
|
||||
|
||||
class Factory(private val repository: DraftRepository) : ViewModelProvider.Factory {
|
||||
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return requireNotNull(modelClass.cast(DraftViewModel(repository)))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -84,7 +84,7 @@ class MultiselectForwardFragment :
|
||||
private var handler: Handler? = null
|
||||
|
||||
private fun createViewModelFactory(): MultiselectForwardViewModel.Factory {
|
||||
return MultiselectForwardViewModel.Factory(getMultiShareArgs(), isSelectionOnly, MultiselectForwardRepository(requireContext()))
|
||||
return MultiselectForwardViewModel.Factory(getMultiShareArgs(), isSelectionOnly, MultiselectForwardRepository())
|
||||
}
|
||||
|
||||
private fun getMultiShareArgs(): ArrayList<MultiShareArgs> = requireNotNull(requireArguments().getParcelableArrayList(ARG_MULTISHARE_ARGS))
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
package org.thoughtcrime.securesms.conversation.mutiselect.forward
|
||||
|
||||
import android.content.Context
|
||||
import io.reactivex.rxjava3.core.Single
|
||||
import org.signal.core.util.concurrent.SignalExecutors
|
||||
import org.thoughtcrime.securesms.contacts.paged.ContactSearchKey
|
||||
@@ -11,7 +10,7 @@ import org.thoughtcrime.securesms.sharing.MultiShareArgs
|
||||
import org.thoughtcrime.securesms.sharing.MultiShareSender
|
||||
import java.util.Optional
|
||||
|
||||
class MultiselectForwardRepository(context: Context) {
|
||||
class MultiselectForwardRepository {
|
||||
|
||||
class MultiselectForwardResultHandlers(
|
||||
val onAllMessageSentSuccessfully: () -> Unit,
|
||||
|
||||
@@ -70,7 +70,7 @@ class MultiselectForwardViewModel(
|
||||
private val isSelectionOnly: Boolean,
|
||||
private val repository: MultiselectForwardRepository,
|
||||
) : ViewModelProvider.Factory {
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return requireNotNull(modelClass.cast(MultiselectForwardViewModel(records, isSelectionOnly, repository)))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
package org.thoughtcrime.securesms.database
|
||||
|
||||
import android.content.Context
|
||||
import androidx.annotation.VisibleForTesting
|
||||
import org.thoughtcrime.securesms.database.model.PendingRetryReceiptModel
|
||||
import org.thoughtcrime.securesms.recipients.RecipientId
|
||||
@@ -15,9 +14,8 @@ import org.thoughtcrime.securesms.util.FeatureFlags
|
||||
* future reads can happen in memory.
|
||||
*/
|
||||
class PendingRetryReceiptCache @VisibleForTesting constructor(
|
||||
private val database: PendingRetryReceiptDatabase
|
||||
private val database: PendingRetryReceiptDatabase = SignalDatabase.pendingRetryReceipts
|
||||
) {
|
||||
constructor(context: Context) : this(SignalDatabase.pendingRetryReceipts)
|
||||
|
||||
private val pendingRetries: MutableMap<RemoteMessageId, PendingRetryReceiptModel> = HashMap()
|
||||
private var populated: Boolean = false
|
||||
|
||||
@@ -448,7 +448,7 @@ open class RecipientDatabase(context: Context, databaseHelper: SignalDatabase) :
|
||||
fetch.id
|
||||
}
|
||||
is RecipientFetch.MatchAndReassignE164 -> {
|
||||
removePhoneNumber(fetch.e164Id, db)
|
||||
removePhoneNumber(fetch.e164Id)
|
||||
setPhoneNumberOrThrowSilent(fetch.id, fetch.e164)
|
||||
recipientsNeedingRefresh = listOf(fetch.id, fetch.e164Id)
|
||||
recipientChangedNumber = fetch.changedNumber
|
||||
@@ -475,7 +475,7 @@ open class RecipientDatabase(context: Context, databaseHelper: SignalDatabase) :
|
||||
RecipientId.from(id)
|
||||
}
|
||||
is RecipientFetch.InsertAndReassignE164 -> {
|
||||
removePhoneNumber(fetch.e164Id, db)
|
||||
removePhoneNumber(fetch.e164Id)
|
||||
recipientsNeedingRefresh = listOf(fetch.e164Id)
|
||||
val id = db.insert(TABLE_NAME, null, buildContentValuesForNewUser(fetch.e164, fetch.serviceId))
|
||||
RecipientId.from(id)
|
||||
@@ -1906,7 +1906,7 @@ open class RecipientDatabase(context: Context, databaseHelper: SignalDatabase) :
|
||||
}
|
||||
}
|
||||
|
||||
private fun removePhoneNumber(recipientId: RecipientId, db: SQLiteDatabase) {
|
||||
private fun removePhoneNumber(recipientId: RecipientId) {
|
||||
val values = ContentValues().apply {
|
||||
putNull(PHONE)
|
||||
putNull(PNI_COLUMN)
|
||||
@@ -2047,7 +2047,7 @@ open class RecipientDatabase(context: Context, databaseHelper: SignalDatabase) :
|
||||
fun markRegisteredOrThrow(id: RecipientId, serviceId: ServiceId) {
|
||||
val contentValues = ContentValues(2).apply {
|
||||
put(REGISTERED, RegisteredState.REGISTERED.id)
|
||||
put(SERVICE_ID, serviceId.toString().toLowerCase())
|
||||
put(SERVICE_ID, serviceId.toString().lowercase())
|
||||
}
|
||||
if (update(id, contentValues)) {
|
||||
setStorageIdIfNotSet(id)
|
||||
@@ -2074,7 +2074,7 @@ open class RecipientDatabase(context: Context, databaseHelper: SignalDatabase) :
|
||||
val values = ContentValues(2).apply {
|
||||
put(REGISTERED, RegisteredState.REGISTERED.id)
|
||||
if (aci != null) {
|
||||
put(SERVICE_ID, aci.toString().toLowerCase())
|
||||
put(SERVICE_ID, aci.toString().lowercase())
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2483,7 +2483,7 @@ open class RecipientDatabase(context: Context, databaseHelper: SignalDatabase) :
|
||||
.toList()
|
||||
|
||||
val blockedUuid = blocked
|
||||
.map { b: SignalServiceAddress -> b.serviceId.toString().toLowerCase() }
|
||||
.map { b: SignalServiceAddress -> b.serviceId.toString().lowercase() }
|
||||
.toList()
|
||||
|
||||
val db = writableDatabase
|
||||
@@ -2910,7 +2910,7 @@ open class RecipientDatabase(context: Context, databaseHelper: SignalDatabase) :
|
||||
val values = ContentValues()
|
||||
values.put(PHONE, e164)
|
||||
if (serviceId != null) {
|
||||
values.put(SERVICE_ID, serviceId.toString().toLowerCase())
|
||||
values.put(SERVICE_ID, serviceId.toString().lowercase())
|
||||
values.put(REGISTERED, RegisteredState.REGISTERED.id)
|
||||
values.put(STORAGE_SERVICE_ID, Base64.encodeBytes(StorageSyncHelper.generateKey()))
|
||||
values.put(AVATAR_COLOR, AvatarColor.random().serialize())
|
||||
|
||||
@@ -92,7 +92,7 @@ class SqlCipherErrorHandler(private val databaseName: String) : DatabaseErrorHan
|
||||
try {
|
||||
val results = query("PRAGMA integrity_check")
|
||||
output.append(results)
|
||||
if (results.toLowerCase().contains("ok")) {
|
||||
if (results.lowercase().contains("ok")) {
|
||||
pragma1Passes = true
|
||||
}
|
||||
} catch (t: Throwable) {
|
||||
|
||||
@@ -271,7 +271,7 @@ public class ApplicationDependencyProvider implements ApplicationDependencies.Pr
|
||||
|
||||
@Override
|
||||
public @NonNull PendingRetryReceiptCache providePendingRetryReceiptCache() {
|
||||
return new PendingRetryReceiptCache(context);
|
||||
return new PendingRetryReceiptCache();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -81,7 +81,7 @@ class EmojiKeyboardPageViewModel(private val repository: EmojiKeyboardPageReposi
|
||||
|
||||
private val repository = EmojiKeyboardPageRepository(context)
|
||||
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return requireNotNull(modelClass.cast(EmojiKeyboardPageViewModel(repository)))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,7 +29,7 @@ class EmojiSearchViewModel(private val repository: EmojiSearchRepository) : View
|
||||
data class EmojiSearchResults(val emojiList: List<MappingModel<*>>, val isRecents: Boolean)
|
||||
|
||||
class Factory(private val repository: EmojiSearchRepository) : ViewModelProvider.Factory {
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return requireNotNull(modelClass.cast(EmojiSearchViewModel(repository)))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -114,7 +114,7 @@ class StickerKeyboardPageFragment :
|
||||
override fun onActivityCreated(savedInstanceState: Bundle?) {
|
||||
super.onActivityCreated(savedInstanceState)
|
||||
|
||||
viewModel = ViewModelProvider(requireActivity(), StickerKeyboardPageViewModel.Factory(requireContext()))
|
||||
viewModel = ViewModelProvider(requireActivity(), StickerKeyboardPageViewModel.Factory())
|
||||
.get(StickerKeyboardPageViewModel::class.java)
|
||||
|
||||
viewModel.stickers.observe(viewLifecycleOwner, this::updateStickerList)
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
package org.thoughtcrime.securesms.keyboard.sticker
|
||||
|
||||
import android.content.Context
|
||||
import androidx.lifecycle.LiveData
|
||||
import androidx.lifecycle.MutableLiveData
|
||||
import androidx.lifecycle.ViewModel
|
||||
@@ -56,10 +55,10 @@ class StickerKeyboardPageViewModel(private val repository: StickerKeyboardReposi
|
||||
repository.getStickerPacks { keyboardStickerPacks.postValue(it) }
|
||||
}
|
||||
|
||||
class Factory(context: Context) : ViewModelProvider.Factory {
|
||||
class Factory : ViewModelProvider.Factory {
|
||||
private val repository = StickerKeyboardRepository(SignalDatabase.stickers)
|
||||
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return requireNotNull(modelClass.cast(StickerKeyboardPageViewModel(repository)))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
package org.thoughtcrime.securesms.keyboard.sticker
|
||||
|
||||
import android.content.Context
|
||||
import androidx.annotation.WorkerThread
|
||||
import org.thoughtcrime.securesms.components.emoji.EmojiUtil
|
||||
import org.thoughtcrime.securesms.database.EmojiSearchDatabase
|
||||
@@ -12,7 +11,7 @@ import org.thoughtcrime.securesms.database.model.StickerRecord
|
||||
private const val RECENT_LIMIT = 24
|
||||
private const val EMOJI_SEARCH_RESULTS_LIMIT = 20
|
||||
|
||||
class StickerSearchRepository(context: Context) {
|
||||
class StickerSearchRepository {
|
||||
|
||||
private val emojiSearchDatabase: EmojiSearchDatabase = SignalDatabase.emojiSearch
|
||||
private val stickerDatabase: StickerDatabase = SignalDatabase.stickers
|
||||
|
||||
@@ -21,9 +21,9 @@ class StickerSearchViewModel(private val searchRepository: StickerSearchReposito
|
||||
}
|
||||
|
||||
class Factory(context: Context) : ViewModelProvider.Factory {
|
||||
val repository = StickerSearchRepository(context)
|
||||
val repository = StickerSearchRepository()
|
||||
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return requireNotNull(modelClass.cast(StickerSearchViewModel(repository)))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -83,7 +83,7 @@ internal class DonationsValues internal constructor(store: KeyValueStore) : Sign
|
||||
CurrencyUtil.getCurrencyByCurrencyCode(currencyCode)
|
||||
}
|
||||
|
||||
return if (currency != null && StripeApi.Validation.supportedCurrencyCodes.contains(currency.currencyCode.toUpperCase(Locale.ROOT))) {
|
||||
return if (currency != null && StripeApi.Validation.supportedCurrencyCodes.contains(currency.currencyCode.uppercase(Locale.ROOT))) {
|
||||
currency
|
||||
} else {
|
||||
Currency.getInstance("USD")
|
||||
|
||||
@@ -434,7 +434,7 @@ class MediaSelectionViewModel(
|
||||
private val isStory: Boolean,
|
||||
private val repository: MediaSelectionRepository
|
||||
) : ViewModelProvider.Factory {
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return requireNotNull(modelClass.cast(MediaSelectionViewModel(destination, transportOption, initialMedia, initialMessage, isReply, isStory, repository)))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -47,7 +47,7 @@ class MediaCaptureViewModel(private val repository: MediaCaptureRepository) : Vi
|
||||
}
|
||||
|
||||
class Factory(private val repository: MediaCaptureRepository) : ViewModelProvider.Factory {
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return requireNotNull(modelClass.cast(MediaCaptureViewModel(repository)))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -60,7 +60,7 @@ class MediaGalleryViewModel(bucketId: String?, bucketTitle: String?, private val
|
||||
private val bucketTitle: String?,
|
||||
private val repository: MediaGalleryRepository
|
||||
) : ViewModelProvider.Factory {
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return requireNotNull(modelClass.cast(MediaGalleryViewModel(bucketId, bucketTitle, repository)))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -132,7 +132,7 @@ class TextStoryPostCreationViewModel(private val repository: TextStoryPostSendRe
|
||||
}
|
||||
|
||||
class Factory(private val repository: TextStoryPostSendRepository) : ViewModelProvider.Factory {
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return modelClass.cast(TextStoryPostCreationViewModel(repository)) as T
|
||||
}
|
||||
}
|
||||
|
||||
@@ -123,7 +123,7 @@ class TextStoryPostTextEntryFragment : KeyboardEntryDialogFragment(
|
||||
if (TextUtils.isEmpty(input.text)) {
|
||||
input.alpha = 0.6f
|
||||
if (input.filters.contains(allCapsFilter)) {
|
||||
input.hint = getString(R.string.TextStoryPostTextEntryFragment__add_text).toUpperCase(Locale.getDefault())
|
||||
input.hint = getString(R.string.TextStoryPostTextEntryFragment__add_text).uppercase(Locale.getDefault())
|
||||
} else {
|
||||
input.setHint(R.string.TextStoryPostTextEntryFragment__add_text)
|
||||
}
|
||||
|
||||
@@ -64,7 +64,7 @@ class TextStoryPostSendViewModel(private val repository: TextStoryPostSendReposi
|
||||
}
|
||||
|
||||
class Factory(private val repository: TextStoryPostSendRepository) : ViewModelProvider.Factory {
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return modelClass.cast(TextStoryPostSendViewModel(repository)) as T
|
||||
}
|
||||
}
|
||||
|
||||
@@ -78,8 +78,8 @@ class IncomingMediaMessage(
|
||||
isUnidentified = unidentified,
|
||||
isViewOnce = viewOnce,
|
||||
serverGuid = null,
|
||||
attachments = ArrayList(attachments),
|
||||
sharedContacts = ArrayList(sharedContacts.orElse(emptyList())),
|
||||
attachments = attachments?.let { ArrayList<Attachment>(it) } ?: emptyList(),
|
||||
sharedContacts = ArrayList<Contact>(sharedContacts.orElse(emptyList())),
|
||||
)
|
||||
|
||||
constructor(
|
||||
|
||||
@@ -83,7 +83,7 @@ class ShareViewModel(
|
||||
private val unresolvedShareData: UnresolvedShareData,
|
||||
private val shareRepository: ShareRepository
|
||||
) : ViewModelProvider.Factory {
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return modelClass.cast(ShareViewModel(unresolvedShareData, shareRepository)) as T
|
||||
}
|
||||
}
|
||||
|
||||
@@ -108,7 +108,7 @@ class StoryTextPostView @JvmOverloads constructor(
|
||||
context.getString(R.string.TextStoryPostCreationFragment__tap_to_add_text)
|
||||
}.let {
|
||||
if (state.textFont.isAllCaps) {
|
||||
it.toString().toUpperCase(Locale.getDefault())
|
||||
it.toString().uppercase(Locale.getDefault())
|
||||
} else {
|
||||
it
|
||||
}
|
||||
@@ -134,7 +134,7 @@ class StoryTextPostView @JvmOverloads constructor(
|
||||
setPostBackground(ChatColors.forChatColor(ChatColors.Id.NotSet, storyTextPost.background).chatBubbleMask)
|
||||
|
||||
if (font.isAllCaps) {
|
||||
setText(storyTextPost.body.toUpperCase(Locale.getDefault()), false)
|
||||
setText(storyTextPost.body.uppercase(Locale.getDefault()), false)
|
||||
} else {
|
||||
setText(storyTextPost.body, false)
|
||||
}
|
||||
|
||||
@@ -51,7 +51,7 @@ class StoriesLandingViewModel(private val storiesLandingRepository: StoriesLandi
|
||||
}
|
||||
|
||||
class Factory(private val storiesLandingRepository: StoriesLandingRepository) : ViewModelProvider.Factory {
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return modelClass.cast(StoriesLandingViewModel(storiesLandingRepository)) as T
|
||||
}
|
||||
}
|
||||
|
||||
@@ -31,7 +31,7 @@ class MyStoriesViewModel(private val repository: MyStoriesRepository) : ViewMode
|
||||
}
|
||||
|
||||
class Factory(private val repository: MyStoriesRepository) : ViewModelProvider.Factory {
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return modelClass.cast(MyStoriesViewModel(repository)) as T
|
||||
}
|
||||
}
|
||||
|
||||
@@ -59,7 +59,7 @@ class CreateStoryWithViewersViewModel(
|
||||
class Factory(
|
||||
private val repository: CreateStoryWithViewersRepository
|
||||
) : ViewModelProvider.Factory {
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return modelClass.cast(CreateStoryWithViewersViewModel(repository)) as T
|
||||
}
|
||||
}
|
||||
|
||||
@@ -56,7 +56,7 @@ class PrivateStorySettingsViewModel(private val distributionListId: Distribution
|
||||
}
|
||||
|
||||
class Factory(private val privateStoryItemData: DistributionListId, private val repository: PrivateStorySettingsRepository) : ViewModelProvider.Factory {
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return modelClass.cast(PrivateStorySettingsViewModel(privateStoryItemData, repository)) as T
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ class EditStoryNameViewModel(private val privateStoryId: DistributionListId, pri
|
||||
}
|
||||
|
||||
class Factory(private val privateStoryId: DistributionListId, private val repository: EditStoryNameRepository) : ViewModelProvider.Factory {
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return modelClass.cast(EditStoryNameViewModel(privateStoryId, repository)) as T
|
||||
}
|
||||
}
|
||||
|
||||
@@ -33,7 +33,7 @@ class MyStorySettingsViewModel(private val repository: MyStorySettingsRepository
|
||||
}
|
||||
|
||||
class Factory(private val repository: MyStorySettingsRepository) : ViewModelProvider.Factory {
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return modelClass.cast(MyStorySettingsViewModel(repository)) as T
|
||||
}
|
||||
}
|
||||
|
||||
@@ -68,7 +68,7 @@ class BaseStoryRecipientSelectionViewModel(
|
||||
private val distributionListId: DistributionListId?,
|
||||
private val repository: BaseStoryRecipientSelectionRepository
|
||||
) : ViewModelProvider.Factory {
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return modelClass.cast(BaseStoryRecipientSelectionViewModel(distributionListId, repository)) as T
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,7 +29,7 @@ class StorySettingsViewModel(
|
||||
class Factory(
|
||||
private val repository: StorySettingsRepository
|
||||
) : ViewModelProvider.Factory {
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return modelClass.cast(StorySettingsViewModel(repository)) as T
|
||||
}
|
||||
}
|
||||
|
||||
@@ -65,7 +65,7 @@ class ConversationListTabsViewModel(repository: ConversationListTabRepository) :
|
||||
}
|
||||
|
||||
class Factory(private val repository: ConversationListTabRepository) : ViewModelProvider.Factory {
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return modelClass.cast(ConversationListTabsViewModel(repository)) as T
|
||||
}
|
||||
}
|
||||
|
||||
@@ -165,7 +165,7 @@ class StoryViewerViewModel(
|
||||
private val storyViewerArgs: StoryViewerArgs,
|
||||
private val repository: StoryViewerRepository
|
||||
) : ViewModelProvider.Factory {
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return modelClass.cast(
|
||||
StoryViewerViewModel(
|
||||
storyViewerArgs,
|
||||
|
||||
@@ -237,7 +237,7 @@ class StoryViewerPageViewModel(
|
||||
}
|
||||
|
||||
class Factory(private val recipientId: RecipientId, private val initialStoryId: Long, private val repository: StoryViewerPageRepository) : ViewModelProvider.Factory {
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return modelClass.cast(StoryViewerPageViewModel(recipientId, initialStoryId, repository)) as T
|
||||
}
|
||||
}
|
||||
|
||||
@@ -51,7 +51,7 @@ class StoryDirectReplyViewModel(
|
||||
private val groupDirectReplyRecipientId: RecipientId?,
|
||||
private val repository: StoryDirectReplyRepository
|
||||
) : ViewModelProvider.Factory {
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return modelClass.cast(
|
||||
StoryDirectReplyViewModel(storyId, groupDirectReplyRecipientId, repository)
|
||||
) as T
|
||||
|
||||
@@ -59,7 +59,7 @@ class StoryGroupReplyViewModel(storyId: Long, repository: StoryGroupReplyReposit
|
||||
}
|
||||
|
||||
class Factory(private val storyId: Long, private val repository: StoryGroupReplyRepository) : ViewModelProvider.Factory {
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return modelClass.cast(StoryGroupReplyViewModel(storyId, repository)) as T
|
||||
}
|
||||
}
|
||||
|
||||
@@ -72,7 +72,7 @@ class StoryTextPostViewModel(recordId: Long, repository: StoryTextPostRepository
|
||||
}
|
||||
|
||||
class Factory(private val recordId: Long, private val repository: StoryTextPostRepository) : ViewModelProvider.Factory {
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return modelClass.cast(StoryTextPostViewModel(recordId, repository)) as T
|
||||
}
|
||||
}
|
||||
|
||||
@@ -33,7 +33,7 @@ class StoryViewsViewModel(storyId: Long, repository: StoryViewsRepository) : Vie
|
||||
private val storyId: Long,
|
||||
private val repository: StoryViewsRepository
|
||||
) : ViewModelProvider.Factory {
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return modelClass.cast(StoryViewsViewModel(storyId, repository)) as T
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,19 +0,0 @@
|
||||
package org.thoughtcrime.securesms.util.rx
|
||||
|
||||
import com.google.android.gms.tasks.Task
|
||||
import io.reactivex.rxjava3.core.Single
|
||||
|
||||
/**
|
||||
* Convert a [Task] into a [Single].
|
||||
*/
|
||||
fun <T : Any> Task<T>.toSingle(): Single<T> {
|
||||
return Single.create { emitter ->
|
||||
addOnCompleteListener {
|
||||
if (it.isSuccessful && !emitter.isDisposed) {
|
||||
emitter.onSuccess(it.result)
|
||||
} else if (!emitter.isDisposed) {
|
||||
emitter.onError(it.exception)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user