From db4d072bd93dcfe1a74ec057cb5c4729d212611e Mon Sep 17 00:00:00 2001 From: Cody Henthorne Date: Wed, 18 May 2022 14:05:17 -0400 Subject: [PATCH] Upgrade kotlin to 1.6.21 Also fix a collection of warnings. --- .../avatar/picker/AvatarPickerViewModel.kt | 2 +- .../text/TextAvatarCreationViewModel.kt | 2 +- .../vector/VectorAvatarCreationViewModel.kt | 2 +- .../badges/gifts/flow/GiftFlowViewModel.kt | 2 +- .../received/ViewReceivedGiftViewModel.kt | 2 +- .../viewgift/sent/ViewSentGiftViewModel.kt | 2 +- .../featured/SelectFeaturedBadgeViewModel.kt | 2 +- .../self/none/BecomeASustainerViewModel.kt | 2 +- .../self/overview/BadgesOverviewViewModel.kt | 2 +- .../badges/view/ViewBadgeViewModel.kt | 2 +- .../app/changenumber/ChangeNumberViewModel.kt | 2 +- .../app/chats/ChatsSettingsViewModel.kt | 2 +- .../data/DataAndStorageSettingsViewModel.kt | 2 +- .../app/internal/InternalSettingsViewModel.kt | 2 +- .../NotificationsSettingsViewModel.kt | 2 +- .../NotificationProfileSelectionViewModel.kt | 2 +- .../app/privacy/PrivacySettingsViewModel.kt | 2 +- .../AdvancedPrivacySettingsViewModel.kt | 2 +- .../expire/ExpireTimerSettingsViewModel.kt | 2 +- .../subscription/DonationPaymentRepository.kt | 2 +- .../app/subscription/boost/BoostViewModel.kt | 2 +- .../currency/SetCurrencyViewModel.kt | 2 +- .../errors/DonationErrorDialogs.kt | 9 +- .../manage/ManageDonationsViewModel.kt | 2 +- .../detail/DonationReceiptDetailViewModel.kt | 2 +- .../list/DonationReceiptListPageViewModel.kt | 2 +- .../list/DonationReceiptListViewModel.kt | 2 +- .../subscribe/SubscribeViewModel.kt | 2 +- .../ConversationSettingsViewModel.kt | 2 +- .../InternalConversationSettingsFragment.kt | 2 +- .../PermissionsSettingsViewModel.kt | 2 +- ...SoundsAndNotificationsSettingsViewModel.kt | 2 +- .../CustomNotificationsSettingsViewModel.kt | 2 +- .../components/settings/models/Button.kt | 8 +- .../contacts/paged/ContactSearchItems.kt | 2 +- .../paged/ContactSearchPagedDataSource.kt | 2 +- .../contacts/paged/ContactSearchViewModel.kt | 2 +- .../conversation/colors/ChatColors.kt | 2 + .../colors/ui/ChatColorSelectionViewModel.kt | 2 +- .../custom/CustomChatColorCreatorViewModel.kt | 2 +- .../conversation/drafts/DraftViewModel.kt | 2 +- .../forward/MultiselectForwardFragment.kt | 2 +- .../forward/MultiselectForwardRepository.kt | 3 +- .../forward/MultiselectForwardViewModel.kt | 2 +- .../database/PendingRetryReceiptCache.kt | 4 +- .../securesms/database/RecipientDatabase.kt | 14 +- .../database/SqlCipherErrorHandler.kt | 2 +- .../ApplicationDependencyProvider.java | 2 +- .../emoji/EmojiKeyboardPageViewModel.kt | 2 +- .../emoji/search/EmojiSearchViewModel.kt | 2 +- .../sticker/StickerKeyboardPageFragment.kt | 2 +- .../sticker/StickerKeyboardPageViewModel.kt | 5 +- .../sticker/StickerSearchRepository.kt | 3 +- .../sticker/StickerSearchViewModel.kt | 4 +- .../securesms/keyvalue/DonationsValues.kt | 2 +- .../mediasend/v2/MediaSelectionViewModel.kt | 2 +- .../v2/capture/MediaCaptureViewModel.kt | 2 +- .../v2/gallery/MediaGalleryViewModel.kt | 2 +- .../v2/text/TextStoryPostCreationViewModel.kt | 2 +- .../v2/text/TextStoryPostTextEntryFragment.kt | 2 +- .../text/send/TextStoryPostSendViewModel.kt | 2 +- .../securesms/mms/IncomingMediaMessage.kt | 4 +- .../securesms/sharing/v2/ShareViewModel.kt | 2 +- .../securesms/stories/StoryTextPostView.kt | 4 +- .../landing/StoriesLandingViewModel.kt | 2 +- .../stories/my/MyStoriesViewModel.kt | 2 +- .../create/CreateStoryWithViewersViewModel.kt | 2 +- .../custom/PrivateStorySettingsViewModel.kt | 2 +- .../custom/name/EditStoryNameViewModel.kt | 2 +- .../settings/my/MyStorySettingsViewModel.kt | 2 +- .../BaseStoryRecipientSelectionViewModel.kt | 2 +- .../settings/story/StorySettingsViewModel.kt | 2 +- .../tabs/ConversationListTabsViewModel.kt | 2 +- .../stories/viewer/StoryViewerViewModel.kt | 2 +- .../viewer/page/StoryViewerPageViewModel.kt | 2 +- .../reply/direct/StoryDirectReplyViewModel.kt | 2 +- .../reply/group/StoryGroupReplyViewModel.kt | 2 +- .../viewer/text/StoryTextPostViewModel.kt | 2 +- .../viewer/views/StoryViewsViewModel.kt | 2 +- .../securesms/util/rx/ReactiveTask.kt | 19 - build.gradle | 2 +- .../main/java/org/signal/core/util/SqlUtil.kt | 8 +- dependencies.gradle | 2 +- .../java/org/signal/donations/StripeApi.kt | 2 +- gradle/verification-metadata.xml | 495 ++++++------------ 85 files changed, 250 insertions(+), 474 deletions(-) delete mode 100644 app/src/main/java/org/thoughtcrime/securesms/util/rx/ReactiveTask.kt diff --git a/app/src/main/java/org/thoughtcrime/securesms/avatar/picker/AvatarPickerViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/avatar/picker/AvatarPickerViewModel.kt index 9f4317a690..bc0003eda4 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/avatar/picker/AvatarPickerViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/avatar/picker/AvatarPickerViewModel.kt @@ -183,7 +183,7 @@ sealed class AvatarPickerViewModel(private val repository: AvatarPickerRepositor private val isNewGroup: Boolean, private val groupAvatarMedia: Media? ) : ViewModelProvider.Factory { - override fun create(modelClass: Class): T { + override fun create(modelClass: Class): T { val viewModel = if (groupId == null && !isNewGroup) { SelfAvatarPickerViewModel(repository) } else if (groupId == null) { diff --git a/app/src/main/java/org/thoughtcrime/securesms/avatar/text/TextAvatarCreationViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/avatar/text/TextAvatarCreationViewModel.kt index c988b0f4f2..9721d0f337 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/avatar/text/TextAvatarCreationViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/avatar/text/TextAvatarCreationViewModel.kt @@ -33,7 +33,7 @@ class TextAvatarCreationViewModel(initialText: Avatar.Text) : ViewModel() { } class Factory(private val initialText: Avatar.Text) : ViewModelProvider.Factory { - override fun create(modelClass: Class): T { + override fun create(modelClass: Class): T { return requireNotNull(modelClass.cast(TextAvatarCreationViewModel(initialText))) } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/avatar/vector/VectorAvatarCreationViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/avatar/vector/VectorAvatarCreationViewModel.kt index de5cee8dbb..302ca85962 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/avatar/vector/VectorAvatarCreationViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/avatar/vector/VectorAvatarCreationViewModel.kt @@ -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 create(modelClass: Class): T { + override fun create(modelClass: Class): T { return requireNotNull(modelClass.cast(VectorAvatarCreationViewModel(initialAvatar))) } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/badges/gifts/flow/GiftFlowViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/badges/gifts/flow/GiftFlowViewModel.kt index 8781bf51d6..2a140a5012 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/badges/gifts/flow/GiftFlowViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/badges/gifts/flow/GiftFlowViewModel.kt @@ -239,7 +239,7 @@ class GiftFlowViewModel( private val repository: GiftFlowRepository, private val donationPaymentRepository: DonationPaymentRepository ) : ViewModelProvider.Factory { - override fun create(modelClass: Class): T { + override fun create(modelClass: Class): T { return modelClass.cast( GiftFlowViewModel( repository, diff --git a/app/src/main/java/org/thoughtcrime/securesms/badges/gifts/viewgift/received/ViewReceivedGiftViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/badges/gifts/viewgift/received/ViewReceivedGiftViewModel.kt index e9154e230d..46cf5683d5 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/badges/gifts/viewgift/received/ViewReceivedGiftViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/badges/gifts/viewgift/received/ViewReceivedGiftViewModel.kt @@ -143,7 +143,7 @@ class ViewReceivedGiftViewModel( private val repository: ViewGiftRepository, private val badgeRepository: BadgeRepository ) : ViewModelProvider.Factory { - override fun create(modelClass: Class): T { + override fun create(modelClass: Class): T { return modelClass.cast(ViewReceivedGiftViewModel(sentFrom, messageId, repository, badgeRepository)) as T } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/badges/gifts/viewgift/sent/ViewSentGiftViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/badges/gifts/viewgift/sent/ViewSentGiftViewModel.kt index fc4ff4f95d..0c82cd7f0d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/badges/gifts/viewgift/sent/ViewSentGiftViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/badges/gifts/viewgift/sent/ViewSentGiftViewModel.kt @@ -45,7 +45,7 @@ class ViewSentGiftViewModel( private val giftBadge: GiftBadge, private val repository: ViewGiftRepository ) : ViewModelProvider.Factory { - override fun create(modelClass: Class): T { + override fun create(modelClass: Class): T { return modelClass.cast(ViewSentGiftViewModel(sentFrom, giftBadge, repository)) as T } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/badges/self/featured/SelectFeaturedBadgeViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/badges/self/featured/SelectFeaturedBadgeViewModel.kt index 90f5223e9f..76e1261b2b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/badges/self/featured/SelectFeaturedBadgeViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/badges/self/featured/SelectFeaturedBadgeViewModel.kt @@ -66,7 +66,7 @@ class SelectFeaturedBadgeViewModel(private val repository: BadgeRepository) : Vi } class Factory(private val badgeRepository: BadgeRepository) : ViewModelProvider.Factory { - override fun create(modelClass: Class): T { + override fun create(modelClass: Class): T { return requireNotNull(modelClass.cast(SelectFeaturedBadgeViewModel(badgeRepository))) } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/badges/self/none/BecomeASustainerViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/badges/self/none/BecomeASustainerViewModel.kt index 27d5a19f06..2c1a7ad2b0 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/badges/self/none/BecomeASustainerViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/badges/self/none/BecomeASustainerViewModel.kt @@ -38,7 +38,7 @@ class BecomeASustainerViewModel(subscriptionsRepository: SubscriptionsRepository } class Factory(private val subscriptionsRepository: SubscriptionsRepository) : ViewModelProvider.Factory { - override fun create(modelClass: Class): T { + override fun create(modelClass: Class): T { return modelClass.cast(BecomeASustainerViewModel(subscriptionsRepository))!! } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/badges/self/overview/BadgesOverviewViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/badges/self/overview/BadgesOverviewViewModel.kt index 22efd790c5..e92c747072 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/badges/self/overview/BadgesOverviewViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/badges/self/overview/BadgesOverviewViewModel.kt @@ -91,7 +91,7 @@ class BadgesOverviewViewModel( private val badgeRepository: BadgeRepository, private val subscriptionsRepository: SubscriptionsRepository ) : ViewModelProvider.Factory { - override fun create(modelClass: Class): T { + override fun create(modelClass: Class): T { return requireNotNull(modelClass.cast(BadgesOverviewViewModel(badgeRepository, subscriptionsRepository))) } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/badges/view/ViewBadgeViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/badges/view/ViewBadgeViewModel.kt index 9ad63ade8f..d88d8fe5c6 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/badges/view/ViewBadgeViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/badges/view/ViewBadgeViewModel.kt @@ -52,7 +52,7 @@ class ViewBadgeViewModel( private val recipientId: RecipientId, private val repository: BadgeRepository ) : ViewModelProvider.Factory { - override fun create(modelClass: Class): T { + override fun create(modelClass: Class): T { return requireNotNull(modelClass.cast(ViewBadgeViewModel(startBadge, recipientId, repository))) } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/changenumber/ChangeNumberViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/changenumber/ChangeNumberViewModel.kt index 0842a712f3..c80495afdc 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/changenumber/ChangeNumberViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/changenumber/ChangeNumberViewModel.kt @@ -165,7 +165,7 @@ class ChangeNumberViewModel( class Factory(owner: SavedStateRegistryOwner) : AbstractSavedStateViewModelFactory(owner, null) { - override fun create(key: String, modelClass: Class, handle: SavedStateHandle): T { + override fun create(key: String, modelClass: Class, handle: SavedStateHandle): T { val context: Application = ApplicationDependencies.getApplication() val localNumber: String = SignalStore.account().e164!! val password: String = SignalStore.account().servicePassword!! diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/chats/ChatsSettingsViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/chats/ChatsSettingsViewModel.kt index e397b3f881..0d03716763 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/chats/ChatsSettingsViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/chats/ChatsSettingsViewModel.kt @@ -57,7 +57,7 @@ class ChatsSettingsViewModel(private val repository: ChatsSettingsRepository) : } class Factory(private val repository: ChatsSettingsRepository) : ViewModelProvider.Factory { - override fun create(modelClass: Class): T { + override fun create(modelClass: Class): T { return requireNotNull(modelClass.cast(ChatsSettingsViewModel(repository))) } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/data/DataAndStorageSettingsViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/data/DataAndStorageSettingsViewModel.kt index 554994ac33..f9cc5722d6 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/data/DataAndStorageSettingsViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/data/DataAndStorageSettingsViewModel.kt @@ -77,7 +77,7 @@ class DataAndStorageSettingsViewModel( private val repository: DataAndStorageSettingsRepository ) : ViewModelProvider.Factory { - override fun create(modelClass: Class): T { + override fun create(modelClass: Class): T { return requireNotNull(modelClass.cast(DataAndStorageSettingsViewModel(sharedPreferences, repository))) } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/InternalSettingsViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/InternalSettingsViewModel.kt index d637827738..870148f2be 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/InternalSettingsViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/internal/InternalSettingsViewModel.kt @@ -143,7 +143,7 @@ class InternalSettingsViewModel(private val repository: InternalSettingsReposito ) class Factory(private val repository: InternalSettingsRepository) : ViewModelProvider.Factory { - override fun create(modelClass: Class): T { + override fun create(modelClass: Class): T { return requireNotNull(modelClass.cast(InternalSettingsViewModel(repository))) } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/notifications/NotificationsSettingsViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/notifications/NotificationsSettingsViewModel.kt index c4ca72f2df..870ec84c8e 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/notifications/NotificationsSettingsViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/notifications/NotificationsSettingsViewModel.kt @@ -115,7 +115,7 @@ class NotificationsSettingsViewModel(private val sharedPreferences: SharedPrefer ) class Factory(private val sharedPreferences: SharedPreferences) : ViewModelProvider.Factory { - override fun create(modelClass: Class): T { + override fun create(modelClass: Class): T { return requireNotNull(modelClass.cast(NotificationsSettingsViewModel(sharedPreferences))) } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/notifications/manual/NotificationProfileSelectionViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/notifications/manual/NotificationProfileSelectionViewModel.kt index b6582386ad..d83b93b73a 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/notifications/manual/NotificationProfileSelectionViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/notifications/manual/NotificationProfileSelectionViewModel.kt @@ -78,7 +78,7 @@ class NotificationProfileSelectionViewModel(private val repository: Notification } class Factory(private val notificationProfilesRepository: NotificationProfilesRepository) : ViewModelProvider.Factory { - override fun create(modelClass: Class): T { + override fun create(modelClass: Class): T { return modelClass.cast(NotificationProfileSelectionViewModel(notificationProfilesRepository))!! } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/privacy/PrivacySettingsViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/privacy/PrivacySettingsViewModel.kt index 6c507cf5c4..d9dafbcc45 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/privacy/PrivacySettingsViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/privacy/PrivacySettingsViewModel.kt @@ -126,7 +126,7 @@ class PrivacySettingsViewModel( private val sharedPreferences: SharedPreferences, private val repository: PrivacySettingsRepository ) : ViewModelProvider.Factory { - override fun create(modelClass: Class): T { + override fun create(modelClass: Class): T { return requireNotNull(modelClass.cast(PrivacySettingsViewModel(sharedPreferences, repository))) } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/privacy/advanced/AdvancedPrivacySettingsViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/privacy/advanced/AdvancedPrivacySettingsViewModel.kt index 27e8769fd4..84c4f5566c 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/privacy/advanced/AdvancedPrivacySettingsViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/privacy/advanced/AdvancedPrivacySettingsViewModel.kt @@ -160,7 +160,7 @@ class AdvancedPrivacySettingsViewModel( private val sharedPreferences: SharedPreferences, private val repository: AdvancedPrivacySettingsRepository ) : ViewModelProvider.Factory { - override fun create(modelClass: Class): T { + override fun create(modelClass: Class): T { return requireNotNull( modelClass.cast( AdvancedPrivacySettingsViewModel( diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/privacy/expire/ExpireTimerSettingsViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/privacy/expire/ExpireTimerSettingsViewModel.kt index 3d4a706182..04b7b9cdfd 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/privacy/expire/ExpireTimerSettingsViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/privacy/expire/ExpireTimerSettingsViewModel.kt @@ -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 create(modelClass: Class): T { + override fun create(modelClass: Class): T { return requireNotNull(modelClass.cast(ExpireTimerSettingsViewModel(config, repository))) } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/DonationPaymentRepository.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/DonationPaymentRepository.kt index d81e10dade..75fd83712b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/DonationPaymentRepository.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/DonationPaymentRepository.kt @@ -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) diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/boost/BoostViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/boost/BoostViewModel.kt index a37f96bab3..6e31a04978 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/boost/BoostViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/boost/BoostViewModel.kt @@ -233,7 +233,7 @@ class BoostViewModel( private val donationPaymentRepository: DonationPaymentRepository, private val fetchTokenRequestCode: Int ) : ViewModelProvider.Factory { - override fun create(modelClass: Class): T { + override fun create(modelClass: Class): T { return modelClass.cast(BoostViewModel(boostRepository, donationPaymentRepository, fetchTokenRequestCode))!! } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/currency/SetCurrencyViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/currency/SetCurrencyViewModel.kt index 4706a860c5..8dd772503b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/currency/SetCurrencyViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/currency/SetCurrencyViewModel.kt @@ -84,7 +84,7 @@ class SetCurrencyViewModel( } class Factory(private val isOneTime: Boolean, private val supportedCurrencyCodes: List) : ViewModelProvider.Factory { - override fun create(modelClass: Class): T { + override fun create(modelClass: Class): T { return modelClass.cast(SetCurrencyViewModel(isOneTime, supportedCurrencyCodes))!! } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/errors/DonationErrorDialogs.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/errors/DonationErrorDialogs.kt index bb93287598..569700bcba 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/errors/DonationErrorDialogs.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/errors/DonationErrorDialogs.kt @@ -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() } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/manage/ManageDonationsViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/manage/ManageDonationsViewModel.kt index a58d4aeeaf..f8e0900161 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/manage/ManageDonationsViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/manage/ManageDonationsViewModel.kt @@ -110,7 +110,7 @@ class ManageDonationsViewModel( class Factory( private val subscriptionsRepository: SubscriptionsRepository ) : ViewModelProvider.Factory { - override fun create(modelClass: Class): T { + override fun create(modelClass: Class): T { return modelClass.cast(ManageDonationsViewModel(subscriptionsRepository))!! } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/receipts/detail/DonationReceiptDetailViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/receipts/detail/DonationReceiptDetailViewModel.kt index 6915085a52..36165d40b5 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/receipts/detail/DonationReceiptDetailViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/receipts/detail/DonationReceiptDetailViewModel.kt @@ -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 create(modelClass: Class): T { + override fun create(modelClass: Class): T { return modelClass.cast(DonationReceiptDetailViewModel(id, repository)) as T } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/receipts/list/DonationReceiptListPageViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/receipts/list/DonationReceiptListPageViewModel.kt index df8eaf721f..ecabf9a86c 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/receipts/list/DonationReceiptListPageViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/receipts/list/DonationReceiptListPageViewModel.kt @@ -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 create(modelClass: Class): T { + override fun create(modelClass: Class): T { return modelClass.cast(DonationReceiptListPageViewModel(type, repository)) as T } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/receipts/list/DonationReceiptListViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/receipts/list/DonationReceiptListViewModel.kt index 83a6a1f6dd..72603a53cd 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/receipts/list/DonationReceiptListViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/receipts/list/DonationReceiptListViewModel.kt @@ -49,7 +49,7 @@ class DonationReceiptListViewModel(private val repository: DonationReceiptListRe } class Factory(private val repository: DonationReceiptListRepository) : ViewModelProvider.Factory { - override fun create(modelClass: Class): T { + override fun create(modelClass: Class): T { return modelClass.cast(DonationReceiptListViewModel(repository)) as T } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/subscribe/SubscribeViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/subscribe/SubscribeViewModel.kt index 0c2f370aa2..64e9c3c41a 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/subscribe/SubscribeViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/subscribe/SubscribeViewModel.kt @@ -296,7 +296,7 @@ class SubscribeViewModel( private val donationPaymentRepository: DonationPaymentRepository, private val fetchTokenRequestCode: Int ) : ViewModelProvider.Factory { - override fun create(modelClass: Class): T { + override fun create(modelClass: Class): T { return modelClass.cast(SubscribeViewModel(subscriptionsRepository, donationPaymentRepository, fetchTokenRequestCode))!! } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/ConversationSettingsViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/ConversationSettingsViewModel.kt index aff966bc6e..9559eb13d5 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/ConversationSettingsViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/ConversationSettingsViewModel.kt @@ -471,7 +471,7 @@ sealed class ConversationSettingsViewModel( private val repository: ConversationSettingsRepository, ) : ViewModelProvider.Factory { - override fun create(modelClass: Class): T { + override fun create(modelClass: Class): T { return requireNotNull( modelClass.cast( when { diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/InternalConversationSettingsFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/InternalConversationSettingsFragment.kt index c93c6b7cf3..1fdbbdce73 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/InternalConversationSettingsFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/InternalConversationSettingsFragment.kt @@ -280,7 +280,7 @@ class InternalConversationSettingsFragment : DSLSettingsFragment( } class MyViewModelFactory(val recipientId: RecipientId) : ViewModelProvider.NewInstanceFactory() { - override fun create(modelClass: Class): T { + override fun create(modelClass: Class): T { return Objects.requireNonNull(modelClass.cast(InternalViewModel(recipientId))) } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/permissions/PermissionsSettingsViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/permissions/PermissionsSettingsViewModel.kt index a271cc8c20..52e02f4e88 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/permissions/PermissionsSettingsViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/permissions/PermissionsSettingsViewModel.kt @@ -69,7 +69,7 @@ class PermissionsSettingsViewModel( private val groupId: GroupId, private val repository: PermissionsSettingsRepository ) : ViewModelProvider.Factory { - override fun create(modelClass: Class): T { + override fun create(modelClass: Class): T { return requireNotNull(modelClass.cast(PermissionsSettingsViewModel(groupId, repository))) } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/sounds/SoundsAndNotificationsSettingsViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/sounds/SoundsAndNotificationsSettingsViewModel.kt index 35e02745d3..67b377d9a8 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/sounds/SoundsAndNotificationsSettingsViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/sounds/SoundsAndNotificationsSettingsViewModel.kt @@ -53,7 +53,7 @@ class SoundsAndNotificationsSettingsViewModel( private val recipientId: RecipientId, private val repository: SoundsAndNotificationsSettingsRepository ) : ViewModelProvider.Factory { - override fun create(modelClass: Class): T { + override fun create(modelClass: Class): T { return requireNotNull(modelClass.cast(SoundsAndNotificationsSettingsViewModel(recipientId, repository))) } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/sounds/custom/CustomNotificationsSettingsViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/sounds/custom/CustomNotificationsSettingsViewModel.kt index ea87f3d409..57f1bbf987 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/sounds/custom/CustomNotificationsSettingsViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/sounds/custom/CustomNotificationsSettingsViewModel.kt @@ -78,7 +78,7 @@ class CustomNotificationsSettingsViewModel( private val recipientId: RecipientId, private val repository: CustomNotificationsSettingsRepository ) : ViewModelProvider.Factory { - override fun create(modelClass: Class): T { + override fun create(modelClass: Class): T { return requireNotNull(modelClass.cast(CustomNotificationsSettingsViewModel(recipientId, repository))) } } 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 a411598519..60036b6a30 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 @@ -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 }, R.layout.dsl_button_primary)) - mappingAdapter.registerFactory(Model.SecondaryNoOutline::class.java, LayoutFactory({ ViewHolder(it) as MappingViewHolder }, 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>( @@ -42,11 +42,11 @@ object Button { ) : Model(title, icon, isEnabled, onClick) } - class ViewHolder(itemView: View) : MappingViewHolder>(itemView) { + class ViewHolder>(itemView: View) : MappingViewHolder(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() diff --git a/app/src/main/java/org/thoughtcrime/securesms/contacts/paged/ContactSearchItems.kt b/app/src/main/java/org/thoughtcrime/securesms/contacts/paged/ContactSearchItems.kt index 41a0d936e9..6e56cf7112 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/contacts/paged/ContactSearchItems.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/contacts/paged/ContactSearchItems.kt @@ -134,7 +134,7 @@ object ContactSearchItems { /** * Base Recipient View Holder */ - private abstract class BaseRecipientViewHolder(itemView: View, private val displayCheckBox: Boolean, val onClick: (D, Boolean) -> Unit) : MappingViewHolder(itemView) { + private abstract class BaseRecipientViewHolder, D : ContactSearchData>(itemView: View, private val displayCheckBox: Boolean, val onClick: (D, Boolean) -> Unit) : MappingViewHolder(itemView) { protected val avatar: AvatarImageView = itemView.findViewById(R.id.contact_photo_image) protected val badge: BadgeImageView = itemView.findViewById(R.id.contact_badge) diff --git a/app/src/main/java/org/thoughtcrime/securesms/contacts/paged/ContactSearchPagedDataSource.kt b/app/src/main/java/org/thoughtcrime/securesms/contacts/paged/ContactSearchPagedDataSource.kt index 06dd69b0c2..6e693067f3 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/contacts/paged/ContactSearchPagedDataSource.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/contacts/paged/ContactSearchPagedDataSource.kt @@ -14,7 +14,7 @@ class ContactSearchPagedDataSource( ) : PagedDataSource { override fun size(): Int { - return contactConfiguration.sections.sumBy { + return contactConfiguration.sections.sumOf { getSectionSize(it, contactConfiguration.query) } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/contacts/paged/ContactSearchViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/contacts/paged/ContactSearchViewModel.kt index 19049e9fe4..164a01958f 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/contacts/paged/ContactSearchViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/contacts/paged/ContactSearchViewModel.kt @@ -98,7 +98,7 @@ class ContactSearchViewModel( } class Factory(private val selectionLimits: SelectionLimits, private val repository: ContactSearchRepository) : ViewModelProvider.Factory { - override fun create(modelClass: Class): T { + override fun create(modelClass: Class): T { return modelClass.cast(ContactSearchViewModel(selectionLimits, repository)) as T } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/colors/ChatColors.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/colors/ChatColors.kt index 7daea2245f..048840cd8c 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/colors/ChatColors.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/colors/ChatColors.kt @@ -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 { diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/colors/ui/ChatColorSelectionViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/colors/ui/ChatColorSelectionViewModel.kt index 5dd8d1a292..f7f6ea1acb 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/colors/ui/ChatColorSelectionViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/colors/ui/ChatColorSelectionViewModel.kt @@ -51,7 +51,7 @@ class ChatColorSelectionViewModel(private val repository: ChatColorSelectionRepo } class Factory(private val repository: ChatColorSelectionRepository) : ViewModelProvider.Factory { - override fun create(modelClass: Class): T = requireNotNull(modelClass.cast(ChatColorSelectionViewModel(repository))) + override fun create(modelClass: Class): T = requireNotNull(modelClass.cast(ChatColorSelectionViewModel(repository))) } companion object { diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/colors/ui/custom/CustomChatColorCreatorViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/colors/ui/custom/CustomChatColorCreatorViewModel.kt index 7ef745c6cb..d0447712c2 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/colors/ui/custom/CustomChatColorCreatorViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/colors/ui/custom/CustomChatColorCreatorViewModel.kt @@ -141,7 +141,7 @@ class CustomChatColorCreatorViewModel( private val recipientId: RecipientId?, private val chatColorCreatorRepository: CustomChatColorCreatorRepository ) : ViewModelProvider.Factory { - override fun create(modelClass: Class): T { + override fun create(modelClass: Class): T { return requireNotNull(modelClass.cast(CustomChatColorCreatorViewModel(maxSliderValue, chatColorsId, recipientId, chatColorCreatorRepository))) } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/drafts/DraftViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/drafts/DraftViewModel.kt index 36c4ce63de..e2cec0958c 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/drafts/DraftViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/drafts/DraftViewModel.kt @@ -80,7 +80,7 @@ class DraftViewModel( class Factory(private val repository: DraftRepository) : ViewModelProvider.Factory { - override fun create(modelClass: Class): T { + override fun create(modelClass: Class): T { return requireNotNull(modelClass.cast(DraftViewModel(repository))) } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/mutiselect/forward/MultiselectForwardFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/mutiselect/forward/MultiselectForwardFragment.kt index 520a39235d..ad736a0c83 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/mutiselect/forward/MultiselectForwardFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/mutiselect/forward/MultiselectForwardFragment.kt @@ -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 = requireNotNull(requireArguments().getParcelableArrayList(ARG_MULTISHARE_ARGS)) diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/mutiselect/forward/MultiselectForwardRepository.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/mutiselect/forward/MultiselectForwardRepository.kt index 8db1ca2e3c..c340d1300f 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/mutiselect/forward/MultiselectForwardRepository.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/mutiselect/forward/MultiselectForwardRepository.kt @@ -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, diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/mutiselect/forward/MultiselectForwardViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/mutiselect/forward/MultiselectForwardViewModel.kt index 7faa7f48d3..74e78b1d1b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/mutiselect/forward/MultiselectForwardViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/mutiselect/forward/MultiselectForwardViewModel.kt @@ -70,7 +70,7 @@ class MultiselectForwardViewModel( private val isSelectionOnly: Boolean, private val repository: MultiselectForwardRepository, ) : ViewModelProvider.Factory { - override fun create(modelClass: Class): T { + override fun create(modelClass: Class): T { return requireNotNull(modelClass.cast(MultiselectForwardViewModel(records, isSelectionOnly, repository))) } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/PendingRetryReceiptCache.kt b/app/src/main/java/org/thoughtcrime/securesms/database/PendingRetryReceiptCache.kt index 5d0f37b638..6b5883638b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/PendingRetryReceiptCache.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/database/PendingRetryReceiptCache.kt @@ -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 = HashMap() private var populated: Boolean = false diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/RecipientDatabase.kt b/app/src/main/java/org/thoughtcrime/securesms/database/RecipientDatabase.kt index 840de62fa6..fd2fe0d1d5 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/RecipientDatabase.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/database/RecipientDatabase.kt @@ -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()) diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/SqlCipherErrorHandler.kt b/app/src/main/java/org/thoughtcrime/securesms/database/SqlCipherErrorHandler.kt index dd3d1ee425..aab3e0f109 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/SqlCipherErrorHandler.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/database/SqlCipherErrorHandler.kt @@ -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) { diff --git a/app/src/main/java/org/thoughtcrime/securesms/dependencies/ApplicationDependencyProvider.java b/app/src/main/java/org/thoughtcrime/securesms/dependencies/ApplicationDependencyProvider.java index a4f35e7652..b5cd86b701 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/dependencies/ApplicationDependencyProvider.java +++ b/app/src/main/java/org/thoughtcrime/securesms/dependencies/ApplicationDependencyProvider.java @@ -271,7 +271,7 @@ public class ApplicationDependencyProvider implements ApplicationDependencies.Pr @Override public @NonNull PendingRetryReceiptCache providePendingRetryReceiptCache() { - return new PendingRetryReceiptCache(context); + return new PendingRetryReceiptCache(); } @Override 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 c369587497..40c8914bd1 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 @@ -81,7 +81,7 @@ class EmojiKeyboardPageViewModel(private val repository: EmojiKeyboardPageReposi private val repository = EmojiKeyboardPageRepository(context) - override fun create(modelClass: Class): T { + override fun create(modelClass: Class): T { return requireNotNull(modelClass.cast(EmojiKeyboardPageViewModel(repository))) } } 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 7f147cd1ba..950b1d246f 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 @@ -29,7 +29,7 @@ class EmojiSearchViewModel(private val repository: EmojiSearchRepository) : View data class EmojiSearchResults(val emojiList: List>, val isRecents: Boolean) class Factory(private val repository: EmojiSearchRepository) : ViewModelProvider.Factory { - override fun create(modelClass: Class): T { + override fun create(modelClass: Class): T { return requireNotNull(modelClass.cast(EmojiSearchViewModel(repository))) } } 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 ee31689e9a..9f62203e71 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 @@ -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) 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 1cc97bfa7d..a1dc7d0b2e 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 @@ -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 create(modelClass: Class): T { + override fun create(modelClass: Class): T { return requireNotNull(modelClass.cast(StickerKeyboardPageViewModel(repository))) } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/keyboard/sticker/StickerSearchRepository.kt b/app/src/main/java/org/thoughtcrime/securesms/keyboard/sticker/StickerSearchRepository.kt index 381da7b095..3ede42ea20 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/keyboard/sticker/StickerSearchRepository.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/keyboard/sticker/StickerSearchRepository.kt @@ -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 diff --git a/app/src/main/java/org/thoughtcrime/securesms/keyboard/sticker/StickerSearchViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/keyboard/sticker/StickerSearchViewModel.kt index d660f11ed7..8632fb6db2 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/keyboard/sticker/StickerSearchViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/keyboard/sticker/StickerSearchViewModel.kt @@ -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 create(modelClass: Class): T { + override fun create(modelClass: Class): T { return requireNotNull(modelClass.cast(StickerSearchViewModel(repository))) } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/keyvalue/DonationsValues.kt b/app/src/main/java/org/thoughtcrime/securesms/keyvalue/DonationsValues.kt index daf2a2d56e..c3f69b03a2 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/keyvalue/DonationsValues.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/keyvalue/DonationsValues.kt @@ -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") diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/MediaSelectionViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/MediaSelectionViewModel.kt index e4c589d669..e14db015ec 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/MediaSelectionViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/MediaSelectionViewModel.kt @@ -434,7 +434,7 @@ class MediaSelectionViewModel( private val isStory: Boolean, private val repository: MediaSelectionRepository ) : ViewModelProvider.Factory { - override fun create(modelClass: Class): T { + override fun create(modelClass: Class): T { return requireNotNull(modelClass.cast(MediaSelectionViewModel(destination, transportOption, initialMedia, initialMessage, isReply, isStory, repository))) } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/capture/MediaCaptureViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/capture/MediaCaptureViewModel.kt index c0980fc692..bb946b7866 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/capture/MediaCaptureViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/capture/MediaCaptureViewModel.kt @@ -47,7 +47,7 @@ class MediaCaptureViewModel(private val repository: MediaCaptureRepository) : Vi } class Factory(private val repository: MediaCaptureRepository) : ViewModelProvider.Factory { - override fun create(modelClass: Class): T { + override fun create(modelClass: Class): T { return requireNotNull(modelClass.cast(MediaCaptureViewModel(repository))) } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/gallery/MediaGalleryViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/gallery/MediaGalleryViewModel.kt index 317bd0ef1f..e4f402a680 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/gallery/MediaGalleryViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/gallery/MediaGalleryViewModel.kt @@ -60,7 +60,7 @@ class MediaGalleryViewModel(bucketId: String?, bucketTitle: String?, private val private val bucketTitle: String?, private val repository: MediaGalleryRepository ) : ViewModelProvider.Factory { - override fun create(modelClass: Class): T { + override fun create(modelClass: Class): T { return requireNotNull(modelClass.cast(MediaGalleryViewModel(bucketId, bucketTitle, repository))) } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/text/TextStoryPostCreationViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/text/TextStoryPostCreationViewModel.kt index 5e2fdb2e81..63bc79d69e 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/text/TextStoryPostCreationViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/text/TextStoryPostCreationViewModel.kt @@ -132,7 +132,7 @@ class TextStoryPostCreationViewModel(private val repository: TextStoryPostSendRe } class Factory(private val repository: TextStoryPostSendRepository) : ViewModelProvider.Factory { - override fun create(modelClass: Class): T { + override fun create(modelClass: Class): T { return modelClass.cast(TextStoryPostCreationViewModel(repository)) as T } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/text/TextStoryPostTextEntryFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/text/TextStoryPostTextEntryFragment.kt index 11e5b05a87..7c3b4a9f38 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/text/TextStoryPostTextEntryFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/text/TextStoryPostTextEntryFragment.kt @@ -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) } diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/text/send/TextStoryPostSendViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/text/send/TextStoryPostSendViewModel.kt index bacd0b004d..37971a16e1 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/text/send/TextStoryPostSendViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/text/send/TextStoryPostSendViewModel.kt @@ -64,7 +64,7 @@ class TextStoryPostSendViewModel(private val repository: TextStoryPostSendReposi } class Factory(private val repository: TextStoryPostSendRepository) : ViewModelProvider.Factory { - override fun create(modelClass: Class): T { + override fun create(modelClass: Class): T { return modelClass.cast(TextStoryPostSendViewModel(repository)) as T } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/mms/IncomingMediaMessage.kt b/app/src/main/java/org/thoughtcrime/securesms/mms/IncomingMediaMessage.kt index cac2b40cc3..5c00d6815b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mms/IncomingMediaMessage.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/mms/IncomingMediaMessage.kt @@ -78,8 +78,8 @@ class IncomingMediaMessage( isUnidentified = unidentified, isViewOnce = viewOnce, serverGuid = null, - attachments = ArrayList(attachments), - sharedContacts = ArrayList(sharedContacts.orElse(emptyList())), + attachments = attachments?.let { ArrayList(it) } ?: emptyList(), + sharedContacts = ArrayList(sharedContacts.orElse(emptyList())), ) constructor( diff --git a/app/src/main/java/org/thoughtcrime/securesms/sharing/v2/ShareViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/sharing/v2/ShareViewModel.kt index 31db8d1767..acb5727b7d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/sharing/v2/ShareViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/sharing/v2/ShareViewModel.kt @@ -83,7 +83,7 @@ class ShareViewModel( private val unresolvedShareData: UnresolvedShareData, private val shareRepository: ShareRepository ) : ViewModelProvider.Factory { - override fun create(modelClass: Class): T { + override fun create(modelClass: Class): T { return modelClass.cast(ShareViewModel(unresolvedShareData, shareRepository)) as T } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/stories/StoryTextPostView.kt b/app/src/main/java/org/thoughtcrime/securesms/stories/StoryTextPostView.kt index 29e34162cf..7ff3fea8de 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/stories/StoryTextPostView.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/stories/StoryTextPostView.kt @@ -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) } diff --git a/app/src/main/java/org/thoughtcrime/securesms/stories/landing/StoriesLandingViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/stories/landing/StoriesLandingViewModel.kt index deaed8b536..e14e119d11 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/stories/landing/StoriesLandingViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/stories/landing/StoriesLandingViewModel.kt @@ -51,7 +51,7 @@ class StoriesLandingViewModel(private val storiesLandingRepository: StoriesLandi } class Factory(private val storiesLandingRepository: StoriesLandingRepository) : ViewModelProvider.Factory { - override fun create(modelClass: Class): T { + override fun create(modelClass: Class): T { return modelClass.cast(StoriesLandingViewModel(storiesLandingRepository)) as T } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/stories/my/MyStoriesViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/stories/my/MyStoriesViewModel.kt index 5438cb07ed..c502938709 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/stories/my/MyStoriesViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/stories/my/MyStoriesViewModel.kt @@ -31,7 +31,7 @@ class MyStoriesViewModel(private val repository: MyStoriesRepository) : ViewMode } class Factory(private val repository: MyStoriesRepository) : ViewModelProvider.Factory { - override fun create(modelClass: Class): T { + override fun create(modelClass: Class): T { return modelClass.cast(MyStoriesViewModel(repository)) as T } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/stories/settings/create/CreateStoryWithViewersViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/stories/settings/create/CreateStoryWithViewersViewModel.kt index 120bb3d1da..9095e75608 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/stories/settings/create/CreateStoryWithViewersViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/stories/settings/create/CreateStoryWithViewersViewModel.kt @@ -59,7 +59,7 @@ class CreateStoryWithViewersViewModel( class Factory( private val repository: CreateStoryWithViewersRepository ) : ViewModelProvider.Factory { - override fun create(modelClass: Class): T { + override fun create(modelClass: Class): T { return modelClass.cast(CreateStoryWithViewersViewModel(repository)) as T } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/stories/settings/custom/PrivateStorySettingsViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/stories/settings/custom/PrivateStorySettingsViewModel.kt index 054e78d491..c862677932 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/stories/settings/custom/PrivateStorySettingsViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/stories/settings/custom/PrivateStorySettingsViewModel.kt @@ -56,7 +56,7 @@ class PrivateStorySettingsViewModel(private val distributionListId: Distribution } class Factory(private val privateStoryItemData: DistributionListId, private val repository: PrivateStorySettingsRepository) : ViewModelProvider.Factory { - override fun create(modelClass: Class): T { + override fun create(modelClass: Class): T { return modelClass.cast(PrivateStorySettingsViewModel(privateStoryItemData, repository)) as T } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/stories/settings/custom/name/EditStoryNameViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/stories/settings/custom/name/EditStoryNameViewModel.kt index 76f95cb89a..0466c15687 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/stories/settings/custom/name/EditStoryNameViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/stories/settings/custom/name/EditStoryNameViewModel.kt @@ -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 create(modelClass: Class): T { + override fun create(modelClass: Class): T { return modelClass.cast(EditStoryNameViewModel(privateStoryId, repository)) as T } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/stories/settings/my/MyStorySettingsViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/stories/settings/my/MyStorySettingsViewModel.kt index eeeea61b49..451decc798 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/stories/settings/my/MyStorySettingsViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/stories/settings/my/MyStorySettingsViewModel.kt @@ -33,7 +33,7 @@ class MyStorySettingsViewModel(private val repository: MyStorySettingsRepository } class Factory(private val repository: MyStorySettingsRepository) : ViewModelProvider.Factory { - override fun create(modelClass: Class): T { + override fun create(modelClass: Class): T { return modelClass.cast(MyStorySettingsViewModel(repository)) as T } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/stories/settings/select/BaseStoryRecipientSelectionViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/stories/settings/select/BaseStoryRecipientSelectionViewModel.kt index 95cc44efe8..64be3fb35f 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/stories/settings/select/BaseStoryRecipientSelectionViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/stories/settings/select/BaseStoryRecipientSelectionViewModel.kt @@ -68,7 +68,7 @@ class BaseStoryRecipientSelectionViewModel( private val distributionListId: DistributionListId?, private val repository: BaseStoryRecipientSelectionRepository ) : ViewModelProvider.Factory { - override fun create(modelClass: Class): T { + override fun create(modelClass: Class): T { return modelClass.cast(BaseStoryRecipientSelectionViewModel(distributionListId, repository)) as T } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/stories/settings/story/StorySettingsViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/stories/settings/story/StorySettingsViewModel.kt index 121d5b74d2..cbf2eb6d34 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/stories/settings/story/StorySettingsViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/stories/settings/story/StorySettingsViewModel.kt @@ -29,7 +29,7 @@ class StorySettingsViewModel( class Factory( private val repository: StorySettingsRepository ) : ViewModelProvider.Factory { - override fun create(modelClass: Class): T { + override fun create(modelClass: Class): T { return modelClass.cast(StorySettingsViewModel(repository)) as T } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/stories/tabs/ConversationListTabsViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/stories/tabs/ConversationListTabsViewModel.kt index e8a0f8a138..9ffdf3aee3 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/stories/tabs/ConversationListTabsViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/stories/tabs/ConversationListTabsViewModel.kt @@ -65,7 +65,7 @@ class ConversationListTabsViewModel(repository: ConversationListTabRepository) : } class Factory(private val repository: ConversationListTabRepository) : ViewModelProvider.Factory { - override fun create(modelClass: Class): T { + override fun create(modelClass: Class): T { return modelClass.cast(ConversationListTabsViewModel(repository)) as T } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/StoryViewerViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/StoryViewerViewModel.kt index 8d06fc7112..bb66ff14c2 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/StoryViewerViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/StoryViewerViewModel.kt @@ -165,7 +165,7 @@ class StoryViewerViewModel( private val storyViewerArgs: StoryViewerArgs, private val repository: StoryViewerRepository ) : ViewModelProvider.Factory { - override fun create(modelClass: Class): T { + override fun create(modelClass: Class): T { return modelClass.cast( StoryViewerViewModel( storyViewerArgs, diff --git a/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/page/StoryViewerPageViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/page/StoryViewerPageViewModel.kt index ffd0162f8e..7f197ed1c0 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/page/StoryViewerPageViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/page/StoryViewerPageViewModel.kt @@ -237,7 +237,7 @@ class StoryViewerPageViewModel( } class Factory(private val recipientId: RecipientId, private val initialStoryId: Long, private val repository: StoryViewerPageRepository) : ViewModelProvider.Factory { - override fun create(modelClass: Class): T { + override fun create(modelClass: Class): T { return modelClass.cast(StoryViewerPageViewModel(recipientId, initialStoryId, repository)) as T } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/reply/direct/StoryDirectReplyViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/reply/direct/StoryDirectReplyViewModel.kt index ec91cae59b..ffe4424b2a 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/reply/direct/StoryDirectReplyViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/reply/direct/StoryDirectReplyViewModel.kt @@ -51,7 +51,7 @@ class StoryDirectReplyViewModel( private val groupDirectReplyRecipientId: RecipientId?, private val repository: StoryDirectReplyRepository ) : ViewModelProvider.Factory { - override fun create(modelClass: Class): T { + override fun create(modelClass: Class): T { return modelClass.cast( StoryDirectReplyViewModel(storyId, groupDirectReplyRecipientId, repository) ) as T diff --git a/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/reply/group/StoryGroupReplyViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/reply/group/StoryGroupReplyViewModel.kt index 49f366d9b1..75475ff414 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/reply/group/StoryGroupReplyViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/reply/group/StoryGroupReplyViewModel.kt @@ -59,7 +59,7 @@ class StoryGroupReplyViewModel(storyId: Long, repository: StoryGroupReplyReposit } class Factory(private val storyId: Long, private val repository: StoryGroupReplyRepository) : ViewModelProvider.Factory { - override fun create(modelClass: Class): T { + override fun create(modelClass: Class): T { return modelClass.cast(StoryGroupReplyViewModel(storyId, repository)) as T } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/text/StoryTextPostViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/text/StoryTextPostViewModel.kt index eb71c589ee..3fdc5c9524 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/text/StoryTextPostViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/text/StoryTextPostViewModel.kt @@ -72,7 +72,7 @@ class StoryTextPostViewModel(recordId: Long, repository: StoryTextPostRepository } class Factory(private val recordId: Long, private val repository: StoryTextPostRepository) : ViewModelProvider.Factory { - override fun create(modelClass: Class): T { + override fun create(modelClass: Class): T { return modelClass.cast(StoryTextPostViewModel(recordId, repository)) as T } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/views/StoryViewsViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/views/StoryViewsViewModel.kt index 357aa1cd1d..0571700a03 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/views/StoryViewsViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/views/StoryViewsViewModel.kt @@ -33,7 +33,7 @@ class StoryViewsViewModel(storyId: Long, repository: StoryViewsRepository) : Vie private val storyId: Long, private val repository: StoryViewsRepository ) : ViewModelProvider.Factory { - override fun create(modelClass: Class): T { + override fun create(modelClass: Class): T { return modelClass.cast(StoryViewsViewModel(storyId, repository)) as T } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/util/rx/ReactiveTask.kt b/app/src/main/java/org/thoughtcrime/securesms/util/rx/ReactiveTask.kt deleted file mode 100644 index 3a001472d3..0000000000 --- a/app/src/main/java/org/thoughtcrime/securesms/util/rx/ReactiveTask.kt +++ /dev/null @@ -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 Task.toSingle(): Single { - return Single.create { emitter -> - addOnCompleteListener { - if (it.isSuccessful && !emitter.isDisposed) { - emitter.onSuccess(it.result) - } else if (!emitter.isDisposed) { - emitter.onError(it.exception) - } - } - } -} diff --git a/build.gradle b/build.gradle index 94eb2a9d9c..5249c4ebd5 100644 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,5 @@ buildscript { - ext.kotlin_version = '1.4.32' + ext.kotlin_version = '1.6.21' repositories { google() mavenCentral() diff --git a/core-util/src/main/java/org/signal/core/util/SqlUtil.kt b/core-util/src/main/java/org/signal/core/util/SqlUtil.kt index db35dd5230..40ad0c9fe4 100644 --- a/core-util/src/main/java/org/signal/core/util/SqlUtil.kt +++ b/core-util/src/main/java/org/signal/core/util/SqlUtil.kt @@ -93,9 +93,9 @@ object SqlUtil { while (i < len) { val point = StringUtil.codePointToString(query.codePointAt(i)) pattern.append("[") - pattern.append(point.toLowerCase(Locale.getDefault())) - pattern.append(point.toUpperCase(Locale.getDefault())) - pattern.append(getAccentuatedCharRegex(point.toLowerCase(Locale.getDefault()))) + pattern.append(point.lowercase(Locale.getDefault())) + pattern.append(point.uppercase(Locale.getDefault())) + pattern.append(getAccentuatedCharRegex(point.lowercase(Locale.getDefault()))) pattern.append("]") i++ } @@ -166,7 +166,7 @@ object SqlUtil { if (value != null) { if (value is ByteArray) { qualifier.append("hex(").append(key).append(") != ? OR ").append(key).append(" IS NULL") - fullArgs.add(Hex.toStringCondensed(value).toUpperCase(Locale.US)) + fullArgs.add(Hex.toStringCondensed(value).uppercase(Locale.US)) } else { qualifier.append(key).append(" != ? OR ").append(key).append(" IS NULL") fullArgs.add(value.toString()) diff --git a/dependencies.gradle b/dependencies.gradle index b2099d616b..04de3057ee 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -9,7 +9,7 @@ dependencyResolutionManagement { version('androidx-camera', '1.0.0-beta11') version('androidx-lifecycle', '2.3.1') version('mp4parser', '1.9.39') - version('kotlin', '1.5.10') + version('kotlin', '1.6.21') // Desugaring alias('android-tools-desugar').to('com.android.tools:desugar_jdk_libs:1.1.5') diff --git a/donations/lib/src/main/java/org/signal/donations/StripeApi.kt b/donations/lib/src/main/java/org/signal/donations/StripeApi.kt index b392e649d3..9acb731713 100644 --- a/donations/lib/src/main/java/org/signal/donations/StripeApi.kt +++ b/donations/lib/src/main/java/org/signal/donations/StripeApi.kt @@ -61,7 +61,7 @@ class StripeApi( Single.just(CreatePaymentIntentResult.AmountIsTooSmall(price)) } else if (Validation.isAmountTooLarge(price)) { Single.just(CreatePaymentIntentResult.AmountIsTooLarge(price)) - } else if (!Validation.supportedCurrencyCodes.contains(price.currency.currencyCode.toUpperCase(Locale.ROOT))) { + } else if (!Validation.supportedCurrencyCodes.contains(price.currency.currencyCode.uppercase(Locale.ROOT))) { Single.just(CreatePaymentIntentResult.CurrencyIsNotSupported(price.currency.currencyCode)) } else { paymentIntentFetcher diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml index 899b0503f0..196646dd75 100644 --- a/gradle/verification-metadata.xml +++ b/gradle/verification-metadata.xml @@ -33,22 +33,6 @@ https://docs.gradle.org/current/userguide/dependency_verification.html - - - - - - - - - - - - - - - - @@ -57,22 +41,6 @@ https://docs.gradle.org/current/userguide/dependency_verification.html - - - - - - - - - - - - - - - - @@ -96,14 +64,6 @@ https://docs.gradle.org/current/userguide/dependency_verification.html - - - - - - - - @@ -250,11 +210,6 @@ https://docs.gradle.org/current/userguide/dependency_verification.html - - - - - @@ -263,14 +218,6 @@ https://docs.gradle.org/current/userguide/dependency_verification.html - - - - - - - - @@ -752,11 +699,6 @@ https://docs.gradle.org/current/userguide/dependency_verification.html - - - - - @@ -787,11 +729,6 @@ https://docs.gradle.org/current/userguide/dependency_verification.html - - - - - @@ -1475,8 +1412,8 @@ https://docs.gradle.org/current/userguide/dependency_verification.html - - + + @@ -1677,6 +1614,11 @@ https://docs.gradle.org/current/userguide/dependency_verification.html + + + + + @@ -1792,11 +1734,6 @@ https://docs.gradle.org/current/userguide/dependency_verification.html - - - - - @@ -1946,14 +1883,6 @@ https://docs.gradle.org/current/userguide/dependency_verification.html - - - - - - - - @@ -1962,14 +1891,6 @@ https://docs.gradle.org/current/userguide/dependency_verification.html - - - - - - - - @@ -1978,14 +1899,6 @@ https://docs.gradle.org/current/userguide/dependency_verification.html - - - - - - - - @@ -1994,14 +1907,6 @@ https://docs.gradle.org/current/userguide/dependency_verification.html - - - - - - - - @@ -2010,14 +1915,6 @@ https://docs.gradle.org/current/userguide/dependency_verification.html - - - - - - - - @@ -2026,14 +1923,6 @@ https://docs.gradle.org/current/userguide/dependency_verification.html - - - - - - - - @@ -2042,14 +1931,6 @@ https://docs.gradle.org/current/userguide/dependency_verification.html - - - - - - - - @@ -2058,14 +1939,6 @@ https://docs.gradle.org/current/userguide/dependency_verification.html - - - - - - - - @@ -2074,14 +1947,6 @@ https://docs.gradle.org/current/userguide/dependency_verification.html - - - - - - - - @@ -2090,14 +1955,6 @@ https://docs.gradle.org/current/userguide/dependency_verification.html - - - - - - - - @@ -2106,14 +1963,6 @@ https://docs.gradle.org/current/userguide/dependency_verification.html - - - - - - - - @@ -2308,9 +2157,9 @@ https://docs.gradle.org/current/userguide/dependency_verification.html - - - + + + @@ -2474,11 +2323,6 @@ https://docs.gradle.org/current/userguide/dependency_verification.html - - - - - @@ -2607,11 +2451,6 @@ https://docs.gradle.org/current/userguide/dependency_verification.html - - - - - @@ -2937,34 +2776,29 @@ https://docs.gradle.org/current/userguide/dependency_verification.html - - - + + + - - - + + + - - - + + + - - - + + + - - - - - - - - + + + @@ -2972,24 +2806,19 @@ https://docs.gradle.org/current/userguide/dependency_verification.html - - - + + + - - - + + + - - - - - - - - + + + @@ -2997,34 +2826,54 @@ https://docs.gradle.org/current/userguide/dependency_verification.html - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -3037,29 +2886,14 @@ https://docs.gradle.org/current/userguide/dependency_verification.html - - - - - - - - - - - - - - - - - - + + + @@ -3067,24 +2901,29 @@ https://docs.gradle.org/current/userguide/dependency_verification.html - - - + + + - - - + + + - - - + + + - - - + + + + + + + + @@ -3097,11 +2936,6 @@ https://docs.gradle.org/current/userguide/dependency_verification.html - - - - - @@ -3112,21 +2946,16 @@ https://docs.gradle.org/current/userguide/dependency_verification.html - - - - - - - - - - + + + + + @@ -3152,21 +2981,16 @@ https://docs.gradle.org/current/userguide/dependency_verification.html - - - - - - - - - - + + + + + @@ -3182,21 +3006,16 @@ https://docs.gradle.org/current/userguide/dependency_verification.html - - - - - - - - - - + + + + + @@ -3212,21 +3031,16 @@ https://docs.gradle.org/current/userguide/dependency_verification.html - - - - - - - - - - + + + + + @@ -3237,14 +3051,40 @@ https://docs.gradle.org/current/userguide/dependency_verification.html - - - + + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3263,23 +3103,18 @@ https://docs.gradle.org/current/userguide/dependency_verification.html - - - - - - - - + + + @@ -3298,8 +3133,8 @@ https://docs.gradle.org/current/userguide/dependency_verification.html - - + + @@ -3604,22 +3439,6 @@ https://docs.gradle.org/current/userguide/dependency_verification.html - - - - - - - - - - - - - - - - @@ -3628,22 +3447,6 @@ https://docs.gradle.org/current/userguide/dependency_verification.html - - - - - - - - - - - - - - - -