From 8bd1fb08f70e3f1c4c814e30784ad46e8404d173 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 7 Oct 2019 17:18:07 +0200 Subject: [PATCH 01/31] Update template --- CHANGES.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index edaa8b3c01..5065b12391 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -167,21 +167,21 @@ Mode details here: https://medium.com/@RiotChat/introducing-the-riotx-beta-for-a Changes in RiotX 0.0.0 (2019-XX-XX) =================================================== -Features: +Features ✨: - -Improvements: +Improvements 🙌: - Other changes: - -Bugfix: +Bugfix 🐛: - -Translations: +Translations 🗣: - -Build: +Build 🧱: - From d387c310c83835a2e325e486d806e048c535b420 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 7 Oct 2019 18:05:06 +0200 Subject: [PATCH 02/31] Cleanup code after a11y PR (#596) and fix some merging issues --- .../core/ui/views/JumpToReadMarkerView.kt | 11 ----- .../riotx/core/ui/views/ReadReceiptsView.kt | 44 ++++++++++++++----- .../home/room/detail/RoomDetailFragment.kt | 26 +++-------- .../riotx/features/login/LoginFragment.kt | 9 +++- .../reactions/EmojiReactionPickerActivity.kt | 12 +++-- .../reactions/EmojiRecyclerAdapter.kt | 21 +++++---- vector/src/main/res/layout/fragment_login.xml | 6 +-- .../main/res/layout/fragment_room_detail.xml | 26 +---------- .../main/res/layout/merge_composer_layout.xml | 4 +- .../res/layout/view_jump_to_read_marker.xml | 6 +-- .../main/res/layout/view_read_receipts.xml | 11 +++-- vector/src/main/res/values/strings_riotX.xml | 6 +-- 12 files changed, 85 insertions(+), 97 deletions(-) diff --git a/vector/src/main/java/im/vector/riotx/core/ui/views/JumpToReadMarkerView.kt b/vector/src/main/java/im/vector/riotx/core/ui/views/JumpToReadMarkerView.kt index c44b10e31f..8d461e72af 100644 --- a/vector/src/main/java/im/vector/riotx/core/ui/views/JumpToReadMarkerView.kt +++ b/vector/src/main/java/im/vector/riotx/core/ui/views/JumpToReadMarkerView.kt @@ -21,22 +21,11 @@ package im.vector.riotx.core.ui.views import android.content.Context import android.util.AttributeSet import android.view.View -import android.view.ViewGroup -import android.widget.LinearLayout import android.widget.RelativeLayout import androidx.core.content.ContextCompat import androidx.core.view.isInvisible -import androidx.core.view.isVisible -import androidx.core.view.updateLayoutParams -import butterknife.ButterKnife -import com.airbnb.epoxy.VisibilityState -import com.google.android.material.internal.ViewUtils.dpToPx import im.vector.riotx.R -import im.vector.riotx.features.themes.ThemeUtils import kotlinx.android.synthetic.main.view_jump_to_read_marker.view.* -import me.gujun.android.span.span -import me.saket.bettermovementmethod.BetterLinkMovementMethod -import timber.log.Timber class JumpToReadMarkerView @JvmOverloads constructor( context: Context, diff --git a/vector/src/main/java/im/vector/riotx/core/ui/views/ReadReceiptsView.kt b/vector/src/main/java/im/vector/riotx/core/ui/views/ReadReceiptsView.kt index 2cb0a75e20..517327db62 100644 --- a/vector/src/main/java/im/vector/riotx/core/ui/views/ReadReceiptsView.kt +++ b/vector/src/main/java/im/vector/riotx/core/ui/views/ReadReceiptsView.kt @@ -28,7 +28,7 @@ import im.vector.riotx.features.home.room.detail.timeline.item.ReadReceiptData import kotlinx.android.synthetic.main.view_read_receipts.view.* private const val MAX_RECEIPT_DISPLAYED = 5 -private const val MAX_RECEIPT_DESCRIBED = 4 +private const val MAX_RECEIPT_DESCRIBED = 3 class ReadReceiptsView @JvmOverloads constructor( context: Context, @@ -52,7 +52,6 @@ class ReadReceiptsView @JvmOverloads constructor( setOnClickListener(clickListener) if (readReceipts.isNotEmpty()) { isVisible = true - val displayNames = arrayListOf() for (index in 0 until MAX_RECEIPT_DISPLAYED) { val receiptData = readReceipts.getOrNull(index) if (receiptData == null) { @@ -60,11 +59,14 @@ class ReadReceiptsView @JvmOverloads constructor( } else { receiptAvatars[index].visibility = View.VISIBLE avatarRenderer.render(receiptData.avatarUrl, receiptData.userId, receiptData.displayName, receiptAvatars[index]) - if (null !=receiptData.displayName && displayNames.size MAX_RECEIPT_DISPLAYED) { receiptMore.visibility = View.VISIBLE receiptMore.text = context.getString( @@ -73,13 +75,31 @@ class ReadReceiptsView @JvmOverloads constructor( } else { receiptMore.visibility = View.GONE } - when (displayNames.size) { - 0 -> setContentDescription(context.getResources().getQuantityString(R.plurals.fallback_users_read, readReceipts.size)) - 1 -> setContentDescription(context.getString(R.string.one_user_read, displayNames.get(0))) - 2 -> setContentDescription(context.getString(R.string.two_users_read, displayNames.get(0), displayNames.get(1))) - 3 -> setContentDescription(context.getString(R.string.three_users_read, displayNames.get(0), displayNames.get(1), displayNames.get(2))) - else -> setContentDescription(context.getString(R.string.two_and_some_others_read, - displayNames.get(0), displayNames.get(1), (readReceipts.size -2))) + contentDescription = when (readReceipts.size) { + 1 -> + if (displayNames.size == 1) { + context.getString(R.string.one_user_read, displayNames[0]) + } else { + context.resources.getQuantityString(R.plurals.fallback_users_read, readReceipts.size) + } + 2 -> + if (displayNames.size == 2) { + context.getString(R.string.two_users_read, displayNames[0], displayNames[1]) + } else { + context.resources.getQuantityString(R.plurals.fallback_users_read, readReceipts.size) + } + 3 -> + if (displayNames.size == 3) { + context.getString(R.string.three_users_read, displayNames[0], displayNames[1], displayNames[2]) + } else { + context.resources.getQuantityString(R.plurals.fallback_users_read, readReceipts.size) + } + else -> + if (displayNames.size >= 2) { + context.getString(R.string.two_and_some_others_read, displayNames[0], displayNames[1], (readReceipts.size - 2)) + } else { + context.resources.getQuantityString(R.plurals.fallback_users_read, readReceipts.size) + } } } else { isVisible = false diff --git a/vector/src/main/java/im/vector/riotx/features/home/room/detail/RoomDetailFragment.kt b/vector/src/main/java/im/vector/riotx/features/home/room/detail/RoomDetailFragment.kt index ea5dc83997..8dc9d3948c 100644 --- a/vector/src/main/java/im/vector/riotx/features/home/room/detail/RoomDetailFragment.kt +++ b/vector/src/main/java/im/vector/riotx/features/home/room/detail/RoomDetailFragment.kt @@ -32,6 +32,7 @@ import android.view.inputmethod.InputMethodManager import android.widget.TextView import android.widget.Toast import androidx.annotation.DrawableRes +import androidx.annotation.StringRes import androidx.appcompat.app.AlertDialog import androidx.core.app.ActivityOptionsCompat import androidx.core.content.ContextCompat @@ -79,8 +80,6 @@ import im.vector.riotx.core.platform.VectorBaseFragment import im.vector.riotx.core.ui.views.JumpToReadMarkerView import im.vector.riotx.core.ui.views.NotificationAreaView import im.vector.riotx.core.utils.* -import im.vector.riotx.core.utils.Debouncer -import im.vector.riotx.core.utils.createUIHandler import im.vector.riotx.features.autocomplete.command.AutocompleteCommandPresenter import im.vector.riotx.features.autocomplete.command.CommandAutocompletePolicy import im.vector.riotx.features.autocomplete.user.AutocompleteUserPresenter @@ -362,7 +361,7 @@ class RoomDetailFragment : private fun renderSpecialMode(event: TimelineEvent, @DrawableRes iconRes: Int, - descriptionRes: Int, + @StringRes descriptionRes: Int, defaultContent: String) { commandAutocompletePolicy.enabled = false //switch to expanded bar @@ -376,25 +375,17 @@ class RoomDetailFragment : var formattedBody: CharSequence? = null if (messageContent is MessageTextContent && messageContent.format == MessageType.FORMAT_MATRIX_HTML) { val parser = Parser.builder().build() - val document = parser.parse(messageContent.formattedBody - ?: messageContent.body) + val document = parser.parse(messageContent.formattedBody ?: messageContent.body) formattedBody = eventHtmlRenderer.render(document) } - composerLayout.composerRelatedMessageContent.text = formattedBody - ?: nonFormattedBody + composerLayout.composerRelatedMessageContent.text = formattedBody ?: nonFormattedBody updateComposerText(defaultContent) composerLayout.composerRelatedMessageActionIcon.setImageDrawable(ContextCompat.getDrawable(requireContext(), iconRes)) composerLayout.sendButton.setContentDescription(getString(descriptionRes)) - - avatarRenderer.render(event.senderAvatar, event.root.senderId - ?: "", event.senderName, composerLayout.composerRelatedMessageAvatar) - avatarRenderer.render(event.senderAvatar, - event.root.senderId ?: "", - event.senderName, - composerLayout.composerRelatedMessageAvatar) + avatarRenderer.render(event.senderAvatar, event.root.senderId ?: "", event.senderName, composerLayout.composerRelatedMessageAvatar) composerLayout.expand { //need to do it here also when not using quick reply focusComposerAndShowKeyboard() @@ -431,10 +422,8 @@ class RoomDetailFragment : when (requestCode) { REQUEST_FILES_REQUEST_CODE, TAKE_IMAGE_REQUEST_CODE -> handleMediaIntent(data) REACTION_SELECT_REQUEST_CODE -> { - val eventId = data.getStringExtra(EmojiReactionPickerActivity.EXTRA_EVENT_ID) - ?: return - val reaction = data.getStringExtra(EmojiReactionPickerActivity.EXTRA_REACTION_RESULT) - ?: return + val eventId = data.getStringExtra(EmojiReactionPickerActivity.EXTRA_EVENT_ID) ?: return + val reaction = data.getStringExtra(EmojiReactionPickerActivity.EXTRA_REACTION_RESULT) ?: return //TODO check if already reacted with that? roomDetailViewModel.process(RoomDetailActions.SendReaction(reaction, eventId)) } @@ -596,7 +585,6 @@ class RoomDetailFragment : Timber.w("Send button is locked") return@setOnClickListener } - composerLayout.sendButton.setContentDescription(getString(R.string.send)) val textMessage = composerLayout.composerEditText.text.toString() if (textMessage.isNotBlank()) { lockSendButton = true diff --git a/vector/src/main/java/im/vector/riotx/features/login/LoginFragment.kt b/vector/src/main/java/im/vector/riotx/features/login/LoginFragment.kt index c5bc4dd9c8..d562f7ed83 100644 --- a/vector/src/main/java/im/vector/riotx/features/login/LoginFragment.kt +++ b/vector/src/main/java/im/vector/riotx/features/login/LoginFragment.kt @@ -142,8 +142,13 @@ class LoginFragment : VectorBaseFragment() { private fun renderPasswordField() { passwordField.showPassword(passwordShown) - passwordReveal.setImageResource(if (passwordShown) R.drawable.ic_eye_closed_black else R.drawable.ic_eye_black) - passwordReveal.setContentDescription(if (passwordShown) getString(R.string.a11y_hide_password) else getString(R.string.a11y_show_password)) + if (passwordShown) { + passwordReveal.setImageResource(R.drawable.ic_eye_closed_black) + passwordReveal.contentDescription = getString(R.string.a11y_hide_password) + } else { + passwordReveal.setImageResource(R.drawable.ic_eye_black) + passwordReveal.contentDescription = getString(R.string.a11y_show_password) + } } override fun invalidate() = withState(viewModel) { state -> diff --git a/vector/src/main/java/im/vector/riotx/features/reactions/EmojiReactionPickerActivity.kt b/vector/src/main/java/im/vector/riotx/features/reactions/EmojiReactionPickerActivity.kt index c9bddbbe72..5407dd22d3 100644 --- a/vector/src/main/java/im/vector/riotx/features/reactions/EmojiReactionPickerActivity.kt +++ b/vector/src/main/java/im/vector/riotx/features/reactions/EmojiReactionPickerActivity.kt @@ -92,10 +92,14 @@ class EmojiReactionPickerActivity : VectorBaseActivity(), EmojiCompatFontProvide it.rawData?.categories?.let { categories -> for (category in categories) { val s = category.emojis[0] - val newTab =tabLayout.newTab() - newTab.setText(it.rawData!!.emojis[s]!!.emojiString()) - newTab.setContentDescription(category.name) - tabLayout.addTab(newTab) + tabLayout.newTab() + .also { tab -> + tab.text = it.rawData!!.emojis[s]!!.emojiString() + tab.contentDescription = category.name + } + .also { tab -> + tabLayout.addTab(tab) + } } tabLayout.addOnTabSelectedListener(tabLayoutSelectionListener) } diff --git a/vector/src/main/java/im/vector/riotx/features/reactions/EmojiRecyclerAdapter.kt b/vector/src/main/java/im/vector/riotx/features/reactions/EmojiRecyclerAdapter.kt index cbdbcc11d2..a6f1848b68 100644 --- a/vector/src/main/java/im/vector/riotx/features/reactions/EmojiRecyclerAdapter.kt +++ b/vector/src/main/java/im/vector/riotx/features/reactions/EmojiRecyclerAdapter.kt @@ -132,7 +132,7 @@ class EmojiRecyclerAdapter(val dataSource: EmojiDataSource? = null, var reaction itemView.setOnClickListener(itemClickListener) val viewHolder = when (viewType) { R.layout.grid_section_header -> SectionViewHolder(itemView) - else -> EmojiViewHolder(itemView) + else -> EmojiViewHolder(itemView) } endTraceSession() return viewHolder @@ -200,7 +200,7 @@ class EmojiRecyclerAdapter(val dataSource: EmojiDataSource? = null, var reaction val sectionMojis = categories[sectionNumber].emojis val sectionOffset = getSectionOffset(sectionNumber) val emoji = sectionMojis[position - sectionOffset] - val item = dataSource!!.rawData!!.emojis[emoji]!!.emojiString() + val item = dataSource.rawData!!.emojis[emoji]!!.emojiString() (holder as EmojiViewHolder).data = item if (scrollState != ScrollState.SETTLING || !isFastScroll) { // Log.i("PERF","Bind with draw at position:$position") @@ -232,13 +232,13 @@ class EmojiRecyclerAdapter(val dataSource: EmojiDataSource? = null, var reaction override fun getItemCount(): Int { - dataSource?.rawData?.categories?.let { + return dataSource?.rawData?.categories?.let { var count = /*number of sections*/ it.size for (ad in it) { count += ad.emojis.size } - return count - } ?: kotlin.run { return 0 } + count + } ?: 0 } @@ -258,7 +258,7 @@ class EmojiRecyclerAdapter(val dataSource: EmojiDataSource? = null, var reaction emojiView.emoji = s if (s != null) { emojiView.mLayout = getStaticLayoutForEmoji(s) - emojiView.setContentDescription(s) + emojiView.contentDescription = s placeHolder.visibility = View.GONE // emojiView.visibility = View.VISIBLE } else { @@ -298,11 +298,10 @@ class EmojiRecyclerAdapter(val dataSource: EmojiDataSource? = null, var reaction var cachedLayout = staticLayoutCache[emoji] if (cachedLayout == null) { cachedLayout = StaticLayout(emoji, EmojiDrawView.tPaint, EmojiDrawView.emojiSize, Layout.Alignment.ALIGN_CENTER, 1f, 0f, true) - staticLayoutCache[emoji] = cachedLayout!! + staticLayoutCache[emoji] = cachedLayout } - return cachedLayout!! + return cachedLayout } - } interface InteractionListener { @@ -315,10 +314,10 @@ class EmojiRecyclerAdapter(val dataSource: EmojiDataSource? = null, var reaction override fun onScrollStateChanged(recyclerView: RecyclerView, newState: Int) { super.onScrollStateChanged(recyclerView, newState) scrollState = when (newState) { - RecyclerView.SCROLL_STATE_IDLE -> ScrollState.IDLE + RecyclerView.SCROLL_STATE_IDLE -> ScrollState.IDLE RecyclerView.SCROLL_STATE_SETTLING -> ScrollState.SETTLING RecyclerView.SCROLL_STATE_DRAGGING -> ScrollState.DRAGGING - else -> ScrollState.UNKNWON + else -> ScrollState.UNKNWON } //TODO better diff --git a/vector/src/main/res/layout/fragment_login.xml b/vector/src/main/res/layout/fragment_login.xml index a3a1187a64..3dde5e1748 100644 --- a/vector/src/main/res/layout/fragment_login.xml +++ b/vector/src/main/res/layout/fragment_login.xml @@ -87,9 +87,9 @@ android:layout_marginTop="8dp" android:background="?attr/selectableItemBackground" android:scaleType="center" - android:contentDescription="@string/a11y_show_password" android:src="@drawable/ic_eye_black" - android:tint="?attr/colorAccent" /> + android:tint="?attr/colorAccent" + tools:contentDescription="@string/a11y_show_password" /> @@ -104,8 +104,8 @@ android:id="@+id/homeServerField" android:layout_width="match_parent" android:layout_height="wrap_content" - android:inputType="textUri" android:imeOptions="actionDone" + android:inputType="textUri" android:maxLines="1" /> diff --git a/vector/src/main/res/layout/fragment_room_detail.xml b/vector/src/main/res/layout/fragment_room_detail.xml index f93ee48990..ab2c40c313 100644 --- a/vector/src/main/res/layout/fragment_room_detail.xml +++ b/vector/src/main/res/layout/fragment_room_detail.xml @@ -6,29 +6,6 @@ android:layout_width="match_parent" android:layout_height="match_parent"> - - - - - - + app:layout_constraintTop_toBottomOf="@id/syncStateView" + tools:visibility="visible" /> @@ -89,8 +89,8 @@ android:layout_width="0dp" android:layout_height="0dp" android:background="?android:attr/selectableItemBackground" - android:src="@drawable/ic_attachment" android:contentDescription="@string/option_send_files" + android:src="@drawable/ic_attachment" android:tint="?attr/colorAccent" tools:ignore="MissingConstraints" /> diff --git a/vector/src/main/res/layout/view_jump_to_read_marker.xml b/vector/src/main/res/layout/view_jump_to_read_marker.xml index aac22b3311..48f7bd1d80 100644 --- a/vector/src/main/res/layout/view_jump_to_read_marker.xml +++ b/vector/src/main/res/layout/view_jump_to_read_marker.xml @@ -11,13 +11,13 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_toStartOf="@+id/closeJumpToReadMarkerView" + android:background="?attr/selectableItemBackground" android:drawableStart="@drawable/arrow_up_circle" android:drawablePadding="10dp" - android:background="?attr/selectableItemBackground" android:gravity="center_vertical" android:paddingStart="16dp" - android:paddingEnd="16dp" android:paddingTop="12dp" + android:paddingEnd="16dp" android:paddingBottom="12dp" android:text="@string/room_jump_to_first_unread" android:textColor="@color/white" /> @@ -25,12 +25,12 @@ @@ -33,6 +34,7 @@ android:layout_height="18dp" android:layout_marginStart="2dp" android:adjustViewBounds="true" + android:importantForAccessibility="no" android:scaleType="centerCrop" tools:src="@tools:sample/avatars" /> @@ -42,6 +44,7 @@ android:layout_height="18dp" android:layout_marginStart="2dp" android:adjustViewBounds="true" + android:importantForAccessibility="no" android:scaleType="centerCrop" tools:src="@tools:sample/avatars" /> @@ -51,6 +54,7 @@ android:layout_height="18dp" android:layout_marginStart="2dp" android:adjustViewBounds="true" + android:importantForAccessibility="no" android:scaleType="centerCrop" tools:src="@tools:sample/avatars" /> @@ -60,6 +64,7 @@ android:layout_height="18dp" android:layout_marginStart="2dp" android:adjustViewBounds="true" + android:importantForAccessibility="no" android:scaleType="centerCrop" tools:src="@tools:sample/avatars" /> diff --git a/vector/src/main/res/values/strings_riotX.xml b/vector/src/main/res/values/strings_riotX.xml index 370b17be22..a66858ae0e 100644 --- a/vector/src/main/res/values/strings_riotX.xml +++ b/vector/src/main/res/values/strings_riotX.xml @@ -26,9 +26,9 @@ Jump to bottom - %s, %s and %d others read - %s, %s and %s read - %s and %s read + %1$s, %2$s and %3$d others read + %1$s, %2$s and %3$s read + %1$s and %2$s read %s read 1 user read From 0aa299aa375f81b327a23324c34ddf3d4f9fbc93 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 7 Oct 2019 19:11:53 +0200 Subject: [PATCH 03/31] Private --- .../reactions/EmojiRecyclerAdapter.kt | 33 ++++++++++--------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/vector/src/main/java/im/vector/riotx/features/reactions/EmojiRecyclerAdapter.kt b/vector/src/main/java/im/vector/riotx/features/reactions/EmojiRecyclerAdapter.kt index a6f1848b68..63e2ec8de7 100644 --- a/vector/src/main/java/im/vector/riotx/features/reactions/EmojiRecyclerAdapter.kt +++ b/vector/src/main/java/im/vector/riotx/features/reactions/EmojiRecyclerAdapter.kt @@ -43,28 +43,29 @@ import kotlin.math.abs * TODO: Performances * TODO: Scroll to section - Find a way to snap section to the top */ -class EmojiRecyclerAdapter(val dataSource: EmojiDataSource? = null, var reactionClickListener: ReactionClickListener?) : +class EmojiRecyclerAdapter(private val dataSource: EmojiDataSource? = null, + private var reactionClickListener: ReactionClickListener?) : RecyclerView.Adapter() { var interactionListener: InteractionListener? = null - var mRecyclerView: RecyclerView? = null + private var mRecyclerView: RecyclerView? = null - var currentFirstVisibleSection = 0 + private var currentFirstVisibleSection = 0 - enum class ScrollState { + private enum class ScrollState { IDLE, DRAGGING, SETTLING, - UNKNWON + UNKNOWN } - private var scrollState = ScrollState.UNKNWON + private var scrollState = ScrollState.UNKNOWN private var isFastScroll = false - val toUpdateWhenNotBusy = ArrayList>() + private val toUpdateWhenNotBusy = ArrayList>() - val itemClickListener = View.OnClickListener { view -> + private val itemClickListener = View.OnClickListener { view -> mRecyclerView?.getChildLayoutPosition(view)?.let { itemPosition -> if (itemPosition != RecyclerView.NO_POSITION) { val categories = dataSource?.rawData?.categories ?: return@OnClickListener @@ -247,10 +248,10 @@ class EmojiRecyclerAdapter(val dataSource: EmojiDataSource? = null, var reaction } - class EmojiViewHolder(itemView: View) : ViewHolder(itemView) { + private class EmojiViewHolder(itemView: View) : ViewHolder(itemView) { - var emojiView: EmojiDrawView = itemView.findViewById(R.id.grid_item_emoji_text) - val placeHolder: View = itemView.findViewById(R.id.grid_item_place_holder) + private var emojiView: EmojiDrawView = itemView.findViewById(R.id.grid_item_emoji_text) + private val placeHolder: View = itemView.findViewById(R.id.grid_item_place_holder) var data: String? = null @@ -269,9 +270,9 @@ class EmojiRecyclerAdapter(val dataSource: EmojiDataSource? = null, var reaction } } - class SectionViewHolder(itemView: View) : ViewHolder(itemView) { + private class SectionViewHolder(itemView: View) : ViewHolder(itemView) { - var textView: TextView = itemView.findViewById(R.id.section_header_textview) + private var textView: TextView = itemView.findViewById(R.id.section_header_textview) override fun bind(s: String?) { textView.text = s @@ -279,7 +280,7 @@ class EmojiRecyclerAdapter(val dataSource: EmojiDataSource? = null, var reaction } - companion object { + private companion object { fun endTraceSession() { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) { Trace.endSection() @@ -292,7 +293,7 @@ class EmojiRecyclerAdapter(val dataSource: EmojiDataSource? = null, var reaction } } - val staticLayoutCache = HashMap() + private val staticLayoutCache = HashMap() fun getStaticLayoutForEmoji(emoji: String): StaticLayout { var cachedLayout = staticLayoutCache[emoji] @@ -317,7 +318,7 @@ class EmojiRecyclerAdapter(val dataSource: EmojiDataSource? = null, var reaction RecyclerView.SCROLL_STATE_IDLE -> ScrollState.IDLE RecyclerView.SCROLL_STATE_SETTLING -> ScrollState.SETTLING RecyclerView.SCROLL_STATE_DRAGGING -> ScrollState.DRAGGING - else -> ScrollState.UNKNWON + else -> ScrollState.UNKNOWN } //TODO better From 90b6199e10969bcb6a0fd9a88f3f4fe53af21ffc Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 8 Oct 2019 10:45:45 +0200 Subject: [PATCH 04/31] Fix compilation issue --- .../vector/riotx/features/reactions/EmojiRecyclerAdapter.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/vector/src/main/java/im/vector/riotx/features/reactions/EmojiRecyclerAdapter.kt b/vector/src/main/java/im/vector/riotx/features/reactions/EmojiRecyclerAdapter.kt index 63e2ec8de7..1aebf6c240 100644 --- a/vector/src/main/java/im/vector/riotx/features/reactions/EmojiRecyclerAdapter.kt +++ b/vector/src/main/java/im/vector/riotx/features/reactions/EmojiRecyclerAdapter.kt @@ -280,7 +280,7 @@ class EmojiRecyclerAdapter(private val dataSource: EmojiDataSource? = null, } - private companion object { + companion object { fun endTraceSession() { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) { Trace.endSection() @@ -295,7 +295,7 @@ class EmojiRecyclerAdapter(private val dataSource: EmojiDataSource? = null, private val staticLayoutCache = HashMap() - fun getStaticLayoutForEmoji(emoji: String): StaticLayout { + private fun getStaticLayoutForEmoji(emoji: String): StaticLayout { var cachedLayout = staticLayoutCache[emoji] if (cachedLayout == null) { cachedLayout = StaticLayout(emoji, EmojiDrawView.tPaint, EmojiDrawView.emojiSize, Layout.Alignment.ALIGN_CENTER, 1f, 0f, true) From 53572a3be6b6f3eeb17b02e5d1ce2745b9370e47 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 26 Sep 2019 11:41:22 +0200 Subject: [PATCH 05/31] Fix crash observed on the PlayStore --- .../room/detail/timeline/action/MessageMenuViewModel.kt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/vector/src/main/java/im/vector/riotx/features/home/room/detail/timeline/action/MessageMenuViewModel.kt b/vector/src/main/java/im/vector/riotx/features/home/room/detail/timeline/action/MessageMenuViewModel.kt index a39ad0feca..525bd6ff83 100644 --- a/vector/src/main/java/im/vector/riotx/features/home/room/detail/timeline/action/MessageMenuViewModel.kt +++ b/vector/src/main/java/im/vector/riotx/features/home/room/detail/timeline/action/MessageMenuViewModel.kt @@ -45,7 +45,7 @@ sealed class SimpleAction(@StringRes val titleRes: Int, @DrawableRes val iconRes data class Edit(val eventId: String) : SimpleAction(R.string.edit, R.drawable.ic_edit) data class Quote(val eventId: String) : SimpleAction(R.string.quote, R.drawable.ic_quote) data class Reply(val eventId: String) : SimpleAction(R.string.reply, R.drawable.ic_reply) - data class Share(val imageUrl: String?) : SimpleAction(R.string.share, R.drawable.ic_share) + data class Share(val imageUrl: String) : SimpleAction(R.string.share, R.drawable.ic_share) data class Resend(val eventId: String) : SimpleAction(R.string.global_retry, R.drawable.ic_refresh_cw) data class Remove(val eventId: String) : SimpleAction(R.string.remove, R.drawable.ic_trash) data class Delete(val eventId: String) : SimpleAction(R.string.delete, R.drawable.ic_delete) @@ -166,7 +166,9 @@ class MessageMenuViewModel @AssistedInject constructor(@Assisted initialState: M if (canShare(type)) { if (messageContent is MessageImageContent) { - add(SimpleAction.Share(session.contentUrlResolver().resolveFullSize(messageContent.url))) + session.contentUrlResolver().resolveFullSize(messageContent.url)?.let { url -> + add(SimpleAction.Share(url)) + } } //TODO } From f34f28b668a4b70cc10bf96c9fa45717d16da08d Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 26 Sep 2019 15:04:07 +0200 Subject: [PATCH 06/31] Add Exif orientation info to ContentAttachmentData --- matrix-sdk-android/build.gradle | 3 + .../session/content/ContentAttachmentData.kt | 2 + .../room/send/LocalEchoEventFactory.kt | 1 + .../vector/riotx/core/di/VectorComponent.kt | 3 + .../im/vector/riotx/core/images/ImageTools.kt | 76 +++++++++++++++++++ .../home/room/detail/RoomDetailViewModel.kt | 12 ++- 6 files changed, 96 insertions(+), 1 deletion(-) create mode 100644 vector/src/main/java/im/vector/riotx/core/images/ImageTools.kt diff --git a/matrix-sdk-android/build.gradle b/matrix-sdk-android/build.gradle index 2781875f5f..328cfbee20 100644 --- a/matrix-sdk-android/build.gradle +++ b/matrix-sdk-android/build.gradle @@ -118,6 +118,9 @@ dependencies { implementation "ru.noties.markwon:core:$markwon_version" + // Image + implementation 'androidx.exifinterface:exifinterface:1.0.0' + // Database implementation 'com.github.Zhuinden:realm-monarchy:0.5.1' kapt 'dk.ilios:realmfieldnameshelper:1.1.1' diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/content/ContentAttachmentData.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/content/ContentAttachmentData.kt index c8dca8692c..466b7eede3 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/content/ContentAttachmentData.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/content/ContentAttachmentData.kt @@ -17,6 +17,7 @@ package im.vector.matrix.android.api.session.content import android.os.Parcelable +import androidx.exifinterface.media.ExifInterface import kotlinx.android.parcel.Parcelize @Parcelize @@ -26,6 +27,7 @@ data class ContentAttachmentData( val date: Long = 0, val height: Long? = 0, val width: Long? = 0, + val exifOrientation: Int = ExifInterface.ORIENTATION_UNDEFINED, val name: String? = null, val path: String, val mimeType: String, diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/send/LocalEchoEventFactory.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/send/LocalEchoEventFactory.kt index ffc539471b..519a686570 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/send/LocalEchoEventFactory.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/send/LocalEchoEventFactory.kt @@ -180,6 +180,7 @@ internal class LocalEchoEventFactory @Inject constructor(@UserId private val use mimeType = attachment.mimeType, width = attachment.width?.toInt() ?: 0, height = attachment.height?.toInt() ?: 0, + orientation = attachment.exifOrientation, size = attachment.size.toInt() ), url = attachment.path diff --git a/vector/src/main/java/im/vector/riotx/core/di/VectorComponent.kt b/vector/src/main/java/im/vector/riotx/core/di/VectorComponent.kt index 4aab312e2f..d896ce252b 100644 --- a/vector/src/main/java/im/vector/riotx/core/di/VectorComponent.kt +++ b/vector/src/main/java/im/vector/riotx/core/di/VectorComponent.kt @@ -26,6 +26,7 @@ import im.vector.matrix.android.api.session.Session import im.vector.riotx.EmojiCompatFontProvider import im.vector.riotx.EmojiCompatWrapper import im.vector.riotx.VectorApplication +import im.vector.riotx.core.images.ImageTools import im.vector.riotx.core.pushers.PushersManager import im.vector.riotx.core.utils.DimensionConverter import im.vector.riotx.features.configuration.VectorConfiguration @@ -66,6 +67,8 @@ interface VectorComponent { fun dimensionConverter(): DimensionConverter + fun imageTools(): ImageTools + fun vectorConfiguration(): VectorConfiguration fun avatarRenderer(): AvatarRenderer diff --git a/vector/src/main/java/im/vector/riotx/core/images/ImageTools.kt b/vector/src/main/java/im/vector/riotx/core/images/ImageTools.kt new file mode 100644 index 0000000000..6ada4e95fb --- /dev/null +++ b/vector/src/main/java/im/vector/riotx/core/images/ImageTools.kt @@ -0,0 +1,76 @@ +/* + * Copyright 2019 New Vector Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package im.vector.riotx.core.images + +import android.content.Context +import android.database.Cursor +import android.net.Uri +import android.provider.MediaStore +import androidx.exifinterface.media.ExifInterface +import timber.log.Timber +import javax.inject.Inject +import javax.inject.Singleton + +@Singleton +class ImageTools @Inject constructor(private val context: Context) { + + + /** + * Gets the [ExifInterface] value for the orientation for this local bitmap Uri. + * + * @param uri The URI to find the orientation for. Must be local. + * @return The orientation value, which may be [ExifInterface.ORIENTATION_UNDEFINED]. + */ + fun getOrientationForBitmap(uri: Uri): Int { + var orientation = ExifInterface.ORIENTATION_UNDEFINED + + if (uri.scheme == "content") { + val proj = arrayOf(MediaStore.Images.Media.DATA) + var cursor: Cursor? = null + try { + cursor = context.contentResolver.query(uri, proj, null, null, null) + if (cursor != null && cursor.count > 0) { + cursor.moveToFirst() + val idxData = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA) + val path = cursor.getString(idxData) + if (path.isNullOrBlank()) { + Timber.w("Cannot find path in media db for uri $uri") + return orientation + } + val exif = ExifInterface(path) + orientation = exif.getAttributeInt(ExifInterface.TAG_ORIENTATION, ExifInterface.ORIENTATION_UNDEFINED) + } + } catch (e: Exception) { + // eg SecurityException from com.google.android.apps.photos.content.GooglePhotosImageProvider URIs + // eg IOException from trying to parse the returned path as a file when it is an http uri. + Timber.e(e, "Cannot get orientation for bitmap") + } finally { + cursor?.close() + } + } else if (uri.scheme == "file") { + try { + val exif = ExifInterface(uri.path) + orientation = exif.getAttributeInt(ExifInterface.TAG_ORIENTATION, ExifInterface.ORIENTATION_UNDEFINED) + } catch (e: Exception) { + Timber.e(e, "Cannot get EXIF for file uri $uri") + } + + } + + return orientation + } +} \ No newline at end of file diff --git a/vector/src/main/java/im/vector/riotx/features/home/room/detail/RoomDetailViewModel.kt b/vector/src/main/java/im/vector/riotx/features/home/room/detail/RoomDetailViewModel.kt index 4b8e46b0d9..1da0e51d44 100644 --- a/vector/src/main/java/im/vector/riotx/features/home/room/detail/RoomDetailViewModel.kt +++ b/vector/src/main/java/im/vector/riotx/features/home/room/detail/RoomDetailViewModel.kt @@ -54,6 +54,7 @@ import im.vector.matrix.rx.unwrap import im.vector.riotx.BuildConfig import im.vector.riotx.R import im.vector.riotx.core.extensions.postLiveEvent +import im.vector.riotx.core.images.ImageTools import im.vector.riotx.core.intent.getFilenameFromUri import im.vector.riotx.core.platform.VectorViewModel import im.vector.riotx.core.resources.UserPreferencesProvider @@ -76,6 +77,7 @@ import java.util.concurrent.TimeUnit class RoomDetailViewModel @AssistedInject constructor(@Assisted initialState: RoomDetailViewState, private val userPreferencesProvider: UserPreferencesProvider, private val vectorPreferences: VectorPreferences, + private val imageTools: ImageTools, private val session: Session ) : VectorViewModel(initialState) { @@ -470,7 +472,14 @@ class RoomDetailViewModel @AssistedInject constructor(@Assisted initialState: Ro private fun handleSendMedia(action: RoomDetailActions.SendMedia) { val attachments = action.mediaFiles.map { - val nameWithExtension = getFilenameFromUri(null, Uri.parse(it.path)) + val pathWithScheme = if (it.path.startsWith("/")) { + "file://" + it.path + } else { + it.path + } + + val uri = Uri.parse(pathWithScheme) + val nameWithExtension = getFilenameFromUri(null, uri) ContentAttachmentData( size = it.size, @@ -478,6 +487,7 @@ class RoomDetailViewModel @AssistedInject constructor(@Assisted initialState: Ro date = it.date, height = it.height, width = it.width, + exifOrientation = imageTools.getOrientationForBitmap(uri), name = nameWithExtension ?: it.name, path = it.path, mimeType = it.mimeType, From 3f9b7813bc0cebe5900850bdf71f3b7ed0b0968d Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 26 Sep 2019 15:40:59 +0200 Subject: [PATCH 07/31] Remove undocumented attribute and fix issue with image size when it contains exif rotation --- CHANGES.md | 1 + .../session/room/model/message/ImageInfo.kt | 10 --------- .../room/send/LocalEchoEventFactory.kt | 20 +++++++++++++++--- .../timeline/factory/MessageItemFactory.kt | 4 +--- .../features/media/ImageContentRenderer.kt | 21 +++---------------- 5 files changed, 22 insertions(+), 34 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index edaa8b3c01..58daa4b8e4 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -17,6 +17,7 @@ Bugfix: - Fix opening a permalink: the targeted event is displayed twice (#556) - Fix opening a permalink paginates all the history up to the last event (#282) - after login, the icon in the top left is a green 'A' for (all communities) rather than my avatar (#267) + - Picture uploads are unreliable, pictures are shown in wrong aspect ratio on desktop client (#517) Translations: - diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/message/ImageInfo.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/message/ImageInfo.kt index 729bc604c1..40651d0aa8 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/message/ImageInfo.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/message/ImageInfo.kt @@ -42,16 +42,6 @@ data class ImageInfo( */ @Json(name = "size") val size: Int = 0, - /** - * Not documented - */ - @Json(name = "rotation") val rotation: Int = 0, - - /** - * Not documented - */ - @Json(name = "orientation") val orientation: Int = 0, - /** * Metadata about the image referred to in thumbnail_url. */ diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/send/LocalEchoEventFactory.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/send/LocalEchoEventFactory.kt index 519a686570..9ed2dbad97 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/send/LocalEchoEventFactory.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/send/LocalEchoEventFactory.kt @@ -17,6 +17,7 @@ package im.vector.matrix.android.internal.session.room.send import android.media.MediaMetadataRetriever +import androidx.exifinterface.media.ExifInterface import com.zhuinden.monarchy.Monarchy import im.vector.matrix.android.R import im.vector.matrix.android.api.permalinks.PermalinkFactory @@ -173,14 +174,27 @@ internal class LocalEchoEventFactory @Inject constructor(@UserId private val use private fun createImageEvent(roomId: String, attachment: ContentAttachmentData): Event { + var width = attachment.width + var height = attachment.height + + when (attachment.exifOrientation) { + ExifInterface.ORIENTATION_ROTATE_90, + ExifInterface.ORIENTATION_TRANSVERSE, + ExifInterface.ORIENTATION_ROTATE_270, + ExifInterface.ORIENTATION_TRANSPOSE -> { + val tmp = width + width = height + height = tmp + } + } + val content = MessageImageContent( type = MessageType.MSGTYPE_IMAGE, body = attachment.name ?: "image", info = ImageInfo( mimeType = attachment.mimeType, - width = attachment.width?.toInt() ?: 0, - height = attachment.height?.toInt() ?: 0, - orientation = attachment.exifOrientation, + width = width?.toInt() ?: 0, + height = height?.toInt() ?: 0, size = attachment.size.toInt() ), url = attachment.path diff --git a/vector/src/main/java/im/vector/riotx/features/home/room/detail/timeline/factory/MessageItemFactory.kt b/vector/src/main/java/im/vector/riotx/features/home/room/detail/timeline/factory/MessageItemFactory.kt index 9e67ffb590..a654973899 100644 --- a/vector/src/main/java/im/vector/riotx/features/home/room/detail/timeline/factory/MessageItemFactory.kt +++ b/vector/src/main/java/im/vector/riotx/features/home/room/detail/timeline/factory/MessageItemFactory.kt @@ -189,9 +189,7 @@ class MessageItemFactory @Inject constructor( height = messageContent.info?.height, maxHeight = maxHeight, width = messageContent.info?.width, - maxWidth = maxWidth, - orientation = messageContent.info?.orientation, - rotation = messageContent.info?.rotation + maxWidth = maxWidth ) return MessageImageVideoItem_() .attributes(attributes) diff --git a/vector/src/main/java/im/vector/riotx/features/media/ImageContentRenderer.kt b/vector/src/main/java/im/vector/riotx/features/media/ImageContentRenderer.kt index 3fb559ee6d..5f65f15d42 100644 --- a/vector/src/main/java/im/vector/riotx/features/media/ImageContentRenderer.kt +++ b/vector/src/main/java/im/vector/riotx/features/media/ImageContentRenderer.kt @@ -20,7 +20,6 @@ import android.graphics.drawable.Drawable import android.net.Uri import android.os.Parcelable import android.widget.ImageView -import androidx.exifinterface.media.ExifInterface import com.bumptech.glide.load.DataSource import com.bumptech.glide.load.engine.GlideException import com.bumptech.glide.load.resource.bitmap.RoundedCorners @@ -49,9 +48,7 @@ class ImageContentRenderer @Inject constructor(private val activeSessionHolder: val height: Int?, val maxHeight: Int, val width: Int?, - val maxWidth: Int, - val orientation: Int? = null, - val rotation: Int? = null + val maxWidth: Int ) : Parcelable { fun isLocalFile() = url.isLocalFile() @@ -152,26 +149,14 @@ class ImageContentRenderer @Inject constructor(private val activeSessionHolder: private fun processSize(data: Data, mode: Mode): Pair { val maxImageWidth = data.maxWidth val maxImageHeight = data.maxHeight - val rotationAngle = data.rotation ?: 0 - val orientation = data.orientation ?: ExifInterface.ORIENTATION_NORMAL - var width = data.width ?: maxImageWidth - var height = data.height ?: maxImageHeight + val width = data.width ?: maxImageWidth + val height = data.height ?: maxImageHeight var finalHeight = -1 var finalWidth = -1 // if the image size is known // compute the expected height if (width > 0 && height > 0) { - // swap width and height if the image is side oriented - if (rotationAngle == 90 || rotationAngle == 270) { - val tmp = width - width = height - height = tmp - } else if (orientation == ExifInterface.ORIENTATION_ROTATE_90 || orientation == ExifInterface.ORIENTATION_ROTATE_270) { - val tmp = width - width = height - height = tmp - } if (mode == Mode.FULL_SIZE) { finalHeight = height finalWidth = width From 2cd1d697fe0a882015050e1de87b70f0b8057c2f Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 8 Oct 2019 10:49:58 +0200 Subject: [PATCH 08/31] Cleanup after Gafnra's review --- .../src/main/java/im/vector/riotx/core/di/VectorComponent.kt | 3 --- vector/src/main/java/im/vector/riotx/core/images/ImageTools.kt | 2 -- 2 files changed, 5 deletions(-) diff --git a/vector/src/main/java/im/vector/riotx/core/di/VectorComponent.kt b/vector/src/main/java/im/vector/riotx/core/di/VectorComponent.kt index d896ce252b..4aab312e2f 100644 --- a/vector/src/main/java/im/vector/riotx/core/di/VectorComponent.kt +++ b/vector/src/main/java/im/vector/riotx/core/di/VectorComponent.kt @@ -26,7 +26,6 @@ import im.vector.matrix.android.api.session.Session import im.vector.riotx.EmojiCompatFontProvider import im.vector.riotx.EmojiCompatWrapper import im.vector.riotx.VectorApplication -import im.vector.riotx.core.images.ImageTools import im.vector.riotx.core.pushers.PushersManager import im.vector.riotx.core.utils.DimensionConverter import im.vector.riotx.features.configuration.VectorConfiguration @@ -67,8 +66,6 @@ interface VectorComponent { fun dimensionConverter(): DimensionConverter - fun imageTools(): ImageTools - fun vectorConfiguration(): VectorConfiguration fun avatarRenderer(): AvatarRenderer diff --git a/vector/src/main/java/im/vector/riotx/core/images/ImageTools.kt b/vector/src/main/java/im/vector/riotx/core/images/ImageTools.kt index 6ada4e95fb..a2257117df 100644 --- a/vector/src/main/java/im/vector/riotx/core/images/ImageTools.kt +++ b/vector/src/main/java/im/vector/riotx/core/images/ImageTools.kt @@ -23,9 +23,7 @@ import android.provider.MediaStore import androidx.exifinterface.media.ExifInterface import timber.log.Timber import javax.inject.Inject -import javax.inject.Singleton -@Singleton class ImageTools @Inject constructor(private val context: Context) { From 50a0660ab65c4266dadc456c029cb88d4b06cfd4 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 23 Sep 2019 21:48:01 +0200 Subject: [PATCH 09/31] Invitation notifications are not dismissed automatically if room is joined from another client (#347) --- CHANGES.md | 1 + .../android/api/pushrules/PushRuleService.kt | 1 + .../notification/DefaultPushRuleService.kt | 14 ++- .../notification/ProcessEventForPushTask.kt | 4 + .../home/room/list/RoomListViewModel.kt | 6 +- .../features/notifications/NotifiableEvent.kt | 3 + .../notifications/NotifiableEventResolver.kt | 1 - .../NotificationDrawerManager.kt | 69 ++++++------ .../notifications/NotificationUtils.kt | 101 +++++++++++------- .../notifications/PushRuleTriggerListener.kt | 5 + 10 files changed, 134 insertions(+), 71 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 58daa4b8e4..6d2bb0152b 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -18,6 +18,7 @@ Bugfix: - Fix opening a permalink paginates all the history up to the last event (#282) - after login, the icon in the top left is a green 'A' for (all communities) rather than my avatar (#267) - Picture uploads are unreliable, pictures are shown in wrong aspect ratio on desktop client (#517) + - Invitation notifications are not dismissed automatically if room is joined from another client (#347) Translations: - diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/pushrules/PushRuleService.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/pushrules/PushRuleService.kt index c0204d181d..38153d7bc5 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/pushrules/PushRuleService.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/pushrules/PushRuleService.kt @@ -42,6 +42,7 @@ interface PushRuleService { interface PushRuleListener { fun onMatchRule(event: Event, actions: List) + fun onRoomJoined(roomId: String) fun onRoomLeft(roomId: String) fun onEventRedacted(redactedEventId: String) fun batchFinish() diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/notification/DefaultPushRuleService.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/notification/DefaultPushRuleService.kt index fb436c3b21..ddcd095e58 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/notification/DefaultPushRuleService.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/notification/DefaultPushRuleService.kt @@ -131,10 +131,20 @@ internal class DefaultPushRuleService @Inject constructor(private val getPushRul } } - fun dispatchRoomLeft(roomid: String) { + fun dispatchRoomJoined(roomId: String) { try { listeners.forEach { - it.onRoomLeft(roomid) + it.onRoomJoined(roomId) + } + } catch (e: Throwable) { + Timber.e(e, "Error while dispatching room left") + } + } + + fun dispatchRoomLeft(roomId: String) { + try { + listeners.forEach { + it.onRoomLeft(roomId) } } catch (e: Throwable) { Timber.e(e, "Error while dispatching room left") diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/notification/ProcessEventForPushTask.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/notification/ProcessEventForPushTask.kt index e2db0362bb..b0b25cb3b0 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/notification/ProcessEventForPushTask.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/notification/ProcessEventForPushTask.kt @@ -45,6 +45,10 @@ internal class DefaultProcessEventForPushTask @Inject constructor( params.syncResponse.leave.keys.forEach { defaultPushRuleService.dispatchRoomLeft(it) } + // Handle joined rooms + params.syncResponse.join.keys.forEach { + defaultPushRuleService.dispatchRoomJoined(it) + } val newJoinEvents = params.syncResponse.join .map { entries -> entries.value.timeline?.events?.map { it.copy(roomId = entries.key) } diff --git a/vector/src/main/java/im/vector/riotx/features/home/room/list/RoomListViewModel.kt b/vector/src/main/java/im/vector/riotx/features/home/room/list/RoomListViewModel.kt index 0fed679ed2..e46acfef7b 100644 --- a/vector/src/main/java/im/vector/riotx/features/home/room/list/RoomListViewModel.kt +++ b/vector/src/main/java/im/vector/riotx/features/home/room/list/RoomListViewModel.kt @@ -173,8 +173,10 @@ class RoomListViewModel @AssistedInject constructor(@Assisted initialState: Room session.getRoom(roomId)?.leave(object : MatrixCallback { override fun onSuccess(data: Unit) { - // We do not update the joiningRoomsIds here, because, the room is not joined yet regarding the sync data. - // Instead, we wait for the room to be joined + // We do not update the rejectingRoomsIds here, because, the room is not rejected yet regarding the sync data. + // Instead, we wait for the room to be rejected + // Known bug: if the user is invited again (after rejecting the first invitation), the loading will be displayed instead of the buttons. + // If we update the state, the button will be displayed again, so it's not ideal... } override fun onFailure(failure: Throwable) { diff --git a/vector/src/main/java/im/vector/riotx/features/notifications/NotifiableEvent.kt b/vector/src/main/java/im/vector/riotx/features/notifications/NotifiableEvent.kt index 1603ea5f00..b881dec3b8 100644 --- a/vector/src/main/java/im/vector/riotx/features/notifications/NotifiableEvent.kt +++ b/vector/src/main/java/im/vector/riotx/features/notifications/NotifiableEvent.kt @@ -17,6 +17,9 @@ package im.vector.riotx.features.notifications import java.io.Serializable +/** + * Parent interface for all events which can be displayed as a Notification + */ interface NotifiableEvent : Serializable { var matrixID: String? val eventId: String diff --git a/vector/src/main/java/im/vector/riotx/features/notifications/NotifiableEventResolver.kt b/vector/src/main/java/im/vector/riotx/features/notifications/NotifiableEventResolver.kt index 297e0b31e4..9710060c3c 100644 --- a/vector/src/main/java/im/vector/riotx/features/notifications/NotifiableEventResolver.kt +++ b/vector/src/main/java/im/vector/riotx/features/notifications/NotifiableEventResolver.kt @@ -150,7 +150,6 @@ class NotifiableEventResolver @Inject constructor(private val stringProvider: St notifiableEvent.soundName = null // Get the avatars URL - // TODO They will be not displayed the first time (known limitation) notifiableEvent.roomAvatarPath = session.contentUrlResolver() .resolveThumbnail(room.roomSummary()?.avatarUrl, 250, diff --git a/vector/src/main/java/im/vector/riotx/features/notifications/NotificationDrawerManager.kt b/vector/src/main/java/im/vector/riotx/features/notifications/NotificationDrawerManager.kt index 13a39b5828..3f9bbe2f52 100644 --- a/vector/src/main/java/im/vector/riotx/features/notifications/NotificationDrawerManager.kt +++ b/vector/src/main/java/im/vector/riotx/features/notifications/NotificationDrawerManager.kt @@ -138,7 +138,7 @@ class NotificationDrawerManager @Inject constructor(private val context: Context } /** - Clear all known events and refresh the notification drawer + * Clear all known events and refresh the notification drawer */ fun clearAllEvents() { synchronized(eventList) { @@ -147,7 +147,7 @@ class NotificationDrawerManager @Inject constructor(private val context: Context refreshNotificationDrawer() } - /** Clear all known message events for this room and refresh the notification drawer */ + /** Clear all known message events for this room */ fun clearMessageEventOfRoom(roomId: String?) { Timber.v("clearMessageEventOfRoom $roomId") @@ -159,7 +159,6 @@ class NotificationDrawerManager @Inject constructor(private val context: Context } notificationUtils.cancelNotificationMessage(roomId, ROOM_MESSAGES_NOTIFICATION_ID) } - refreshNotificationDrawer() } /** @@ -177,21 +176,14 @@ class NotificationDrawerManager @Inject constructor(private val context: Context } } - fun homeActivityDidResume(matrixID: String?) { - synchronized(eventList) { - eventList.removeAll { e -> - // messages are cleared when entering room - e !is NotifiableMessageEvent - } - } - } - fun clearMemberShipNotificationForRoom(roomId: String) { synchronized(eventList) { eventList.removeAll { e -> e is InviteNotifiableEvent && e.roomId == roomId } } + + notificationUtils.cancelNotificationMessage(roomId, ROOM_INVITATION_NOTIFICATION_ID) } @@ -226,23 +218,26 @@ class NotificationDrawerManager @Inject constructor(private val context: Context //group events by room to create a single MessagingStyle notif val roomIdToEventMap: MutableMap> = LinkedHashMap() - val simpleEvents: MutableList = ArrayList() + val simpleEvents: MutableList = ArrayList() + val invitationEvents: MutableList = ArrayList() val eventIterator = eventList.listIterator() while (eventIterator.hasNext()) { - val event = eventIterator.next() - if (event is NotifiableMessageEvent) { - val roomId = event.roomId - val roomEvents = roomIdToEventMap.getOrPut(roomId) { ArrayList() } + when (val event = eventIterator.next()) { + is NotifiableMessageEvent -> { + val roomId = event.roomId + val roomEvents = roomIdToEventMap.getOrPut(roomId) { ArrayList() } - if (shouldIgnoreMessageEventInRoom(roomId) || outdatedDetector?.isMessageOutdated(event) == true) { - //forget this event - eventIterator.remove() - } else { - roomEvents.add(event) + if (shouldIgnoreMessageEventInRoom(roomId) || outdatedDetector?.isMessageOutdated(event) == true) { + //forget this event + eventIterator.remove() + } else { + roomEvents.add(event) + } } - } else { - simpleEvents.add(event) + is InviteNotifiableEvent -> invitationEvents.add(event) + is SimpleNotifiableEvent -> simpleEvents.add(event) + else -> Timber.w("Type not handled") } } @@ -251,7 +246,7 @@ class NotificationDrawerManager @Inject constructor(private val context: Context var globalLastMessageTimestamp = 0L - //events have been grouped by roomId + // events have been grouped by roomId for ((roomId, events) in roomIdToEventMap) { // Build the notification for the room if (events.isEmpty() || events.all { it.isRedacted }) { @@ -372,11 +367,24 @@ class NotificationDrawerManager @Inject constructor(private val context: Context } - //Handle simple events - for (event in simpleEvents) { - //We build a simple event + // Handle invitation events + for (event in invitationEvents) { + //We build a invitation notification if (firstTime || !event.hasBeenDisplayed) { - val notification = notificationUtils.buildSimpleEventNotification(event, null, session.myUserId) + val notification = notificationUtils.buildRoomInvitationNotification(event, session.myUserId) + notificationUtils.showNotificationMessage(event.roomId, ROOM_INVITATION_NOTIFICATION_ID, notification) + event.hasBeenDisplayed = true //we can consider it as displayed + hasNewEvent = true + summaryIsNoisy = summaryIsNoisy || event.noisy + summaryInboxStyle.addLine(event.description) + } + } + + // Handle simple events + for (event in simpleEvents) { + //We build a simple notification + if (firstTime || !event.hasBeenDisplayed) { + val notification = notificationUtils.buildSimpleEventNotification(event, session.myUserId) notificationUtils.showNotificationMessage(event.eventId, ROOM_EVENT_NOTIFICATION_ID, notification) event.hasBeenDisplayed = true //we can consider it as displayed hasNewEvent = true @@ -499,7 +507,8 @@ class NotificationDrawerManager @Inject constructor(private val context: Context companion object { private const val SUMMARY_NOTIFICATION_ID = 0 private const val ROOM_MESSAGES_NOTIFICATION_ID = 1 - private const val ROOM_EVENT_NOTIFICATION_ID = 2 + private const val ROOM_INVITATION_NOTIFICATION_ID = 2 + private const val ROOM_EVENT_NOTIFICATION_ID = 3 // TODO Mutliaccount private const val ROOMS_NOTIFICATIONS_FILE_NAME = "im.vector.notifications.cache" diff --git a/vector/src/main/java/im/vector/riotx/features/notifications/NotificationUtils.kt b/vector/src/main/java/im/vector/riotx/features/notifications/NotificationUtils.kt index 2a4566d02c..793d056e0c 100755 --- a/vector/src/main/java/im/vector/riotx/features/notifications/NotificationUtils.kt +++ b/vector/src/main/java/im/vector/riotx/features/notifications/NotificationUtils.kt @@ -484,8 +484,70 @@ class NotificationUtils @Inject constructor(private val context: Context, } - fun buildSimpleEventNotification(simpleNotifiableEvent: NotifiableEvent, - largeIcon: Bitmap?, + fun buildRoomInvitationNotification(inviteNotifiableEvent: InviteNotifiableEvent, + matrixId: String): Notification { + val accentColor = ContextCompat.getColor(context, R.color.notification_accent_color) + // Build the pending intent for when the notification is clicked + val smallIcon = R.drawable.ic_status_bar + + val channelID = if (inviteNotifiableEvent.noisy) NOISY_NOTIFICATION_CHANNEL_ID else SILENT_NOTIFICATION_CHANNEL_ID + + return NotificationCompat.Builder(context, channelID) + .setContentTitle(stringProvider.getString(R.string.app_name)) + .setContentText(inviteNotifiableEvent.description) + .setGroup(stringProvider.getString(R.string.app_name)) + .setGroupAlertBehavior(NotificationCompat.GROUP_ALERT_SUMMARY) + .setSmallIcon(smallIcon) + .setColor(accentColor) + .apply { + val roomId = inviteNotifiableEvent.roomId + // offer to type a quick reject button + val rejectIntent = Intent(context, NotificationBroadcastReceiver::class.java) + rejectIntent.action = REJECT_ACTION + rejectIntent.data = Uri.parse("foobar://$roomId&$matrixId") + rejectIntent.putExtra(NotificationBroadcastReceiver.KEY_ROOM_ID, roomId) + val rejectIntentPendingIntent = PendingIntent.getBroadcast(context, System.currentTimeMillis().toInt(), rejectIntent, + PendingIntent.FLAG_UPDATE_CURRENT) + + addAction( + R.drawable.vector_notification_reject_invitation, + stringProvider.getString(R.string.reject), + rejectIntentPendingIntent) + + // offer to type a quick accept button + val joinIntent = Intent(context, NotificationBroadcastReceiver::class.java) + joinIntent.action = JOIN_ACTION + joinIntent.data = Uri.parse("foobar://$roomId&$matrixId") + rejectIntent.putExtra(NotificationBroadcastReceiver.KEY_ROOM_ID, roomId) + val joinIntentPendingIntent = PendingIntent.getBroadcast(context, System.currentTimeMillis().toInt(), joinIntent, + PendingIntent.FLAG_UPDATE_CURRENT) + addAction( + R.drawable.vector_notification_accept_invitation, + stringProvider.getString(R.string.join), + joinIntentPendingIntent) + + val contentIntent = Intent(context, HomeActivity::class.java) + contentIntent.flags = Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_SINGLE_TOP + //pending intent get reused by system, this will mess up the extra params, so put unique info to avoid that + contentIntent.data = Uri.parse("foobar://" + inviteNotifiableEvent.eventId) + setContentIntent(PendingIntent.getActivity(context, 0, contentIntent, 0)) + + if (inviteNotifiableEvent.noisy) { + //Compat + priority = NotificationCompat.PRIORITY_DEFAULT + vectorPreferences.getNotificationRingTone()?.let { + setSound(it) + } + setLights(accentColor, 500, 500) + } else { + priority = NotificationCompat.PRIORITY_LOW + } + setAutoCancel(true) + } + .build() + } + + fun buildSimpleEventNotification(simpleNotifiableEvent: SimpleNotifiableEvent, matrixId: String): Notification { val accentColor = ContextCompat.getColor(context, R.color.notification_accent_color) // Build the pending intent for when the notification is clicked @@ -500,47 +562,14 @@ class NotificationUtils @Inject constructor(private val context: Context, .setGroupAlertBehavior(NotificationCompat.GROUP_ALERT_SUMMARY) .setSmallIcon(smallIcon) .setColor(accentColor) + .setAutoCancel(true) .apply { - if (simpleNotifiableEvent is InviteNotifiableEvent) { - val roomId = simpleNotifiableEvent.roomId - // offer to type a quick reject button - val rejectIntent = Intent(context, NotificationBroadcastReceiver::class.java) - rejectIntent.action = REJECT_ACTION - rejectIntent.data = Uri.parse("foobar://$roomId&$matrixId") - rejectIntent.putExtra(NotificationBroadcastReceiver.KEY_ROOM_ID, roomId) - val rejectIntentPendingIntent = PendingIntent.getBroadcast(context, System.currentTimeMillis().toInt(), rejectIntent, - PendingIntent.FLAG_UPDATE_CURRENT) - - addAction( - R.drawable.vector_notification_reject_invitation, - stringProvider.getString(R.string.reject), - rejectIntentPendingIntent) - - // offer to type a quick accept button - val joinIntent = Intent(context, NotificationBroadcastReceiver::class.java) - joinIntent.action = JOIN_ACTION - joinIntent.data = Uri.parse("foobar://$roomId&$matrixId") - rejectIntent.putExtra(NotificationBroadcastReceiver.KEY_ROOM_ID, roomId) - val joinIntentPendingIntent = PendingIntent.getBroadcast(context, System.currentTimeMillis().toInt(), joinIntent, - PendingIntent.FLAG_UPDATE_CURRENT) - addAction( - R.drawable.vector_notification_accept_invitation, - stringProvider.getString(R.string.join), - joinIntentPendingIntent) - } else { - setAutoCancel(true) - } - val contentIntent = Intent(context, HomeActivity::class.java) contentIntent.flags = Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_SINGLE_TOP //pending intent get reused by system, this will mess up the extra params, so put unique info to avoid that contentIntent.data = Uri.parse("foobar://" + simpleNotifiableEvent.eventId) setContentIntent(PendingIntent.getActivity(context, 0, contentIntent, 0)) - if (largeIcon != null) { - setLargeIcon(largeIcon) - } - if (simpleNotifiableEvent.noisy) { //Compat priority = NotificationCompat.PRIORITY_DEFAULT diff --git a/vector/src/main/java/im/vector/riotx/features/notifications/PushRuleTriggerListener.kt b/vector/src/main/java/im/vector/riotx/features/notifications/PushRuleTriggerListener.kt index 7f1c501334..f28ffb35f8 100644 --- a/vector/src/main/java/im/vector/riotx/features/notifications/PushRuleTriggerListener.kt +++ b/vector/src/main/java/im/vector/riotx/features/notifications/PushRuleTriggerListener.kt @@ -58,6 +58,11 @@ class PushRuleTriggerListener @Inject constructor( override fun onRoomLeft(roomId: String) { notificationDrawerManager.clearMessageEventOfRoom(roomId) + notificationDrawerManager.clearMemberShipNotificationForRoom(roomId) + } + + override fun onRoomJoined(roomId: String) { + notificationDrawerManager.clearMemberShipNotificationForRoom(roomId) } override fun onEventRedacted(redactedEventId: String) { From c62c77f14c90b3816ab1522965bb15de8ddabeda Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 8 Oct 2019 12:00:40 +0200 Subject: [PATCH 10/31] Stop sending bus event from SDK to App. --- .../matrix/android/api/session/Session.kt | 6 +++ .../internal/session/DefaultSession.kt | 11 +++++ .../internal/session/SessionListeners.kt | 19 ++++++-- vector/build.gradle | 3 -- .../java/im/vector/riotx/VectorApplication.kt | 4 +- .../vector/riotx/core/di/VectorComponent.kt | 3 ++ .../vector/riotx/core/extensions/Session.kt | 5 ++- .../riotx/core/platform/VectorBaseActivity.kt | 30 ++++--------- .../features/home/HomeActivityViewModel.kt | 16 +------ .../riotx/features/login/LoginViewModel.kt | 8 ++-- .../riotx/features/session/SessionListener.kt | 45 +++++++++++++++++++ 11 files changed, 103 insertions(+), 47 deletions(-) create mode 100644 vector/src/main/java/im/vector/riotx/features/session/SessionListener.kt diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/Session.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/Session.kt index 31e96bb3b8..16de5178ff 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/Session.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/Session.kt @@ -19,6 +19,7 @@ package im.vector.matrix.android.api.session import androidx.annotation.MainThread import androidx.lifecycle.LiveData import im.vector.matrix.android.api.auth.data.SessionParams +import im.vector.matrix.android.api.failure.ConsentNotGivenError import im.vector.matrix.android.api.pushrules.PushRuleService import im.vector.matrix.android.api.session.cache.CacheService import im.vector.matrix.android.api.session.content.ContentUploadStateTracker @@ -140,6 +141,11 @@ interface Session : */ fun onInvalidToken() + /** + * A M_CONSENT_NOT_GIVEN error has been received from the homeserver + */ + fun onConsentNotGivenError(consentNotGivenError: ConsentNotGivenError) + } } \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/DefaultSession.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/DefaultSession.kt index 319cce491b..53e07e77af 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/DefaultSession.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/DefaultSession.kt @@ -23,6 +23,7 @@ import androidx.lifecycle.LiveData import dagger.Lazy import im.vector.matrix.android.api.MatrixCallback import im.vector.matrix.android.api.auth.data.SessionParams +import im.vector.matrix.android.api.failure.ConsentNotGivenError import im.vector.matrix.android.api.pushrules.PushRuleService import im.vector.matrix.android.api.session.InitialSyncProgressService import im.vector.matrix.android.api.session.Session @@ -45,6 +46,9 @@ import im.vector.matrix.android.internal.crypto.DefaultCryptoService import im.vector.matrix.android.internal.database.LiveEntityObserver import im.vector.matrix.android.internal.session.sync.job.SyncThread import im.vector.matrix.android.internal.session.sync.job.SyncWorker +import org.greenrobot.eventbus.EventBus +import org.greenrobot.eventbus.Subscribe +import org.greenrobot.eventbus.ThreadMode import timber.log.Timber import javax.inject.Inject import javax.inject.Provider @@ -96,6 +100,7 @@ internal class DefaultSession @Inject constructor(override val sessionParams: Se assert(!isOpen) isOpen = true liveEntityObservers.forEach { it.start() } + EventBus.getDefault().register(this) } override fun requireBackgroundSync() { @@ -135,6 +140,7 @@ internal class DefaultSession @Inject constructor(override val sessionParams: Se liveEntityObservers.forEach { it.dispose() } cryptoService.get().close() isOpen = false + EventBus.getDefault().unregister(this) } override fun syncState(): LiveData { @@ -163,6 +169,11 @@ internal class DefaultSession @Inject constructor(override val sessionParams: Se }) } + @Subscribe(threadMode = ThreadMode.MAIN) + fun onConsentNotGivenError(consentNotGivenError: ConsentNotGivenError) { + sessionListeners.dispatchConsentNotGiven(consentNotGivenError) + } + override fun contentUrlResolver() = contentUrlResolver override fun contentUploadProgressTracker() = contentUploadProgressTracker diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/SessionListeners.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/SessionListeners.kt index 51b7354785..446dcdbd41 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/SessionListeners.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/SessionListeners.kt @@ -16,19 +16,32 @@ package im.vector.matrix.android.internal.session +import im.vector.matrix.android.api.failure.ConsentNotGivenError import im.vector.matrix.android.api.session.Session import javax.inject.Inject -internal class SessionListeners @Inject constructor(){ +internal class SessionListeners @Inject constructor() { private val listeners = ArrayList() fun addListener(listener: Session.Listener) { - listeners.add(listener) + synchronized(listeners) { + listeners.add(listener) + } } fun removeListener(listener: Session.Listener) { - listeners.remove(listener) + synchronized(listeners) { + listeners.remove(listener) + } + } + + fun dispatchConsentNotGiven(consentNotGivenError: ConsentNotGivenError) { + synchronized(listeners) { + listeners.forEach { + it.onConsentNotGivenError(consentNotGivenError) + } + } } } \ No newline at end of file diff --git a/vector/build.gradle b/vector/build.gradle index e6e5667b94..3992bba8a1 100644 --- a/vector/build.gradle +++ b/vector/build.gradle @@ -288,9 +288,6 @@ dependencies { implementation 'me.saket:better-link-movement-method:2.2.0' implementation 'com.google.android:flexbox:1.1.1' - // Bus - implementation 'org.greenrobot:eventbus:3.1.1' - // Passphrase strength helper implementation 'com.nulab-inc:zxcvbn:1.2.7' diff --git a/vector/src/main/java/im/vector/riotx/VectorApplication.kt b/vector/src/main/java/im/vector/riotx/VectorApplication.kt index 4884354ef3..cdbe242d99 100644 --- a/vector/src/main/java/im/vector/riotx/VectorApplication.kt +++ b/vector/src/main/java/im/vector/riotx/VectorApplication.kt @@ -49,6 +49,7 @@ import im.vector.riotx.features.notifications.NotificationDrawerManager import im.vector.riotx.features.notifications.NotificationUtils import im.vector.riotx.features.notifications.PushRuleTriggerListener import im.vector.riotx.features.rageshake.VectorUncaughtExceptionHandler +import im.vector.riotx.features.session.SessionListener import im.vector.riotx.features.settings.VectorPreferences import im.vector.riotx.features.version.VersionProvider import im.vector.riotx.push.fcm.FcmHelper @@ -68,6 +69,7 @@ class VectorApplication : Application(), HasVectorInjector, MatrixConfiguration. @Inject lateinit var emojiCompatWrapper: EmojiCompatWrapper @Inject lateinit var vectorUncaughtExceptionHandler: VectorUncaughtExceptionHandler @Inject lateinit var activeSessionHolder: ActiveSessionHolder + @Inject lateinit var sessionListener: SessionListener @Inject lateinit var notificationDrawerManager: NotificationDrawerManager @Inject lateinit var pushRuleTriggerListener: PushRuleTriggerListener @Inject lateinit var vectorPreferences: VectorPreferences @@ -117,7 +119,7 @@ class VectorApplication : Application(), HasVectorInjector, MatrixConfiguration. if (authenticator.hasAuthenticatedSessions() && !activeSessionHolder.hasActiveSession()) { val lastAuthenticatedSession = authenticator.getLastAuthenticatedSession()!! activeSessionHolder.setActiveSession(lastAuthenticatedSession) - lastAuthenticatedSession.configureAndStart(pushRuleTriggerListener) + lastAuthenticatedSession.configureAndStart(pushRuleTriggerListener, sessionListener) } ProcessLifecycleOwner.get().lifecycle.addObserver(object : LifecycleObserver { diff --git a/vector/src/main/java/im/vector/riotx/core/di/VectorComponent.kt b/vector/src/main/java/im/vector/riotx/core/di/VectorComponent.kt index 4aab312e2f..a3d8281b7d 100644 --- a/vector/src/main/java/im/vector/riotx/core/di/VectorComponent.kt +++ b/vector/src/main/java/im/vector/riotx/core/di/VectorComponent.kt @@ -40,6 +40,7 @@ import im.vector.riotx.features.notifications.* import im.vector.riotx.features.rageshake.BugReporter import im.vector.riotx.features.rageshake.VectorFileLogger import im.vector.riotx.features.rageshake.VectorUncaughtExceptionHandler +import im.vector.riotx.features.session.SessionListener import im.vector.riotx.features.settings.VectorPreferences import im.vector.riotx.features.ui.UiStateRepository import javax.inject.Singleton @@ -54,6 +55,8 @@ interface VectorComponent { fun matrix(): Matrix + fun sessionListener(): SessionListener + fun currentSession(): Session fun notificationUtils(): NotificationUtils diff --git a/vector/src/main/java/im/vector/riotx/core/extensions/Session.kt b/vector/src/main/java/im/vector/riotx/core/extensions/Session.kt index 713c764490..fac86697cd 100644 --- a/vector/src/main/java/im/vector/riotx/core/extensions/Session.kt +++ b/vector/src/main/java/im/vector/riotx/core/extensions/Session.kt @@ -21,10 +21,13 @@ import androidx.lifecycle.ProcessLifecycleOwner import im.vector.matrix.android.api.session.Session import im.vector.matrix.android.api.session.sync.FilterService import im.vector.riotx.features.notifications.PushRuleTriggerListener +import im.vector.riotx.features.session.SessionListener import timber.log.Timber -fun Session.configureAndStart(pushRuleTriggerListener: PushRuleTriggerListener) { +fun Session.configureAndStart(pushRuleTriggerListener: PushRuleTriggerListener, + sessionListener: SessionListener) { open() + addListener(sessionListener) setFilter(FilterService.FilterPreset.RiotFilter) Timber.i("Configure and start session for ${this.myUserId}") val isAtLeastStarted = ProcessLifecycleOwner.get().lifecycle.currentState.isAtLeast(Lifecycle.State.STARTED) diff --git a/vector/src/main/java/im/vector/riotx/core/platform/VectorBaseActivity.kt b/vector/src/main/java/im/vector/riotx/core/platform/VectorBaseActivity.kt index cb65280907..ac574feeba 100644 --- a/vector/src/main/java/im/vector/riotx/core/platform/VectorBaseActivity.kt +++ b/vector/src/main/java/im/vector/riotx/core/platform/VectorBaseActivity.kt @@ -36,11 +36,11 @@ import butterknife.Unbinder import com.airbnb.mvrx.BaseMvRxActivity import com.bumptech.glide.util.Util import com.google.android.material.snackbar.Snackbar -import im.vector.matrix.android.api.failure.ConsentNotGivenError import im.vector.riotx.BuildConfig import im.vector.riotx.R import im.vector.riotx.core.di.* import im.vector.riotx.core.dialogs.DialogLocker +import im.vector.riotx.core.extensions.observeEvent import im.vector.riotx.core.utils.toast import im.vector.riotx.features.configuration.VectorConfiguration import im.vector.riotx.features.consent.ConsentNotGivenHelper @@ -48,14 +48,12 @@ import im.vector.riotx.features.navigation.Navigator import im.vector.riotx.features.rageshake.BugReportActivity import im.vector.riotx.features.rageshake.BugReporter import im.vector.riotx.features.rageshake.RageShake +import im.vector.riotx.features.session.SessionListener import im.vector.riotx.features.themes.ActivityOtherThemes import im.vector.riotx.features.themes.ThemeUtils import im.vector.riotx.receivers.DebugReceiver import io.reactivex.disposables.CompositeDisposable import io.reactivex.disposables.Disposable -import org.greenrobot.eventbus.EventBus -import org.greenrobot.eventbus.Subscribe -import org.greenrobot.eventbus.ThreadMode import timber.log.Timber import kotlin.system.measureTimeMillis @@ -76,6 +74,7 @@ abstract class VectorBaseActivity : BaseMvRxActivity(), HasScreenInjector { protected lateinit var viewModelFactory: ViewModelProvider.Factory private lateinit var configurationViewModel: ConfigurationViewModel + private lateinit var sessionListener: SessionListener protected lateinit var bugReporter: BugReporter private lateinit var rageShake: RageShake protected lateinit var navigator: Navigator @@ -132,6 +131,7 @@ abstract class VectorBaseActivity : BaseMvRxActivity(), HasScreenInjector { viewModelFactory = screenComponent.viewModelFactory() configurationViewModel = ViewModelProviders.of(this, viewModelFactory).get(ConfigurationViewModel::class.java) bugReporter = screenComponent.bugReporter() + // Shake detector rageShake = screenComponent.rageShake() navigator = screenComponent.navigator() activeSessionHolder = screenComponent.activeSessionHolder() @@ -143,7 +143,11 @@ abstract class VectorBaseActivity : BaseMvRxActivity(), HasScreenInjector { } }) - // Shake detector + sessionListener = getVectorComponent().sessionListener() + sessionListener.consentNotGivenLiveData.observeEvent(this) { + consentNotGivenHelper.displayDialog(it.consentUri, + activeSessionHolder.getActiveSession().sessionParams.homeServerConnectionConfig.homeServerUri.host ?: "") + } doBeforeSetContentView() @@ -408,22 +412,6 @@ abstract class VectorBaseActivity : BaseMvRxActivity(), HasScreenInjector { .apply { restorables.add(this) } } - override fun onStart() { - super.onStart() - EventBus.getDefault().register(this) - } - - override fun onStop() { - super.onStop() - EventBus.getDefault().unregister(this) - } - - @Subscribe(threadMode = ThreadMode.MAIN) - fun onConsentNotGivenError(consentNotGivenError: ConsentNotGivenError) { - consentNotGivenHelper.displayDialog(consentNotGivenError.consentUri, - activeSessionHolder.getActiveSession().sessionParams.homeServerConnectionConfig.homeServerUri.host ?: "") - } - /* ========================================================================================== * Temporary method * ========================================================================================== */ diff --git a/vector/src/main/java/im/vector/riotx/features/home/HomeActivityViewModel.kt b/vector/src/main/java/im/vector/riotx/features/home/HomeActivityViewModel.kt index 6d52d87e7d..33f3bda7ac 100644 --- a/vector/src/main/java/im/vector/riotx/features/home/HomeActivityViewModel.kt +++ b/vector/src/main/java/im/vector/riotx/features/home/HomeActivityViewModel.kt @@ -40,7 +40,7 @@ class HomeActivityViewModel @AssistedInject constructor(@Assisted initialState: private val session: Session, private val selectedGroupStore: SelectedGroupStore, private val homeRoomListStore: HomeRoomListObservableStore -) : VectorViewModel(initialState), Session.Listener { +) : VectorViewModel(initialState) { @AssistedInject.Factory interface Factory { @@ -58,7 +58,6 @@ class HomeActivityViewModel @AssistedInject constructor(@Assisted initialState: init { - session.addListener(this) observeRoomAndGroup() } @@ -96,17 +95,4 @@ class HomeActivityViewModel @AssistedInject constructor(@Assisted initialState: .disposeOnClear() } - override fun onCleared() { - super.onCleared() - session.removeListener(this) - } - - /* ========================================================================================== - * Session listener - * ========================================================================================== */ - - override fun onInvalidToken() { - - } - } \ No newline at end of file diff --git a/vector/src/main/java/im/vector/riotx/features/login/LoginViewModel.kt b/vector/src/main/java/im/vector/riotx/features/login/LoginViewModel.kt index 2367e1be18..cce345deea 100644 --- a/vector/src/main/java/im/vector/riotx/features/login/LoginViewModel.kt +++ b/vector/src/main/java/im/vector/riotx/features/login/LoginViewModel.kt @@ -34,12 +34,14 @@ import im.vector.riotx.core.extensions.configureAndStart import im.vector.riotx.core.platform.VectorViewModel import im.vector.riotx.core.utils.LiveEvent import im.vector.riotx.features.notifications.PushRuleTriggerListener +import im.vector.riotx.features.session.SessionListener import timber.log.Timber class LoginViewModel @AssistedInject constructor(@Assisted initialState: LoginViewState, private val authenticator: Authenticator, private val activeSessionHolder: ActiveSessionHolder, - private val pushRuleTriggerListener: PushRuleTriggerListener) + private val pushRuleTriggerListener: PushRuleTriggerListener, + private val sessionListener: SessionListener) : VectorViewModel(initialState) { @AssistedInject.Factory @@ -114,7 +116,7 @@ class LoginViewModel @AssistedInject constructor(@Assisted initialState: LoginVi private fun onSessionCreated(session: Session) { activeSessionHolder.setActiveSession(session) - session.configureAndStart(pushRuleTriggerListener) + session.configureAndStart(pushRuleTriggerListener, sessionListener) setState { copy( @@ -139,7 +141,7 @@ class LoginViewModel @AssistedInject constructor(@Assisted initialState: LoginVi private fun handleUpdateHomeserver(action: LoginActions.UpdateHomeServer) = withState { state -> - var newConfig : HomeServerConnectionConfig? = null + var newConfig: HomeServerConnectionConfig? = null Try { val homeServerUri = action.homeServerUrl newConfig = HomeServerConnectionConfig.Builder() diff --git a/vector/src/main/java/im/vector/riotx/features/session/SessionListener.kt b/vector/src/main/java/im/vector/riotx/features/session/SessionListener.kt new file mode 100644 index 0000000000..c9a4692444 --- /dev/null +++ b/vector/src/main/java/im/vector/riotx/features/session/SessionListener.kt @@ -0,0 +1,45 @@ +/* + * Copyright 2019 New Vector Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package im.vector.riotx.features.session + +import androidx.lifecycle.LiveData +import androidx.lifecycle.MutableLiveData +import im.vector.matrix.android.api.failure.ConsentNotGivenError +import im.vector.matrix.android.api.session.Session +import im.vector.riotx.core.extensions.postLiveEvent +import im.vector.riotx.core.utils.LiveEvent +import timber.log.Timber +import javax.inject.Inject +import javax.inject.Singleton + +@Singleton +class SessionListener @Inject constructor() : Session.Listener { + + private val _consentNotGivenLiveData = MutableLiveData>() + val consentNotGivenLiveData: LiveData> + get() = _consentNotGivenLiveData + + override fun onInvalidToken() { + // TODO Handle this error + Timber.e("Token is not valid anymore: handle this properly") + } + + override fun onConsentNotGivenError(consentNotGivenError: ConsentNotGivenError) { + _consentNotGivenLiveData.postLiveEvent(consentNotGivenError) + } + +} \ No newline at end of file From e80191b2e05ae7859f52b1ae2b0ce5ff4bb69299 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 8 Oct 2019 13:52:26 +0200 Subject: [PATCH 11/31] Use mutableSet --- .../notification/DefaultPushRuleService.kt | 71 +++++++++++-------- 1 file changed, 42 insertions(+), 29 deletions(-) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/notification/DefaultPushRuleService.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/notification/DefaultPushRuleService.kt index ddcd095e58..a3ebd6e661 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/notification/DefaultPushRuleService.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/notification/DefaultPushRuleService.kt @@ -42,7 +42,7 @@ internal class DefaultPushRuleService @Inject constructor(private val getPushRul private val monarchy: Monarchy ) : PushRuleService { - private var listeners = ArrayList() + private var listeners = mutableSetOf() override fun fetchPushRules(scope: String) { getPushRulesTask @@ -99,13 +99,16 @@ internal class DefaultPushRuleService @Inject constructor(private val getPushRul } override fun removePushRuleListener(listener: PushRuleService.PushRuleListener) { - listeners.remove(listener) + synchronized(listeners) { + listeners.remove(listener) + } } override fun addPushRuleListener(listener: PushRuleService.PushRuleListener) { - if (!listeners.contains(listener)) + synchronized(listeners) { listeners.add(listener) + } } // fun processEvents(events: List) { @@ -121,53 +124,63 @@ internal class DefaultPushRuleService @Inject constructor(private val getPushRul // } fun dispatchBing(event: Event, rule: PushRule) { - try { - val actionsList = rule.getActions() - listeners.forEach { - it.onMatchRule(event, actionsList) + synchronized(listeners) { + try { + val actionsList = rule.getActions() + listeners.forEach { + it.onMatchRule(event, actionsList) + } + } catch (e: Throwable) { + Timber.e(e, "Error while dispatching bing") } - } catch (e: Throwable) { - Timber.e(e, "Error while dispatching bing") } } fun dispatchRoomJoined(roomId: String) { - try { - listeners.forEach { - it.onRoomJoined(roomId) + synchronized(listeners) { + try { + listeners.forEach { + it.onRoomJoined(roomId) + } + } catch (e: Throwable) { + Timber.e(e, "Error while dispatching room joined") } - } catch (e: Throwable) { - Timber.e(e, "Error while dispatching room left") } } fun dispatchRoomLeft(roomId: String) { - try { - listeners.forEach { - it.onRoomLeft(roomId) + synchronized(listeners) { + try { + listeners.forEach { + it.onRoomLeft(roomId) + } + } catch (e: Throwable) { + Timber.e(e, "Error while dispatching room left") } - } catch (e: Throwable) { - Timber.e(e, "Error while dispatching room left") } } fun dispatchRedactedEventId(redactedEventId: String) { - try { - listeners.forEach { - it.onEventRedacted(redactedEventId) + synchronized(listeners) { + try { + listeners.forEach { + it.onEventRedacted(redactedEventId) + } + } catch (e: Throwable) { + Timber.e(e, "Error while dispatching redacted event") } - } catch (e: Throwable) { - Timber.e(e, "Error while dispatching room left") } } fun dispatchFinish() { - try { - listeners.forEach { - it.batchFinish() + synchronized(listeners) { + try { + listeners.forEach { + it.batchFinish() + } + } catch (e: Throwable) { + Timber.e(e, "Error while dispatching finish") } - } catch (e: Throwable) { - Timber.e(e, "Error while dispatching finish") } } } \ No newline at end of file From d4dfb76e8039071b87b7c052c516a0067c44736a Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 8 Oct 2019 13:57:32 +0200 Subject: [PATCH 12/31] Change constant value (for application upgrade reason) --- .../riotx/features/notifications/NotificationDrawerManager.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/vector/src/main/java/im/vector/riotx/features/notifications/NotificationDrawerManager.kt b/vector/src/main/java/im/vector/riotx/features/notifications/NotificationDrawerManager.kt index 3f9bbe2f52..e65e16c75d 100644 --- a/vector/src/main/java/im/vector/riotx/features/notifications/NotificationDrawerManager.kt +++ b/vector/src/main/java/im/vector/riotx/features/notifications/NotificationDrawerManager.kt @@ -507,8 +507,8 @@ class NotificationDrawerManager @Inject constructor(private val context: Context companion object { private const val SUMMARY_NOTIFICATION_ID = 0 private const val ROOM_MESSAGES_NOTIFICATION_ID = 1 - private const val ROOM_INVITATION_NOTIFICATION_ID = 2 - private const val ROOM_EVENT_NOTIFICATION_ID = 3 + private const val ROOM_EVENT_NOTIFICATION_ID = 2 + private const val ROOM_INVITATION_NOTIFICATION_ID = 3 // TODO Mutliaccount private const val ROOMS_NOTIFICATIONS_FILE_NAME = "im.vector.notifications.cache" From 549f7496823651628b11f879b68918b821860dd2 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 8 Oct 2019 14:00:11 +0200 Subject: [PATCH 13/31] Nest the try catch blocks --- .../notification/DefaultPushRuleService.kt | 44 +++++++++---------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/notification/DefaultPushRuleService.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/notification/DefaultPushRuleService.kt index a3ebd6e661..eace7d340c 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/notification/DefaultPushRuleService.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/notification/DefaultPushRuleService.kt @@ -90,11 +90,11 @@ internal class DefaultPushRuleService @Inject constructor(private val getPushRul } override fun updatePushRuleEnableStatus(kind: RuleKind, pushRule: PushRule, enabled: Boolean, callback: MatrixCallback): Cancelable { + // The rules will be updated, and will come back from the next sync response return updatePushRuleEnableStatusTask .configureWith(UpdatePushRuleEnableStatusTask.Params(kind, pushRule, enabled)) { this.callback = callback } - // TODO Fetch the rules .executeBy(taskExecutor) } @@ -125,61 +125,61 @@ internal class DefaultPushRuleService @Inject constructor(private val getPushRul fun dispatchBing(event: Event, rule: PushRule) { synchronized(listeners) { - try { - val actionsList = rule.getActions() - listeners.forEach { + val actionsList = rule.getActions() + listeners.forEach { + try { it.onMatchRule(event, actionsList) + } catch (e: Throwable) { + Timber.e(e, "Error while dispatching bing") } - } catch (e: Throwable) { - Timber.e(e, "Error while dispatching bing") } } } fun dispatchRoomJoined(roomId: String) { synchronized(listeners) { - try { - listeners.forEach { + listeners.forEach { + try { it.onRoomJoined(roomId) + } catch (e: Throwable) { + Timber.e(e, "Error while dispatching room joined") } - } catch (e: Throwable) { - Timber.e(e, "Error while dispatching room joined") } } } fun dispatchRoomLeft(roomId: String) { synchronized(listeners) { - try { - listeners.forEach { + listeners.forEach { + try { it.onRoomLeft(roomId) + } catch (e: Throwable) { + Timber.e(e, "Error while dispatching room left") } - } catch (e: Throwable) { - Timber.e(e, "Error while dispatching room left") } } } fun dispatchRedactedEventId(redactedEventId: String) { synchronized(listeners) { - try { - listeners.forEach { + listeners.forEach { + try { it.onEventRedacted(redactedEventId) + } catch (e: Throwable) { + Timber.e(e, "Error while dispatching redacted event") } - } catch (e: Throwable) { - Timber.e(e, "Error while dispatching redacted event") } } } fun dispatchFinish() { synchronized(listeners) { - try { - listeners.forEach { + listeners.forEach { + try { it.batchFinish() + } catch (e: Throwable) { + Timber.e(e, "Error while dispatching finish") } - } catch (e: Throwable) { - Timber.e(e, "Error while dispatching finish") } } } From 546c537e3b8327592d2ce28871cce706722ec577 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 8 Oct 2019 14:27:13 +0200 Subject: [PATCH 14/31] Upgrade build tools version from 3.5.0 to 3.5.1 --- build.gradle | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/build.gradle b/build.gradle index 9d87774f3c..70cbbbe4f6 100644 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,3 @@ -import javax.tools.JavaCompiler - // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { @@ -12,7 +10,7 @@ buildscript { } } dependencies { - classpath 'com.android.tools.build:gradle:3.5.0' + classpath 'com.android.tools.build:gradle:3.5.1' classpath 'com.google.gms:google-services:4.3.2' classpath "com.airbnb.okreplay:gradle-plugin:1.5.0" classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" From 6de64cbedd9801c7c2d6d5df3b318faeea7b117b Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 8 Oct 2019 14:30:59 +0200 Subject: [PATCH 15/31] Treat warnings from the kotlin compiler as errors --- build.gradle | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/build.gradle b/build.gradle index 70cbbbe4f6..714152370e 100644 --- a/build.gradle +++ b/build.gradle @@ -59,6 +59,11 @@ allprojects { ] } + tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all { + // Warnings are potential errors, so stop ignoring them + kotlinOptions.allWarningsAsErrors = true + } + afterEvaluate { extensions.findByName("kapt")?.arguments { arg("dagger.gradle.incremental", "enabled") From a9c474105acc392bff8397f77141ec34017a260d Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 8 Oct 2019 16:10:53 +0200 Subject: [PATCH 16/31] Fix warnings in the SDK --- .../android/api/session/events/model/Event.kt | 1 + .../internal/crypto/DefaultCryptoService.kt | 16 +++------- .../android/internal/crypto/MXOlmDevice.kt | 21 ++++++------ .../internal/crypto/RoomDecryptorProvider.kt | 3 +- .../crypto/actions/MessageEncrypter.kt | 2 +- .../algorithms/megolm/MXMegolmEncryption.kt | 2 +- .../crypto/algorithms/olm/MXOlmDecryption.kt | 14 ++++---- .../attachments/MXEncryptedAttachments.kt | 4 +-- .../internal/crypto/keysbackup/KeysBackup.kt | 32 ++++++++++--------- .../model/rest/KeysAlgorithmAndData.kt | 3 +- .../android/internal/crypto/model/MXKey.kt | 1 + .../internal/crypto/store/IMXCryptoStore.kt | 2 +- .../internal/crypto/store/db/Helper.kt | 1 + .../crypto/store/db/RealmCryptoStore.kt | 9 ++---- .../mapper/EventAnnotationsSummaryMapper.kt | 2 +- .../internal/database/mapper/EventMapper.kt | 23 +++++++------ .../internal/network/UserAgentHolder.kt | 2 +- .../android/internal/network/ssl/CertUtil.kt | 13 ++++---- .../network/ssl/PinnedTrustManager.kt | 30 ++++++++--------- .../internal/session/content/FileUploader.kt | 14 +++++--- .../session/room/prune/EventsPruner.kt | 7 +--- .../session/room/prune/PruneEventTask.kt | 13 ++++---- .../session/room/send/EncryptEventWorker.kt | 2 +- .../room/send/LocalEchoEventFactory.kt | 10 +++--- .../room/timeline/DefaultTimelineService.kt | 2 +- .../securestorage/SecretStoringUtils.kt | 23 +++++++------ .../internal/session/sync/RoomSyncHandler.kt | 18 +++-------- .../android/internal/util/CompatUtil.kt | 20 ++++-------- .../android/internal/util/StringUtils.kt | 11 ++++--- 29 files changed, 142 insertions(+), 159 deletions(-) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/events/model/Event.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/events/model/Event.kt index 902515a239..eca5d8d8f4 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/events/model/Event.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/events/model/Event.kt @@ -136,6 +136,7 @@ data class Event( * @return the event content */ fun getClearContent(): Content? { + @Suppress("UNCHECKED_CAST") return mxDecryptionResult?.payload?.get("content") as? Content ?: content } diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/DefaultCryptoService.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/DefaultCryptoService.kt index 1a94bebde4..51234082e0 100755 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/DefaultCryptoService.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/DefaultCryptoService.kt @@ -31,9 +31,7 @@ import im.vector.matrix.android.api.failure.Failure import im.vector.matrix.android.api.listeners.ProgressListener import im.vector.matrix.android.api.session.crypto.CryptoService import im.vector.matrix.android.api.session.crypto.MXCryptoError -import im.vector.matrix.android.api.session.crypto.keysbackup.KeysBackupService import im.vector.matrix.android.api.session.crypto.keyshare.RoomKeysRequestListener -import im.vector.matrix.android.api.session.crypto.sas.SasVerificationService import im.vector.matrix.android.api.session.events.model.Content import im.vector.matrix.android.api.session.events.model.Event import im.vector.matrix.android.api.session.events.model.EventType @@ -289,24 +287,18 @@ internal class DefaultCryptoService @Inject constructor( outgoingRoomKeyRequestManager.stop() } - override fun isCryptoEnabled(): Boolean { - // TODO Check that this test is correct - return olmDevice != null - } + // Aways enabled on RiotX + override fun isCryptoEnabled() = true /** * @return the Keys backup Service */ - override fun getKeysBackupService(): KeysBackupService { - return keysBackup - } + override fun getKeysBackupService() = keysBackup /** * @return the SasVerificationService */ - override fun getSasVerificationService(): SasVerificationService { - return sasVerificationService - } + override fun getSasVerificationService() = sasVerificationService /** * A sync response has been received diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/MXOlmDevice.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/MXOlmDevice.kt index 7c5131fcce..4d4ae35265 100755 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/MXOlmDevice.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/MXOlmDevice.kt @@ -250,7 +250,7 @@ internal class MXOlmDevice @Inject constructor( return null } - Timber.v("## createInboundSession() : sessionId: " + olmSession.sessionIdentifier()) + Timber.v("## createInboundSession() : sessionId: ${olmSession.sessionIdentifier()}") try { olmAccount!!.removeOneTimeKeys(olmSession) @@ -262,7 +262,7 @@ internal class MXOlmDevice @Inject constructor( Timber.v("## createInboundSession() : ciphertext: $ciphertext") try { val sha256 = olmUtility!!.sha256(URLEncoder.encode(ciphertext, "utf-8")) - Timber.v("## createInboundSession() :ciphertext: SHA256:" + sha256) + Timber.v("## createInboundSession() :ciphertext: SHA256: $sha256") } catch (e: Exception) { Timber.e(e, "## createInboundSession() :ciphertext: cannot encode ciphertext") } @@ -352,7 +352,7 @@ internal class MXOlmDevice @Inject constructor( res["body"] = olmMessage.mCipherText res["type"] = olmMessage.mType } catch (e: Exception) { - Timber.e(e, "## encryptMessage() : failed " + e.message) + Timber.e(e, "## encryptMessage() : failed") } } @@ -384,7 +384,7 @@ internal class MXOlmDevice @Inject constructor( olmSessionWrapper.onMessageReceived() store.storeSession(olmSessionWrapper, theirDeviceIdentityKey) } catch (e: Exception) { - Timber.e(e, "## decryptMessage() : decryptMessage failed " + e.message) + Timber.e(e, "## decryptMessage() : decryptMessage failed") } } @@ -425,7 +425,7 @@ internal class MXOlmDevice @Inject constructor( outboundGroupSessionStore[session.sessionIdentifier()] = session return session.sessionIdentifier() } catch (e: Exception) { - Timber.e(e, "createOutboundGroupSession " + e.message) + Timber.e(e, "createOutboundGroupSession") session?.releaseSession() } @@ -444,7 +444,7 @@ internal class MXOlmDevice @Inject constructor( try { return outboundGroupSessionStore[sessionId]!!.sessionKey() } catch (e: Exception) { - Timber.e(e, "## getSessionKey() : failed " + e.message) + Timber.e(e, "## getSessionKey() : failed") } } @@ -475,7 +475,7 @@ internal class MXOlmDevice @Inject constructor( try { return outboundGroupSessionStore[sessionId]!!.encryptMessage(payloadString) } catch (e: Exception) { - Timber.e(e, "## encryptGroupMessage() : failed " + e.message) + Timber.e(e, "## encryptGroupMessage() : failed") } } @@ -583,7 +583,7 @@ internal class MXOlmDevice @Inject constructor( try { if (!TextUtils.equals(session.olmInboundGroupSession?.sessionIdentifier(), sessionId)) { - Timber.e("## importInboundGroupSession : ERROR: Mismatched group session ID from senderKey: " + senderKey!!) + Timber.e("## importInboundGroupSession : ERROR: Mismatched group session ID from senderKey: $senderKey") if (session.olmInboundGroupSession != null) session.olmInboundGroupSession!!.releaseSession() continue } @@ -652,9 +652,8 @@ internal class MXOlmDevice @Inject constructor( // Check that the room id matches the original one for the session. This stops // the HS pretending a message was targeting a different room. if (roomId == session.roomId) { - var decryptResult: OlmInboundGroupSession.DecryptMessageResult? = null - try { - decryptResult = session.olmInboundGroupSession!!.decryptMessage(body) + val decryptResult = try { + session.olmInboundGroupSession!!.decryptMessage(body) } catch (e: OlmException) { Timber.e(e, "## decryptGroupMessage () : decryptMessage failed") throw MXCryptoError.OlmError(e) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/RoomDecryptorProvider.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/RoomDecryptorProvider.kt index 3dd7b932f9..0d49482401 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/RoomDecryptorProvider.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/RoomDecryptorProvider.kt @@ -76,7 +76,8 @@ internal class RoomDecryptorProvider @Inject constructor( val alg = when (algorithm) { MXCRYPTO_ALGORITHM_MEGOLM -> megolmDecryptionFactory.create().apply { this.newSessionListener = object : NewSessionListener { - override fun onNewSession(rid: String?, senderKey: String, sessionId: String) { + override fun onNewSession(roomId: String?, senderKey: String, sessionId: String) { + // PR reviewer: the parameter has been renamed so is now in conflict with the parameter of getOrCreateRoomDecryptor newSessionListeners.forEach { try { it.onNewSession(roomId, senderKey, sessionId) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/actions/MessageEncrypter.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/actions/MessageEncrypter.kt index 3328de0eaf..980f620075 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/actions/MessageEncrypter.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/actions/MessageEncrypter.kt @@ -81,7 +81,7 @@ internal class MessageEncrypter @Inject constructor(private val credentials: Cre payloadJson["recipient_keys"] = recipientsKeysMap val payloadString = convertToUTF8(JsonCanonicalizer.getCanonicalJson(Map::class.java, payloadJson)) - ciphertext[deviceKey] = olmDevice.encryptMessage(deviceKey, sessionId!!, payloadString!!)!! + ciphertext[deviceKey] = olmDevice.encryptMessage(deviceKey, sessionId!!, payloadString)!! } } diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/algorithms/megolm/MXMegolmEncryption.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/algorithms/megolm/MXMegolmEncryption.kt index b465cb6e67..d6c7d33131 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/algorithms/megolm/MXMegolmEncryption.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/algorithms/megolm/MXMegolmEncryption.kt @@ -253,7 +253,7 @@ internal class MXMegolmEncryption( // Get canonical Json from val payloadString = convertToUTF8(JsonCanonicalizer.getCanonicalJson(Map::class.java, payloadJson)) - val ciphertext = olmDevice.encryptGroupMessage(session.sessionId, payloadString!!) + val ciphertext = olmDevice.encryptGroupMessage(session.sessionId, payloadString) val map = HashMap() map["algorithm"] = MXCRYPTO_ALGORITHM_MEGOLM diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/algorithms/olm/MXOlmDecryption.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/algorithms/olm/MXOlmDecryption.kt index 9433e364cb..2f3b8a8f4a 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/algorithms/olm/MXOlmDecryption.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/algorithms/olm/MXOlmDecryption.kt @@ -63,6 +63,7 @@ internal class MXOlmDecryption( } // The message for myUser + @Suppress("UNCHECKED_CAST") val message = messageAny as JsonDict val decryptedPayload = decryptMessage(message, senderKey) @@ -72,10 +73,6 @@ internal class MXOlmDecryption( throw MXCryptoError.Base(MXCryptoError.ErrorType.BAD_ENCRYPTED_MESSAGE, MXCryptoError.BAD_ENCRYPTED_MESSAGE_REASON) } val payloadString = convertFromUTF8(decryptedPayload) - if (payloadString == null) { - Timber.e("## decryptEvent() Failed to decrypt Olm event (id= ${event.eventId} from $senderKey") - throw MXCryptoError.Base(MXCryptoError.ErrorType.BAD_ENCRYPTED_MESSAGE, MXCryptoError.BAD_ENCRYPTED_MESSAGE_REASON) - } val adapter = MoshiProvider.providesMoshi().adapter(JSON_DICT_PARAMETERIZED_TYPE) val payload = adapter.fromJson(payloadString) @@ -104,7 +101,8 @@ internal class MXOlmDecryption( } val recipientKeys = olmPayloadContent.recipient_keys ?: run { - Timber.e("## decryptEvent() : Olm event (id=${event.eventId}) contains no 'recipient_keys' property; cannot prevent unknown-key attack") + Timber.e("## decryptEvent() : Olm event (id=${event.eventId}) contains no 'recipient_keys'" + + " property; cannot prevent unknown-key attack") throw MXCryptoError.Base(MXCryptoError.ErrorType.MISSING_PROPERTY, String.format(MXCryptoError.ERROR_MISSING_PROPERTY_REASON, "recipient_keys")) } @@ -161,9 +159,9 @@ internal class MXOlmDecryption( val messageBody = message["body"] as? String ?: return null val messageType = when (val typeAsVoid = message["type"]) { is Double -> typeAsVoid.toInt() - is Int -> typeAsVoid - is Long -> typeAsVoid.toInt() - else -> return null + is Int -> typeAsVoid + is Long -> typeAsVoid.toInt() + else -> return null } // Try each session in turn diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/attachments/MXEncryptedAttachments.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/attachments/MXEncryptedAttachments.kt index 95ff11d595..5f90b636ac 100755 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/attachments/MXEncryptedAttachments.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/attachments/MXEncryptedAttachments.kt @@ -103,10 +103,10 @@ object MXEncryptedAttachments { ext = true, key_ops = listOf("encrypt", "decrypt"), kty = "oct", - k = base64ToBase64Url(Base64.encodeToString(key, Base64.DEFAULT))!! + k = base64ToBase64Url(Base64.encodeToString(key, Base64.DEFAULT)) ), iv = Base64.encodeToString(initVectorBytes, Base64.DEFAULT).replace("\n", "").replace("=", ""), - hashes = mapOf("sha256" to base64ToUnpaddedBase64(Base64.encodeToString(messageDigest.digest(), Base64.DEFAULT))!!), + hashes = mapOf("sha256" to base64ToUnpaddedBase64(Base64.encodeToString(messageDigest.digest(), Base64.DEFAULT))), v = "v2" ), encryptedByteArray = outStream.toByteArray() diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/KeysBackup.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/KeysBackup.kt index 786923dad5..47da851bdd 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/KeysBackup.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/KeysBackup.kt @@ -31,6 +31,7 @@ import im.vector.matrix.android.api.listeners.StepProgressListener import im.vector.matrix.android.api.session.crypto.keysbackup.KeysBackupService import im.vector.matrix.android.api.session.crypto.keysbackup.KeysBackupState import im.vector.matrix.android.api.session.crypto.keysbackup.KeysBackupStateListener +import im.vector.matrix.android.api.util.JsonDict import im.vector.matrix.android.internal.crypto.MXCRYPTO_ALGORITHM_MEGOLM_BACKUP import im.vector.matrix.android.internal.crypto.MXOlmDevice import im.vector.matrix.android.internal.crypto.MegolmSessionData @@ -194,22 +195,23 @@ internal class KeysBackup @Inject constructor( callback: MatrixCallback) { val createKeysBackupVersionBody = CreateKeysBackupVersionBody() createKeysBackupVersionBody.algorithm = keysBackupCreationInfo.algorithm + @Suppress("UNCHECKED_CAST") createKeysBackupVersionBody.authData = MoshiProvider.providesMoshi().adapter(Map::class.java) - .fromJson(keysBackupCreationInfo.authData?.toJsonString()) as Map? + .fromJson(keysBackupCreationInfo.authData?.toJsonString() ?: "") as JsonDict? keysBackupStateManager.state = KeysBackupState.Enabling createKeysBackupVersionTask .configureWith(createKeysBackupVersionBody) { this.callback = object : MatrixCallback { - override fun onSuccess(info: KeysVersion) { + override fun onSuccess(data: KeysVersion) { // Reset backup markers. cryptoStore.resetBackupMarkers() val keyBackupVersion = KeysVersionResult() keyBackupVersion.algorithm = createKeysBackupVersionBody.algorithm keyBackupVersion.authData = createKeysBackupVersionBody.authData - keyBackupVersion.version = info.version + keyBackupVersion.version = data.version // We can consider that the server does not have keys yet keyBackupVersion.count = 0 @@ -217,7 +219,7 @@ internal class KeysBackup @Inject constructor( enableKeysBackup(keyBackupVersion) - callback.onSuccess(info) + callback.onSuccess(data) } override fun onFailure(failure: Throwable) { @@ -275,7 +277,8 @@ internal class KeysBackup @Inject constructor( val keysBackupData = cryptoStore.getKeysBackupData() val totalNumberOfKeysServer = keysBackupData?.backupLastServerNumberOfKeys ?: -1 - val hashServer = keysBackupData?.backupLastServerHash + // Not used for the moment + // val hashServer = keysBackupData?.backupLastServerHash return when { totalNumberOfKeysLocally < totalNumberOfKeysServer -> { @@ -414,7 +417,7 @@ internal class KeysBackup @Inject constructor( olmDevice.verifySignature(fingerprint, authData.signalableJSONDictionary(), mySigs[keyId] as String) isSignatureValid = true } catch (e: OlmException) { - Timber.v("getKeysBackupTrust: Bad signature from device " + device.deviceId + " " + e.localizedMessage) + Timber.v(e, "getKeysBackupTrust: Bad signature from device ${device.deviceId}") } } @@ -484,6 +487,7 @@ internal class KeysBackup @Inject constructor( val moshi = MoshiProvider.providesMoshi() val adapter = moshi.adapter(Map::class.java) + @Suppress("UNCHECKED_CAST") updateKeysBackupVersionBody.authData = adapter.fromJson(newMegolmBackupAuthData.toJsonString()) as Map? updateKeysBackupVersionBody @@ -616,7 +620,7 @@ internal class KeysBackup @Inject constructor( GlobalScope.launch(coroutineDispatchers.main) { withContext(coroutineDispatchers.crypto) { - Try { + Try { // Check if the recovery is valid before going any further if (!isValidRecoveryKeyForKeysBackupVersion(recoveryKey, keysVersionResult)) { Timber.e("restoreKeysWithRecoveryKey: Invalid recovery key for this keys version") @@ -631,7 +635,7 @@ internal class KeysBackup @Inject constructor( throw InvalidParameterException("Invalid recovery key") } - decryption!! + decryption } }.fold( { @@ -661,14 +665,12 @@ internal class KeysBackup @Inject constructor( } } } - Timber.v("restoreKeysWithRecoveryKey: Decrypted " + sessionsData.size + " keys out of " - + sessionsFromHsCount + " from the backup store on the homeserver") + Timber.v("restoreKeysWithRecoveryKey: Decrypted ${sessionsData.size} keys out of $sessionsFromHsCount from the backup store on the homeserver") // Do not trigger a backup for them if they come from the backup version we are using val backUp = keysVersionResult.version != keysBackupVersion?.version if (backUp) { - Timber.v("restoreKeysWithRecoveryKey: Those keys will be backed up to backup version: " - + keysBackupVersion?.version) + Timber.v("restoreKeysWithRecoveryKey: Those keys will be backed up to backup version: ${keysBackupVersion?.version}") } // Import them into the crypto store @@ -986,7 +988,7 @@ internal class KeysBackup @Inject constructor( val versionInStore = cryptoStore.getKeyBackupVersion() if (data.usable) { - Timber.v("checkAndStartWithKeysBackupVersion: Found usable key backup. version: " + keyBackupVersion.version) + Timber.v("checkAndStartWithKeysBackupVersion: Found usable key backup. version: ${keyBackupVersion.version}") // Check the version we used at the previous app run if (versionInStore != null && versionInStore != keyBackupVersion.version) { Timber.v(" -> clean the previously used version $versionInStore") @@ -996,7 +998,7 @@ internal class KeysBackup @Inject constructor( Timber.v(" -> enabling key backups") enableKeysBackup(keyBackupVersion) } else { - Timber.v("checkAndStartWithKeysBackupVersion: No usable key backup. version: " + keyBackupVersion.version) + Timber.v("checkAndStartWithKeysBackupVersion: No usable key backup. version: ${keyBackupVersion.version}") if (versionInStore != null) { Timber.v(" -> disabling key backup") resetKeysBackupData() @@ -1201,7 +1203,7 @@ internal class KeysBackup @Inject constructor( // Get a chunk of keys to backup val olmInboundGroupSessionWrappers = cryptoStore.inboundGroupSessionsToBackup(KEY_BACKUP_SEND_KEYS_MAX_COUNT) - Timber.v("backupKeys: 1 - " + olmInboundGroupSessionWrappers.size + " sessions to back up") + Timber.v("backupKeys: 1 - ${olmInboundGroupSessionWrappers.size} sessions to back up") if (olmInboundGroupSessionWrappers.isEmpty()) { // Backup is up to date diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/model/rest/KeysAlgorithmAndData.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/model/rest/KeysAlgorithmAndData.kt index 20e7357a39..6fba833589 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/model/rest/KeysAlgorithmAndData.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/model/rest/KeysAlgorithmAndData.kt @@ -17,6 +17,7 @@ package im.vector.matrix.android.internal.crypto.keysbackup.model.rest import com.squareup.moshi.Json +import im.vector.matrix.android.api.util.JsonDict import im.vector.matrix.android.internal.crypto.keysbackup.model.MegolmBackupAuthData import im.vector.matrix.android.internal.di.MoshiProvider @@ -49,7 +50,7 @@ open class KeysAlgorithmAndData { * algorithm-dependent data, for "m.megolm_backup.v1.curve25519-aes-sha2" see [im.vector.matrix.android.internal.crypto.keysbackup.MegolmBackupAuthData] */ @Json(name = "auth_data") - var authData: Map? = null + var authData: JsonDict? = null /** * Facility method to convert authData to a MegolmBackupAuthData object diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/MXKey.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/MXKey.kt index 2fb545a0a9..5c2a3522e7 100755 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/MXKey.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/MXKey.kt @@ -103,6 +103,7 @@ data class MXKey( val params = map[firstKey] if (params != null) { if (params["key"] is String) { + @Suppress("UNCHECKED_CAST") return MXKey( type = components[0], keyId = components[1], diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/IMXCryptoStore.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/IMXCryptoStore.kt index 1b19db2b89..4e8dfcb2b0 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/IMXCryptoStore.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/IMXCryptoStore.kt @@ -179,7 +179,7 @@ internal interface IMXCryptoStore { * @param userId The user's id. * @param devices A map from device id to 'MXDevice' object for the device. */ - fun storeUserDevices(userId: String, devices: Map) + fun storeUserDevices(userId: String, devices: Map?) /** * Retrieve the known devices for a user. diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/db/Helper.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/db/Helper.kt index 3f9aea3369..ed91859d5b 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/db/Helper.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/db/Helper.kt @@ -98,6 +98,7 @@ fun deserializeFromRealm(string: String?): T? { val gzis = GZIPInputStream(bais) val ois = ObjectInputStream(gzis) + @Suppress("UNCHECKED_CAST") val result = ois.readObject() as T ois.close() diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/db/RealmCryptoStore.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/db/RealmCryptoStore.kt index 87e8b55b50..c18d10613f 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/db/RealmCryptoStore.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/db/RealmCryptoStore.kt @@ -209,10 +209,7 @@ internal class RealmCryptoStore(private val realmConfiguration: RealmConfigurati ?.getDeviceInfo() } - override fun storeUserDevices(userId: String, devices: Map) { - if (userId == null) { - return - } + override fun storeUserDevices(userId: String, devices: Map?) { doRealmTransaction(realmConfiguration) { realm -> if (devices == null) { // Remove the user @@ -281,7 +278,7 @@ internal class RealmCryptoStore(private val realmConfiguration: RealmConfigurati try { sessionIdentifier = olmSessionWrapper.olmSession.sessionIdentifier() } catch (e: OlmException) { - Timber.e(e, "## storeSession() : sessionIdentifier failed " + e.message) + Timber.e(e, "## storeSession() : sessionIdentifier failed") } if (sessionIdentifier != null) { @@ -367,7 +364,7 @@ internal class RealmCryptoStore(private val realmConfiguration: RealmConfigurati try { sessionIdentifier = session.olmInboundGroupSession?.sessionIdentifier() } catch (e: OlmException) { - Timber.e(e, "## storeInboundGroupSession() : sessionIdentifier failed " + e.message) + Timber.e(e, "## storeInboundGroupSession() : sessionIdentifier failed") } if (sessionIdentifier != null) { diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/mapper/EventAnnotationsSummaryMapper.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/mapper/EventAnnotationsSummaryMapper.kt index 1b7b7f6407..7736d51df6 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/mapper/EventAnnotationsSummaryMapper.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/mapper/EventAnnotationsSummaryMapper.kt @@ -61,7 +61,7 @@ internal object EventAnnotationsSummaryMapper { it.lastEditTs ) } - eventAnnotationsSummaryEntity.reactionsSummary = annotationsSummary.reactionsSummary?.let { + eventAnnotationsSummaryEntity.reactionsSummary = annotationsSummary.reactionsSummary.let { RealmList().apply { addAll(it.map { ReactionAggregatedSummaryEntity( diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/mapper/EventMapper.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/mapper/EventMapper.kt index 4375a19d17..36f5642ee2 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/mapper/EventMapper.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/mapper/EventMapper.kt @@ -48,16 +48,17 @@ internal object EventMapper { } fun map(eventEntity: EventEntity): Event { - val ud = if (eventEntity.unsignedData.isNullOrBlank()) { - null - } else { - try { - MoshiProvider.providesMoshi().adapter(UnsignedData::class.java).fromJson(eventEntity.unsignedData) - } catch (t: JsonDataException) { - null - } + val ud = eventEntity.unsignedData + ?.takeIf { it.isNotBlank() } + ?.let { + try { + MoshiProvider.providesMoshi().adapter(UnsignedData::class.java).fromJson(it) + } catch (t: JsonDataException) { + Timber.e(t, "Failed to parse UnsignedData") + null + } + } - } return Event( type = eventEntity.type, eventId = eventEntity.eventId, @@ -79,7 +80,9 @@ internal object EventMapper { } } //TODO get the full crypto error object - it.mCryptoError = eventEntity.decryptionErrorCode?.let { MXCryptoError.ErrorType.valueOf(it) } + it.mCryptoError = eventEntity.decryptionErrorCode?.let { errorCode -> + MXCryptoError.ErrorType.valueOf(errorCode) + } } } diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/UserAgentHolder.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/UserAgentHolder.kt index 5c344a0b11..2bfeb73621 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/UserAgentHolder.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/UserAgentHolder.kt @@ -58,7 +58,7 @@ internal class UserAgentHolder @Inject constructor(private val context: Context) appName = appPackageName } } catch (e: Exception) { - Timber.e(e, "## initUserAgent() : failed " + e.message) + Timber.e(e, "## initUserAgent() : failed") } var systemUserAgent = System.getProperty("http.agent") diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/ssl/CertUtil.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/ssl/CertUtil.kt index 976cbde17d..2536d54819 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/ssl/CertUtil.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/ssl/CertUtil.kt @@ -104,11 +104,11 @@ internal object CertUtil { * Recursively checks the exception to see if it was caused by an * UnrecognizedCertificateException * - * @param e the throwable. + * @param root the throwable. * @return The UnrecognizedCertificateException if exists, else null. */ - fun getCertificateException(e: Throwable?): UnrecognizedCertificateException? { - var e = e + fun getCertificateException(root: Throwable?): UnrecognizedCertificateException? { + var e = root var i = 0 // Just in case there is a getCause loop while (e != null && i < 10) { if (e is UnrecognizedCertificateException) { @@ -140,7 +140,7 @@ internal object CertUtil { try { tf = TrustManagerFactory.getInstance("PKIX") } catch (e: Exception) { - Timber.e(e, "## newPinnedSSLSocketFactory() : TrustManagerFactory.getInstance failed " + e.message) + Timber.e(e, "## newPinnedSSLSocketFactory() : TrustManagerFactory.getInstance failed") } // it doesn't exist, use the default one. @@ -148,7 +148,7 @@ internal object CertUtil { try { tf = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm()) } catch (e: Exception) { - Timber.e(e, "## addRule : onBingRuleUpdateFailure failed " + e.message) + Timber.e(e, "## addRule : onBingRuleUpdateFailure failed") } } @@ -202,7 +202,7 @@ internal object CertUtil { try { for (cert in session.peerCertificates) { for (allowedFingerprint in trustedFingerprints) { - if (allowedFingerprint != null && cert is X509Certificate && allowedFingerprint.matchesCert(cert)) { + if (cert is X509Certificate && allowedFingerprint.matchesCert(cert)) { return@HostnameVerifier true } } @@ -235,6 +235,7 @@ internal object CertUtil { builder.cipherSuites(*tlsCipherSuites.toTypedArray()) } + @Suppress("DEPRECATION") builder.supportsTlsExtensions(hsConfig.shouldAcceptTlsExtensions) val list = ArrayList() list.add(builder.build()) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/ssl/PinnedTrustManager.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/ssl/PinnedTrustManager.kt index 2438114aa2..f3f9ecc562 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/ssl/PinnedTrustManager.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/ssl/PinnedTrustManager.kt @@ -31,54 +31,50 @@ import javax.net.ssl.X509TrustManager * @param defaultTrustManager Optional trust manager to fall back on if cert does not match * any of the fingerprints. Can be null. */ -internal class PinnedTrustManager(private val mFingerprints: List?, - private val mDefaultTrustManager: X509TrustManager?) : X509TrustManager { +internal class PinnedTrustManager(private val fingerprints: List?, + private val defaultTrustManager: X509TrustManager?) : X509TrustManager { @Throws(CertificateException::class) override fun checkClientTrusted(chain: Array, s: String) { try { - if (mDefaultTrustManager != null) { - mDefaultTrustManager.checkClientTrusted( - chain, s - ) + if (defaultTrustManager != null) { + defaultTrustManager.checkClientTrusted(chain, s) return } } catch (e: CertificateException) { // If there is an exception we fall back to checking fingerprints - if (mFingerprints == null || mFingerprints.isEmpty()) { + if (fingerprints == null || fingerprints.isEmpty()) { throw UnrecognizedCertificateException(chain[0], Fingerprint.newSha256Fingerprint(chain[0]), e.cause) } } - checkTrusted("client", chain) + checkTrusted(chain) } @Throws(CertificateException::class) override fun checkServerTrusted(chain: Array, s: String) { try { - if (mDefaultTrustManager != null) { - mDefaultTrustManager.checkServerTrusted( - chain, s - ) + if (defaultTrustManager != null) { + defaultTrustManager.checkServerTrusted(chain, s) return } } catch (e: CertificateException) { // If there is an exception we fall back to checking fingerprints - if (mFingerprints == null || mFingerprints.isEmpty()) { + if (fingerprints == null || fingerprints.isEmpty()) { throw UnrecognizedCertificateException(chain[0], Fingerprint.newSha256Fingerprint(chain[0]), e.cause) } } - checkTrusted("server", chain) + checkTrusted(chain) } @Throws(CertificateException::class) - private fun checkTrusted(type: String, chain: Array) { + private fun checkTrusted(chain: Array) { val cert = chain[0] var found = false - if (mFingerprints != null) { - for (allowedFingerprint in mFingerprints) { + if (fingerprints != null) { + for (allowedFingerprint in fingerprints) { if (allowedFingerprint.matchesCert(cert)) { found = true break diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/content/FileUploader.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/content/FileUploader.kt index 8c554977e3..422ceca3cc 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/content/FileUploader.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/content/FileUploader.kt @@ -22,9 +22,13 @@ import im.vector.matrix.android.internal.di.Authenticated import im.vector.matrix.android.internal.network.ProgressRequestBody import im.vector.matrix.android.internal.network.awaitResponse import im.vector.matrix.android.internal.network.toFailure -import okhttp3.* import okhttp3.HttpUrl.Companion.toHttpUrlOrNull import okhttp3.MediaType.Companion.toMediaTypeOrNull +import okhttp3.OkHttpClient +import okhttp3.Request +import okhttp3.RequestBody +import okhttp3.RequestBody.Companion.asRequestBody +import okhttp3.RequestBody.Companion.toRequestBody import java.io.File import java.io.IOException import javax.inject.Inject @@ -32,8 +36,8 @@ import javax.inject.Inject internal class FileUploader @Inject constructor(@Authenticated private val okHttpClient: OkHttpClient, - private val sessionParams: SessionParams, - private val moshi: Moshi) { + sessionParams: SessionParams, + moshi: Moshi) { private val uploadUrl = DefaultContentUrlResolver.getUploadUrl(sessionParams.homeServerConnectionConfig) private val responseAdapter = moshi.adapter(ContentUploadResponse::class.java) @@ -43,7 +47,7 @@ internal class FileUploader @Inject constructor(@Authenticated filename: String?, mimeType: String, progressListener: ProgressRequestBody.Listener? = null): ContentUploadResponse { - val uploadBody = RequestBody.create(mimeType.toMediaTypeOrNull(), file) + val uploadBody = file.asRequestBody(mimeType.toMediaTypeOrNull()) return upload(uploadBody, filename, progressListener) } @@ -52,7 +56,7 @@ internal class FileUploader @Inject constructor(@Authenticated filename: String?, mimeType: String, progressListener: ProgressRequestBody.Listener? = null): ContentUploadResponse { - val uploadBody = RequestBody.create(mimeType.toMediaTypeOrNull(), byteArray) + val uploadBody = byteArray.toRequestBody(mimeType.toMediaTypeOrNull()) return upload(uploadBody, filename, progressListener) } diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/prune/EventsPruner.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/prune/EventsPruner.kt index ac3c7a4e22..34e58d7ba9 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/prune/EventsPruner.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/prune/EventsPruner.kt @@ -23,7 +23,6 @@ import im.vector.matrix.android.internal.database.mapper.asDomain import im.vector.matrix.android.internal.database.model.EventEntity import im.vector.matrix.android.internal.database.query.types import im.vector.matrix.android.internal.di.SessionDatabase -import im.vector.matrix.android.internal.di.UserId import im.vector.matrix.android.internal.task.TaskExecutor import im.vector.matrix.android.internal.task.configureWith import io.realm.OrderedCollectionChangeSet @@ -37,7 +36,6 @@ import javax.inject.Inject * As it will actually delete the content, it should be called last in the list of listener. */ internal class EventsPruner @Inject constructor(@SessionDatabase realmConfiguration: RealmConfiguration, - @UserId private val userId: String, private val pruneEventTask: PruneEventTask, private val taskExecutor: TaskExecutor) : RealmLiveEntityObserver(realmConfiguration) { @@ -52,10 +50,7 @@ internal class EventsPruner @Inject constructor(@SessionDatabase realmConfigurat .mapNotNull { results[it]?.asDomain() } .toList() - val params = PruneEventTask.Params( - insertedDomains, - userId - ) + val params = PruneEventTask.Params(insertedDomains) pruneEventTask.configureWith(params).executeBy(taskExecutor) } diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/prune/PruneEventTask.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/prune/PruneEventTask.kt index 35df20df78..4f7bf46984 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/prune/PruneEventTask.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/prune/PruneEventTask.kt @@ -38,8 +38,7 @@ import javax.inject.Inject internal interface PruneEventTask : Task { data class Params( - val redactionEvents: List, - val userId: String + val redactionEvents: List ) } @@ -49,19 +48,19 @@ internal class DefaultPruneEventTask @Inject constructor(private val monarchy: M override suspend fun execute(params: PruneEventTask.Params) { monarchy.awaitTransaction { realm -> params.redactionEvents.forEach { event -> - pruneEvent(realm, event, params.userId) + pruneEvent(realm, event) } } } - private fun pruneEvent(realm: Realm, redactionEvent: Event, userId: String) { + private fun pruneEvent(realm: Realm, redactionEvent: Event) { if (redactionEvent.redacts.isNullOrBlank()) { return } - val redactionEventEntity = EventEntity.where(realm, eventId = redactionEvent.eventId - ?: "").findFirst() - ?: return + // Check that we know this event + EventEntity.where(realm, eventId = redactionEvent.eventId ?: "").findFirst() ?: return + val isLocalEcho = LocalEchoEventFactory.isLocalEchoId(redactionEvent.eventId ?: "") Timber.v("Redact event for ${redactionEvent.redacts} localEcho=$isLocalEcho") diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/send/EncryptEventWorker.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/send/EncryptEventWorker.kt index 031ceb1681..4146234d1f 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/send/EncryptEventWorker.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/send/EncryptEventWorker.kt @@ -71,7 +71,7 @@ internal class EncryptEventWorker(context: Context, params: WorkerParameters) localEchoUpdater.updateSendState(localEvent.eventId, SendState.ENCRYPTING) - val localMutableContent = HashMap(localEvent.content) + val localMutableContent = localEvent.content?.toMutableMap() ?: mutableMapOf() params.keepKeys?.forEach { localMutableContent.remove(it) } diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/send/LocalEchoEventFactory.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/send/LocalEchoEventFactory.kt index 9ed2dbad97..4e9e2757d9 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/send/LocalEchoEventFactory.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/send/LocalEchoEventFactory.kt @@ -160,7 +160,7 @@ internal class LocalEchoEventFactory @Inject constructor(@UserId private val use reaction ) ) - val localId = dummyEventId(roomId) + val localId = dummyEventId() return Event( roomId = roomId, originServerTs = dummyOriginServerTs(), @@ -266,7 +266,7 @@ internal class LocalEchoEventFactory @Inject constructor(@UserId private val use } private fun createEvent(roomId: String, content: Any? = null): Event { - val localID = dummyEventId(roomId) + val localID = dummyEventId() return Event( roomId = roomId, originServerTs = dummyOriginServerTs(), @@ -282,7 +282,7 @@ internal class LocalEchoEventFactory @Inject constructor(@UserId private val use return System.currentTimeMillis() } - private fun dummyEventId(roomId: String): String { + private fun dummyEventId(): String { return "$LOCAL_ID_PREFIX${UUID.randomUUID()}" } @@ -384,7 +384,7 @@ internal class LocalEchoEventFactory @Inject constructor(@UserId private val use } */ fun createRedactEvent(roomId: String, eventId: String, reason: String?): Event { - val localID = dummyEventId(roomId) + val localID = dummyEventId() return Event( roomId = roomId, originServerTs = dummyOriginServerTs(), @@ -398,7 +398,7 @@ internal class LocalEchoEventFactory @Inject constructor(@UserId private val use } fun saveLocalEcho(monarchy: Monarchy, event: Event) { - if (event.roomId == null) throw IllegalStateException("Your event should have a roomId") + checkNotNull(event.roomId) { "Your event should have a roomId" } monarchy.writeAsync { realm -> val roomEntity = RoomEntity.where(realm, roomId = event.roomId).findFirst() ?: return@writeAsync diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/timeline/DefaultTimelineService.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/timeline/DefaultTimelineService.kt index 8f7d4b9905..6fa8ccbe85 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/timeline/DefaultTimelineService.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/timeline/DefaultTimelineService.kt @@ -71,7 +71,7 @@ internal class DefaultTimelineService @AssistedInject constructor(@Assisted priv return monarchy .fetchCopyMap({ TimelineEventEntity.where(it, roomId = roomId, eventId = eventId).findFirst() - }, { entity, realm -> + }, { entity, _ -> timelineEventMapper.map(entity) }) } diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/securestorage/SecretStoringUtils.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/securestorage/SecretStoringUtils.kt index 6192aaf148..6d970a5e4b 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/securestorage/SecretStoringUtils.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/securestorage/SecretStoringUtils.kt @@ -14,6 +14,8 @@ * limitations under the License. */ +@file:Suppress("DEPRECATION") + package im.vector.matrix.android.internal.session.securestorage import android.content.Context @@ -65,7 +67,7 @@ import javax.security.auth.x500.X500Principal * //This can be stored anywhere e.g. encoded in b64 and stored in preference for example * * //to get back the secret, just call - * val kDecripted = SecretStoringUtils.loadSecureSecret(KEncrypted!!, "myAlias", context) + * val kDecrypted = SecretStoringUtils.loadSecureSecret(KEncrypted!!, "myAlias", context) * * * You can also just use this utility to store a secret key, and use any encryption algorithm that you want. @@ -169,7 +171,7 @@ internal class SecretStoringUtils @Inject constructor(private val context: Conte } /* - Symetric Key Generation is only available in M, so before M the idea is to: + Symmetric Key Generation is only available in M, so before M the idea is to: - Generate a pair of RSA keys; - Generate a random AES key; - Encrypt the AES key using the RSA public key; @@ -194,7 +196,7 @@ internal class SecretStoringUtils @Inject constructor(private val context: Conte .setStartDate(start.time) .setEndDate(end.time) .build() - KeyPairGenerator.getInstance(KeyProperties.KEY_ALGORITHM_RSA, ANDROID_KEY_STORE).run { + KeyPairGenerator.getInstance("RSA" /*KeyProperties.KEY_ALGORITHM_RSA*/, ANDROID_KEY_STORE).run { initialize(spec) generateKeyPair() } @@ -230,7 +232,7 @@ internal class SecretStoringUtils @Inject constructor(private val context: Conte @RequiresApi(Build.VERSION_CODES.KITKAT) private fun encryptStringK(text: String, keyAlias: String): ByteArray? { - //we generate a random symetric key + //we generate a random symmetric key val key = ByteArray(16) secureRandom.nextBytes(key) val sKey = SecretKeySpec(key, "AES") @@ -307,7 +309,7 @@ internal class SecretStoringUtils @Inject constructor(private val context: Conte ObjectOutputStream(bos1).use { it.writeObject(writeObject) } - //Have to do it like that if i encapsulate the outputstream, the cipher could fail saying reuse IV + //Have to do it like that if i encapsulate the output stream, the cipher could fail saying reuse IV val doFinal = cipher.doFinal(bos1.toByteArray()) output.write(FORMAT_API_M.toInt()) output.write(iv.size) @@ -317,7 +319,7 @@ internal class SecretStoringUtils @Inject constructor(private val context: Conte @RequiresApi(Build.VERSION_CODES.KITKAT) private fun saveSecureObjectK(keyAlias: String, output: OutputStream, writeObject: Any) { - //we generate a random symetric key + //we generate a random symmetric key val key = ByteArray(16) secureRandom.nextBytes(key) val sKey = SecretKeySpec(key, "AES") @@ -360,7 +362,7 @@ internal class SecretStoringUtils @Inject constructor(private val context: Conte ObjectOutputStream(bos1).use { it.writeObject(writeObject) } - //Have to do it like that if i encapsulate the outputstream, the cipher could fail saying reuse IV + //Have to do it like that if i encapsulate the output stream, the cipher could fail saying reuse IV val doFinal = cipher.doFinal(bos1.toByteArray()) output.write(FORMAT_2.toInt()) @@ -405,6 +407,7 @@ internal class SecretStoringUtils @Inject constructor(private val context: Conte CipherInputStream(inputStream, cipher).use { cipherInputStream -> ObjectInputStream(cipherInputStream).use { val readObject = it.readObject() + @Suppress("UNCHECKED_CAST") return readObject as? T } } @@ -428,6 +431,7 @@ internal class SecretStoringUtils @Inject constructor(private val context: Conte CipherInputStream(encIS, cipher).use { cipherInputStream -> ObjectInputStream(cipherInputStream).use { val readObject = it.readObject() + @Suppress("UNCHECKED_CAST") return readObject as? T } } @@ -449,8 +453,9 @@ internal class SecretStoringUtils @Inject constructor(private val context: Conte val encIS = ByteArrayInputStream(encrypted) CipherInputStream(encIS, cipher).use { - ObjectInputStream(it).use { - val readObject = it.readObject() + ObjectInputStream(it).use { ois -> + val readObject = ois.readObject() + @Suppress("UNCHECKED_CAST") return readObject as? T } } diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/RoomSyncHandler.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/RoomSyncHandler.kt index 43d6462899..c21b1840ab 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/RoomSyncHandler.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/RoomSyncHandler.kt @@ -24,13 +24,8 @@ import im.vector.matrix.android.api.session.events.model.EventType import im.vector.matrix.android.api.session.events.model.toModel import im.vector.matrix.android.api.session.room.model.Membership import im.vector.matrix.android.api.session.room.model.tag.RoomTagContent -import im.vector.matrix.android.internal.session.room.read.FullyReadContent -import im.vector.matrix.android.internal.database.helper.add -import im.vector.matrix.android.internal.database.helper.addOrUpdate -import im.vector.matrix.android.internal.database.helper.addStateEvent -import im.vector.matrix.android.internal.database.helper.lastStateIndex -import im.vector.matrix.android.internal.database.helper.updateSenderDataFor import im.vector.matrix.android.internal.crypto.DefaultCryptoService +import im.vector.matrix.android.internal.database.helper.* import im.vector.matrix.android.internal.database.model.ChunkEntity import im.vector.matrix.android.internal.database.model.EventEntityFields import im.vector.matrix.android.internal.database.model.RoomEntity @@ -42,12 +37,9 @@ import im.vector.matrix.android.internal.session.mapWithProgress import im.vector.matrix.android.internal.session.notification.DefaultPushRuleService import im.vector.matrix.android.internal.session.notification.ProcessEventForPushTask import im.vector.matrix.android.internal.session.room.RoomSummaryUpdater +import im.vector.matrix.android.internal.session.room.read.FullyReadContent import im.vector.matrix.android.internal.session.room.timeline.PaginationDirection -import im.vector.matrix.android.internal.session.sync.model.InvitedRoomSync -import im.vector.matrix.android.internal.session.sync.model.RoomSync -import im.vector.matrix.android.internal.session.sync.model.RoomSyncAccountData -import im.vector.matrix.android.internal.session.sync.model.RoomSyncEphemeral -import im.vector.matrix.android.internal.session.sync.model.RoomsSyncResponse +import im.vector.matrix.android.internal.session.sync.model.* import im.vector.matrix.android.internal.session.user.UserEntityFactory import im.vector.matrix.android.internal.task.TaskExecutor import im.vector.matrix.android.internal.task.configureWith @@ -247,11 +239,11 @@ internal class RoomSyncHandler @Inject constructor(private val monarchy: Monarch private fun handleEphemeral(realm: Realm, roomId: String, ephemeral: RoomSyncEphemeral, - isInitalSync: Boolean) { + isInitialSync: Boolean) { for (event in ephemeral.events) { if (event.type != EventType.RECEIPT) continue val readReceiptContent = event.content as? ReadReceiptContent ?: continue - readReceiptHandler.handle(realm, roomId, readReceiptContent, isInitalSync) + readReceiptHandler.handle(realm, roomId, readReceiptContent, isInitialSync) } } diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/util/CompatUtil.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/util/CompatUtil.kt index d0a5f2f82f..e277226d1e 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/util/CompatUtil.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/util/CompatUtil.kt @@ -14,6 +14,8 @@ * limitations under the License. */ +@file:Suppress("DEPRECATION") + package im.vector.matrix.android.internal.util import android.content.Context @@ -34,7 +36,7 @@ import java.security.* import java.security.cert.CertificateException import java.security.spec.AlgorithmParameterSpec import java.security.spec.RSAKeyGenParameterSpec -import java.util.Calendar +import java.util.* import java.util.zip.GZIPOutputStream import javax.crypto.* import javax.crypto.spec.GCMParameterSpec @@ -244,9 +246,6 @@ object CompatUtil { } val keyAndVersion = getAesGcmLocalProtectionKey(context) - if (keyAndVersion == null || keyAndVersion.secretKey == null) { - throw KeyStoreException() - } val cipher = Cipher.getInstance(AES_GCM_CIPHER_TYPE) val iv: ByteArray @@ -261,7 +260,7 @@ object CompatUtil { } if (iv.size != AES_GCM_IV_LENGTH) { - Timber.e(TAG, "Invalid IV length " + iv.size) + Timber.e(TAG, "Invalid IV length ${iv.size}") return null } @@ -307,16 +306,11 @@ object CompatUtil { val cipher = Cipher.getInstance(AES_GCM_CIPHER_TYPE) val keyAndVersion = getAesGcmLocalProtectionKey(context) - if (keyAndVersion == null || keyAndVersion.secretKey == null) { - throw KeyStoreException() - } - val spec: AlgorithmParameterSpec - - if (keyAndVersion.androidVersionWhenTheKeyHasBeenGenerated >= Build.VERSION_CODES.M) { - spec = GCMParameterSpec(AES_GCM_KEY_SIZE_IN_BITS, iv) + val spec: AlgorithmParameterSpec = if (keyAndVersion.androidVersionWhenTheKeyHasBeenGenerated >= Build.VERSION_CODES.M) { + GCMParameterSpec(AES_GCM_KEY_SIZE_IN_BITS, iv) } else { - spec = IvParameterSpec(iv) + IvParameterSpec(iv) } cipher.init(Cipher.DECRYPT_MODE, keyAndVersion.secretKey, spec) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/util/StringUtils.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/util/StringUtils.kt index a277498526..aa91a1ae9f 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/util/StringUtils.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/util/StringUtils.kt @@ -18,6 +18,7 @@ package im.vector.matrix.android.internal.util import im.vector.matrix.android.api.MatrixPatterns import timber.log.Timber +import java.util.* /** * Convert a string to an UTF8 String @@ -25,13 +26,13 @@ import timber.log.Timber * @param s the string to convert * @return the utf-8 string */ -fun convertToUTF8(s: String): String? { +fun convertToUTF8(s: String): String { return try { val bytes = s.toByteArray(Charsets.UTF_8) String(bytes) } catch (e: Exception) { Timber.e(e, "## convertToUTF8() failed") - null + s } } @@ -41,13 +42,13 @@ fun convertToUTF8(s: String): String? { * @param s the string to convert * @return the utf-16 string */ -fun convertFromUTF8(s: String): String? { +fun convertFromUTF8(s: String): String { return try { val bytes = s.toByteArray() String(bytes, Charsets.UTF_8) } catch (e: Exception) { Timber.e(e, "## convertFromUTF8() failed") - null + s } } @@ -55,5 +56,5 @@ fun String?.firstLetterOfDisplayName(): String { if (this.isNullOrEmpty()) return "" val isUserId = MatrixPatterns.isUserId(this) val firstLetterIndex = if (isUserId) 1 else 0 - return this[firstLetterIndex].toString().toUpperCase() + return this[firstLetterIndex].toString().toUpperCase(Locale.ROOT) } \ No newline at end of file From 119e4c0d32f680252caa69ada632f1f4c42b3ce0 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 8 Oct 2019 21:01:34 +0200 Subject: [PATCH 17/31] Fix warnings in the App --- .../im/vector/riotx/push/fcm/FcmHelper.kt | 2 + .../troubleshoot/TestTokenRegistration.kt | 2 +- .../fcm/VectorFirebaseMessagingService.kt | 12 +-- .../im/vector/riotx/push/fcm/FcmHelper.kt | 6 +- .../java/im/vector/riotx/VectorApplication.kt | 2 +- .../riotx/core/dialogs/DialogAdapter.kt | 43 --------- .../riotx/core/dialogs/DialogCallAdapter.kt | 27 ------ .../riotx/core/dialogs/DialogListItem.kt | 36 -------- .../core/dialogs/DialogListItemHolder.kt | 37 -------- .../core/dialogs/DialogSendItemAdapter.kt | 26 ------ .../core/error/ResourceLimitErrorFormatter.kt | 4 +- .../vector/riotx/core/extensions/EditText.kt | 2 +- .../im/vector/riotx/core/images/ImageTools.kt | 7 +- .../core/preference/BingRulePreference.kt | 3 +- .../preference/VectorEditTextPreference.kt | 2 +- .../riotx/core/preference/VectorPreference.kt | 14 +-- .../riotx/core/resources/AppNameProvider.kt | 2 +- .../riotx/core/resources/ResourceUtils.kt | 14 ++- .../vector/riotx/core/services/CallService.kt | 2 + .../core/utils/ExternalApplicationsUtil.kt | 2 +- .../im/vector/riotx/core/utils/SystemUtils.kt | 13 +-- .../vector/riotx/features/badge/BadgeProxy.kt | 2 + .../riotx/features/command/CommandParser.kt | 2 +- .../configuration/VectorConfiguration.kt | 9 +- .../KeysBackupRestoreFromKeyViewModel.kt | 4 +- .../setup/KeysBackupSetupActivity.kt | 2 +- .../setup/KeysBackupSetupSharedViewModel.kt | 2 +- .../home/room/detail/RoomDetailFragment.kt | 4 +- .../home/room/detail/RoomDetailViewModel.kt | 92 +++++++++---------- .../detail/RoomMessageTouchHelperCallback.kt | 8 +- .../timeline/TimelineEventController.kt | 6 +- .../timeline/action/MessageMenuFragment.kt | 8 +- .../timeline/action/MessageMenuViewModel.kt | 2 +- .../timeline/factory/MessageItemFactory.kt | 24 ++--- .../timeline/format/NoticeEventFormatter.kt | 6 +- .../helper/ContentUploadStateTrackerBinder.kt | 16 ++-- .../helper/MessageItemAttributesFactory.kt | 2 +- .../homeserver/ServerUrlsRepository.kt | 2 +- .../riotx/features/html/PillImageSpan.kt | 4 +- .../login/LoginSsoFallbackFragment.kt | 15 ++- .../media/ImageMediaViewerActivity.kt | 6 +- .../features/navigation/DefaultNavigator.kt | 2 +- .../NotificationBroadcastReceiver.kt | 2 - .../notifications/NotificationUtils.kt | 4 +- .../features/rageshake/BugReportActivity.kt | 6 +- .../riotx/features/rageshake/BugReporter.kt | 8 +- .../features/rageshake/VectorFileLogger.kt | 2 +- .../reactions/EmojiReactionPickerActivity.kt | 12 +-- .../reactions/EmojiRecyclerAdapter.kt | 23 +++-- .../features/reactions/widget/CircleView.kt | 16 ++-- .../features/reactions/widget/DotsView.kt | 42 ++++----- .../riotx/features/settings/FontScale.kt | 1 + .../riotx/features/settings/VectorLocale.kt | 11 ++- .../features/settings/VectorPreferences.kt | 2 +- .../settings/VectorSettingsActivity.kt | 9 +- ...sAdvancedNotificationPreferenceFragment.kt | 10 +- .../settings/VectorSettingsBaseFragment.kt | 5 +- .../settings/VectorSettingsGeneralFragment.kt | 2 + ...ttingsNotificationsTroubleshootFragment.kt | 6 +- .../VectorSettingsSecurityPrivacyFragment.kt | 11 +-- .../troubleshoot/TestBingRulesSettings.kt | 55 +++++------ .../features/webview/VectorWebViewActivity.kt | 6 +- .../features/webview/VectorWebViewClient.kt | 2 + .../SignOutBottomSheetDialogFragment.kt | 2 +- .../workers/signout/SignOutUiWorker.kt | 2 +- vector/src/main/res/layout/item_dialog.xml | 53 ----------- 66 files changed, 271 insertions(+), 497 deletions(-) delete mode 100644 vector/src/main/java/im/vector/riotx/core/dialogs/DialogAdapter.kt delete mode 100644 vector/src/main/java/im/vector/riotx/core/dialogs/DialogCallAdapter.kt delete mode 100644 vector/src/main/java/im/vector/riotx/core/dialogs/DialogListItem.kt delete mode 100644 vector/src/main/java/im/vector/riotx/core/dialogs/DialogListItemHolder.kt delete mode 100644 vector/src/main/java/im/vector/riotx/core/dialogs/DialogSendItemAdapter.kt delete mode 100644 vector/src/main/res/layout/item_dialog.xml diff --git a/vector/src/fdroid/java/im/vector/riotx/push/fcm/FcmHelper.kt b/vector/src/fdroid/java/im/vector/riotx/push/fcm/FcmHelper.kt index 5775fc8479..3fc79d1876 100755 --- a/vector/src/fdroid/java/im/vector/riotx/push/fcm/FcmHelper.kt +++ b/vector/src/fdroid/java/im/vector/riotx/push/fcm/FcmHelper.kt @@ -14,6 +14,8 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +@file:Suppress("UNUSED_PARAMETER") + package im.vector.riotx.push.fcm import android.app.Activity diff --git a/vector/src/gplay/java/im/vector/riotx/gplay/features/settings/troubleshoot/TestTokenRegistration.kt b/vector/src/gplay/java/im/vector/riotx/gplay/features/settings/troubleshoot/TestTokenRegistration.kt index f53813af84..fe47715158 100644 --- a/vector/src/gplay/java/im/vector/riotx/gplay/features/settings/troubleshoot/TestTokenRegistration.kt +++ b/vector/src/gplay/java/im/vector/riotx/gplay/features/settings/troubleshoot/TestTokenRegistration.kt @@ -56,7 +56,7 @@ class TestTokenRegistration @Inject constructor(private val context: AppCompatAc quickFix = object : TroubleshootQuickFix(R.string.settings_troubleshoot_test_token_registration_quick_fix) { override fun doFix() { val workId = pushersManager.registerPusherWithFcmKey(fcmToken) - WorkManager.getInstance().getWorkInfoByIdLiveData(workId).observe(context, Observer { workInfo -> + WorkManager.getInstance(context).getWorkInfoByIdLiveData(workId).observe(context, Observer { workInfo -> if (workInfo != null) { if (workInfo.state == WorkInfo.State.SUCCEEDED) { manager?.retry() diff --git a/vector/src/gplay/java/im/vector/riotx/gplay/push/fcm/VectorFirebaseMessagingService.kt b/vector/src/gplay/java/im/vector/riotx/gplay/push/fcm/VectorFirebaseMessagingService.kt index 4856730489..17a4bacb19 100755 --- a/vector/src/gplay/java/im/vector/riotx/gplay/push/fcm/VectorFirebaseMessagingService.kt +++ b/vector/src/gplay/java/im/vector/riotx/gplay/push/fcm/VectorFirebaseMessagingService.kt @@ -155,7 +155,7 @@ class VectorFirebaseMessagingService : FirebaseMessagingService() { } } catch (e: Exception) { - Timber.e(e, "## onMessageReceivedInternal() failed : " + e.message) + Timber.e(e, "## onMessageReceivedInternal() failed") } } @@ -234,17 +234,11 @@ class VectorFirebaseMessagingService : FirebaseMessagingService() { } private fun findRoomNameBestEffort(data: Map, session: Session?): String? { - val roomName: String? = data["room_name"] + var roomName: String? = data["room_name"] val roomId = data["room_id"] if (null == roomName && null != roomId) { // Try to get the room name from our store - /* - TODO - if (session?.dataHandler?.store?.isReady == true) { - val room = session.getRoom(roomId) - roomName = room?.getRoomDisplayName(this) - } - */ + roomName = session?.getRoom(roomId)?.roomSummary()?.displayName } return roomName } diff --git a/vector/src/gplay/java/im/vector/riotx/push/fcm/FcmHelper.kt b/vector/src/gplay/java/im/vector/riotx/push/fcm/FcmHelper.kt index 148a83368b..e87bfb7492 100755 --- a/vector/src/gplay/java/im/vector/riotx/push/fcm/FcmHelper.kt +++ b/vector/src/gplay/java/im/vector/riotx/push/fcm/FcmHelper.kt @@ -80,9 +80,9 @@ object FcmHelper { storeFcmToken(activity, instanceIdResult.token) pushersManager.registerPusherWithFcmKey(instanceIdResult.token) } - .addOnFailureListener(activity) { e -> Timber.e(e, "## ensureFcmTokenIsRetrieved() : failed " + e.message) } + .addOnFailureListener(activity) { e -> Timber.e(e, "## ensureFcmTokenIsRetrieved() : failed") } } catch (e: Throwable) { - Timber.e(e, "## ensureFcmTokenIsRetrieved() : failed " + e.message) + Timber.e(e, "## ensureFcmTokenIsRetrieved() : failed") } } else { @@ -102,10 +102,12 @@ object FcmHelper { return resultCode == ConnectionResult.SUCCESS } + @Suppress("UNUSED_PARAMETER") fun onEnterForeground(context: Context) { // No op } + @Suppress("UNUSED_PARAMETER") fun onEnterBackground(context: Context, vectorPreferences: VectorPreferences, activeSessionHolder: ActiveSessionHolder) { // TODO FCM fallback } diff --git a/vector/src/main/java/im/vector/riotx/VectorApplication.kt b/vector/src/main/java/im/vector/riotx/VectorApplication.kt index cdbe242d99..594257f46e 100644 --- a/vector/src/main/java/im/vector/riotx/VectorApplication.kt +++ b/vector/src/main/java/im/vector/riotx/VectorApplication.kt @@ -171,7 +171,7 @@ class VectorApplication : Application(), HasVectorInjector, MatrixConfiguration. override fun onConfigurationChanged(newConfig: Configuration?) { super.onConfigurationChanged(newConfig) - vectorConfiguration.onConfigurationChanged(newConfig) + vectorConfiguration.onConfigurationChanged() } private fun getFontThreadHandler(): Handler { diff --git a/vector/src/main/java/im/vector/riotx/core/dialogs/DialogAdapter.kt b/vector/src/main/java/im/vector/riotx/core/dialogs/DialogAdapter.kt deleted file mode 100644 index 49d865e8cf..0000000000 --- a/vector/src/main/java/im/vector/riotx/core/dialogs/DialogAdapter.kt +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright 2019 New Vector Ltd - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package im.vector.riotx.core.dialogs - -import android.content.Context -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import android.widget.ArrayAdapter -import im.vector.riotx.R - -internal abstract class DialogAdapter(context: Context) : ArrayAdapter(context, R.layout.item_dialog) { - - override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View { - val view: View - if (convertView == null) { - view = LayoutInflater.from(context).inflate(R.layout.item_dialog, parent, false) - view.tag = DialogListItemHolder(view) - } else { - view = convertView - } - with(view.tag as DialogListItemHolder) { - icon.setImageResource(getItem(position).iconRes) - text.setText(getItem(position).titleRes) - } - return view - } - -} diff --git a/vector/src/main/java/im/vector/riotx/core/dialogs/DialogCallAdapter.kt b/vector/src/main/java/im/vector/riotx/core/dialogs/DialogCallAdapter.kt deleted file mode 100644 index 0b0499a637..0000000000 --- a/vector/src/main/java/im/vector/riotx/core/dialogs/DialogCallAdapter.kt +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright 2019 New Vector Ltd - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package im.vector.riotx.core.dialogs - -import android.content.Context - -internal class DialogCallAdapter(context: Context) : DialogAdapter(context) { - - init { - add(DialogListItem.StartVoiceCall) - add(DialogListItem.StartVideoCall) - } -} diff --git a/vector/src/main/java/im/vector/riotx/core/dialogs/DialogListItem.kt b/vector/src/main/java/im/vector/riotx/core/dialogs/DialogListItem.kt deleted file mode 100644 index 1486e870f3..0000000000 --- a/vector/src/main/java/im/vector/riotx/core/dialogs/DialogListItem.kt +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright 2019 New Vector Ltd - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package im.vector.riotx.core.dialogs - -import androidx.annotation.DrawableRes -import androidx.annotation.StringRes -import im.vector.riotx.R - -internal sealed class DialogListItem(@DrawableRes val iconRes: Int, - @StringRes val titleRes: Int) { - - object StartVoiceCall : DialogListItem(R.drawable.voice_call_green, R.string.action_voice_call) - object StartVideoCall : DialogListItem(R.drawable.video_call_green, R.string.action_video_call) - - object SendFile : DialogListItem(R.drawable.ic_material_file, R.string.option_send_files) - object SendVoice : DialogListItem(R.drawable.vector_micro_green, R.string.option_send_voice) - object SendSticker : DialogListItem(R.drawable.ic_send_sticker, R.string.option_send_sticker) - object TakePhoto : DialogListItem(R.drawable.ic_material_camera, R.string.option_take_photo) - object TakeVideo : DialogListItem(R.drawable.ic_material_videocam, R.string.option_take_video) - object TakePhotoVideo : DialogListItem(R.drawable.ic_material_camera, R.string.option_take_photo_video) - -} diff --git a/vector/src/main/java/im/vector/riotx/core/dialogs/DialogListItemHolder.kt b/vector/src/main/java/im/vector/riotx/core/dialogs/DialogListItemHolder.kt deleted file mode 100644 index af8456ba1b..0000000000 --- a/vector/src/main/java/im/vector/riotx/core/dialogs/DialogListItemHolder.kt +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright 2019 New Vector Ltd - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package im.vector.riotx.core.dialogs - -import android.view.View -import android.widget.ImageView -import android.widget.TextView -import butterknife.BindView -import butterknife.ButterKnife -import im.vector.riotx.R - -class DialogListItemHolder(view: View) { - - @BindView(R.id.adapter_item_dialog_icon) - lateinit var icon: ImageView - - @BindView(R.id.adapter_item_dialog_text) - lateinit var text: TextView - - init { - ButterKnife.bind(this, view) - } -} \ No newline at end of file diff --git a/vector/src/main/java/im/vector/riotx/core/dialogs/DialogSendItemAdapter.kt b/vector/src/main/java/im/vector/riotx/core/dialogs/DialogSendItemAdapter.kt deleted file mode 100644 index 8689168e77..0000000000 --- a/vector/src/main/java/im/vector/riotx/core/dialogs/DialogSendItemAdapter.kt +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright 2019 New Vector Ltd - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package im.vector.riotx.core.dialogs - -import android.content.Context - -internal class DialogSendItemAdapter(context: Context, items: MutableList) : DialogAdapter(context) { - - init { - addAll(items) - } -} diff --git a/vector/src/main/java/im/vector/riotx/core/error/ResourceLimitErrorFormatter.kt b/vector/src/main/java/im/vector/riotx/core/error/ResourceLimitErrorFormatter.kt index b57014f142..e26a2bc1a2 100644 --- a/vector/src/main/java/im/vector/riotx/core/error/ResourceLimitErrorFormatter.kt +++ b/vector/src/main/java/im/vector/riotx/core/error/ResourceLimitErrorFormatter.kt @@ -17,8 +17,8 @@ package im.vector.riotx.core.error import android.content.Context -import android.text.Html import androidx.annotation.StringRes +import androidx.core.text.HtmlCompat import im.vector.matrix.android.api.failure.MatrixError import im.vector.riotx.R import me.gujun.android.span.span @@ -46,7 +46,7 @@ class ResourceLimitErrorFormatter(private val context: Context) { val contact = if (clickable && matrixError.adminUri != null) { val contactSubString = uriAsLink(matrixError.adminUri!!) val contactFullString = context.getString(mode.contactRes, contactSubString) - Html.fromHtml(contactFullString) + HtmlCompat.fromHtml(contactFullString, HtmlCompat.FROM_HTML_MODE_LEGACY) } else { val contactSubString = context.getString(R.string.resource_limit_contact_admin) context.getString(mode.contactRes, contactSubString) diff --git a/vector/src/main/java/im/vector/riotx/core/extensions/EditText.kt b/vector/src/main/java/im/vector/riotx/core/extensions/EditText.kt index cf64c9b318..9843c7d1e0 100644 --- a/vector/src/main/java/im/vector/riotx/core/extensions/EditText.kt +++ b/vector/src/main/java/im/vector/riotx/core/extensions/EditText.kt @@ -39,7 +39,7 @@ fun EditText.setupAsSearch(@DrawableRes searchIconRes: Int = R.drawable.ic_filte maxLines = 1 inputType = InputType.TYPE_CLASS_TEXT imeOptions = EditorInfo.IME_ACTION_SEARCH - setOnEditorActionListener { _, actionId, event -> + setOnEditorActionListener { _, actionId, _ -> var consumed = false if (actionId == EditorInfo.IME_ACTION_SEARCH) { hideKeyboard() diff --git a/vector/src/main/java/im/vector/riotx/core/images/ImageTools.kt b/vector/src/main/java/im/vector/riotx/core/images/ImageTools.kt index a2257117df..afcb55dfd7 100644 --- a/vector/src/main/java/im/vector/riotx/core/images/ImageTools.kt +++ b/vector/src/main/java/im/vector/riotx/core/images/ImageTools.kt @@ -61,8 +61,11 @@ class ImageTools @Inject constructor(private val context: Context) { } } else if (uri.scheme == "file") { try { - val exif = ExifInterface(uri.path) - orientation = exif.getAttributeInt(ExifInterface.TAG_ORIENTATION, ExifInterface.ORIENTATION_UNDEFINED) + val path = uri.path + if (path != null) { + val exif = ExifInterface(path) + orientation = exif.getAttributeInt(ExifInterface.TAG_ORIENTATION, ExifInterface.ORIENTATION_UNDEFINED) + } } catch (e: Exception) { Timber.e(e, "Cannot get EXIF for file uri $uri") } diff --git a/vector/src/main/java/im/vector/riotx/core/preference/BingRulePreference.kt b/vector/src/main/java/im/vector/riotx/core/preference/BingRulePreference.kt index a047816905..500c6a9bd1 100755 --- a/vector/src/main/java/im/vector/riotx/core/preference/BingRulePreference.kt +++ b/vector/src/main/java/im/vector/riotx/core/preference/BingRulePreference.kt @@ -26,6 +26,7 @@ import androidx.preference.PreferenceViewHolder import im.vector.riotx.R // TODO Replace by real Bingrule class, then delete +@Suppress("UNUSED_PARAMETER") class BingRule(rule: BingRule) { fun shouldNotNotify() = false fun shouldNotify() = false @@ -216,7 +217,7 @@ class BingRulePreference : VectorPreference { } } - radioGroup?.setOnCheckedChangeListener { group, checkedId -> + radioGroup?.setOnCheckedChangeListener { _, checkedId -> when (checkedId) { R.id.bingPreferenceRadioBingRuleOff -> { onPreferenceChangeListener?.onPreferenceChange(this, NOTIFICATION_OFF_INDEX) diff --git a/vector/src/main/java/im/vector/riotx/core/preference/VectorEditTextPreference.kt b/vector/src/main/java/im/vector/riotx/core/preference/VectorEditTextPreference.kt index 1d1e1936c5..5c14d39b89 100644 --- a/vector/src/main/java/im/vector/riotx/core/preference/VectorEditTextPreference.kt +++ b/vector/src/main/java/im/vector/riotx/core/preference/VectorEditTextPreference.kt @@ -47,7 +47,7 @@ class VectorEditTextPreference : EditTextPreference { try { holder.itemView.findViewById(android.R.id.title)?.setSingleLine(false) } catch (e: Exception) { - Timber.e(e, "onBindView " + e.message) + Timber.e(e, "onBindView") } super.onBindViewHolder(holder) diff --git a/vector/src/main/java/im/vector/riotx/core/preference/VectorPreference.kt b/vector/src/main/java/im/vector/riotx/core/preference/VectorPreference.kt index 2654bc291c..f0103793b5 100755 --- a/vector/src/main/java/im/vector/riotx/core/preference/VectorPreference.kt +++ b/vector/src/main/java/im/vector/riotx/core/preference/VectorPreference.kt @@ -41,16 +41,8 @@ open class VectorPreference : Preference { var mTypeface = Typeface.NORMAL - // long press listener /** - * Returns the callback to be invoked when this Preference is long clicked. - * - * @return The callback to be invoked. - */ - /** - * Sets the callback to be invoked when this Preference is long clicked. - * - * @param onPreferenceLongClickListener The callback to be invoked. + * Callback to be invoked when this Preference is long clicked. */ var onPreferenceLongClickListener: OnPreferenceLongClickListener? = null @@ -112,13 +104,13 @@ open class VectorPreference : Preference { currentHighlightAnimator = ValueAnimator.ofObject(ArgbEvaluator(), colorFrom, colorTo).apply { duration = 250 // milliseconds addUpdateListener { animator -> - itemView?.setBackgroundColor(animator.animatedValue as Int) + itemView.setBackgroundColor(animator.animatedValue as Int) } doOnEnd { currentHighlightAnimator = ValueAnimator.ofObject(ArgbEvaluator(), colorTo, colorFrom).apply { duration = 250 // milliseconds addUpdateListener { animator -> - itemView?.setBackgroundColor(animator.animatedValue as Int) + itemView.setBackgroundColor(animator.animatedValue as Int) } doOnEnd { isHighlighted = false diff --git a/vector/src/main/java/im/vector/riotx/core/resources/AppNameProvider.kt b/vector/src/main/java/im/vector/riotx/core/resources/AppNameProvider.kt index 9927a0eccc..ac6dd76ccb 100644 --- a/vector/src/main/java/im/vector/riotx/core/resources/AppNameProvider.kt +++ b/vector/src/main/java/im/vector/riotx/core/resources/AppNameProvider.kt @@ -36,7 +36,7 @@ class AppNameProvider @Inject constructor(private val context: Context) { } return appName } catch (e: Exception) { - Timber.e(e, "## AppNameProvider() : failed " + e.message) + Timber.e(e, "## AppNameProvider() : failed") return "RiotXAndroid" } } diff --git a/vector/src/main/java/im/vector/riotx/core/resources/ResourceUtils.kt b/vector/src/main/java/im/vector/riotx/core/resources/ResourceUtils.kt index d841700dfe..2b06dc96f9 100644 --- a/vector/src/main/java/im/vector/riotx/core/resources/ResourceUtils.kt +++ b/vector/src/main/java/im/vector/riotx/core/resources/ResourceUtils.kt @@ -64,14 +64,14 @@ data class Resource( /** * Get a resource stream and metadata about it given its URI returned from onActivityResult. * - * @param context the context. - * @param uri the URI - * @param mimetype the mimetype + * @param context the context. + * @param uri the URI + * @param providedMimetype the mimetype * @return a [Resource] encapsulating the opened resource stream and associated metadata * or `null` if opening the resource stream failed. */ -fun openResource(context: Context, uri: Uri, mimetype: String?): Resource? { - var mimetype = mimetype +fun openResource(context: Context, uri: Uri, providedMimetype: String?): Resource? { + var mimetype = providedMimetype try { // if the mime type is not provided, try to find it out if (TextUtils.isEmpty(mimetype)) { @@ -86,9 +86,7 @@ fun openResource(context: Context, uri: Uri, mimetype: String?): Resource? { } } - return Resource( - context.contentResolver.openInputStream(uri), - mimetype) + return Resource(context.contentResolver.openInputStream(uri), mimetype) } catch (e: Exception) { Timber.e(e, "Failed to open resource input stream") diff --git a/vector/src/main/java/im/vector/riotx/core/services/CallService.kt b/vector/src/main/java/im/vector/riotx/core/services/CallService.kt index fae7ae7246..00f5d5685d 100644 --- a/vector/src/main/java/im/vector/riotx/core/services/CallService.kt +++ b/vector/src/main/java/im/vector/riotx/core/services/CallService.kt @@ -14,6 +14,8 @@ * limitations under the License. */ +@file:Suppress("UNUSED_PARAMETER") + package im.vector.riotx.core.services import android.content.Context diff --git a/vector/src/main/java/im/vector/riotx/core/utils/ExternalApplicationsUtil.kt b/vector/src/main/java/im/vector/riotx/core/utils/ExternalApplicationsUtil.kt index a8ed3c30f2..ffe6915da9 100644 --- a/vector/src/main/java/im/vector/riotx/core/utils/ExternalApplicationsUtil.kt +++ b/vector/src/main/java/im/vector/riotx/core/utils/ExternalApplicationsUtil.kt @@ -243,7 +243,7 @@ fun shareMedia(context: Context, file: File, mediaMimeType: String?) { try { mediaUri = FileProvider.getUriForFile(context, BuildConfig.APPLICATION_ID + ".fileProvider", file) } catch (e: Exception) { - Timber.e("onMediaAction Selected File cannot be shared " + e.message) + Timber.e(e, "onMediaAction Selected File cannot be shared") } diff --git a/vector/src/main/java/im/vector/riotx/core/utils/SystemUtils.kt b/vector/src/main/java/im/vector/riotx/core/utils/SystemUtils.kt index 75bc488571..faa070a585 100644 --- a/vector/src/main/java/im/vector/riotx/core/utils/SystemUtils.kt +++ b/vector/src/main/java/im/vector/riotx/core/utils/SystemUtils.kt @@ -46,7 +46,7 @@ import java.util.* fun isIgnoringBatteryOptimizations(context: Context): Boolean { // no issue before Android M, battery optimisations did not exist return Build.VERSION.SDK_INT < Build.VERSION_CODES.M - || (context.getSystemService(Context.POWER_SERVICE) as PowerManager?)?.isIgnoringBatteryOptimizations(context.packageName) == true + || (context.getSystemService(Context.POWER_SERVICE) as PowerManager?)?.isIgnoringBatteryOptimizations(context.packageName) == true } /** @@ -78,7 +78,7 @@ fun requestDisablingBatteryOptimization(activity: Activity, fragment: Fragment?, * @param context the context * @param text the text to copy */ -fun copyToClipboard(context: Context, text: CharSequence, showToast: Boolean = true, @StringRes toastMessage : Int = R.string.copied_to_clipboard) { +fun copyToClipboard(context: Context, text: CharSequence, showToast: Boolean = true, @StringRes toastMessage: Int = R.string.copied_to_clipboard) { val clipboard = context.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager clipboard.primaryClip = ClipData.newPlainText("", text) if (showToast) { @@ -92,19 +92,16 @@ fun copyToClipboard(context: Context, text: CharSequence, showToast: Boolean = t * @return the device locale */ fun getDeviceLocale(context: Context): Locale { - var locale: Locale - - locale = try { + return try { val packageManager = context.packageManager val resources = packageManager.getResourcesForApplication("android") + @Suppress("DEPRECATION") resources.configuration.locale } catch (e: Exception) { - Timber.e(e, "## getDeviceLocale() failed " + e.message) + Timber.e(e, "## getDeviceLocale() failed") // Fallback to application locale VectorLocale.applicationLocale } - - return locale } /** diff --git a/vector/src/main/java/im/vector/riotx/features/badge/BadgeProxy.kt b/vector/src/main/java/im/vector/riotx/features/badge/BadgeProxy.kt index 70f665410e..0f9ee9f2c7 100644 --- a/vector/src/main/java/im/vector/riotx/features/badge/BadgeProxy.kt +++ b/vector/src/main/java/im/vector/riotx/features/badge/BadgeProxy.kt @@ -14,6 +14,8 @@ * limitations under the License. */ +@file:Suppress("UNUSED_PARAMETER") + package im.vector.riotx.features.badge import android.content.Context diff --git a/vector/src/main/java/im/vector/riotx/features/command/CommandParser.kt b/vector/src/main/java/im/vector/riotx/features/command/CommandParser.kt index 2ef9fe0dfc..36369ce35b 100644 --- a/vector/src/main/java/im/vector/riotx/features/command/CommandParser.kt +++ b/vector/src/main/java/im/vector/riotx/features/command/CommandParser.kt @@ -49,7 +49,7 @@ object CommandParser { try { messageParts = textMessage.split("\\s+".toRegex()).dropLastWhile { it.isEmpty() } } catch (e: Exception) { - Timber.e(e, "## manageSplashCommand() : split failed " + e.message) + Timber.e(e, "## manageSplashCommand() : split failed") } // test if the string cut fails diff --git a/vector/src/main/java/im/vector/riotx/features/configuration/VectorConfiguration.kt b/vector/src/main/java/im/vector/riotx/features/configuration/VectorConfiguration.kt index cb96d50dd9..5beaaf3e96 100644 --- a/vector/src/main/java/im/vector/riotx/features/configuration/VectorConfiguration.kt +++ b/vector/src/main/java/im/vector/riotx/features/configuration/VectorConfiguration.kt @@ -34,7 +34,7 @@ import javax.inject.Inject class VectorConfiguration @Inject constructor(private val context: Context) { // TODO Import mLanguageReceiver From Riot? - fun onConfigurationChanged(newConfig: Configuration?) { + fun onConfigurationChanged() { if (Locale.getDefault().toString() != VectorLocale.applicationLocale.toString()) { Timber.v("## onConfigurationChanged() : the locale has been updated to " + Locale.getDefault().toString() + ", restore the expected value " + VectorLocale.applicationLocale.toString()) @@ -51,8 +51,10 @@ class VectorConfiguration @Inject constructor(private val context: Context) { Locale.setDefault(locale) val config = Configuration(context.resources.configuration) + @Suppress("DEPRECATION") config.locale = locale config.fontScale = FontScale.getFontScale(context) + @Suppress("DEPRECATION") context.resources.updateConfiguration(config, context.resources.displayMetrics) ThemeUtils.setApplicationTheme(context, theme) @@ -82,8 +84,10 @@ class VectorConfiguration @Inject constructor(private val context: Context) { Locale.setDefault(locale) val config = Configuration(context.resources.configuration) + @Suppress("DEPRECATION") config.locale = locale config.fontScale = fontScale + @Suppress("DEPRECATION") context.resources.updateConfiguration(config, context.resources.displayMetrics) // init the theme @@ -119,10 +123,12 @@ class VectorConfiguration @Inject constructor(private val context: Context) { configuration.setLayoutDirection(locale) return context.createConfigurationContext(configuration) } else { + @Suppress("DEPRECATION") configuration.locale = locale if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) { configuration.setLayoutDirection(locale) } + @Suppress("DEPRECATION") resources.updateConfiguration(configuration, resources.displayMetrics) return context } @@ -135,7 +141,6 @@ class VectorConfiguration @Inject constructor(private val context: Context) { /** * Compute the locale status value - * @param activity the activity * @return the local status value */ // TODO Create data class for this diff --git a/vector/src/main/java/im/vector/riotx/features/crypto/keysbackup/restore/KeysBackupRestoreFromKeyViewModel.kt b/vector/src/main/java/im/vector/riotx/features/crypto/keysbackup/restore/KeysBackupRestoreFromKeyViewModel.kt index 1d7a6a3515..c226c22fde 100644 --- a/vector/src/main/java/im/vector/riotx/features/crypto/keysbackup/restore/KeysBackupRestoreFromKeyViewModel.kt +++ b/vector/src/main/java/im/vector/riotx/features/crypto/keysbackup/restore/KeysBackupRestoreFromKeyViewModel.kt @@ -84,9 +84,9 @@ class KeysBackupRestoreFromKeyViewModel @Inject constructor() : ViewModel() { } }, object : MatrixCallback { - override fun onSuccess(info: ImportRoomKeysResult) { + override fun onSuccess(data: ImportRoomKeysResult) { sharedViewModel.loadingEvent.value = null - sharedViewModel.didRecoverSucceed(info) + sharedViewModel.didRecoverSucceed(data) KeysBackupBanner.onRecoverDoneForVersion(context, keysVersionResult.version!!) trustOnDecrypt(keysBackup, keysVersionResult) diff --git a/vector/src/main/java/im/vector/riotx/features/crypto/keysbackup/setup/KeysBackupSetupActivity.kt b/vector/src/main/java/im/vector/riotx/features/crypto/keysbackup/setup/KeysBackupSetupActivity.kt index 0677224f51..1f31411dbb 100644 --- a/vector/src/main/java/im/vector/riotx/features/crypto/keysbackup/setup/KeysBackupSetupActivity.kt +++ b/vector/src/main/java/im/vector/riotx/features/crypto/keysbackup/setup/KeysBackupSetupActivity.kt @@ -148,7 +148,7 @@ class KeysBackupSetupActivity : SimpleFragmentActivity() { AlertDialog.Builder(this@KeysBackupSetupActivity) .setMessage(getString(R.string.encryption_export_saved_as, data)) .setCancelable(false) - .setPositiveButton(R.string.ok) { dialog, which -> + .setPositiveButton(R.string.ok) { _, _ -> val resultIntent = Intent() resultIntent.putExtra(MANUAL_EXPORT, true) setResult(RESULT_OK, resultIntent) diff --git a/vector/src/main/java/im/vector/riotx/features/crypto/keysbackup/setup/KeysBackupSetupSharedViewModel.kt b/vector/src/main/java/im/vector/riotx/features/crypto/keysbackup/setup/KeysBackupSetupSharedViewModel.kt index c5cf91009e..cbd539dbe7 100644 --- a/vector/src/main/java/im/vector/riotx/features/crypto/keysbackup/setup/KeysBackupSetupSharedViewModel.kt +++ b/vector/src/main/java/im/vector/riotx/features/crypto/keysbackup/setup/KeysBackupSetupSharedViewModel.kt @@ -139,7 +139,7 @@ class KeysBackupSetupSharedViewModel @Inject constructor() : ViewModel() { loadingStatus.value = null isCreatingBackupVersion.value = false - prepareRecoverFailError.value = failure ?: Exception() + prepareRecoverFailError.value = failure } }) } diff --git a/vector/src/main/java/im/vector/riotx/features/home/room/detail/RoomDetailFragment.kt b/vector/src/main/java/im/vector/riotx/features/home/room/detail/RoomDetailFragment.kt index 8dc9d3948c..3ff7bb827d 100644 --- a/vector/src/main/java/im/vector/riotx/features/home/room/detail/RoomDetailFragment.kt +++ b/vector/src/main/java/im/vector/riotx/features/home/room/detail/RoomDetailFragment.kt @@ -68,7 +68,6 @@ import im.vector.matrix.android.api.session.room.timeline.getLastMessageContent import im.vector.matrix.android.api.session.user.model.User import im.vector.riotx.R import im.vector.riotx.core.di.ScreenComponent -import im.vector.riotx.core.dialogs.DialogListItem import im.vector.riotx.core.epoxy.LayoutManagerStateRestorer import im.vector.riotx.core.error.ErrorFormatter import im.vector.riotx.core.extensions.hideKeyboard @@ -642,6 +641,7 @@ class RoomDetailFragment : inviteView.callback = this } + /* private fun onSendChoiceClicked(dialogListItem: DialogListItem) { Timber.v("On send choice clicked: $dialogListItem") when (dialogListItem) { @@ -668,7 +668,7 @@ class RoomDetailFragment : } } } - + */ private fun handleMediaIntent(data: Intent) { val files: ArrayList = data.getParcelableArrayListExtra(FilePickerActivity.MEDIA_FILES) roomDetailViewModel.process(RoomDetailActions.SendMedia(files)) diff --git a/vector/src/main/java/im/vector/riotx/features/home/room/detail/RoomDetailViewModel.kt b/vector/src/main/java/im/vector/riotx/features/home/room/detail/RoomDetailViewModel.kt index 1da0e51d44..6fa377a99d 100644 --- a/vector/src/main/java/im/vector/riotx/features/home/room/detail/RoomDetailViewModel.kt +++ b/vector/src/main/java/im/vector/riotx/features/home/room/detail/RoomDetailViewModel.kt @@ -46,7 +46,6 @@ import im.vector.matrix.android.api.session.room.model.tombstone.RoomTombstoneCo import im.vector.matrix.android.api.session.room.send.UserDraft import im.vector.matrix.android.api.session.room.timeline.TimelineSettings import im.vector.matrix.android.api.session.room.timeline.getTextEditableContent -import im.vector.matrix.android.api.util.Optional import im.vector.matrix.android.internal.crypto.attachments.toElementToDecrypt import im.vector.matrix.android.internal.crypto.model.event.EncryptedEventContent import im.vector.matrix.rx.rx @@ -64,8 +63,6 @@ import im.vector.riotx.features.command.CommandParser import im.vector.riotx.features.command.ParsedCommand import im.vector.riotx.features.home.room.detail.timeline.helper.TimelineDisplayableEvents import im.vector.riotx.features.settings.VectorPreferences -import io.reactivex.Observable -import io.reactivex.functions.BiFunction import io.reactivex.rxkotlin.subscribeBy import org.commonmark.parser.Parser import org.commonmark.renderer.html.HtmlRenderer @@ -75,21 +72,28 @@ import java.util.concurrent.TimeUnit class RoomDetailViewModel @AssistedInject constructor(@Assisted initialState: RoomDetailViewState, - private val userPreferencesProvider: UserPreferencesProvider, + userPreferencesProvider: UserPreferencesProvider, private val vectorPreferences: VectorPreferences, private val imageTools: ImageTools, private val session: Session ) : VectorViewModel(initialState) { private val room = session.getRoom(initialState.roomId)!! - private val roomId = initialState.roomId private val eventId = initialState.eventId private val invisibleEventsObservable = BehaviorRelay.create() private val visibleEventsObservable = BehaviorRelay.create() private val timelineSettings = if (userPreferencesProvider.shouldShowHiddenEvents()) { - TimelineSettings(30, false, true, TimelineDisplayableEvents.DEBUG_DISPLAYABLE_TYPES, userPreferencesProvider.shouldShowReadReceipts()) + TimelineSettings(30, + filterEdits = false, + filterTypes = true, + allowedTypes = TimelineDisplayableEvents.DEBUG_DISPLAYABLE_TYPES, + buildReadReceipts = userPreferencesProvider.shouldShowReadReceipts()) } else { - TimelineSettings(30, true, true, TimelineDisplayableEvents.DISPLAYABLE_TYPES, userPreferencesProvider.shouldShowReadReceipts()) + TimelineSettings(30, + filterEdits = true, + filterTypes = true, + allowedTypes = TimelineDisplayableEvents.DISPLAYABLE_TYPES, + buildReadReceipts = userPreferencesProvider.shouldShowReadReceipts()) } private var timeline = room.createTimeline(eventId, timelineSettings) @@ -152,7 +156,6 @@ class RoomDetailViewModel @AssistedInject constructor(@Assisted initialState: Ro is RoomDetailActions.ResendAll -> handleResendAll() is RoomDetailActions.SetReadMarkerAction -> handleSetReadMarkerAction(action) is RoomDetailActions.MarkAllAsRead -> handleMarkAllAsRead() - else -> Timber.e("Unhandled Action: $action") } } @@ -183,23 +186,23 @@ class RoomDetailViewModel @AssistedInject constructor(@Assisted initialState: Ro copy( // Create a sendMode from a draft and retrieve the TimelineEvent sendMode = when (draft) { - is UserDraft.REGULAR -> SendMode.REGULAR(draft.text) - is UserDraft.QUOTE -> { - room.getTimeLineEvent(draft.linkedEventId)?.let { timelineEvent -> - SendMode.QUOTE(timelineEvent, draft.text) - } - } - is UserDraft.REPLY -> { - room.getTimeLineEvent(draft.linkedEventId)?.let { timelineEvent -> - SendMode.REPLY(timelineEvent, draft.text) - } - } - is UserDraft.EDIT -> { - room.getTimeLineEvent(draft.linkedEventId)?.let { timelineEvent -> - SendMode.EDIT(timelineEvent, draft.text) - } - } - } ?: SendMode.REGULAR("") + is UserDraft.REGULAR -> SendMode.REGULAR(draft.text) + is UserDraft.QUOTE -> { + room.getTimeLineEvent(draft.linkedEventId)?.let { timelineEvent -> + SendMode.QUOTE(timelineEvent, draft.text) + } + } + is UserDraft.REPLY -> { + room.getTimeLineEvent(draft.linkedEventId)?.let { timelineEvent -> + SendMode.REPLY(timelineEvent, draft.text) + } + } + is UserDraft.EDIT -> { + room.getTimeLineEvent(draft.linkedEventId)?.let { timelineEvent -> + SendMode.EDIT(timelineEvent, draft.text) + } + } + } ?: SendMode.REGULAR("") ) } } @@ -208,7 +211,7 @@ class RoomDetailViewModel @AssistedInject constructor(@Assisted initialState: Ro private fun handleTombstoneEvent(action: RoomDetailActions.HandleTombstoneEvent) { val tombstoneContent = action.event.getClearContent().toModel() - ?: return + ?: return val roomId = tombstoneContent.replacementRoom ?: "" val isRoomJoined = session.getRoom(roomId)?.roomSummary()?.membership == Membership.JOIN @@ -268,9 +271,7 @@ class RoomDetailViewModel @AssistedInject constructor(@Assisted initialState: Ro withState { state -> when (state.sendMode) { is SendMode.REGULAR -> { - val slashCommandResult = CommandParser.parseSplashCommand(action.text) - - when (slashCommandResult) { + when (val slashCommandResult = CommandParser.parseSplashCommand(action.text)) { is ParsedCommand.ErrorNotACommand -> { // Send the text message to the room room.sendTextMessage(action.text, autoMarkdown = action.autoMarkdown) @@ -342,7 +343,7 @@ class RoomDetailViewModel @AssistedInject constructor(@Assisted initialState: Ro is SendMode.EDIT -> { //is original event a reply? val inReplyTo = state.sendMode.timelineEvent.root.getClearContent().toModel()?.relatesTo?.inReplyTo?.eventId - ?: state.sendMode.timelineEvent.root.content.toModel()?.relatesTo?.inReplyTo?.eventId + ?: state.sendMode.timelineEvent.root.content.toModel()?.relatesTo?.inReplyTo?.eventId if (inReplyTo != null) { //TODO check if same content? room.getTimeLineEvent(inReplyTo)?.let { @@ -351,13 +352,13 @@ class RoomDetailViewModel @AssistedInject constructor(@Assisted initialState: Ro } else { val messageContent: MessageContent? = state.sendMode.timelineEvent.annotations?.editSummary?.aggregatedContent.toModel() - ?: state.sendMode.timelineEvent.root.getClearContent().toModel() + ?: state.sendMode.timelineEvent.root.getClearContent().toModel() val existingBody = messageContent?.body ?: "" if (existingBody != action.text) { room.editTextMessage(state.sendMode.timelineEvent.root.eventId ?: "", - messageContent?.type ?: MessageType.MSGTYPE_TEXT, - action.text, - action.autoMarkdown) + messageContent?.type ?: MessageType.MSGTYPE_TEXT, + action.text, + action.autoMarkdown) } else { Timber.w("Same message content, do not send edition") } @@ -368,7 +369,7 @@ class RoomDetailViewModel @AssistedInject constructor(@Assisted initialState: Ro is SendMode.QUOTE -> { val messageContent: MessageContent? = state.sendMode.timelineEvent.annotations?.editSummary?.aggregatedContent.toModel() - ?: state.sendMode.timelineEvent.root.getClearContent().toModel() + ?: state.sendMode.timelineEvent.root.getClearContent().toModel() val textMsg = messageContent?.body val finalText = legacyRiotQuoteText(textMsg, action.text) @@ -403,10 +404,10 @@ class RoomDetailViewModel @AssistedInject constructor(@Assisted initialState: Ro private fun legacyRiotQuoteText(quotedText: String?, myText: String): String { val messageParagraphs = quotedText?.split("\n\n".toRegex())?.dropLastWhile { it.isEmpty() }?.toTypedArray() - var quotedTextMsg = StringBuilder() + val quotedTextMsg = StringBuilder() if (messageParagraphs != null) { for (i in messageParagraphs.indices) { - if (messageParagraphs[i].trim({ it <= ' ' }) != "") { + if (messageParagraphs[i].trim { it <= ' ' } != "") { quotedTextMsg.append("> ").append(messageParagraphs[i]) } @@ -415,8 +416,7 @@ class RoomDetailViewModel @AssistedInject constructor(@Assisted initialState: Ro } } } - val finalText = "$quotedTextMsg\n\n$myText" - return finalText + return "$quotedTextMsg\n\n$myText" } private fun handleChangeTopicSlashCommand(changeTopic: ParsedCommand.ChangeTopic) { @@ -654,12 +654,12 @@ class RoomDetailViewModel @AssistedInject constructor(@Assisted initialState: Ro Timber.e("Cannot resend message, it is not failed, Cancel first") return } - if (it.root.isTextMessage()) { - room.resendTextMessage(it) - } else if (it.root.isImageMessage()) { - room.resendMediaMessage(it) - } else { - //TODO + when { + it.root.isTextMessage() -> room.resendTextMessage(it) + it.root.isImageMessage() -> room.resendMediaMessage(it) + else -> { + //TODO + } } } @@ -701,7 +701,7 @@ class RoomDetailViewModel @AssistedInject constructor(@Assisted initialState: Ro .disposeOnClear() } - private fun handleSetReadMarkerAction(action: RoomDetailActions.SetReadMarkerAction) = withState { state -> + private fun handleSetReadMarkerAction(action: RoomDetailActions.SetReadMarkerAction) = withState { var readMarkerId = action.eventId val indexOfEvent = timeline.getIndexOfEvent(readMarkerId) // force to set the read marker on the next event diff --git a/vector/src/main/java/im/vector/riotx/features/home/room/detail/RoomMessageTouchHelperCallback.kt b/vector/src/main/java/im/vector/riotx/features/home/room/detail/RoomMessageTouchHelperCallback.kt index a7e617c05f..4170291d18 100644 --- a/vector/src/main/java/im/vector/riotx/features/home/room/detail/RoomMessageTouchHelperCallback.kt +++ b/vector/src/main/java/im/vector/riotx/features/home/room/detail/RoomMessageTouchHelperCallback.kt @@ -32,6 +32,7 @@ import com.airbnb.epoxy.EpoxyModel import com.airbnb.epoxy.EpoxyTouchHelperCallback import com.airbnb.epoxy.EpoxyViewHolder import timber.log.Timber +import kotlin.math.abs class RoomMessageTouchHelperCallback(private val context: Context, @@ -104,6 +105,7 @@ class RoomMessageTouchHelperCallback(private val context: Context, } + @Suppress("UNUSED_PARAMETER") @SuppressLint("ClickableViewAccessibility") private fun setTouchListener(c: Canvas, recyclerView: RecyclerView, @@ -112,11 +114,11 @@ class RoomMessageTouchHelperCallback(private val context: Context, dY: Float, actionState: Int, isCurrentlyActive: Boolean) { - //TODO can this interfer with other interactions? should i remove it - recyclerView.setOnTouchListener { v, event -> + //TODO can this interfere with other interactions? should i remove it + recyclerView.setOnTouchListener { _, event -> swipeBack = event.action == MotionEvent.ACTION_CANCEL || event.action == MotionEvent.ACTION_UP if (swipeBack) { - if (Math.abs(dX) >= triggerDistance) { + if (abs(dX) >= triggerDistance) { try { viewHolder.model?.let { handler.performQuickReplyOnHolder(it) } } catch (e: IllegalStateException) { diff --git a/vector/src/main/java/im/vector/riotx/features/home/room/detail/timeline/TimelineEventController.kt b/vector/src/main/java/im/vector/riotx/features/home/room/detail/timeline/TimelineEventController.kt index b51f080fe5..c74c672a24 100644 --- a/vector/src/main/java/im/vector/riotx/features/home/room/detail/timeline/TimelineEventController.kt +++ b/vector/src/main/java/im/vector/riotx/features/home/room/detail/timeline/TimelineEventController.kt @@ -31,6 +31,8 @@ import im.vector.matrix.android.api.session.room.timeline.TimelineEvent import im.vector.riotx.core.date.VectorDateFormatter import im.vector.riotx.core.epoxy.LoadingItem_ import im.vector.riotx.core.extensions.localDateTime +import im.vector.riotx.core.utils.DimensionConverter +import im.vector.riotx.features.home.AvatarRenderer import im.vector.riotx.features.home.room.detail.RoomDetailViewState import im.vector.riotx.features.home.room.detail.timeline.factory.MergedHeaderItemFactory import im.vector.riotx.features.home.room.detail.timeline.factory.TimelineItemFactory @@ -38,8 +40,6 @@ import im.vector.riotx.features.home.room.detail.timeline.helper.TimelineEventDi import im.vector.riotx.features.home.room.detail.timeline.helper.TimelineEventVisibilityStateChangedListener import im.vector.riotx.features.home.room.detail.timeline.helper.TimelineMediaSizeProvider import im.vector.riotx.features.home.room.detail.timeline.helper.nextOrNull -import im.vector.riotx.core.utils.DimensionConverter -import im.vector.riotx.features.home.AvatarRenderer import im.vector.riotx.features.home.room.detail.timeline.item.* import im.vector.riotx.features.media.ImageContentRenderer import im.vector.riotx.features.media.VideoContentRenderer @@ -327,7 +327,7 @@ class TimelineEventController @Inject constructor(private val dateFormatter: Vec * Return true if added */ private fun LoadingItem_.setVisibilityStateChangedListener(direction: Timeline.Direction): LoadingItem_ { - return onVisibilityStateChanged { model, view, visibilityState -> + return onVisibilityStateChanged { _, _, visibilityState -> if (visibilityState == VisibilityState.VISIBLE) { callback?.onLoadMore(direction) } diff --git a/vector/src/main/java/im/vector/riotx/features/home/room/detail/timeline/action/MessageMenuFragment.kt b/vector/src/main/java/im/vector/riotx/features/home/room/detail/timeline/action/MessageMenuFragment.kt index 0c22091f74..e0d6744117 100644 --- a/vector/src/main/java/im/vector/riotx/features/home/room/detail/timeline/action/MessageMenuFragment.kt +++ b/vector/src/main/java/im/vector/riotx/features/home/room/detail/timeline/action/MessageMenuFragment.kt @@ -78,17 +78,13 @@ class MessageMenuFragment : VectorBaseFragment() { private fun inflateActionView(action: SimpleAction, inflater: LayoutInflater, container: ViewGroup?): View? { return inflater.inflate(R.layout.adapter_item_action, container, false)?.apply { - if (action.iconResId != null) { - findViewById(R.id.action_icon)?.setImageResource(action.iconResId) - } else { - findViewById(R.id.action_icon)?.setImageDrawable(null) - } + findViewById(R.id.action_icon)?.setImageResource(action.iconResId) findViewById(R.id.action_title)?.setText(action.titleRes) } } private fun inflateSeparatorView(): View { - val frame = FrameLayout(context) + val frame = FrameLayout(requireContext()) frame.setBackgroundColor(ThemeUtils.getColor(requireContext(), R.attr.vctr_list_divider_color)) frame.layoutParams = LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, requireContext().resources.displayMetrics.density.toInt()) return frame diff --git a/vector/src/main/java/im/vector/riotx/features/home/room/detail/timeline/action/MessageMenuViewModel.kt b/vector/src/main/java/im/vector/riotx/features/home/room/detail/timeline/action/MessageMenuViewModel.kt index 525bd6ff83..8195b43929 100644 --- a/vector/src/main/java/im/vector/riotx/features/home/room/detail/timeline/action/MessageMenuViewModel.kt +++ b/vector/src/main/java/im/vector/riotx/features/home/room/detail/timeline/action/MessageMenuViewModel.kt @@ -198,7 +198,7 @@ class MessageMenuViewModel @AssistedInject constructor(@Assisted initialState: M } } - private fun canCancel(event: TimelineEvent): Boolean { + private fun canCancel(@Suppress("UNUSED_PARAMETER") event: TimelineEvent): Boolean { return false } diff --git a/vector/src/main/java/im/vector/riotx/features/home/room/detail/timeline/factory/MessageItemFactory.kt b/vector/src/main/java/im/vector/riotx/features/home/room/detail/timeline/factory/MessageItemFactory.kt index a654973899..001b812312 100644 --- a/vector/src/main/java/im/vector/riotx/features/home/room/detail/timeline/factory/MessageItemFactory.kt +++ b/vector/src/main/java/im/vector/riotx/features/home/room/detail/timeline/factory/MessageItemFactory.kt @@ -28,15 +28,7 @@ import im.vector.matrix.android.api.permalinks.MatrixLinkify import im.vector.matrix.android.api.permalinks.MatrixPermalinkSpan import im.vector.matrix.android.api.session.events.model.RelationType import im.vector.matrix.android.api.session.events.model.toModel -import im.vector.matrix.android.api.session.room.model.message.MessageAudioContent -import im.vector.matrix.android.api.session.room.model.message.MessageContent -import im.vector.matrix.android.api.session.room.model.message.MessageEmoteContent -import im.vector.matrix.android.api.session.room.model.message.MessageFileContent -import im.vector.matrix.android.api.session.room.model.message.MessageImageContent -import im.vector.matrix.android.api.session.room.model.message.MessageNoticeContent -import im.vector.matrix.android.api.session.room.model.message.MessageTextContent -import im.vector.matrix.android.api.session.room.model.message.MessageVideoContent -import im.vector.matrix.android.api.session.room.model.message.getFileUrl +import im.vector.matrix.android.api.session.room.model.message.* import im.vector.matrix.android.api.session.room.timeline.TimelineEvent import im.vector.matrix.android.api.session.room.timeline.getLastMessageContent import im.vector.matrix.android.internal.crypto.attachments.toElementToDecrypt @@ -47,17 +39,10 @@ import im.vector.riotx.core.linkify.VectorLinkify import im.vector.riotx.core.resources.ColorProvider import im.vector.riotx.core.resources.StringProvider import im.vector.riotx.core.utils.DebouncedClickListener -import im.vector.riotx.core.utils.DimensionConverter -import im.vector.riotx.core.utils.containsOnlyEmojis import im.vector.riotx.core.utils.isLocalFile -import im.vector.riotx.features.home.AvatarRenderer import im.vector.riotx.features.home.room.detail.timeline.TimelineEventController -import im.vector.riotx.features.home.room.detail.timeline.helper.ContentUploadStateTrackerBinder -import im.vector.riotx.features.home.room.detail.timeline.helper.AvatarSizeProvider -import im.vector.riotx.features.home.room.detail.timeline.helper.TimelineMediaSizeProvider +import im.vector.riotx.features.home.room.detail.timeline.helper.* import im.vector.riotx.features.home.room.detail.timeline.item.* -import im.vector.riotx.features.home.room.detail.timeline.helper.MessageInformationDataFactory -import im.vector.riotx.features.home.room.detail.timeline.helper.MessageItemAttributesFactory import im.vector.riotx.features.html.EventHtmlRenderer import im.vector.riotx.features.media.ImageContentRenderer import im.vector.riotx.features.media.VideoContentRenderer @@ -130,6 +115,7 @@ class MessageItemFactory @Inject constructor( } private fun buildAudioMessageItem(messageContent: MessageAudioContent, + @Suppress("UNUSED_PARAMETER") informationData: MessageInformationData, highlight: Boolean, callback: TimelineEventController.Callback?, @@ -162,7 +148,7 @@ class MessageItemFactory @Inject constructor( .filename(messageContent.body) .iconRes(R.drawable.filetype_attachment) .clickListener( - DebouncedClickListener(View.OnClickListener { _ -> + DebouncedClickListener(View.OnClickListener { callback?.onFileMessageClicked(informationData.eventId, messageContent) })) } @@ -176,6 +162,7 @@ class MessageItemFactory @Inject constructor( } private fun buildImageMessageItem(messageContent: MessageImageContent, + @Suppress("UNUSED_PARAMETER") informationData: MessageInformationData, highlight: Boolean, callback: TimelineEventController.Callback?, @@ -305,6 +292,7 @@ class MessageItemFactory @Inject constructor( } private fun buildNoticeMessageItem(messageContent: MessageNoticeContent, + @Suppress("UNUSED_PARAMETER") informationData: MessageInformationData, highlight: Boolean, callback: TimelineEventController.Callback?, diff --git a/vector/src/main/java/im/vector/riotx/features/home/room/detail/timeline/format/NoticeEventFormatter.kt b/vector/src/main/java/im/vector/riotx/features/home/room/detail/timeline/format/NoticeEventFormatter.kt index da5a3d4183..a83497d49d 100644 --- a/vector/src/main/java/im/vector/riotx/features/home/room/detail/timeline/format/NoticeEventFormatter.kt +++ b/vector/src/main/java/im/vector/riotx/features/home/room/detail/timeline/format/NoticeEventFormatter.kt @@ -38,7 +38,7 @@ class NoticeEventFormatter @Inject constructor(private val sessionHolder: Active EventType.STATE_ROOM_TOPIC -> formatRoomTopicEvent(timelineEvent.root, timelineEvent.getDisambiguatedDisplayName()) EventType.STATE_ROOM_MEMBER -> formatRoomMemberEvent(timelineEvent.root, timelineEvent.senderName()) EventType.STATE_HISTORY_VISIBILITY -> formatRoomHistoryVisibilityEvent(timelineEvent.root, timelineEvent.getDisambiguatedDisplayName()) - EventType.STATE_ROOM_TOMBSTONE -> formatRoomTombstoneEvent(timelineEvent.root, timelineEvent.getDisambiguatedDisplayName()) + EventType.STATE_ROOM_TOMBSTONE -> formatRoomTombstoneEvent(timelineEvent.getDisambiguatedDisplayName()) EventType.CALL_INVITE, EventType.CALL_HANGUP, EventType.CALL_ANSWER -> formatCallEvent(timelineEvent.root, timelineEvent.getDisambiguatedDisplayName()) @@ -61,7 +61,7 @@ class NoticeEventFormatter @Inject constructor(private val sessionHolder: Active EventType.CALL_INVITE, EventType.CALL_HANGUP, EventType.CALL_ANSWER -> formatCallEvent(event, senderName) - EventType.STATE_ROOM_TOMBSTONE -> formatRoomTombstoneEvent(event, senderName) + EventType.STATE_ROOM_TOMBSTONE -> formatRoomTombstoneEvent(senderName) else -> { Timber.v("Type $type not handled by this formatter") null @@ -82,7 +82,7 @@ class NoticeEventFormatter @Inject constructor(private val sessionHolder: Active } } - private fun formatRoomTombstoneEvent(event: Event, senderName: String?): CharSequence? { + private fun formatRoomTombstoneEvent(senderName: String?): CharSequence? { return stringProvider.getString(R.string.notice_room_update, senderName) } diff --git a/vector/src/main/java/im/vector/riotx/features/home/room/detail/timeline/helper/ContentUploadStateTrackerBinder.kt b/vector/src/main/java/im/vector/riotx/features/home/room/detail/timeline/helper/ContentUploadStateTrackerBinder.kt index 96cb7f0d8e..fcab71c61a 100644 --- a/vector/src/main/java/im/vector/riotx/features/home/room/detail/timeline/helper/ContentUploadStateTrackerBinder.kt +++ b/vector/src/main/java/im/vector/riotx/features/home/room/detail/timeline/helper/ContentUploadStateTrackerBinder.kt @@ -67,17 +67,17 @@ private class ContentMediaProgressUpdater(private val progressLayout: ViewGroup, override fun onUpdate(state: ContentUploadStateTracker.State) { when (state) { - is ContentUploadStateTracker.State.Idle -> handleIdle(state) - is ContentUploadStateTracker.State.EncryptingThumbnail -> handleEncryptingThumbnail(state) + is ContentUploadStateTracker.State.Idle -> handleIdle() + is ContentUploadStateTracker.State.EncryptingThumbnail -> handleEncryptingThumbnail() is ContentUploadStateTracker.State.UploadingThumbnail -> handleProgressThumbnail(state) - is ContentUploadStateTracker.State.Encrypting -> handleEncrypting(state) + is ContentUploadStateTracker.State.Encrypting -> handleEncrypting() is ContentUploadStateTracker.State.Uploading -> handleProgress(state) is ContentUploadStateTracker.State.Failure -> handleFailure(state) - is ContentUploadStateTracker.State.Success -> handleSuccess(state) + is ContentUploadStateTracker.State.Success -> handleSuccess() } } - private fun handleIdle(state: ContentUploadStateTracker.State.Idle) { + private fun handleIdle() { if (isLocalFile) { progressLayout.isVisible = true val progressBar = progressLayout.findViewById(R.id.mediaProgressBar) @@ -92,7 +92,7 @@ private class ContentMediaProgressUpdater(private val progressLayout: ViewGroup, } } - private fun handleEncryptingThumbnail(state: ContentUploadStateTracker.State.EncryptingThumbnail) { + private fun handleEncryptingThumbnail() { doHandleEncrypting(R.string.send_file_step_encrypting_thumbnail) } @@ -100,7 +100,7 @@ private class ContentMediaProgressUpdater(private val progressLayout: ViewGroup, doHandleProgress(R.string.send_file_step_sending_thumbnail, state.current, state.total) } - private fun handleEncrypting(state: ContentUploadStateTracker.State.Encrypting) { + private fun handleEncrypting() { doHandleEncrypting(R.string.send_file_step_encrypting_file) } @@ -140,7 +140,7 @@ private class ContentMediaProgressUpdater(private val progressLayout: ViewGroup, progressTextView?.setTextColor(colorProvider.getMessageTextColor(SendState.UNDELIVERED)) } - private fun handleSuccess(state: ContentUploadStateTracker.State.Success) { + private fun handleSuccess() { progressLayout.visibility = View.GONE } } diff --git a/vector/src/main/java/im/vector/riotx/features/home/room/detail/timeline/helper/MessageItemAttributesFactory.kt b/vector/src/main/java/im/vector/riotx/features/home/room/detail/timeline/helper/MessageItemAttributesFactory.kt index d69676cb2f..4f74ad7c2d 100644 --- a/vector/src/main/java/im/vector/riotx/features/home/room/detail/timeline/helper/MessageItemAttributesFactory.kt +++ b/vector/src/main/java/im/vector/riotx/features/home/room/detail/timeline/helper/MessageItemAttributesFactory.kt @@ -49,7 +49,7 @@ class MessageItemAttributesFactory @Inject constructor( itemClickListener = DebouncedClickListener(View.OnClickListener { view -> callback?.onEventCellClicked(informationData, messageContent, view) }), - memberClickListener = DebouncedClickListener(View.OnClickListener { view -> + memberClickListener = DebouncedClickListener(View.OnClickListener { callback?.onMemberNameClicked(informationData) }), reactionPillCallback = callback, diff --git a/vector/src/main/java/im/vector/riotx/features/homeserver/ServerUrlsRepository.kt b/vector/src/main/java/im/vector/riotx/features/homeserver/ServerUrlsRepository.kt index 18587086af..c21ee98878 100644 --- a/vector/src/main/java/im/vector/riotx/features/homeserver/ServerUrlsRepository.kt +++ b/vector/src/main/java/im/vector/riotx/features/homeserver/ServerUrlsRepository.kt @@ -70,7 +70,7 @@ object ServerUrlsRepository { return prefs.getString(HOME_SERVER_URL_PREF, prefs.getString(DEFAULT_REFERRER_HOME_SERVER_URL_PREF, - getDefaultHomeServerUrl(context))) + getDefaultHomeServerUrl(context))!!)!! } diff --git a/vector/src/main/java/im/vector/riotx/features/html/PillImageSpan.kt b/vector/src/main/java/im/vector/riotx/features/html/PillImageSpan.kt index 3f9e4b2b8c..ecf927aae8 100644 --- a/vector/src/main/java/im/vector/riotx/features/html/PillImageSpan.kt +++ b/vector/src/main/java/im/vector/riotx/features/html/PillImageSpan.kt @@ -14,6 +14,8 @@ * limitations under the License. */ +@file:Suppress("DEPRECATION") + package im.vector.riotx.features.html import android.content.Context @@ -101,7 +103,7 @@ class PillImageSpan(private val glideRequests: GlideRequests, private fun createChipDrawable(): ChipDrawable { val textPadding = context.resources.getDimension(R.dimen.pill_text_padding) return ChipDrawable.createFromResource(context, R.xml.pill_view).apply { - setText(displayName) + text = displayName textEndPadding = textPadding textStartPadding = textPadding setChipMinHeightResource(R.dimen.pill_min_height) diff --git a/vector/src/main/java/im/vector/riotx/features/login/LoginSsoFallbackFragment.kt b/vector/src/main/java/im/vector/riotx/features/login/LoginSsoFallbackFragment.kt index 1ce282ad77..ca3dc96266 100644 --- a/vector/src/main/java/im/vector/riotx/features/login/LoginSsoFallbackFragment.kt +++ b/vector/src/main/java/im/vector/riotx/features/login/LoginSsoFallbackFragment.kt @@ -14,6 +14,8 @@ * limitations under the License. */ +@file:Suppress("DEPRECATION") + package im.vector.riotx.features.login import android.annotation.SuppressLint @@ -30,6 +32,7 @@ import android.webkit.WebViewClient import androidx.appcompat.app.AlertDialog import com.airbnb.mvrx.activityViewModel import im.vector.matrix.android.api.auth.data.Credentials +import im.vector.matrix.android.api.util.JsonDict import im.vector.matrix.android.internal.di.MoshiProvider import im.vector.riotx.R import im.vector.riotx.core.di.ScreenComponent @@ -128,8 +131,8 @@ class LoginSsoFallbackFragment : VectorBaseFragment(), OnBackPressed { error: SslError) { AlertDialog.Builder(requireActivity()) .setMessage(R.string.ssl_could_not_verify) - .setPositiveButton(R.string.ssl_trust) { dialog, which -> handler.proceed() } - .setNegativeButton(R.string.ssl_do_not_trust) { dialog, which -> handler.cancel() } + .setPositiveButton(R.string.ssl_trust) { _, _ -> handler.proceed() } + .setNegativeButton(R.string.ssl_do_not_trust) { _, _ -> handler.cancel() } .setOnKeyListener(DialogInterface.OnKeyListener { dialog, keyCode, event -> if (event.action == KeyEvent.ACTION_UP && keyCode == KeyEvent.KEYCODE_BACK) { handler.cancel() @@ -224,7 +227,8 @@ class LoginSsoFallbackFragment : VectorBaseFragment(), OnBackPressed { val adapter = MoshiProvider.providesMoshi().adapter(Map::class.java) - parameters = adapter.fromJson(json) as Map? + @Suppress("UNCHECKED_CAST") + parameters = adapter.fromJson(json) as JsonDict? } catch (e: Exception) { Timber.e(e, "## shouldOverrideUrlLoading() : fromJson failed") } @@ -236,6 +240,7 @@ class LoginSsoFallbackFragment : VectorBaseFragment(), OnBackPressed { if (mMode == Mode.MODE_LOGIN) { try { if (action == "onLogin") { + @Suppress("UNCHECKED_CAST") val credentials = parameters["credentials"] as Map val userId = credentials["user_id"] @@ -245,7 +250,7 @@ class LoginSsoFallbackFragment : VectorBaseFragment(), OnBackPressed { // check if the parameters are defined if (null != homeServer && null != userId && null != accessToken) { - val credentials = Credentials( + val safeCredentials = Credentials( userId = userId, accessToken = accessToken, homeServer = homeServer, @@ -253,7 +258,7 @@ class LoginSsoFallbackFragment : VectorBaseFragment(), OnBackPressed { refreshToken = null ) - viewModel.handle(LoginActions.SsoLoginSuccess(credentials)) + viewModel.handle(LoginActions.SsoLoginSuccess(safeCredentials)) } } } catch (e: Exception) { diff --git a/vector/src/main/java/im/vector/riotx/features/media/ImageMediaViewerActivity.kt b/vector/src/main/java/im/vector/riotx/features/media/ImageMediaViewerActivity.kt index a44672a55d..65572ef0b4 100644 --- a/vector/src/main/java/im/vector/riotx/features/media/ImageMediaViewerActivity.kt +++ b/vector/src/main/java/im/vector/riotx/features/media/ImageMediaViewerActivity.kt @@ -48,7 +48,7 @@ class ImageMediaViewerActivity : VectorBaseActivity() { @Inject lateinit var imageContentRenderer: ImageContentRenderer - lateinit var mediaData: ImageContentRenderer.Data + private lateinit var mediaData: ImageContentRenderer.Data override fun injectWith(injector: ScreenComponent) { injector.inject(this) @@ -57,8 +57,8 @@ class ImageMediaViewerActivity : VectorBaseActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(im.vector.riotx.R.layout.activity_image_media_viewer) - mediaData = intent.getParcelableExtra(EXTRA_MEDIA_DATA) - intent.extras.getString(EXTRA_SHARED_TRANSITION_NAME)?.let { + mediaData = intent.getParcelableExtra(EXTRA_MEDIA_DATA) + intent.extras?.getString(EXTRA_SHARED_TRANSITION_NAME)?.let { ViewCompat.setTransitionName(imageTransitionView, it) } if (mediaData.url.isNullOrEmpty()) { diff --git a/vector/src/main/java/im/vector/riotx/features/navigation/DefaultNavigator.kt b/vector/src/main/java/im/vector/riotx/features/navigation/DefaultNavigator.kt index 1428a0ac89..4c58d6992b 100644 --- a/vector/src/main/java/im/vector/riotx/features/navigation/DefaultNavigator.kt +++ b/vector/src/main/java/im/vector/riotx/features/navigation/DefaultNavigator.kt @@ -80,7 +80,7 @@ class DefaultNavigator @Inject constructor() : Navigator { } override fun openSettings(context: Context) { - val intent = VectorSettingsActivity.getIntent(context, "TODO") + val intent = VectorSettingsActivity.getIntent(context) context.startActivity(intent) } diff --git a/vector/src/main/java/im/vector/riotx/features/notifications/NotificationBroadcastReceiver.kt b/vector/src/main/java/im/vector/riotx/features/notifications/NotificationBroadcastReceiver.kt index cb68d0101d..02937e6d20 100644 --- a/vector/src/main/java/im/vector/riotx/features/notifications/NotificationBroadcastReceiver.kt +++ b/vector/src/main/java/im/vector/riotx/features/notifications/NotificationBroadcastReceiver.kt @@ -102,7 +102,6 @@ class NotificationBroadcastReceiver : BroadcastReceiver() { //Can this happen? should we update notification? return } - val matrixId = intent.getStringExtra(EXTRA_MATRIX_ID) activeSessionHolder.getActiveSession().let { session -> session.getRoom(roomId)?.let { room -> sendMatrixEvent(message, session, room, context) @@ -203,6 +202,5 @@ class NotificationBroadcastReceiver : BroadcastReceiver() { companion object { const val KEY_ROOM_ID = "roomID" const val KEY_TEXT_REPLY = "key_text_reply" - const val EXTRA_MATRIX_ID = "EXTRA_MATRIX_ID" } } \ No newline at end of file diff --git a/vector/src/main/java/im/vector/riotx/features/notifications/NotificationUtils.kt b/vector/src/main/java/im/vector/riotx/features/notifications/NotificationUtils.kt index 793d056e0c..9ebb3ae826 100755 --- a/vector/src/main/java/im/vector/riotx/features/notifications/NotificationUtils.kt +++ b/vector/src/main/java/im/vector/riotx/features/notifications/NotificationUtils.kt @@ -14,6 +14,8 @@ * limitations under the License. */ +@file:Suppress("UNUSED_PARAMETER") + package im.vector.riotx.features.notifications import android.annotation.SuppressLint @@ -713,7 +715,7 @@ class NotificationUtils @Inject constructor(private val context: Context, try { notificationManager.cancelAll() } catch (e: Exception) { - Timber.e(e, "## cancelAllNotifications() failed " + e.message) + Timber.e(e, "## cancelAllNotifications() failed") } } diff --git a/vector/src/main/java/im/vector/riotx/features/rageshake/BugReportActivity.kt b/vector/src/main/java/im/vector/riotx/features/rageshake/BugReportActivity.kt index d0e229ff7b..6bb899bb85 100755 --- a/vector/src/main/java/im/vector/riotx/features/rageshake/BugReportActivity.kt +++ b/vector/src/main/java/im/vector/riotx/features/rageshake/BugReportActivity.kt @@ -134,7 +134,7 @@ class BugReportActivity : VectorBaseActivity() { } } } catch (e: Exception) { - Timber.e(e, "## onUploadFailed() : failed to display the toast " + e.message) + Timber.e(e, "## onUploadFailed() : failed to display the toast") } bug_report_mask_view.isVisible = false @@ -164,13 +164,13 @@ class BugReportActivity : VectorBaseActivity() { Toast.makeText(this@BugReportActivity, R.string.send_bug_report_sent, Toast.LENGTH_LONG).show() } } catch (e: Exception) { - Timber.e(e, "## onUploadSucceed() : failed to dismiss the toast " + e.message) + Timber.e(e, "## onUploadSucceed() : failed to dismiss the toast") } try { finish() } catch (e: Exception) { - Timber.e(e, "## onUploadSucceed() : failed to dismiss the dialog " + e.message) + Timber.e(e, "## onUploadSucceed() : failed to dismiss the dialog") } } }) diff --git a/vector/src/main/java/im/vector/riotx/features/rageshake/BugReporter.kt b/vector/src/main/java/im/vector/riotx/features/rageshake/BugReporter.kt index ed17d1f8b0..f3fe00a780 100755 --- a/vector/src/main/java/im/vector/riotx/features/rageshake/BugReporter.kt +++ b/vector/src/main/java/im/vector/riotx/features/rageshake/BugReporter.kt @@ -36,9 +36,12 @@ import im.vector.riotx.core.utils.getDeviceLocale import im.vector.riotx.features.settings.VectorLocale import im.vector.riotx.features.themes.ThemeUtils import im.vector.riotx.features.version.VersionProvider -import okhttp3.* +import okhttp3.Call import okhttp3.MediaType.Companion.toMediaTypeOrNull +import okhttp3.OkHttpClient +import okhttp3.Request import okhttp3.RequestBody.Companion.asRequestBody +import okhttp3.Response import org.json.JSONException import org.json.JSONObject import timber.log.Timber @@ -555,10 +558,13 @@ class BugReporter @Inject constructor(private val activeSessionHolder: ActiveSes return null } // refresh it + @Suppress("DEPRECATION") rootView.isDrawingCacheEnabled = false + @Suppress("DEPRECATION") rootView.isDrawingCacheEnabled = true try { + @Suppress("DEPRECATION") var bitmap = rootView.drawingCache // Make a copy, because if Activity is destroyed, the bitmap will be recycled diff --git a/vector/src/main/java/im/vector/riotx/features/rageshake/VectorFileLogger.kt b/vector/src/main/java/im/vector/riotx/features/rageshake/VectorFileLogger.kt index 3ef5e19830..548a740da2 100644 --- a/vector/src/main/java/im/vector/riotx/features/rageshake/VectorFileLogger.kt +++ b/vector/src/main/java/im/vector/riotx/features/rageshake/VectorFileLogger.kt @@ -124,7 +124,7 @@ class VectorFileLogger @Inject constructor(val context: Context, private val vec } } } catch (e: Exception) { - Timber.e(e, "## addLogFiles() failed : %s", e.message) + Timber.e(e, "## addLogFiles() failed") } return files diff --git a/vector/src/main/java/im/vector/riotx/features/reactions/EmojiReactionPickerActivity.kt b/vector/src/main/java/im/vector/riotx/features/reactions/EmojiReactionPickerActivity.kt index 5407dd22d3..8e2e0ece30 100644 --- a/vector/src/main/java/im/vector/riotx/features/reactions/EmojiReactionPickerActivity.kt +++ b/vector/src/main/java/im/vector/riotx/features/reactions/EmojiReactionPickerActivity.kt @@ -39,7 +39,7 @@ import javax.inject.Inject /** * * TODO: Loading indicator while getting emoji data source? - * TODO: migrate to maverick + * TODO: migrate to MvRx * TODO: Finish Refactor to vector base activity * TODO: Move font request to app */ @@ -58,15 +58,15 @@ class EmojiReactionPickerActivity : VectorBaseActivity(), EmojiCompatFontProvide @Inject lateinit var emojiCompatFontProvider: EmojiCompatFontProvider - private var tabLayoutSelectionListener = object : TabLayout.BaseOnTabSelectedListener { - override fun onTabReselected(p0: TabLayout.Tab) { + private var tabLayoutSelectionListener = object : TabLayout.OnTabSelectedListener { + override fun onTabReselected(tab: TabLayout.Tab) { } - override fun onTabUnselected(p0: TabLayout.Tab) { + override fun onTabUnselected(tab: TabLayout.Tab) { } - override fun onTabSelected(p0: TabLayout.Tab) { - viewModel.scrollToSection(p0.position) + override fun onTabSelected(tab: TabLayout.Tab) { + viewModel.scrollToSection(tab.position) } } diff --git a/vector/src/main/java/im/vector/riotx/features/reactions/EmojiRecyclerAdapter.kt b/vector/src/main/java/im/vector/riotx/features/reactions/EmojiRecyclerAdapter.kt index 1aebf6c240..82432c3ac0 100644 --- a/vector/src/main/java/im/vector/riotx/features/reactions/EmojiRecyclerAdapter.kt +++ b/vector/src/main/java/im/vector/riotx/features/reactions/EmojiRecyclerAdapter.kt @@ -152,7 +152,7 @@ class EmojiRecyclerAdapter(private val dataSource: EmojiDataSource? = null, private fun isSection(position: Int): Boolean { dataSource?.rawData?.categories?.let { categories -> var sectionOffset = 1 - var lastItemInSection = 0 + var lastItemInSection: Int for (category in categories) { lastItemInSection = sectionOffset + category.emojis.size - 1 if (position == sectionOffset - 1) return true @@ -164,7 +164,7 @@ class EmojiRecyclerAdapter(private val dataSource: EmojiDataSource? = null, private fun getSectionForAbsoluteIndex(position: Int): Int { var sectionOffset = 1 - var lastItemInSection = 0 + var lastItemInSection: Int var index = 0 dataSource?.rawData?.categories?.let { for (category in it) { @@ -180,7 +180,7 @@ class EmojiRecyclerAdapter(private val dataSource: EmojiDataSource? = null, private fun getSectionOffset(section: Int): Int { //Todo cache this for fast access var sectionOffset = 1 - var lastItemInSection = 0 + var lastItemInSection: Int dataSource?.rawData?.categories?.let { for ((index, category) in it.withIndex()) { lastItemInSection = sectionOffset + category.emojis.size - 1 @@ -296,12 +296,18 @@ class EmojiRecyclerAdapter(private val dataSource: EmojiDataSource? = null, private val staticLayoutCache = HashMap() private fun getStaticLayoutForEmoji(emoji: String): StaticLayout { - var cachedLayout = staticLayoutCache[emoji] - if (cachedLayout == null) { - cachedLayout = StaticLayout(emoji, EmojiDrawView.tPaint, EmojiDrawView.emojiSize, Layout.Alignment.ALIGN_CENTER, 1f, 0f, true) - staticLayoutCache[emoji] = cachedLayout + return staticLayoutCache.getOrPut(emoji) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { + StaticLayout.Builder.obtain(emoji, 0, emoji.length, EmojiDrawView.tPaint, EmojiDrawView.emojiSize) + .setAlignment(Layout.Alignment.ALIGN_CENTER) + .setLineSpacing(0f, 1f) + .setIncludePad(true) + .build() + } else { + @Suppress("DEPRECATION") + StaticLayout(emoji, EmojiDrawView.tPaint, EmojiDrawView.emojiSize, Layout.Alignment.ALIGN_CENTER, 1f, 0f, true) + } } - return cachedLayout } } @@ -324,6 +330,7 @@ class EmojiRecyclerAdapter(private val dataSource: EmojiDataSource? = null, //TODO better if (scrollState == ScrollState.IDLE) { // + @Suppress("UNCHECKED_CAST") val toUpdate = toUpdateWhenNotBusy.clone() as ArrayList> toUpdateWhenNotBusy.clear() toUpdate.chunked(8).forEach { diff --git a/vector/src/main/java/im/vector/riotx/features/reactions/widget/CircleView.kt b/vector/src/main/java/im/vector/riotx/features/reactions/widget/CircleView.kt index 6632e23d49..91f39f3fe7 100644 --- a/vector/src/main/java/im/vector/riotx/features/reactions/widget/CircleView.kt +++ b/vector/src/main/java/im/vector/riotx/features/reactions/widget/CircleView.kt @@ -21,6 +21,8 @@ import android.graphics.* import android.util.AttributeSet import android.util.Property import android.view.View +import kotlin.math.max +import kotlin.math.min /** @@ -38,8 +40,8 @@ class CircleView @JvmOverloads constructor(context: Context, attrs: AttributeSet private val circlePaint = Paint() private val maskPaint = Paint() - private var tempBitmap: Bitmap? = null - private var tempCanvas: Canvas? = null + private lateinit var tempBitmap: Bitmap + private lateinit var tempCanvas: Canvas var outerCircleRadiusProgress = 0f set(value) { @@ -69,9 +71,9 @@ class CircleView @JvmOverloads constructor(context: Context, attrs: AttributeSet override fun onDraw(canvas: Canvas) { super.onDraw(canvas) - tempCanvas!!.drawColor(0xffffff, PorterDuff.Mode.CLEAR) - tempCanvas!!.drawCircle(width / 2f, height / 2f, outerCircleRadiusProgress * maxCircleSize, circlePaint) - tempCanvas!!.drawCircle(width / 2f, height / 2f, innerCircleRadiusProgress * maxCircleSize, maskPaint) + tempCanvas.drawColor(0xffffff, PorterDuff.Mode.CLEAR) + tempCanvas.drawCircle(width / 2f, height / 2f, outerCircleRadiusProgress * maxCircleSize, circlePaint) + tempCanvas.drawCircle(width / 2f, height / 2f, innerCircleRadiusProgress * maxCircleSize, maskPaint) canvas.drawBitmap(tempBitmap, 0f, 0f, null) } @@ -91,7 +93,7 @@ class CircleView @JvmOverloads constructor(context: Context, attrs: AttributeSet // } private fun updateCircleColor() { - var colorProgress = clamp(outerCircleRadiusProgress, 0.5f, 1f) as Float + var colorProgress = clamp(outerCircleRadiusProgress, 0.5f, 1f) colorProgress = mapValueFromRangeToRange(colorProgress, 0.5f, 1f, 0f, 1f) this.circlePaint.color = argbEvaluator.evaluate(colorProgress, startColor, endColor) as Int } @@ -134,7 +136,7 @@ class CircleView @JvmOverloads constructor(context: Context, attrs: AttributeSet } fun clamp(value: Float, low: Float, high: Float): Float { - return Math.min(Math.max(value, low), high) + return min(max(value, low), high) } } } \ No newline at end of file diff --git a/vector/src/main/java/im/vector/riotx/features/reactions/widget/DotsView.kt b/vector/src/main/java/im/vector/riotx/features/reactions/widget/DotsView.kt index 3bb03157ad..d19f85e958 100644 --- a/vector/src/main/java/im/vector/riotx/features/reactions/widget/DotsView.kt +++ b/vector/src/main/java/im/vector/riotx/features/reactions/widget/DotsView.kt @@ -35,7 +35,12 @@ class DotsView @JvmOverloads constructor(context: Context, attrs: AttributeSet? private var COLOR_3 = -0xa8de private var COLOR_4 = -0xbbcca - private val circlePaints = arrayOfNulls(4) + private val circlePaints = listOf( + Paint().apply { style = Paint.Style.FILL }, + Paint().apply { style = Paint.Style.FILL }, + Paint().apply { style = Paint.Style.FILL }, + Paint().apply { style = Paint.Style.FILL } + ) private var centerX: Int = 0 private var centerY: Int = 0 @@ -63,13 +68,6 @@ class DotsView @JvmOverloads constructor(context: Context, attrs: AttributeSet? private val argbEvaluator = ArgbEvaluator() - init { - for (i in circlePaints.indices) { - circlePaints[i] = Paint() - circlePaints[i]!!.style = Paint.Style.FILL - } - } - override fun onSizeChanged(w: Int, h: Int, oldw: Int, oldh: Int) { super.onSizeChanged(w, h, oldw, oldh) centerX = w / 2 @@ -161,32 +159,32 @@ class DotsView @JvmOverloads constructor(context: Context, attrs: AttributeSet? private fun updateDotsPaints() { if (currentProgress < 0.5f) { - val progress = CircleView.mapValueFromRangeToRange(currentProgress, 0f, 0.5f, 0f, 1f) as Float - circlePaints[0]?.color = argbEvaluator.evaluate(progress, COLOR_1, COLOR_2) as Int - circlePaints[1]?.color = argbEvaluator.evaluate(progress, COLOR_2, COLOR_3) as Int - circlePaints[2]?.color = argbEvaluator.evaluate(progress, COLOR_3, COLOR_4) as Int - circlePaints[3]?.color = argbEvaluator.evaluate(progress, COLOR_4, COLOR_1) as Int + val progress = CircleView.mapValueFromRangeToRange(currentProgress, 0f, 0.5f, 0f, 1f) + circlePaints[0].color = argbEvaluator.evaluate(progress, COLOR_1, COLOR_2) as Int + circlePaints[1].color = argbEvaluator.evaluate(progress, COLOR_2, COLOR_3) as Int + circlePaints[2].color = argbEvaluator.evaluate(progress, COLOR_3, COLOR_4) as Int + circlePaints[3].color = argbEvaluator.evaluate(progress, COLOR_4, COLOR_1) as Int } else { - val progress = CircleView.mapValueFromRangeToRange(currentProgress, 0.5f, 1f, 0f, 1f) as Float - circlePaints[0]?.color = argbEvaluator.evaluate(progress, COLOR_2, COLOR_3) as Int - circlePaints[1]?.color = argbEvaluator.evaluate(progress, COLOR_3, COLOR_4) as Int - circlePaints[2]?.color = argbEvaluator.evaluate(progress, COLOR_4, COLOR_1) as Int - circlePaints[3]?.color = argbEvaluator.evaluate(progress, COLOR_1, COLOR_2) as Int + val progress = CircleView.mapValueFromRangeToRange(currentProgress, 0.5f, 1f, 0f, 1f) + circlePaints[0].color = argbEvaluator.evaluate(progress, COLOR_2, COLOR_3) as Int + circlePaints[1].color = argbEvaluator.evaluate(progress, COLOR_3, COLOR_4) as Int + circlePaints[2].color = argbEvaluator.evaluate(progress, COLOR_4, COLOR_1) as Int + circlePaints[3].color = argbEvaluator.evaluate(progress, COLOR_1, COLOR_2) as Int } } private fun updateDotsAlpha() { - val progress = CircleView.clamp(currentProgress, 0.6f, 1f) as Float + val progress = CircleView.clamp(currentProgress, 0.6f, 1f) val alpha = (CircleView.mapValueFromRangeToRange(progress, 0.6f, 1f, 255f, 0f) as? Float)?.toInt() ?: 0 - circlePaints.forEach { it?.alpha = alpha } + circlePaints.forEach { it.alpha = alpha } } companion object { - private val DOTS_COUNT = 7 - private val OUTER_DOTS_POSITION_ANGLE = 360 / DOTS_COUNT + private const val DOTS_COUNT = 7 + private const val OUTER_DOTS_POSITION_ANGLE = 360 / DOTS_COUNT val DOTS_PROGRESS: Property = object : Property(Float::class.java, "dotsProgress") { override operator fun get(`object`: DotsView): Float? { diff --git a/vector/src/main/java/im/vector/riotx/features/settings/FontScale.kt b/vector/src/main/java/im/vector/riotx/features/settings/FontScale.kt index 52cd2c6300..4ccf04a3bd 100644 --- a/vector/src/main/java/im/vector/riotx/features/settings/FontScale.kt +++ b/vector/src/main/java/im/vector/riotx/features/settings/FontScale.kt @@ -133,6 +133,7 @@ object FontScale { val config = Configuration(context.resources.configuration) config.fontScale = getFontScale(context) + @Suppress("DEPRECATION") context.resources.updateConfiguration(config, context.resources.displayMetrics) } diff --git a/vector/src/main/java/im/vector/riotx/features/settings/VectorLocale.kt b/vector/src/main/java/im/vector/riotx/features/settings/VectorLocale.kt index 75a45a9865..00bf03b5ce 100644 --- a/vector/src/main/java/im/vector/riotx/features/settings/VectorLocale.kt +++ b/vector/src/main/java/im/vector/riotx/features/settings/VectorLocale.kt @@ -23,8 +23,8 @@ import android.preference.PreferenceManager import android.text.TextUtils import android.util.Pair import androidx.core.content.edit -import kotlinx.coroutines.Dispatchers import im.vector.riotx.R +import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.launch import timber.log.Timber @@ -128,22 +128,27 @@ object VectorLocale { try { result = context.createConfigurationContext(config).getText(resourceId).toString() } catch (e: Exception) { - Timber.e(e, "## getString() failed : " + e.message) + Timber.e(e, "## getString() failed") // use the default one result = context.getString(resourceId) } } else { val resources = context.resources val conf = resources.configuration + @Suppress("DEPRECATION") val savedLocale = conf.locale + @Suppress("DEPRECATION") conf.locale = locale + @Suppress("DEPRECATION") resources.updateConfiguration(conf, null) // retrieve resources from desired locale result = resources.getString(resourceId) // restore original locale + @Suppress("DEPRECATION") conf.locale = savedLocale + @Suppress("DEPRECATION") resources.updateConfiguration(conf, null) } @@ -166,7 +171,7 @@ object VectorLocale { getString(context, locale, R.string.resources_country_code))) } } catch (e: Exception) { - Timber.e(e, "## getApplicationLocales() : failed " + e.message) + Timber.e(e, "## getApplicationLocales() : failed") knownLocalesSet.add(Pair(context.getString(R.string.resources_language), context.getString(R.string.resources_country_code))) } diff --git a/vector/src/main/java/im/vector/riotx/features/settings/VectorPreferences.kt b/vector/src/main/java/im/vector/riotx/features/settings/VectorPreferences.kt index 7116f33a70..18c1a0fe8b 100755 --- a/vector/src/main/java/im/vector/riotx/features/settings/VectorPreferences.kt +++ b/vector/src/main/java/im/vector/riotx/features/settings/VectorPreferences.kt @@ -459,7 +459,7 @@ class VectorPreferences @Inject constructor(private val context: Context) { name = name.substring(0, name.lastIndexOf(".")) } } catch (e: Exception) { - Timber.e(e, "## getNotificationRingToneName() failed() : " + e.message) + Timber.e(e, "## getNotificationRingToneName() failed") } finally { cursor?.close() } diff --git a/vector/src/main/java/im/vector/riotx/features/settings/VectorSettingsActivity.kt b/vector/src/main/java/im/vector/riotx/features/settings/VectorSettingsActivity.kt index fcf7efa426..940022ded1 100755 --- a/vector/src/main/java/im/vector/riotx/features/settings/VectorSettingsActivity.kt +++ b/vector/src/main/java/im/vector/riotx/features/settings/VectorSettingsActivity.kt @@ -77,9 +77,9 @@ class VectorSettingsActivity : VectorBaseActivity(), override fun onPreferenceStartFragment(caller: PreferenceFragmentCompat, pref: Preference): Boolean { val oFragment = when { VectorPreferences.SETTINGS_NOTIFICATION_TROUBLESHOOT_PREFERENCE_KEY == pref.key -> - VectorSettingsNotificationsTroubleshootFragment.newInstance(session.myUserId) + VectorSettingsNotificationsTroubleshootFragment.newInstance() VectorPreferences.SETTINGS_NOTIFICATION_ADVANCED_PREFERENCE_KEY == pref.key -> - VectorSettingsAdvancedNotificationPreferenceFragment.newInstance(session.myUserId) + VectorSettingsAdvancedNotificationPreferenceFragment.newInstance() else -> try { pref.fragment?.let { @@ -115,10 +115,7 @@ class VectorSettingsActivity : VectorBaseActivity(), } companion object { - fun getIntent(context: Context, userId: String) = Intent(context, VectorSettingsActivity::class.java) - .apply { - //putExtra(MXCActionBarActivity.EXTRA_MATRIX_ID, userId) - } + fun getIntent(context: Context) = Intent(context, VectorSettingsActivity::class.java) private const val FRAGMENT_TAG = "VectorSettingsPreferencesFragment" } diff --git a/vector/src/main/java/im/vector/riotx/features/settings/VectorSettingsAdvancedNotificationPreferenceFragment.kt b/vector/src/main/java/im/vector/riotx/features/settings/VectorSettingsAdvancedNotificationPreferenceFragment.kt index f257035c2f..508cfb3667 100644 --- a/vector/src/main/java/im/vector/riotx/features/settings/VectorSettingsAdvancedNotificationPreferenceFragment.kt +++ b/vector/src/main/java/im/vector/riotx/features/settings/VectorSettingsAdvancedNotificationPreferenceFragment.kt @@ -25,7 +25,6 @@ import androidx.preference.Preference import androidx.preference.PreferenceManager import im.vector.riotx.R import im.vector.riotx.core.di.ScreenComponent -import im.vector.riotx.core.extensions.withArgs import im.vector.riotx.core.preference.BingRule import im.vector.riotx.core.preference.BingRulePreference import im.vector.riotx.core.preference.VectorPreference @@ -119,8 +118,8 @@ class VectorSettingsAdvancedNotificationPreferenceFragment : VectorSettingsBaseF preference.isVisible = true preference.setBingRule(rule) preference.onPreferenceChangeListener = Preference.OnPreferenceChangeListener { _, newValue -> - val rule = preference.createRule(newValue as Int) - if (null != rule) { + val rule2 = preference.createRule(newValue as Int) + if (null != rule2) { /* TODO displayLoadingView() @@ -233,9 +232,6 @@ class VectorSettingsAdvancedNotificationPreferenceFragment : VectorSettingsBaseF VectorPreferences.SETTINGS_MESSAGES_SENT_BY_BOT_PREFERENCE_KEY to BingRule.RULE_ID_SUPPRESS_BOTS_NOTIFICATIONS ) - fun newInstance(matrixId: String) = VectorSettingsAdvancedNotificationPreferenceFragment() - .withArgs { - // putString(MXCActionBarActivity.EXTRA_MATRIX_ID, matrixId) - } + fun newInstance() = VectorSettingsAdvancedNotificationPreferenceFragment() } } \ No newline at end of file diff --git a/vector/src/main/java/im/vector/riotx/features/settings/VectorSettingsBaseFragment.kt b/vector/src/main/java/im/vector/riotx/features/settings/VectorSettingsBaseFragment.kt index 52c332cfb3..b7444886cb 100644 --- a/vector/src/main/java/im/vector/riotx/features/settings/VectorSettingsBaseFragment.kt +++ b/vector/src/main/java/im/vector/riotx/features/settings/VectorSettingsBaseFragment.kt @@ -18,7 +18,6 @@ package im.vector.riotx.features.settings import android.content.Context import android.os.Bundle -import android.text.TextUtils import android.view.View import androidx.annotation.CallSuper import androidx.preference.PreferenceFragmentCompat @@ -134,8 +133,8 @@ abstract class VectorSettingsBaseFragment : PreferenceFragmentCompat(), HasScree return } activity?.runOnUiThread { - if (!TextUtils.isEmpty(errorMessage) && errorMessage != null) { - activity?.toast(errorMessage!!) + if (errorMessage != null && errorMessage.isNotBlank()) { + activity?.toast(errorMessage) } hideLoadingView() } diff --git a/vector/src/main/java/im/vector/riotx/features/settings/VectorSettingsGeneralFragment.kt b/vector/src/main/java/im/vector/riotx/features/settings/VectorSettingsGeneralFragment.kt index efaddb8db0..3a53cbb93a 100644 --- a/vector/src/main/java/im/vector/riotx/features/settings/VectorSettingsGeneralFragment.kt +++ b/vector/src/main/java/im/vector/riotx/features/settings/VectorSettingsGeneralFragment.kt @@ -14,6 +14,8 @@ * limitations under the License. */ +@file:Suppress("UNUSED_VARIABLE", "UNUSED_ANONYMOUS_PARAMETER", "UNUSED_PARAMETER") + package im.vector.riotx.features.settings import android.app.Activity diff --git a/vector/src/main/java/im/vector/riotx/features/settings/VectorSettingsNotificationsTroubleshootFragment.kt b/vector/src/main/java/im/vector/riotx/features/settings/VectorSettingsNotificationsTroubleshootFragment.kt index 428a52c799..2d0ee7aa86 100644 --- a/vector/src/main/java/im/vector/riotx/features/settings/VectorSettingsNotificationsTroubleshootFragment.kt +++ b/vector/src/main/java/im/vector/riotx/features/settings/VectorSettingsNotificationsTroubleshootFragment.kt @@ -31,7 +31,6 @@ import butterknife.BindView import im.vector.matrix.android.api.session.Session import im.vector.riotx.R import im.vector.riotx.core.di.ScreenComponent -import im.vector.riotx.core.extensions.withArgs import im.vector.riotx.core.platform.VectorBaseActivity import im.vector.riotx.core.platform.VectorBaseFragment import im.vector.riotx.features.rageshake.BugReporter @@ -175,9 +174,6 @@ class VectorSettingsNotificationsTroubleshootFragment : VectorBaseFragment() { companion object { // static constructor - fun newInstance(matrixId: String) = VectorSettingsNotificationsTroubleshootFragment() - .withArgs { - // TODO putString(MXCActionBarActivity.EXTRA_MATRIX_ID, matrixId) - } + fun newInstance() = VectorSettingsNotificationsTroubleshootFragment() } } \ No newline at end of file diff --git a/vector/src/main/java/im/vector/riotx/features/settings/VectorSettingsSecurityPrivacyFragment.kt b/vector/src/main/java/im/vector/riotx/features/settings/VectorSettingsSecurityPrivacyFragment.kt index c7a3ec05a5..b01de49e42 100644 --- a/vector/src/main/java/im/vector/riotx/features/settings/VectorSettingsSecurityPrivacyFragment.kt +++ b/vector/src/main/java/im/vector/riotx/features/settings/VectorSettingsSecurityPrivacyFragment.kt @@ -23,7 +23,6 @@ import android.content.Intent import android.graphics.Typeface import android.text.TextUtils import android.view.KeyEvent -import android.view.View import android.widget.Button import android.widget.EditText import android.widget.TextView @@ -318,7 +317,7 @@ class VectorSettingsSecurityPrivacyFragment : VectorSettingsBaseFragment() { val importDialog = builder.show() - importButton.setOnClickListener(View.OnClickListener { + importButton.setOnClickListener { val password = passPhraseEditText.text.toString() displayLoadingView() @@ -351,7 +350,7 @@ class VectorSettingsSecurityPrivacyFragment : VectorSettingsBaseFragment() { }) importDialog.dismiss() - }) + } } } @@ -586,7 +585,7 @@ class VectorSettingsSecurityPrivacyFragment : VectorSettingsBaseFragment() { val lastSeenIp = aDeviceInfo.lastSeenIp?.takeIf { ip -> ip.isNotBlank() } ?: "-" val lastSeenTime = aDeviceInfo.lastSeenTs?.let { ts -> - val dateFormatTime = SimpleDateFormat("HH:mm:ss") + val dateFormatTime = SimpleDateFormat("HH:mm:ss", Locale.ROOT) val date = Date(ts) val time = dateFormatTime.format(date) @@ -605,7 +604,7 @@ class VectorSettingsSecurityPrivacyFragment : VectorSettingsBaseFragment() { .setPositiveButton(R.string.rename) { _, _ -> displayDeviceRenameDialog(aDeviceInfo) } // disable the deletion for our own device - if (!TextUtils.equals(session.getMyDevice()?.deviceId, aDeviceInfo.deviceId)) { + if (!TextUtils.equals(session.getMyDevice().deviceId, aDeviceInfo.deviceId)) { builder.setNegativeButton(R.string.delete) { _, _ -> deleteDevice(aDeviceInfo) } } @@ -784,7 +783,7 @@ class VectorSettingsSecurityPrivacyFragment : VectorSettingsBaseFragment() { * Refresh the pushers list */ private fun refreshPushersList() { - activity?.let { activity -> + activity?.let { _ -> /* TODO val pushManager = Matrix.getInstance(activity).pushManager val pushersList = ArrayList(pushManager.mPushersList) diff --git a/vector/src/main/java/im/vector/riotx/features/settings/troubleshoot/TestBingRulesSettings.kt b/vector/src/main/java/im/vector/riotx/features/settings/troubleshoot/TestBingRulesSettings.kt index a58d48061d..dd04cb4389 100644 --- a/vector/src/main/java/im/vector/riotx/features/settings/troubleshoot/TestBingRulesSettings.kt +++ b/vector/src/main/java/im/vector/riotx/features/settings/troubleshoot/TestBingRulesSettings.kt @@ -42,32 +42,28 @@ class TestBingRulesSettings @Inject constructor(private val activeSessionHolder: override fun perform() { val session = activeSessionHolder.getSafeActiveSession() ?: return val pushRules = session.getPushRules() - if (pushRules == null) { - description = stringProvider.getString(R.string.settings_troubleshoot_test_bing_settings_failed_to_load_rules) - status = TestStatus.FAILED - } else { - var oneOrMoreRuleIsOff = false - var oneOrMoreRuleAreSilent = false - for ((index, ruleId) in testedRules.withIndex()) { - pushRules.find { it.ruleId == ruleId }?.let { rule -> - val actions = rule.getActions() - val notifAction = actions.toNotificationAction() - if (!rule.enabled || !notifAction.shouldNotify) { - //off - oneOrMoreRuleIsOff = true - } else if (notifAction.soundName == null) { - //silent - oneOrMoreRuleAreSilent = true - } else { - //noisy - } + var oneOrMoreRuleIsOff = false + var oneOrMoreRuleAreSilent = false + testedRules.forEach { ruleId -> + pushRules.find { it.ruleId == ruleId }?.let { rule -> + val actions = rule.getActions() + val notifAction = actions.toNotificationAction() + if (!rule.enabled || !notifAction.shouldNotify) { + //off + oneOrMoreRuleIsOff = true + } else if (notifAction.soundName == null) { + //silent + oneOrMoreRuleAreSilent = true + } else { + //noisy } - } - if (oneOrMoreRuleIsOff) { - description = stringProvider.getString(R.string.settings_troubleshoot_test_bing_settings_failed) - //TODO + } + + if (oneOrMoreRuleIsOff) { + description = stringProvider.getString(R.string.settings_troubleshoot_test_bing_settings_failed) + //TODO // quickFix = object : TroubleshootQuickFix(R.string.settings_troubleshoot_test_bing_settings_quickfix) { // override fun doFix() { // val activity = fragment.activity @@ -77,15 +73,14 @@ class TestBingRulesSettings @Inject constructor(private val activeSessionHolder: // activity?.supportFragmentManager?.popBackStack() // } // } - status = TestStatus.FAILED + status = TestStatus.FAILED + } else { + description = if (oneOrMoreRuleAreSilent) { + stringProvider.getString(R.string.settings_troubleshoot_test_bing_settings_success_with_warn) } else { - if (oneOrMoreRuleAreSilent) { - description = stringProvider.getString(R.string.settings_troubleshoot_test_bing_settings_success_with_warn) - } else { - description = null - } - status = TestStatus.SUCCESS + null } + status = TestStatus.SUCCESS } } } \ No newline at end of file diff --git a/vector/src/main/java/im/vector/riotx/features/webview/VectorWebViewActivity.kt b/vector/src/main/java/im/vector/riotx/features/webview/VectorWebViewActivity.kt index 99c9d94336..494c255292 100644 --- a/vector/src/main/java/im/vector/riotx/features/webview/VectorWebViewActivity.kt +++ b/vector/src/main/java/im/vector/riotx/features/webview/VectorWebViewActivity.kt @@ -75,13 +75,13 @@ class VectorWebViewActivity : VectorBaseActivity() { cookieManager.setAcceptThirdPartyCookies(simple_webview, true) } - val url = intent.extras.getString(EXTRA_URL) - val title = intent.extras.getString(EXTRA_TITLE, USE_TITLE_FROM_WEB_PAGE) + val url = intent.extras?.getString(EXTRA_URL) + val title = intent.extras?.getString(EXTRA_TITLE, USE_TITLE_FROM_WEB_PAGE) if (title != USE_TITLE_FROM_WEB_PAGE) { setTitle(title) } - val webViewMode = intent.extras.getSerializable(EXTRA_MODE) as WebViewMode + val webViewMode = intent.extras?.getSerializable(EXTRA_MODE) as WebViewMode val eventListener = webViewMode.eventListener(this, session) simple_webview.webViewClient = VectorWebViewClient(eventListener) simple_webview.webChromeClient = object : WebChromeClient() { diff --git a/vector/src/main/java/im/vector/riotx/features/webview/VectorWebViewClient.kt b/vector/src/main/java/im/vector/riotx/features/webview/VectorWebViewClient.kt index 080bbacae8..fb845a5e87 100644 --- a/vector/src/main/java/im/vector/riotx/features/webview/VectorWebViewClient.kt +++ b/vector/src/main/java/im/vector/riotx/features/webview/VectorWebViewClient.kt @@ -14,6 +14,8 @@ * limitations under the License. */ +@file:Suppress("DEPRECATION") + package im.vector.riotx.features.webview import android.annotation.TargetApi diff --git a/vector/src/main/java/im/vector/riotx/features/workers/signout/SignOutBottomSheetDialogFragment.kt b/vector/src/main/java/im/vector/riotx/features/workers/signout/SignOutBottomSheetDialogFragment.kt index 641a1ec8d0..5232faa658 100644 --- a/vector/src/main/java/im/vector/riotx/features/workers/signout/SignOutBottomSheetDialogFragment.kt +++ b/vector/src/main/java/im/vector/riotx/features/workers/signout/SignOutBottomSheetDialogFragment.kt @@ -90,7 +90,7 @@ class SignOutBottomSheetDialogFragment : BottomSheetDialogFragment() { var onSignOut: Runnable? = null companion object { - fun newInstance(userId: String) = SignOutBottomSheetDialogFragment() + fun newInstance() = SignOutBottomSheetDialogFragment() private const val EXPORT_REQ = 0 } diff --git a/vector/src/main/java/im/vector/riotx/features/workers/signout/SignOutUiWorker.kt b/vector/src/main/java/im/vector/riotx/features/workers/signout/SignOutUiWorker.kt index fd0af94f80..4ecb471ef8 100644 --- a/vector/src/main/java/im/vector/riotx/features/workers/signout/SignOutUiWorker.kt +++ b/vector/src/main/java/im/vector/riotx/features/workers/signout/SignOutUiWorker.kt @@ -35,7 +35,7 @@ class SignOutUiWorker(private val activity: FragmentActivity) { activeSessionHolder = context.vectorComponent().activeSessionHolder() val session = activeSessionHolder.getActiveSession() if (SignOutViewModel.doYouNeedToBeDisplayed(session)) { - val signOutDialog = SignOutBottomSheetDialogFragment.newInstance(session.myUserId) + val signOutDialog = SignOutBottomSheetDialogFragment.newInstance() signOutDialog.onSignOut = Runnable { doSignOut() } diff --git a/vector/src/main/res/layout/item_dialog.xml b/vector/src/main/res/layout/item_dialog.xml deleted file mode 100644 index 61ab89e0fc..0000000000 --- a/vector/src/main/res/layout/item_dialog.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - - - - \ No newline at end of file From 255fa11e89c85970ce69747454b64ba8957783bb Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 9 Oct 2019 12:48:46 +0200 Subject: [PATCH 18/31] Remove extra spaces --- matrix-sdk-android-rx/build.gradle | 3 --- 1 file changed, 3 deletions(-) diff --git a/matrix-sdk-android-rx/build.gradle b/matrix-sdk-android-rx/build.gradle index 643eca82a3..31f928c241 100644 --- a/matrix-sdk-android-rx/build.gradle +++ b/matrix-sdk-android-rx/build.gradle @@ -5,8 +5,6 @@ apply plugin: 'kotlin-kapt' android { compileSdkVersion 28 - - defaultConfig { minSdkVersion 16 targetSdkVersion 28 @@ -14,7 +12,6 @@ android { versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" - } buildTypes { From 72d3f1e90985260625e493579a4a9e47022238d2 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 9 Oct 2019 15:06:02 +0200 Subject: [PATCH 19/31] Configure ktlint --- .buildkite/pipeline.yml | 5 ++++- .editorconfig | 30 ++++++++++++++++++++++++++++++ .gitignore | 2 ++ CONTRIBUTING.md | 9 +++++++++ 4 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 .editorconfig diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index e60595e8b9..fb2c36743d 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -54,4 +54,7 @@ steps: # Code quality - label: "Code quality" - command: "./tools/check/check_code_quality.sh" + command: + - "./tools/check/check_code_quality.sh" + - "curl -sSLO https://github.com/pinterest/ktlint/releases/download/0.34.2/ktlint && chmod a+x ktlint" + - "./ktlint --android -v" diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000000..190985981f --- /dev/null +++ b/.editorconfig @@ -0,0 +1,30 @@ +# For ktlint configuration. Ref: https://ktlint.github.io/ + +[*.{kt,kts}] +# possible values: number (e.g. 2), "unset" (makes ktlint ignore indentation completely) +indent_size=unset +# true (recommended) / false +insert_final_newline=true +# possible values: number (e.g. 120) (package name, imports & comments are ignored), "off" +# it's automatically set to 100 on `ktlint --android ...` (per Android Kotlin Style Guide) +max_line_length=off + +# Comma-separated list of rules to disable (Since 0.34.0) +# Note that rules in any ruleset other than the standard ruleset will need to be prefixed +# by the ruleset identifier. +disabled_rules=no-wildcard-imports,no-multi-spaces,colon-spacing,chain-wrapping,import-ordering + +# The following (so far identified) rules are kept: +# no-blank-line-before-rbrace +# final-newline +# no-consecutive-blank-lines +# comment-spacing +# filename +# comma-spacing +# paren-spacing +# op-spacing +# string-template +# no-unused-imports +# curly-spacing +# no-semi +# no-empty-class-body diff --git a/.gitignore b/.gitignore index 0722110715..26ee897e5e 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,5 @@ .externalNativeBuild /tmp + +ktlint diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 449f6421cf..0c1fd13d74 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -42,6 +42,15 @@ Make sure the following commands execute without any error: > ./tools/check/check_code_quality.sh +> curl -sSLO https://github.com/pinterest/ktlint/releases/download/0.34.2/ktlint && chmod a+x ktlint +> ./ktlint --android -v + +Note that you can run + +> ./ktlint --android -v -F + +For ktlint to fix some detected errors for you + > ./gradlew lintGplayRelease ### Unit tests From cdfc4025991b9ed2553c005b20fb13f95453ce8a Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 9 Oct 2019 14:43:58 +0200 Subject: [PATCH 20/31] Fix Timber error in formatting --- .../android/internal/crypto/keysbackup/KeysBackupPassword.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/KeysBackupPassword.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/KeysBackupPassword.kt index eabd5dff04..0fedcd8509 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/KeysBackupPassword.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/KeysBackupPassword.kt @@ -133,7 +133,7 @@ private fun deriveKey(password: String, } } - Timber.v("KeysBackupPassword", "## deriveKeys() : " + iterations + " in " + (System.currentTimeMillis() - t0) + " ms") + Timber.v("KeysBackupPassword: deriveKeys() : " + iterations + " in " + (System.currentTimeMillis() - t0) + " ms") return dk } @@ -149,4 +149,4 @@ private fun generateSalt(): String { } return salt.substring(0, SALT_LENGTH) -} \ No newline at end of file +} From 68db9c1cc00e41bc25a966692a02224ed19c87be Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 9 Oct 2019 15:11:21 +0200 Subject: [PATCH 21/31] Create a specific step for ktlint --- .buildkite/pipeline.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index fb2c36743d..ecc3120588 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -56,5 +56,8 @@ steps: - label: "Code quality" command: - "./tools/check/check_code_quality.sh" + + - label: "ktlint" + command: - "curl -sSLO https://github.com/pinterest/ktlint/releases/download/0.34.2/ktlint && chmod a+x ktlint" - "./ktlint --android -v" From eec470f2ce82d623ec9efe90bd49bca87030b90e Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 9 Oct 2019 15:15:15 +0200 Subject: [PATCH 22/31] Fix code quality issues --- .../android/internal/crypto/keysbackup/KeysBackup.kt | 6 ++++-- .../riotx/features/home/room/detail/RoomDetailFragment.kt | 7 +++---- .../riotx/features/home/room/detail/RoomDetailViewModel.kt | 4 ++-- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/KeysBackup.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/KeysBackup.kt index 47da851bdd..34e56db2a8 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/KeysBackup.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/KeysBackup.kt @@ -665,12 +665,14 @@ internal class KeysBackup @Inject constructor( } } } - Timber.v("restoreKeysWithRecoveryKey: Decrypted ${sessionsData.size} keys out of $sessionsFromHsCount from the backup store on the homeserver") + Timber.v("restoreKeysWithRecoveryKey: Decrypted ${sessionsData.size} keys out" + + " of $sessionsFromHsCount from the backup store on the homeserver") // Do not trigger a backup for them if they come from the backup version we are using val backUp = keysVersionResult.version != keysBackupVersion?.version if (backUp) { - Timber.v("restoreKeysWithRecoveryKey: Those keys will be backed up to backup version: ${keysBackupVersion?.version}") + Timber.v("restoreKeysWithRecoveryKey: Those keys will be backed up" + + " to backup version: ${keysBackupVersion?.version}") } // Import them into the crypto store diff --git a/vector/src/main/java/im/vector/riotx/features/home/room/detail/RoomDetailFragment.kt b/vector/src/main/java/im/vector/riotx/features/home/room/detail/RoomDetailFragment.kt index 3ff7bb827d..0346372867 100644 --- a/vector/src/main/java/im/vector/riotx/features/home/room/detail/RoomDetailFragment.kt +++ b/vector/src/main/java/im/vector/riotx/features/home/room/detail/RoomDetailFragment.kt @@ -641,8 +641,7 @@ class RoomDetailFragment : inviteView.callback = this } - /* - private fun onSendChoiceClicked(dialogListItem: DialogListItem) { + /* private fun onSendChoiceClicked(dialogListItem: DialogListItem) { Timber.v("On send choice clicked: $dialogListItem") when (dialogListItem) { is DialogListItem.SendFile -> { @@ -667,8 +666,8 @@ class RoomDetailFragment : // launchNativeVideoRecorder() } } - } - */ + } */ + private fun handleMediaIntent(data: Intent) { val files: ArrayList = data.getParcelableArrayListExtra(FilePickerActivity.MEDIA_FILES) roomDetailViewModel.process(RoomDetailActions.SendMedia(files)) diff --git a/vector/src/main/java/im/vector/riotx/features/home/room/detail/RoomDetailViewModel.kt b/vector/src/main/java/im/vector/riotx/features/home/room/detail/RoomDetailViewModel.kt index 6fa377a99d..fc4577b22d 100644 --- a/vector/src/main/java/im/vector/riotx/features/home/room/detail/RoomDetailViewModel.kt +++ b/vector/src/main/java/im/vector/riotx/features/home/room/detail/RoomDetailViewModel.kt @@ -407,7 +407,7 @@ class RoomDetailViewModel @AssistedInject constructor(@Assisted initialState: Ro val quotedTextMsg = StringBuilder() if (messageParagraphs != null) { for (i in messageParagraphs.indices) { - if (messageParagraphs[i].trim { it <= ' ' } != "") { + if (messageParagraphs[i].trim() != "") { quotedTextMsg.append("> ").append(messageParagraphs[i]) } @@ -759,4 +759,4 @@ class RoomDetailViewModel @AssistedInject constructor(@Assisted initialState: Ro super.onCleared() } -} \ No newline at end of file +} From dceb5ffd8d75c1b924764354354d3c8a623abfed Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 9 Oct 2019 15:19:07 +0200 Subject: [PATCH 23/31] ktlint needs java --- .buildkite/pipeline.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index ecc3120588..641ea98202 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -61,3 +61,6 @@ steps: command: - "curl -sSLO https://github.com/pinterest/ktlint/releases/download/0.34.2/ktlint && chmod a+x ktlint" - "./ktlint --android -v" + plugins: + - docker#v3.1.0: + image: "openjdk" From 15dc4d6369834b3f1a219152a41422685c97f65f Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 9 Oct 2019 15:24:05 +0200 Subject: [PATCH 24/31] Fix ktlint issue automatically by running `./ktlint --android -v -F` --- .../im/vector/matrix/rx/LiveDataObservable.kt | 2 +- .../matrix/rx/MatrixCallbackCompletable.kt | 3 +- .../vector/matrix/rx/MatrixCallbackSingle.kt | 2 +- .../java/im/vector/matrix/rx/OptionalRx.kt | 2 +- .../main/java/im/vector/matrix/rx/RxRoom.kt | 3 +- .../java/im/vector/matrix/rx/RxSession.kt | 3 +- .../vector/matrix/android/InstrumentedTest.kt | 2 +- .../android/OkReplayRuleChainNoActivity.kt | 2 +- .../SingleThreadCoroutineDispatcher.kt | 2 +- .../matrix/android/auth/AuthenticatorTest.kt | 6 +- .../internal/crypto/CryptoStoreHelper.kt | 2 +- .../internal/crypto/CryptoStoreTest.kt | 2 +- .../internal/util/JsonCanonicalizerTest.kt | 11 +-- .../session/room/timeline/ChunkEntityTest.kt | 5 +- .../timeline/FakeGetContextOfEventTask.kt | 4 +- .../room/timeline/FakePaginationTask.kt | 2 - .../room/timeline/FakeTokenChunkEvent.kt | 2 +- .../session/room/timeline/RoomDataHelper.kt | 4 +- .../session/room/timeline/TimelineTest.kt | 4 +- .../interceptors/FormattedJsonHttpLogger.kt | 4 +- .../im/vector/matrix/android/api/Matrix.kt | 2 - .../matrix/android/api/MatrixCallback.kt | 7 +- .../matrix/android/api/MatrixPatterns.kt | 2 - .../matrix/android/api/auth/Authenticator.kt | 2 +- .../auth/data/HomeServerConnectionConfig.kt | 8 -- .../api/comparators/DatedObjectComparators.kt | 2 +- .../api/extensions/MatrixSdkExtensions.kt | 3 +- .../api/failure/ConsentNotGivenError.kt | 2 +- .../matrix/android/api/failure/Failure.kt | 3 +- .../matrix/android/api/failure/MatrixError.kt | 3 +- .../android/api/listeners/ProgressListener.kt | 2 +- .../api/listeners/StepProgressListener.kt | 2 +- .../android/api/permalinks/MatrixLinkify.kt | 3 +- .../api/permalinks/MatrixPermalinkSpan.kt | 4 +- .../android/api/permalinks/PermalinkData.kt | 1 - .../api/permalinks/PermalinkFactory.kt | 3 - .../android/api/permalinks/PermalinkParser.kt | 3 +- .../matrix/android/api/pushrules/Action.kt | 5 - .../matrix/android/api/pushrules/Condition.kt | 4 +- .../api/pushrules/ConditionResolver.kt | 2 +- .../pushrules/ContainsDisplayNameCondition.kt | 5 +- .../api/pushrules/EventMatchCondition.kt | 17 ++-- .../android/api/pushrules/PushRuleService.kt | 6 +- .../api/pushrules/RoomMemberCountCondition.kt | 3 +- .../SenderNotificationPermissionCondition.kt | 4 +- .../api/pushrules/rest/PushCondition.kt | 2 +- .../android/api/pushrules/rest/PushRule.kt | 2 - .../android/api/pushrules/rest/Ruleset.kt | 2 +- .../api/session/InitialSyncProgressService.kt | 2 +- .../matrix/android/api/session/Session.kt | 5 +- .../android/api/session/cache/CacheService.kt | 3 +- .../session/content/ContentAttachmentData.kt | 3 +- .../content/ContentUploadStateTracker.kt | 2 +- .../api/session/content/ContentUrlResolver.kt | 2 +- .../api/session/crypto/CryptoService.kt | 3 +- .../api/session/crypto/MXCryptoError.kt | 2 +- .../crypto/keysbackup/KeysBackupService.kt | 3 +- .../crypto/keysbackup/KeysBackupState.kt | 2 +- .../keysbackup/KeysBackupStateListener.kt | 2 +- .../api/session/crypto/sas/CancelCode.kt | 2 +- .../session/crypto/sas/EmojiRepresentation.kt | 2 +- .../sas/IncomingSasVerificationTransaction.kt | 2 +- .../android/api/session/crypto/sas/Mode.kt | 2 +- .../sas/OutgoingSasVerificationRequest.kt | 2 +- .../crypto/sas/SasVerificationService.kt | 2 +- .../crypto/sas/SasVerificationTransaction.kt | 2 +- .../crypto/sas/SasVerificationTxState.kt | 2 +- .../events/model/AggregatedAnnotation.kt | 4 +- .../events/model/AggregatedRelations.kt | 2 +- .../model/DefaultUnsignedRelationInfo.kt | 2 +- .../android/api/session/events/model/Event.kt | 10 +- .../api/session/events/model/EventType.kt | 2 - .../api/session/events/model/RelationType.kt | 4 +- .../api/session/events/model/UnsignedData.kt | 2 +- .../events/model/UnsignedRelationInfo.kt | 3 +- .../android/api/session/file/FileService.kt | 3 +- .../matrix/android/api/session/group/Group.kt | 2 +- .../android/api/session/group/GroupService.kt | 3 +- .../api/session/group/model/GroupSummary.kt | 2 +- .../HomeServerCapabilitiesService.kt | 1 - .../android/api/session/pushers/Pusher.kt | 2 +- .../api/session/pushers/PushersService.kt | 4 +- .../matrix/android/api/session/room/Room.kt | 3 +- .../api/session/room/RoomDirectoryService.kt | 3 +- .../android/api/session/room/RoomService.kt | 3 +- .../session/room/crypto/RoomCryptoService.kt | 2 +- .../session/room/failure/CreateRoomFailure.kt | 3 +- .../session/room/failure/JoinRoomFailure.kt | 3 +- .../session/room/members/MembershipService.kt | 3 +- .../room/model/EventAnnotationsSummary.kt | 2 +- .../android/api/session/room/model/Invite.kt | 2 +- .../api/session/room/model/Membership.kt | 1 - .../api/session/room/model/PowerLevels.kt | 4 +- .../room/model/ReactionAggregatedSummary.kt | 2 +- .../api/session/room/model/ReadReceipt.kt | 2 +- .../session/room/model/RoomAliasesContent.kt | 2 +- .../session/room/model/RoomAvatarContent.kt | 2 +- .../room/model/RoomCanonicalAliasContent.kt | 2 +- .../room/model/RoomDirectoryVisibility.kt | 2 +- .../room/model/RoomHistoryVisibility.kt | 2 +- .../model/RoomHistoryVisibilityContent.kt | 2 +- .../api/session/room/model/RoomMember.kt | 2 +- .../api/session/room/model/RoomNameContent.kt | 2 +- .../api/session/room/model/RoomSummary.kt | 1 - .../session/room/model/RoomTopicContent.kt | 2 +- .../android/api/session/room/model/Signed.kt | 2 +- .../api/session/room/model/VersioningState.kt | 2 +- .../room/model/call/CallAnswerContent.kt | 3 +- .../room/model/call/CallCandidatesContent.kt | 3 +- .../room/model/call/CallInviteContent.kt | 3 +- .../room/model/create/CreateRoomParams.kt | 2 +- .../room/model/create/CreateRoomPreset.kt | 2 +- .../session/room/model/create/Invite3Pid.kt | 2 +- .../room/model/create/RoomCreateContent.kt | 2 - .../session/room/model/message/AudioInfo.kt | 2 +- .../session/room/model/message/FileInfo.kt | 2 +- .../session/room/model/message/ImageInfo.kt | 2 +- .../room/model/message/LocationInfo.kt | 2 +- .../room/model/message/MessageContent.kt | 2 - .../model/message/MessageDefaultContent.kt | 2 +- .../room/model/message/MessageEmoteContent.kt | 2 +- .../model/message/MessageEncryptedContent.kt | 1 - .../model/message/MessageLocationContent.kt | 2 +- .../model/message/MessageNoticeContent.kt | 2 +- .../room/model/message/MessageTextContent.kt | 2 +- .../session/room/model/message/MessageType.kt | 2 +- .../room/model/message/ThumbnailInfo.kt | 2 +- .../session/room/model/message/VideoInfo.kt | 2 +- .../room/model/relation/ReactionInfo.kt | 4 +- .../room/model/relation/RelationContent.kt | 2 +- .../room/model/relation/RelationService.kt | 11 +-- .../api/session/room/model/tag/RoomTag.kt | 3 +- .../model/thirdparty/RoomDirectoryData.kt | 1 - .../model/thirdparty/ThirdPartyProtocol.kt | 2 +- .../thirdparty/ThirdPartyProtocolInstance.kt | 3 +- .../api/session/room/read/ReadService.kt | 2 +- .../api/session/room/send/DraftService.kt | 1 - .../api/session/room/send/SendService.kt | 6 +- .../api/session/room/send/SendState.kt | 4 - .../api/session/room/state/StateService.kt | 3 +- .../api/session/room/timeline/Timeline.kt | 6 +- .../session/room/timeline/TimelineEvent.kt | 3 - .../session/room/timeline/TimelineService.kt | 4 +- .../securestorage/SecureStorageService.kt | 1 - .../api/session/signout/SignOutService.kt | 3 +- .../android/api/session/sync/FilterService.kt | 2 +- .../android/api/session/sync/SyncState.kt | 2 +- .../android/api/session/user/UserService.kt | 3 +- .../android/api/session/user/model/User.kt | 2 +- .../matrix/android/api/util/Cancelable.kt | 3 +- .../matrix/android/api/util/ContentUtils.kt | 3 +- .../api/util/MatrixCallbackDelegate.kt | 2 +- .../matrix/android/api/util/Optional.kt | 3 +- .../vector/matrix/android/api/util/Types.kt | 2 +- .../matrix/android/internal/SessionManager.kt | 2 +- .../matrix/android/internal/auth/AuthAPI.kt | 1 - .../android/internal/auth/AuthModule.kt | 2 - .../internal/auth/DefaultAuthenticator.kt | 4 +- .../internal/auth/SessionParamsStore.kt | 2 +- .../data/InteractiveAuthenticationFlow.kt | 2 +- .../internal/auth/data/LoginFlowResponse.kt | 2 +- .../internal/auth/data/LoginFlowTypes.kt | 2 +- .../android/internal/auth/data/LoginParams.kt | 2 +- .../internal/auth/data/PasswordLoginParams.kt | 6 +- .../internal/auth/data/ThreePidMedium.kt | 2 +- .../auth/db/RealmSessionParamsStore.kt | 3 +- .../internal/auth/db/SessionParamsEntity.kt | 2 +- .../internal/auth/db/SessionParamsMapper.kt | 4 +- .../registration/RegistrationFlowResponse.kt | 2 +- .../android/internal/crypto/CryptoModule.kt | 2 - .../internal/crypto/DefaultCryptoService.kt | 8 +- .../internal/crypto/DeviceListManager.kt | 3 +- .../internal/crypto/IncomingRoomKeyRequest.kt | 2 - .../crypto/IncomingRoomKeyRequestManager.kt | 7 +- .../internal/crypto/MXCryptoAlgorithms.kt | 2 +- .../android/internal/crypto/MXOlmDevice.kt | 14 +-- .../internal/crypto/MyDeviceInfoHolder.kt | 2 +- .../internal/crypto/NewSessionListener.kt | 3 +- .../android/internal/crypto/ObjectSigner.kt | 6 +- .../internal/crypto/OneTimeKeysUploader.kt | 3 +- .../internal/crypto/OutgoingRoomKeyRequest.kt | 1 - .../crypto/OutgoingRoomKeyRequestManager.kt | 4 - .../internal/crypto/RoomDecryptorProvider.kt | 3 +- .../EnsureOlmSessionsForDevicesAction.kt | 4 +- .../EnsureOlmSessionsForUsersAction.kt | 2 +- .../actions/MegolmSessionDataImporter.kt | 2 +- .../crypto/actions/MessageEncrypter.kt | 3 +- .../actions/SetDeviceVerificationAction.kt | 2 +- .../algorithms/megolm/MXMegolmDecryption.kt | 3 - .../megolm/MXMegolmDecryptionFactory.kt | 2 +- .../algorithms/megolm/MXMegolmEncryption.kt | 1 - .../megolm/MXMegolmEncryptionFactory.kt | 2 +- .../algorithms/olm/MXOlmDecryptionFactory.kt | 2 +- .../crypto/algorithms/olm/MXOlmEncryption.kt | 1 - .../algorithms/olm/MXOlmEncryptionFactory.kt | 2 +- .../android/internal/crypto/api/CryptoApi.kt | 1 - .../crypto/attachments/ElementToDecrypt.kt | 4 +- .../internal/crypto/keysbackup/KeysBackup.kt | 4 - .../crypto/keysbackup/KeysBackupPassword.kt | 1 - .../crypto/keysbackup/api/RoomKeysApi.kt | 1 - .../model/KeyBackupVersionTrustSignature.kt | 1 - .../model/KeysBackupVersionTrust.kt | 2 +- .../model/KeysBackupVersionTrustSignature.kt | 1 - .../model/MegolmBackupCreationInfo.kt | 1 - .../model/rest/KeysVersionResult.kt | 2 +- .../model/rest/UpdateKeysBackupVersionBody.kt | 2 +- .../tasks/CreateKeysBackupVersionTask.kt | 1 - .../keysbackup/tasks/DeleteBackupTask.kt | 1 - .../tasks/GetKeysBackupLastVersionTask.kt | 1 - .../tasks/GetKeysBackupVersionTask.kt | 1 - .../tasks/GetRoomSessionsDataTask.kt | 1 - .../tasks/UpdateKeysBackupVersionTask.kt | 1 - .../internal/crypto/model/MXDeviceInfo.kt | 2 +- .../android/internal/crypto/model/MXKey.kt | 3 +- .../crypto/model/MXQueuedEncryption.kt | 2 +- .../crypto/model/MXUsersDevicesMap.kt | 3 +- .../model/OlmInboundGroupSessionWrapper.kt | 5 +- .../crypto/model/OlmSessionWrapper.kt | 2 +- .../model/event/EncryptedEventContent.kt | 4 +- .../model/event/EncryptionEventContent.kt | 2 +- .../crypto/model/event/OlmPayloadContent.kt | 2 - .../internal/crypto/model/rest/DeviceInfo.kt | 1 - .../crypto/model/rest/EncryptedFileKey.kt | 1 - .../crypto/model/rest/EncryptedMessage.kt | 1 - .../model/rest/ForwardedRoomKeyContent.kt | 2 +- .../model/rest/KeyVerificationCancel.kt | 2 +- .../crypto/model/rest/KeyVerificationKey.kt | 4 +- .../crypto/model/rest/KeyVerificationMac.kt | 3 +- .../crypto/model/rest/KeyVerificationStart.kt | 1 - .../crypto/model/rest/KeysClaimBody.kt | 1 - .../crypto/model/rest/KeysClaimResponse.kt | 1 - .../crypto/model/rest/KeysUploadResponse.kt | 1 - .../crypto/model/rest/RoomKeyShare.kt | 2 +- .../model/rest/RoomKeyShareCancellation.kt | 2 +- .../crypto/model/rest/RoomKeyShareRequest.kt | 2 +- .../crypto/model/rest/SendToDeviceBody.kt | 2 +- .../crypto/model/rest/UpdateDeviceInfoBody.kt | 1 - .../WarnOnUnknownDeviceRepository.kt | 3 +- .../internal/crypto/store/db/Helper.kt | 1 - .../crypto/store/db/RealmCryptoStore.kt | 4 +- .../crypto/store/db/RealmCryptoStoreModule.kt | 2 +- .../store/db/model/CryptoMetadataEntity.kt | 3 +- .../crypto/store/db/model/CryptoRoomEntity.kt | 3 +- .../db/model/IncomingRoomKeyRequestEntity.kt | 2 +- .../store/db/model/KeysBackupDataEntity.kt | 2 +- .../db/model/OlmInboundGroupSessionEntity.kt | 2 +- .../crypto/store/db/model/OlmSessionEntity.kt | 2 +- .../db/model/OutgoingRoomKeyRequestEntity.kt | 2 - .../store/db/query/UserEntitiesQueries.kt | 1 - .../internal/crypto/tasks/DeleteDeviceTask.kt | 1 - .../DefaultSasVerificationService.kt | 35 +++---- .../IncomingSASVerificationTransaction.kt | 48 +++++----- .../OutgoingSASVerificationRequest.kt | 29 +++--- .../SASVerificationTransaction.kt | 60 ++++++------ .../internal/database/AsyncTransaction.kt | 3 +- .../android/internal/database/DBConstants.kt | 3 +- .../internal/database/RealmKeysUtils.kt | 2 +- .../database/RealmLiveEntityObserver.kt | 3 +- .../internal/database/RealmQueryLatch.kt | 5 +- .../SessionRealmConfigurationFactory.kt | 3 +- .../database/helper/ChunkEntityHelper.kt | 2 +- .../helper/TimelineEventEntityHelper.kt | 4 +- .../internal/database/mapper/ContentMapper.kt | 1 - .../internal/database/mapper/DraftMapper.kt | 2 +- .../mapper/EventAnnotationsSummaryMapper.kt | 2 +- .../internal/database/mapper/EventMapper.kt | 5 +- .../internal/database/mapper/GroupMapper.kt | 3 +- .../database/mapper/GroupSummaryMapper.kt | 3 +- .../mapper/HomeServerCapabilitiesMapper.kt | 2 +- .../database/mapper/PushConditionMapper.kt | 3 +- .../database/mapper/PushRulesMapper.kt | 6 +- .../internal/database/mapper/PushersMapper.kt | 2 +- .../mapper/ReadReceiptsSummaryMapper.kt | 1 - .../database/mapper/RoomSummaryMapper.kt | 5 +- .../database/mapper/TimelineEventMapper.kt | 3 - .../internal/database/mapper/UserMapper.kt | 2 +- .../internal/database/model/ChunkEntity.kt | 4 +- .../internal/database/model/DraftEntity.kt | 1 - .../model/EditAggregatedSummaryEntity.kt | 3 +- .../model/EventAnnotationsSummaryEntity.kt | 4 +- .../internal/database/model/EventEntity.kt | 4 +- .../internal/database/model/FilterEntity.kt | 2 +- .../internal/database/model/GroupEntity.kt | 3 +- .../database/model/GroupSummaryEntity.kt | 3 +- .../model/HomeServerCapabilitiesEntity.kt | 3 +- .../database/model/PushConditionEntity.kt | 3 +- .../internal/database/model/PushRuleEntity.kt | 14 ++- .../database/model/PushRulesEntity.kt | 3 +- .../database/model/PusherDataEntity.kt | 2 +- .../internal/database/model/PusherEntity.kt | 7 +- .../model/ReactionAggregatedSummaryEntity.kt | 1 - .../database/model/ReadMarkerEntity.kt | 3 +- .../model/ReadReceiptsSummaryEntity.kt | 3 +- .../internal/database/model/RoomEntity.kt | 1 - .../database/model/RoomSummaryEntity.kt | 3 +- .../internal/database/model/RoomTagEntity.kt | 3 +- .../internal/database/model/SyncEntity.kt | 2 +- .../database/model/TimelineEventEntity.kt | 4 +- .../database/model/UserDraftsEntity.kt | 3 +- .../internal/database/model/UserEntity.kt | 1 - .../database/query/ChunkEntityQueries.kt | 2 +- .../EventAnnotationsSummaryEntityQuery.kt | 5 +- .../database/query/EventEntityQueries.kt | 1 - .../internal/database/query/FilterContent.kt | 3 +- .../internal/database/query/ReadQueries.kt | 2 +- .../query/ReadReceiptEntityQueries.kt | 2 - .../query/RoomSummaryEntityQueries.kt | 4 - .../query/TimelineEventEntityQueries.kt | 4 +- .../database/query/UserDraftsEntityQueries.kt | 1 - .../android/internal/di/AuthQualifiers.kt | 2 +- .../android/internal/di/DbQualifiers.kt | 2 +- .../android/internal/di/MatrixComponent.kt | 4 +- .../android/internal/di/MatrixModule.kt | 3 +- .../matrix/android/internal/di/MatrixScope.kt | 2 +- .../android/internal/di/MoshiProvider.kt | 4 - .../android/internal/di/NetworkModule.kt | 2 +- .../di/SessionAssistedInjectModule.kt | 2 +- .../internal/extensions/RealmExtensions.kt | 2 +- .../matrix/android/internal/extensions/Try.kt | 2 +- .../network/AccessTokenInterceptor.kt | 4 +- .../android/internal/network/HttpHeaders.kt | 3 +- .../network/NetworkConnectivityChecker.kt | 5 - .../internal/network/NetworkConstants.kt | 2 - .../internal/network/ProgressRequestBody.kt | 2 +- .../android/internal/network/Request.kt | 2 +- .../internal/network/RetrofitFactory.kt | 3 +- .../internal/network/TimeOutInterceptor.kt | 2 +- .../internal/network/UnitConverterFactory.kt | 2 +- .../internal/network/UserAgentHolder.kt | 3 +- .../internal/network/UserAgentInterceptor.kt | 3 +- .../network/parsing/UriMoshiAdapter.kt | 3 +- .../android/internal/network/ssl/CertUtil.kt | 4 +- .../internal/network/ssl/Fingerprint.kt | 1 - .../internal/network/ssl/TLSSocketFactory.kt | 1 - .../DefaultInitialSyncProgressService.kt | 6 +- .../internal/session/DefaultSession.kt | 3 +- .../internal/session/SessionComponent.kt | 4 - .../internal/session/SessionListeners.kt | 3 +- .../android/internal/session/SessionModule.kt | 2 - .../android/internal/session/SessionScope.kt | 2 +- .../internal/session/cache/CacheModule.kt | 3 +- .../internal/session/cache/ClearCacheTask.kt | 2 +- .../session/cache/DefaultCacheService.kt | 2 +- .../session/content/ContentUploadResponse.kt | 2 +- .../DefaultContentUploadStateTracker.kt | 1 - .../content/DefaultContentUrlResolver.kt | 4 +- .../internal/session/content/FileUploader.kt | 6 +- .../session/content/ThumbnailExtractor.kt | 4 +- .../session/content/UploadContentWorker.kt | 4 - .../session/filter/DefaultFilterRepository.kt | 2 +- .../session/filter/DefaultFilterService.kt | 2 +- .../session/filter/DefaultSaveFilterTask.kt | 5 +- .../internal/session/filter/FilterBody.kt | 1 - .../internal/session/filter/FilterFactory.kt | 2 +- .../internal/session/filter/FilterModule.kt | 4 +- .../session/filter/FilterRepository.kt | 2 +- .../session/filter/RoomEventFilter.kt | 2 - .../internal/session/filter/RoomFilter.kt | 1 - .../session/group/DefaultGetGroupDataTask.kt | 4 +- .../internal/session/group/DefaultGroup.kt | 4 +- .../session/group/DefaultGroupService.kt | 3 +- .../session/group/GetGroupDataWorker.kt | 3 +- .../internal/session/group/GroupAPI.kt | 5 +- .../internal/session/group/GroupModule.kt | 2 +- .../session/group/GroupSummaryUpdater.kt | 2 +- .../group/model/GroupSummaryRoomsSection.kt | 2 +- .../group/model/GroupSummaryUsersSection.kt | 3 +- .../internal/session/group/model/GroupUser.kt | 2 +- .../session/group/model/GroupUsers.kt | 2 +- .../session/homeserver/CapabilitiesAPI.kt | 3 +- .../DefaultGetHomeServerCapabilitiesTask.kt | 4 +- .../HomeServerCapabilitiesModule.kt | 1 - .../notification/DefaultPushRuleService.kt | 3 +- .../notification/ProcessEventForPushTask.kt | 5 +- .../session/pushers/AddHttpPusherWorker.kt | 8 +- .../pushers/DefaultConditionResolver.kt | 7 +- .../session/pushers/DefaultPusherService.kt | 7 +- .../session/pushers/GetPushRulesTask.kt | 3 +- .../session/pushers/GetPushersResponse.kt | 3 +- .../session/pushers/GetPushersTask.kt | 4 +- .../internal/session/pushers/JsonPusher.kt | 1 - .../session/pushers/JsonPusherData.kt | 2 +- .../internal/session/pushers/PushRulesApi.kt | 5 +- .../internal/session/pushers/PushersAPI.kt | 4 +- .../internal/session/pushers/PushersModule.kt | 4 +- .../session/pushers/RemovePusherTask.kt | 2 +- .../session/pushers/SavePushRulesTask.kt | 3 +- .../pushers/UpdatePushRuleEnableStatusTask.kt | 3 +- .../internal/session/room/DefaultRoom.kt | 3 +- .../room/DefaultRoomDirectoryService.kt | 2 +- .../session/room/DefaultRoomService.kt | 2 +- .../room/EventRelationsAggregationTask.kt | 76 +++++++-------- .../room/EventRelationsAggregationUpdater.kt | 2 - .../android/internal/session/room/RoomAPI.kt | 5 +- .../internal/session/room/RoomFactory.kt | 4 +- .../session/room/RoomSummaryUpdater.kt | 4 +- .../session/room/create/CreateRoomTask.kt | 2 - .../create/RoomCreateEventLiveObserver.kt | 4 +- .../session/room/draft/DefaultDraftService.kt | 1 - .../membership/DefaultMembershipService.kt | 2 +- .../room/membership/LoadRoomMembersTask.kt | 2 - .../membership/RoomDisplayNameResolver.kt | 1 - .../session/room/membership/RoomMembers.kt | 1 - .../room/membership/RoomMembersResponse.kt | 2 +- .../room/membership/joining/InviteTask.kt | 1 - .../room/membership/joining/JoinRoomTask.kt | 1 - .../room/membership/leaving/LeaveRoomTask.kt | 1 - .../session/room/prune/EventsPruner.kt | 3 +- .../session/room/prune/PruneEventTask.kt | 8 +- .../session/room/read/DefaultReadService.kt | 3 +- .../session/room/read/FullyReadContent.kt | 2 +- .../session/room/read/SetReadMarkersTask.kt | 3 +- .../room/relation/DefaultRelationService.kt | 12 +-- .../room/relation/FetchEditHistoryTask.kt | 4 +- .../relation/FindReactionEventForUndoTask.kt | 10 +- .../room/relation/RelationsResponse.kt | 2 +- .../room/relation/SendRelationWorker.kt | 7 +- .../room/relation/UpdateQuickReactionTask.kt | 17 ++-- .../session/room/send/DefaultSendService.kt | 13 +-- .../session/room/send/EncryptEventWorker.kt | 5 +- .../room/send/LocalEchoEventFactory.kt | 7 +- .../session/room/send/LocalEchoUpdater.kt | 5 +- .../internal/session/room/send/NoMerger.kt | 2 +- .../session/room/send/RedactEventWorker.kt | 7 +- .../session/room/send/SendEventWorker.kt | 4 +- .../session/room/send/SendResponse.kt | 2 +- .../internal/session/room/send/TextContent.kt | 3 - .../session/room/state/DefaultStateService.kt | 5 +- .../room/timeline/ClearUnlinkedEventsTask.kt | 2 - .../timeline/DefaultGetContextOfEventTask.kt | 4 +- .../room/timeline/DefaultPaginationTask.kt | 5 +- .../session/room/timeline/DefaultTimeline.kt | 18 +--- .../room/timeline/DefaultTimelineService.kt | 3 +- .../room/timeline/EventContextResponse.kt | 1 - .../session/room/timeline/GetEventTask.kt | 2 +- .../room/timeline/PaginationDirection.kt | 3 +- .../room/timeline/PaginationResponse.kt | 2 +- .../room/timeline/TimelineEventDecryptor.kt | 16 ++-- .../room/timeline/TimelineHiddenReadMarker.kt | 6 +- .../timeline/TimelineHiddenReadReceipts.kt | 5 +- .../timeline/TimelineSendEventWorkCommon.kt | 3 +- .../session/room/timeline/TokenChunkEvent.kt | 2 +- .../room/timeline/TokenChunkEventPersistor.kt | 3 +- .../RoomTombstoneEventLiveObserver.kt | 4 +- .../securestorage/SecretStoringUtils.kt | 33 +++---- .../session/signout/DefaultSignOutService.kt | 3 +- .../internal/session/signout/SignOutAPI.kt | 3 +- .../internal/session/signout/SignOutModule.kt | 3 +- .../internal/session/signout/SignOutTask.kt | 2 +- .../session/sync/CryptoSyncHandler.kt | 8 +- .../internal/session/sync/GroupSyncHandler.kt | 4 +- .../session/sync/ReadReceiptHandler.kt | 7 +- .../session/sync/RoomFullyReadHandler.kt | 3 +- .../internal/session/sync/RoomSyncHandler.kt | 8 +- .../internal/session/sync/RoomTagHandler.kt | 3 +- .../android/internal/session/sync/SyncAPI.kt | 3 +- .../internal/session/sync/SyncModule.kt | 1 - .../session/sync/SyncResponseHandler.kt | 4 +- .../android/internal/session/sync/SyncTask.kt | 4 +- .../internal/session/sync/SyncTokenStore.kt | 4 +- .../sync/UserAccountDataSyncHandler.kt | 2 +- .../internal/session/sync/job/SyncService.kt | 14 ++- .../internal/session/sync/job/SyncThread.kt | 4 - .../internal/session/sync/job/SyncWorker.kt | 4 +- .../internal/session/sync/model/DeviceInfo.kt | 1 - .../session/sync/model/DeviceListResponse.kt | 1 - .../DeviceOneTimeKeysCountSyncResponse.kt | 2 +- .../session/sync/model/GroupSyncProfile.kt | 2 +- .../session/sync/model/GroupsSyncResponse.kt | 2 +- .../session/sync/model/InvitedGroupSync.kt | 2 +- .../session/sync/model/InvitedRoomSync.kt | 2 +- .../sync/model/PresenceSyncResponse.kt | 2 +- .../session/sync/model/RoomInviteState.kt | 3 +- .../session/sync/model/RoomResponse.kt | 1 - .../internal/session/sync/model/RoomSync.kt | 3 +- .../session/sync/model/RoomSyncAccountData.kt | 2 +- .../session/sync/model/RoomSyncEphemeral.kt | 3 +- .../session/sync/model/RoomSyncState.kt | 1 - .../session/sync/model/RoomSyncSummary.kt | 3 +- .../session/sync/model/RoomSyncTimeline.kt | 3 +- .../sync/model/RoomSyncUnreadNotifications.kt | 3 +- .../session/sync/model/RoomsSyncResponse.kt | 2 +- .../session/sync/model/SyncResponse.kt | 4 +- .../sync/model/ToDeviceSyncResponse.kt | 3 +- .../session/sync/model/UserAccountData.kt | 2 +- .../model/UserAccountDataDirectMessages.kt | 1 - .../sync/model/UserAccountDataPushRules.kt | 1 - .../session/sync/model/UserAccountDataSync.kt | 2 +- .../session/user/DefaultUserService.kt | 1 - .../internal/session/user/SearchUserAPI.kt | 2 +- .../session/user/UserEntityFactory.kt | 4 +- .../internal/session/user/UserModule.kt | 3 +- .../user/accountdata/AccountDataModule.kt | 4 +- .../user/accountdata/DirectChatsHelper.kt | 4 +- .../accountdata/UpdateUserAccountDataTask.kt | 5 +- .../internal/session/user/model/SearchUser.kt | 2 +- .../session/user/model/SearchUserTask.kt | 3 +- .../session/user/model/SearchUsersResponse.kt | 1 - .../android/internal/task/ConfigurableTask.kt | 4 - .../matrix/android/internal/task/Task.kt | 2 - .../android/internal/task/TaskConstraints.kt | 2 +- .../android/internal/task/TaskExecutor.kt | 6 +- .../android/internal/task/TaskThread.kt | 2 +- .../util/BackgroundDetectionObserver.kt | 3 +- .../internal/util/CancelableCoroutine.kt | 3 +- .../android/internal/util/CancelableWork.kt | 3 +- .../matrix/android/internal/util/Debouncer.kt | 2 +- .../matrix/android/internal/util/FileSaver.kt | 2 +- .../matrix/android/internal/util/Handler.kt | 2 +- .../internal/util/JsonCanonicalizer.kt | 3 +- .../android/internal/util/LiveDataUtils.kt | 4 +- .../util/MatrixCoroutineDispatchers.kt | 2 +- .../android/internal/util/StringProvider.kt | 4 +- .../android/internal/util/StringUtils.kt | 2 +- .../internal/util/SuspendMatrixCallback.kt | 2 +- .../internal/worker/AlwaysSuccessfulWorker.kt | 2 +- .../internal/worker/DelegateWorkerFactory.kt | 3 +- .../internal/worker/WorkManagerUtil.kt | 2 +- .../matrix/android/internal/worker/Worker.kt | 2 +- .../internal/worker/WorkerParamsFactory.kt | 2 +- .../api/pushrules/PushRuleActionsTest.kt | 8 +- .../api/pushrules/PushrulesConditionTest.kt | 93 +++++++++---------- .../debug/DebugMaterialThemeDarkActivity.kt | 2 +- .../debug/DebugMaterialThemeLightActivity.kt | 2 +- .../riotx/features/debug/DebugMenuActivity.kt | 5 - .../features/debug/TestLinkifyActivity.kt | 2 - .../troubleshoot/TestAutoStartBoot.kt | 2 +- .../TestBackgroundRestrictions.kt | 5 +- .../troubleshoot/TestBatteryOptimization.kt | 3 +- .../im/vector/riotx/fdroid/package-info.kt | 2 +- .../receiver/AlarmSyncBroadcastReceiver.kt | 7 +- .../riotx/fdroid/service/VectorSyncService.kt | 3 +- .../im/vector/riotx/push/fcm/FcmHelper.kt | 2 +- ...ificationTroubleshootTestManagerFactory.kt | 3 +- .../troubleshoot/TestFirebaseToken.kt | 7 +- .../settings/troubleshoot/TestPlayServices.kt | 2 - .../troubleshoot/TestTokenRegistration.kt | 8 +- .../im/vector/riotx/gplay/package-info.kt | 1 - .../fcm/VectorFirebaseMessagingService.kt | 14 ++- .../im/vector/riotx/push/fcm/FcmHelper.kt | 5 +- ...ificationTroubleshootTestManagerFactory.kt | 3 +- .../vector/riotx/EmojiCompatFontProvider.kt | 3 +- .../im/vector/riotx/EmojiCompatWrapper.kt | 9 +- .../java/im/vector/riotx/VectorApplication.kt | 10 +- .../core/animations/SimpleAnimatorListener.kt | 2 +- .../animations/SimpleTransitionListener.kt | 2 +- .../animations/VectorFullTransitionSet.kt | 1 - .../riotx/core/date/VectorDateFormatter.kt | 4 +- .../riotx/core/di/ActiveSessionHolder.kt | 5 +- .../riotx/core/di/AssistedInjectModule.kt | 2 +- .../vector/riotx/core/di/HasScreenInjector.kt | 3 +- .../vector/riotx/core/di/HasVectorInjector.kt | 3 +- .../im/vector/riotx/core/di/ScreenModule.kt | 3 +- .../vector/riotx/core/di/VectorComponent.kt | 3 +- .../im/vector/riotx/core/di/VectorModule.kt | 5 +- .../im/vector/riotx/core/di/ViewModelKey.kt | 2 +- .../vector/riotx/core/di/ViewModelModule.kt | 3 +- .../vector/riotx/core/dialogs/DialogLocker.kt | 3 +- .../riotx/core/dialogs/ExportKeysDialog.kt | 3 +- .../im/vector/riotx/core/epoxy/EmptyItem.kt | 2 +- .../riotx/core/epoxy/ErrorWithRetryItem.kt | 3 +- .../core/epoxy/LayoutManagerStateRestorer.kt | 3 +- .../im/vector/riotx/core/epoxy/LoadingItem.kt | 3 +- .../vector/riotx/core/epoxy/NoResultItem.kt | 3 +- .../riotx/core/epoxy/VectorEpoxyHolder.kt | 2 +- .../riotx/core/epoxy/VectorEpoxyModel.kt | 4 +- .../vector/riotx/core/error/ErrorFormatter.kt | 3 +- .../core/error/ResourceLimitErrorFormatter.kt | 2 +- .../riotx/core/extensions/BasicExtensions.kt | 2 +- .../vector/riotx/core/extensions/Context.kt | 2 +- .../im/vector/riotx/core/extensions/Event.kt | 2 +- .../riotx/core/extensions/FragmentManager.kt | 2 +- .../vector/riotx/core/extensions/Iterable.kt | 2 +- .../vector/riotx/core/extensions/Session.kt | 2 +- .../vector/riotx/core/extensions/TextView.kt | 1 - .../riotx/core/extensions/UrlExtensions.kt | 2 +- .../im/vector/riotx/core/extensions/View.kt | 2 +- .../riotx/core/extensions/ViewExtensions.kt | 2 +- .../im/vector/riotx/core/files/FileSaver.kt | 2 +- .../core/glide/ElementToDecryptOption.kt | 2 - .../riotx/core/glide/MyAppGlideModule.kt | 2 +- .../core/glide/VectorGlideModelLoader.kt | 4 +- .../im/vector/riotx/core/images/ImageTools.kt | 4 +- .../core/intent/ExternalIntentAnalyser.kt | 4 +- .../im/vector/riotx/core/intent/Filename.kt | 2 +- .../riotx/core/intent/VectorMimeType.kt | 2 +- .../core/linkify/VectorAutoLinkPatterns.kt | 15 ++- .../riotx/core/linkify/VectorLinkify.kt | 39 ++++---- .../riotx/core/mvrx/NavigationViewModel.kt | 3 +- .../platform/BadgeFloatingActionButton.kt | 4 +- .../platform/CheckableConstraintLayout.kt | 2 +- .../core/platform/CheckableFrameLayout.kt | 2 +- .../riotx/core/platform/CheckableView.kt | 2 +- .../core/platform/ConfigurationViewModel.kt | 1 - .../platform/DefaultListUpdateCallback.kt | 10 +- .../core/platform/MaxHeightScrollView.kt | 2 - .../riotx/core/platform/OnBackPressed.kt | 2 +- .../vector/riotx/core/platform/Restorable.kt | 3 +- .../core/platform/SimpleFragmentActivity.kt | 2 +- .../riotx/core/platform/SimpleTextWatcher.kt | 3 +- .../vector/riotx/core/platform/StateView.kt | 2 - .../core/platform/ToolbarConfigurable.kt | 3 +- .../riotx/core/platform/VectorBaseActivity.kt | 8 +- .../riotx/core/platform/VectorBaseFragment.kt | 5 +- .../core/platform/VectorPreferenceFragment.kt | 3 +- .../riotx/core/platform/VectorViewModel.kt | 3 +- .../core/preference/AddressPreference.kt | 2 +- .../core/preference/BingRulePreference.kt | 9 +- .../core/preference/ProgressBarPreference.kt | 2 +- .../core/preference/RoomAvatarPreference.kt | 2 +- .../core/preference/UserAvatarPreference.kt | 3 +- .../preference/VectorEditTextPreference.kt | 2 +- .../core/preference/VectorGroupPreference.kt | 4 +- .../core/preference/VectorListPreference.kt | 2 +- .../riotx/core/preference/VectorPreference.kt | 6 +- .../preference/VectorPreferenceCategory.kt | 2 +- .../preference/VectorPreferenceDivider.kt | 2 +- .../riotx/core/pushers/PushersManager.kt | 2 +- .../riotx/core/resources/AppNameProvider.kt | 3 +- .../riotx/core/resources/ColorProvider.kt | 3 +- .../riotx/core/resources/DateProvider.kt | 3 +- .../riotx/core/resources/LocaleProvider.kt | 2 +- .../riotx/core/resources/ResourceUtils.kt | 4 +- .../core/resources/StringArrayProvider.kt | 3 +- .../riotx/core/resources/StringProvider.kt | 3 +- .../core/resources/UserPreferencesProvider.kt | 3 +- .../core/resources/VersionCodeProvider.kt | 2 +- .../vector/riotx/core/services/CallService.kt | 6 +- .../riotx/core/services/VectorService.kt | 2 +- .../riotx/core/ui/list/GenericFooterItem.kt | 4 +- .../vector/riotx/core/ui/list/GenericItem.kt | 2 +- .../riotx/core/ui/list/GenericItemHeader.kt | 2 +- .../riotx/core/ui/list/GenericLoaderItem.kt | 5 +- .../core/ui/views/JumpToReadMarkerView.kt | 2 - .../riotx/core/ui/views/KeysBackupBanner.kt | 1 - .../core/ui/views/PasswordStrengthBar.kt | 3 +- .../riotx/core/ui/views/ReadMarkerView.kt | 3 - .../riotx/core/ui/views/ReadReceiptsView.kt | 1 - .../core/utils/DebouncedClickListener.kt | 3 +- .../im/vector/riotx/core/utils/Debouncer.kt | 4 +- .../riotx/core/utils/DefaultSubscriber.kt | 2 +- .../riotx/core/utils/DimensionConverter.kt | 3 +- .../java/im/vector/riotx/core/utils/Emoji.kt | 4 +- .../core/utils/ExternalApplicationsUtil.kt | 2 - .../im/vector/riotx/core/utils/FileUtils.kt | 1 - .../vector/riotx/core/utils/FirstThrottler.kt | 3 +- .../im/vector/riotx/core/utils/Handler.kt | 2 +- .../im/vector/riotx/core/utils/LiveEvent.kt | 2 +- .../riotx/core/utils/PermissionsTools.kt | 5 +- .../vector/riotx/core/utils/RingtoneUtils.kt | 1 - .../im/vector/riotx/core/utils/SystemUtils.kt | 6 +- .../im/vector/riotx/core/utils/TextUtils.kt | 7 +- .../riotx/core/utils/WeakReferenceDelegate.kt | 2 +- .../im/vector/riotx/features/MainActivity.kt | 3 +- .../autocomplete/AutocompleteClickListener.kt | 2 +- .../EpoxyAutocompletePresenter.kt | 3 +- .../command/AutocompleteCommandController.kt | 2 +- .../command/AutocompleteCommandItem.kt | 3 +- .../command/AutocompleteCommandPresenter.kt | 2 +- .../command/CommandAutocompletePolicy.kt | 2 +- .../user/AutocompleteUserController.kt | 2 +- .../autocomplete/user/AutocompleteUserItem.kt | 3 +- .../user/AutocompleteUserPresenter.kt | 3 +- .../vector/riotx/features/badge/BadgeProxy.kt | 2 +- .../vector/riotx/features/command/Command.kt | 2 +- .../riotx/features/command/CommandParser.kt | 2 +- .../riotx/features/command/ParsedCommand.kt | 2 +- .../configuration/VectorConfiguration.kt | 3 +- .../features/consent/ConsentNotGivenHelper.kt | 2 +- .../features/crypto/keys/KeysExporter.kt | 2 +- .../features/crypto/keys/KeysImporter.kt | 2 +- .../restore/KeysBackupRestoreActivity.kt | 8 +- .../KeysBackupRestoreFromKeyFragment.kt | 4 +- .../KeysBackupRestoreFromKeyViewModel.kt | 6 +- ...KeysBackupRestoreFromPassphraseFragment.kt | 5 +- ...eysBackupRestoreFromPassphraseViewModel.kt | 6 +- .../KeysBackupRestoreSharedViewModel.kt | 8 +- .../KeysBackupRestoreSuccessFragment.kt | 5 +- .../settings/KeysBackupManageActivity.kt | 3 +- .../settings/KeysBackupSettingFooterItem.kt | 2 - .../settings/KeysBackupSettingsFragment.kt | 2 +- ...eysBackupSettingsRecyclerViewController.kt | 8 +- .../settings/KeysBackupSettingsViewModel.kt | 1 - .../setup/KeysBackupSetupActivity.kt | 7 +- .../setup/KeysBackupSetupSharedViewModel.kt | 9 +- .../setup/KeysBackupSetupStep1Fragment.kt | 5 +- .../setup/KeysBackupSetupStep2Fragment.kt | 5 - .../setup/KeysBackupSetupStep3Fragment.kt | 7 +- .../crypto/keysrequest/KeyRequestHandler.kt | 20 ++-- .../IncomingVerificationRequestHandler.kt | 10 +- .../verification/SASVerificationActivity.kt | 15 ++- .../SASVerificationIncomingFragment.kt | 3 +- .../SASVerificationShortCodeFragment.kt | 12 +-- .../SASVerificationStartFragment.kt | 10 +- .../SASVerificationVerifiedFragment.kt | 3 +- .../verification/SasVerificationViewModel.kt | 15 +-- .../riotx/features/form/FormEditTextItem.kt | 1 - .../riotx/features/form/FormSwitchItem.kt | 3 - .../riotx/features/home/AvatarRenderer.kt | 3 +- .../riotx/features/home/HomeActivity.kt | 9 +- .../features/home/HomeActivityViewModel.kt | 4 +- .../riotx/features/home/HomeDetailFragment.kt | 5 +- .../features/home/HomeDetailViewModel.kt | 3 +- .../features/home/HomeDetailViewState.kt | 2 +- .../vector/riotx/features/home/HomeModule.kt | 3 +- .../features/home/HomeNavigationViewModel.kt | 2 +- .../riotx/features/home/LoadingFragment.kt | 4 +- .../riotx/features/home/PermalinkHandler.kt | 1 - .../vector/riotx/features/home/UserColor.kt | 3 +- .../createdirect/CreateDirectRoomActions.kt | 1 - .../createdirect/CreateDirectRoomActivity.kt | 5 +- .../CreateDirectRoomDirectoryUsersFragment.kt | 3 +- .../CreateDirectRoomKnownUsersFragment.kt | 2 +- .../CreateDirectRoomLetterHeaderItem.kt | 3 +- .../CreateDirectRoomNavigationViewModel.kt | 2 +- .../createdirect/CreateDirectRoomUserItem.kt | 4 +- .../createdirect/CreateDirectRoomViewModel.kt | 5 +- .../createdirect/CreateDirectRoomViewState.kt | 3 +- .../createdirect/DirectoryUsersController.kt | 5 +- .../home/createdirect/KnownUsersController.kt | 3 +- .../features/home/group/GroupListActions.kt | 3 +- .../features/home/group/GroupListFragment.kt | 4 +- .../features/home/group/GroupListViewModel.kt | 3 +- .../features/home/group/GroupListViewState.kt | 2 +- .../home/group/GroupSummaryController.kt | 2 - .../features/home/group/GroupSummaryItem.kt | 3 +- .../home/room/detail/DownloadFileState.kt | 2 +- .../home/room/detail/ReadMarkerHelper.kt | 7 +- .../home/room/detail/RoomDetailActions.kt | 3 +- .../home/room/detail/RoomDetailActivity.kt | 10 +- .../home/room/detail/RoomDetailFragment.kt | 43 ++++----- .../home/room/detail/RoomDetailViewModel.kt | 26 ++---- .../home/room/detail/RoomDetailViewState.kt | 3 +- .../detail/RoomMessageTouchHelperCallback.kt | 17 +--- .../ScrollOnHighlightedEventCallback.kt | 5 +- .../room/detail/ScrollOnNewMessageCallback.kt | 3 +- .../home/room/detail/SendMessageResult.kt | 2 +- .../detail/composer/TextComposerActions.kt | 2 +- .../room/detail/composer/TextComposerView.kt | 8 +- .../detail/composer/TextComposerViewModel.kt | 4 +- .../detail/composer/TextComposerViewState.kt | 4 +- .../readreceipts/DisplayReadReceiptItem.kt | 1 - .../DisplayReadReceiptsBottomSheet.kt | 3 +- .../DisplayReadReceiptsController.kt | 3 +- .../timeline/TimelineEventController.kt | 6 +- .../detail/timeline/action/ActionsHandler.kt | 3 +- .../action/MessageActionsBottomSheet.kt | 6 +- .../action/MessageActionsViewModel.kt | 7 +- .../timeline/action/MessageMenuFragment.kt | 6 +- .../timeline/action/MessageMenuViewModel.kt | 35 +++---- .../timeline/action/QuickReactionFragment.kt | 4 +- .../timeline/action/QuickReactionViewModel.kt | 4 +- .../timeline/action/ReactionInfoSimpleItem.kt | 2 - .../action/TimelineEventFragmentArgs.kt | 2 +- .../VectorBaseBottomSheetDialogFragment.kt | 2 +- .../action/ViewEditHistoryBottomSheet.kt | 4 - .../action/ViewEditHistoryEpoxyController.kt | 10 +- .../action/ViewEditHistoryViewModel.kt | 12 +-- .../action/ViewReactionBottomSheet.kt | 4 +- .../timeline/action/ViewReactionViewModel.kt | 8 +- .../action/ViewReactionsEpoxyController.kt | 6 +- .../animation/TimelineItemAnimator.kt | 3 +- .../timeline/factory/DefaultItemFactory.kt | 3 +- .../timeline/factory/EncryptionItemFactory.kt | 6 +- .../factory/MergedHeaderItemFactory.kt | 4 +- .../timeline/factory/MessageItemFactory.kt | 9 +- .../timeline/factory/NoticeItemFactory.kt | 4 +- .../timeline/factory/RoomCreateItemFactory.kt | 4 +- .../timeline/factory/TimelineItemFactory.kt | 3 +- .../timeline/format/NoticeEventFormatter.kt | 1 - .../timeline/helper/AvatarSizeProvider.kt | 4 +- .../helper/ContentUploadStateTrackerBinder.kt | 1 - .../helper/MessageInformationDataFactory.kt | 4 +- .../helper/MessageItemAttributesFactory.kt | 4 +- .../timeline/helper/TimelineAsyncHelper.kt | 3 +- .../helper/TimelineDisplayableEvents.kt | 4 +- .../helper/TimelineEventDiffUtilCallback.kt | 2 +- ...lineEventVisibilityStateChangedListener.kt | 4 +- .../helper/TimelineMediaSizeProvider.kt | 4 +- .../detail/timeline/item/AbsMessageItem.kt | 3 +- .../detail/timeline/item/BaseEventItem.kt | 4 +- .../room/detail/timeline/item/BlankItem.kt | 3 +- .../detail/timeline/item/DaySeparatorItem.kt | 2 +- .../room/detail/timeline/item/DefaultItem.kt | 2 +- .../timeline/item/EventItemAttributes.kt | 1 - .../detail/timeline/item/MergedHeaderItem.kt | 3 +- .../detail/timeline/item/MessageFileItem.kt | 3 +- .../timeline/item/MessageImageVideoItem.kt | 2 +- .../timeline/item/MessageInformationData.kt | 3 +- .../detail/timeline/item/MessageTextItem.kt | 9 +- .../room/detail/timeline/item/NoticeItem.kt | 3 +- .../detail/timeline/item/RoomCreateItem.kt | 2 +- .../room/filtered/FilteredRoomFooterItem.kt | 1 - .../room/list/AlphabeticalRoomComparator.kt | 3 +- .../room/list/ChronologicalRoomComparator.kt | 2 +- .../home/room/list/RoomCategoryItem.kt | 3 - .../home/room/list/RoomInvitationItem.kt | 6 +- .../home/room/list/RoomListActions.kt | 3 +- .../home/room/list/RoomListAnimator.kt | 3 +- .../room/list/RoomListDisplayModeFilter.kt | 2 +- .../home/room/list/RoomListFragment.kt | 5 +- .../home/room/list/RoomListNameFilter.kt | 2 +- .../home/room/list/RoomListViewModel.kt | 2 +- .../home/room/list/RoomListViewState.kt | 2 +- .../home/room/list/RoomSummaryController.kt | 5 +- .../home/room/list/RoomSummaryFormatter.kt | 3 +- .../home/room/list/RoomSummaryItem.kt | 5 +- .../home/room/list/RoomSummaryItemFactory.kt | 1 - .../home/room/list/UnreadCounterBadgeView.kt | 1 - .../home/room/list/widget/FabMenuView.kt | 3 +- .../homeserver/ServerUrlsRepository.kt | 4 +- .../riotx/features/html/EventHtmlRenderer.kt | 6 +- .../riotx/features/html/FontTagHandler.kt | 4 +- .../riotx/features/html/PillImageSpan.kt | 3 +- .../riotx/features/invite/VectorInviteView.kt | 2 +- .../VectorActivityLifecycleCallbacks.kt | 3 +- .../features/link/LinkHandlerActivity.kt | 2 - .../riotx/features/login/LoginActions.kt | 1 - .../riotx/features/login/LoginActivity.kt | 5 - .../riotx/features/login/LoginFragment.kt | 4 +- .../login/LoginSsoFallbackFragment.kt | 4 +- .../riotx/features/login/LoginViewModel.kt | 7 +- .../riotx/features/login/LoginViewState.kt | 3 +- .../media/DefaultImageLoaderCallback.kt | 16 ++-- .../features/media/ImageContentRenderer.kt | 6 +- .../media/ImageMediaViewerActivity.kt | 17 ++-- .../features/media/VideoContentRenderer.kt | 7 +- .../media/VideoMediaViewerActivity.kt | 5 +- .../features/navigation/DefaultNavigator.kt | 2 +- .../riotx/features/navigation/Navigator.kt | 2 +- .../notifications/InviteNotifiableEvent.kt | 4 +- .../features/notifications/NotifiableEvent.kt | 5 +- .../notifications/NotifiableEventResolver.kt | 32 +++---- .../notifications/NotifiableMessageEvent.kt | 6 +- .../NotificationBroadcastReceiver.kt | 8 +- .../NotificationDrawerManager.kt | 62 ++++++------- .../notifications/NotificationUtils.kt | 40 ++++---- .../notifications/OutdatedEventDetector.kt | 2 +- .../notifications/PushRuleTriggerListener.kt | 7 +- .../notifications/SimpleNotifiableEvent.kt | 2 - .../riotx/features/popup/PopupAlertManager.kt | 25 ++--- .../features/rageshake/BugReportActivity.kt | 2 - .../riotx/features/rageshake/BugReporter.kt | 39 +++----- .../riotx/features/rageshake/RageShake.kt | 3 +- .../features/rageshake/VectorFileLogger.kt | 5 +- .../VectorUncaughtExceptionHandler.kt | 2 +- .../reactions/EmojiChooserFragment.kt | 2 - .../reactions/EmojiChooserViewModel.kt | 3 +- .../features/reactions/EmojiDataSource.kt | 6 +- .../riotx/features/reactions/EmojiDrawView.kt | 4 +- .../reactions/EmojiReactionPickerActivity.kt | 11 +-- .../reactions/EmojiRecyclerAdapter.kt | 26 ++---- .../reactions/ReactionClickListener.kt | 2 +- .../features/reactions/widget/CircleView.kt | 6 +- .../features/reactions/widget/DotsView.kt | 5 +- .../reactions/widget/ReactionButton.kt | 12 +-- .../riotx/features/roomdirectory/JoinState.kt | 2 +- .../features/roomdirectory/PublicRoomItem.kt | 1 - .../roomdirectory/PublicRoomsController.kt | 1 - .../roomdirectory/PublicRoomsFragment.kt | 3 +- .../roomdirectory/PublicRoomsViewState.kt | 2 +- .../roomdirectory/RoomDirectoryActivity.kt | 3 +- .../RoomDirectoryNavigationViewModel.kt | 2 +- .../roomdirectory/RoomDirectoryViewModel.kt | 3 +- .../createroom/CreateRoomActivity.kt | 3 +- .../createroom/CreateRoomController.kt | 1 - .../createroom/CreateRoomFragment.kt | 2 - .../createroom/CreateRoomViewModel.kt | 3 +- .../createroom/CreateRoomViewState.kt | 2 +- .../roomdirectory/picker/RoomDirectoryItem.kt | 3 - .../picker/RoomDirectoryListCreator.kt | 2 +- .../picker/RoomDirectoryPickerController.kt | 1 - .../picker/RoomDirectoryPickerFragment.kt | 3 +- .../picker/RoomDirectoryPickerViewModel.kt | 4 +- .../picker/RoomDirectoryPickerViewState.kt | 2 +- .../roompreview/RoomPreviewActivity.kt | 4 +- .../RoomPreviewNoPreviewFragment.kt | 2 +- .../roompreview/RoomPreviewViewModel.kt | 3 +- .../roompreview/RoomPreviewViewState.kt | 2 +- .../riotx/features/session/SessionListener.kt | 3 +- .../riotx/features/settings/FontScale.kt | 2 +- .../riotx/features/settings/VectorLocale.kt | 1 - .../features/settings/VectorPreferences.kt | 1 - .../settings/VectorSettingsActivity.kt | 2 - ...sAdvancedNotificationPreferenceFragment.kt | 6 +- .../settings/VectorSettingsBaseFragment.kt | 4 +- .../settings/VectorSettingsFlairFragment.kt | 7 +- ...ctorSettingsFragmentInteractionListener.kt | 3 +- .../settings/VectorSettingsGeneralFragment.kt | 25 ++--- .../VectorSettingsHelpAboutFragment.kt | 2 +- .../VectorSettingsIgnoredUsersFragment.kt | 6 +- .../settings/VectorSettingsLabsFragment.kt | 4 +- .../VectorSettingsNotificationFragment.kt | 9 +- ...ttingsNotificationsTroubleshootFragment.kt | 9 +- .../VectorSettingsPreferencesFragment.kt | 9 +- .../settings/VectorSettingsRootFragment.kt | 5 +- .../VectorSettingsSecurityPrivacyFragment.kt | 25 ++--- .../features/settings/VectorSettingsUrls.kt | 3 +- .../VectorSettingsVoiceVideoFragment.kt | 4 +- .../features/settings/push/PushGatewayItem.kt | 4 +- .../settings/push/PushGatewaysFragment.kt | 1 - .../settings/push/PushGatewaysViewModel.kt | 4 +- .../features/settings/push/PushRuleItem.kt | 4 +- .../settings/push/PushRulesFragment.kt | 4 +- .../settings/push/PushRulesViewModel.kt | 3 +- ...ficationTroubleshootRecyclerViewAdapter.kt | 4 +- .../NotificationTroubleshootTestManager.kt | 8 +- .../troubleshoot/TestAccountSettings.kt | 6 +- .../troubleshoot/TestBingRulesSettings.kt | 12 +-- .../troubleshoot/TestDeviceSettings.kt | 2 +- .../troubleshoot/TestSystemSettings.kt | 5 +- .../settings/troubleshoot/TroubleshootTest.kt | 4 +- .../features/sync/widget/SyncStateView.kt | 1 - .../features/themes/ActivityOtherThemes.kt | 3 +- .../riotx/features/themes/ThemeUtils.kt | 1 - .../ui/SharedPreferencesUiStateRepository.kt | 4 +- .../riotx/features/ui/UiStateRepository.kt | 3 +- .../riotx/features/version/VersionProvider.kt | 2 +- .../webview/ConsentWebViewEventListener.kt | 2 +- .../webview/DefaultWebViewEventListener.kt | 2 +- .../features/webview/VectorWebViewActivity.kt | 1 - .../features/webview/VectorWebViewClient.kt | 3 +- .../features/webview/WebViewEventListener.kt | 3 +- .../webview/WebViewEventListenerFactory.kt | 3 +- .../riotx/features/webview/WebViewMode.kt | 3 +- .../SignOutBottomSheetDialogFragment.kt | 19 ++-- .../workers/signout/SignOutViewModel.kt | 2 +- 927 files changed, 1312 insertions(+), 2546 deletions(-) diff --git a/matrix-sdk-android-rx/src/main/java/im/vector/matrix/rx/LiveDataObservable.kt b/matrix-sdk-android-rx/src/main/java/im/vector/matrix/rx/LiveDataObservable.kt index 9eaeff762e..7958d3efa1 100644 --- a/matrix-sdk-android-rx/src/main/java/im/vector/matrix/rx/LiveDataObservable.kt +++ b/matrix-sdk-android-rx/src/main/java/im/vector/matrix/rx/LiveDataObservable.kt @@ -59,4 +59,4 @@ private class LiveDataObservable( fun LiveData.asObservable(): Observable { return LiveDataObservable(this).observeOn(Schedulers.computation()) -} \ No newline at end of file +} diff --git a/matrix-sdk-android-rx/src/main/java/im/vector/matrix/rx/MatrixCallbackCompletable.kt b/matrix-sdk-android-rx/src/main/java/im/vector/matrix/rx/MatrixCallbackCompletable.kt index 58c015dfdd..cf0e955b00 100644 --- a/matrix-sdk-android-rx/src/main/java/im/vector/matrix/rx/MatrixCallbackCompletable.kt +++ b/matrix-sdk-android-rx/src/main/java/im/vector/matrix/rx/MatrixCallbackCompletable.kt @@ -19,7 +19,6 @@ package im.vector.matrix.rx import im.vector.matrix.android.api.MatrixCallback import im.vector.matrix.android.api.util.Cancelable import io.reactivex.CompletableEmitter -import io.reactivex.SingleEmitter internal class MatrixCallbackCompletable(private val completableEmitter: CompletableEmitter) : MatrixCallback { @@ -36,4 +35,4 @@ fun Cancelable.toCompletable(completableEmitter: CompletableEmitter) { completableEmitter.setCancellable { this.cancel() } -} \ No newline at end of file +} diff --git a/matrix-sdk-android-rx/src/main/java/im/vector/matrix/rx/MatrixCallbackSingle.kt b/matrix-sdk-android-rx/src/main/java/im/vector/matrix/rx/MatrixCallbackSingle.kt index 8d554df270..d638354dfd 100644 --- a/matrix-sdk-android-rx/src/main/java/im/vector/matrix/rx/MatrixCallbackSingle.kt +++ b/matrix-sdk-android-rx/src/main/java/im/vector/matrix/rx/MatrixCallbackSingle.kt @@ -35,4 +35,4 @@ fun Cancelable.toSingle(singleEmitter: SingleEmitter) { singleEmitter.setCancellable { this.cancel() } -} \ No newline at end of file +} diff --git a/matrix-sdk-android-rx/src/main/java/im/vector/matrix/rx/OptionalRx.kt b/matrix-sdk-android-rx/src/main/java/im/vector/matrix/rx/OptionalRx.kt index 74ec10b0db..d608837d4a 100644 --- a/matrix-sdk-android-rx/src/main/java/im/vector/matrix/rx/OptionalRx.kt +++ b/matrix-sdk-android-rx/src/main/java/im/vector/matrix/rx/OptionalRx.kt @@ -21,4 +21,4 @@ import io.reactivex.Observable fun Observable>.unwrap(): Observable { return filter { it.hasValue() }.map { it.get() } -} \ No newline at end of file +} diff --git a/matrix-sdk-android-rx/src/main/java/im/vector/matrix/rx/RxRoom.kt b/matrix-sdk-android-rx/src/main/java/im/vector/matrix/rx/RxRoom.kt index b3915568e5..e058b2716c 100644 --- a/matrix-sdk-android-rx/src/main/java/im/vector/matrix/rx/RxRoom.kt +++ b/matrix-sdk-android-rx/src/main/java/im/vector/matrix/rx/RxRoom.kt @@ -67,9 +67,8 @@ class RxRoom(private val room: Room) { fun liveDrafts(): Observable> { return room.getDraftsLive().asObservable() } - } fun Room.rx(): RxRoom { return RxRoom(this) -} \ No newline at end of file +} diff --git a/matrix-sdk-android-rx/src/main/java/im/vector/matrix/rx/RxSession.kt b/matrix-sdk-android-rx/src/main/java/im/vector/matrix/rx/RxSession.kt index 0d0cb2f461..f19777b6f5 100644 --- a/matrix-sdk-android-rx/src/main/java/im/vector/matrix/rx/RxSession.kt +++ b/matrix-sdk-android-rx/src/main/java/im/vector/matrix/rx/RxSession.kt @@ -71,9 +71,8 @@ class RxSession(private val session: Session) { fun joinRoom(roomId: String, viaServers: List = emptyList()): Single = Single.create { session.joinRoom(roomId, viaServers, MatrixCallbackSingle(it)).toSingle(it) } - } fun Session.rx(): RxSession { return RxSession(this) -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/InstrumentedTest.kt b/matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/InstrumentedTest.kt index c6db522c46..3cd47d4998 100644 --- a/matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/InstrumentedTest.kt +++ b/matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/InstrumentedTest.kt @@ -28,4 +28,4 @@ interface InstrumentedTest { fun cacheDir(): File { return context().cacheDir } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/OkReplayRuleChainNoActivity.kt b/matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/OkReplayRuleChainNoActivity.kt index 9fd1fe6b5c..098e927a9f 100644 --- a/matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/OkReplayRuleChainNoActivity.kt +++ b/matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/OkReplayRuleChainNoActivity.kt @@ -29,4 +29,4 @@ class OkReplayRuleChainNoActivity( return RuleChain.outerRule(PermissionRule(configuration)) .around(RecorderRule(configuration)) } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/SingleThreadCoroutineDispatcher.kt b/matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/SingleThreadCoroutineDispatcher.kt index 69803c5dc1..e63123f3b3 100644 --- a/matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/SingleThreadCoroutineDispatcher.kt +++ b/matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/SingleThreadCoroutineDispatcher.kt @@ -19,4 +19,4 @@ package im.vector.matrix.android import im.vector.matrix.android.internal.util.MatrixCoroutineDispatchers import kotlinx.coroutines.Dispatchers.Main -internal val testCoroutineDispatchers = MatrixCoroutineDispatchers(Main, Main, Main, Main, Main) \ No newline at end of file +internal val testCoroutineDispatchers = MatrixCoroutineDispatchers(Main, Main, Main, Main, Main) diff --git a/matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/auth/AuthenticatorTest.kt b/matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/auth/AuthenticatorTest.kt index 3dfc06196e..7d33fae4d8 100644 --- a/matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/auth/AuthenticatorTest.kt +++ b/matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/auth/AuthenticatorTest.kt @@ -28,7 +28,6 @@ import org.junit.Rule import org.junit.Test import org.junit.runner.RunWith - @RunWith(AndroidJUnit4::class) internal class AuthenticatorTest : InstrumentedTest { @@ -50,7 +49,6 @@ internal class AuthenticatorTest : InstrumentedTest { @UiThreadTest @OkReplay(tape = "auth", mode = TapeMode.READ_WRITE) fun auth() { - } companion object { @@ -59,6 +57,4 @@ internal class AuthenticatorTest : InstrumentedTest { val grantExternalStoragePermissionRule: GrantPermissionRule = GrantPermissionRule.grant(android.Manifest.permission.WRITE_EXTERNAL_STORAGE) } - - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/internal/crypto/CryptoStoreHelper.kt b/matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/internal/crypto/CryptoStoreHelper.kt index c0fc6c4454..6b0ebbf6a4 100644 --- a/matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/internal/crypto/CryptoStoreHelper.kt +++ b/matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/internal/crypto/CryptoStoreHelper.kt @@ -41,4 +41,4 @@ internal class CryptoStoreHelper { refreshToken = null, deviceId = "deviceId_sample" ) -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/internal/crypto/CryptoStoreTest.kt b/matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/internal/crypto/CryptoStoreTest.kt index 0f65ad3ee5..3fc3079cc7 100644 --- a/matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/internal/crypto/CryptoStoreTest.kt +++ b/matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/internal/crypto/CryptoStoreTest.kt @@ -114,4 +114,4 @@ class CryptoStoreTest { olmAccount1.releaseAccount() olmAccount2.releaseAccount() } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/internal/util/JsonCanonicalizerTest.kt b/matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/internal/util/JsonCanonicalizerTest.kt index 1ea6105da4..0a7c8f6439 100644 --- a/matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/internal/util/JsonCanonicalizerTest.kt +++ b/matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/internal/util/JsonCanonicalizerTest.kt @@ -62,8 +62,6 @@ internal class JsonCanonicalizerTest : InstrumentedTest { JsonCanonicalizer.canonicalize("{\"a\":\"\\\"\"}")) } - - /* ========================================================================================== * Test from https://matrix.org/docs/spec/appendices.html#examples * ========================================================================================== */ @@ -74,7 +72,6 @@ internal class JsonCanonicalizerTest : InstrumentedTest { JsonCanonicalizer.canonicalize("""{}""")) } - @Test fun matrixOrg002Test() { assertEquals("""{"one":1,"two":"Two"}""", @@ -84,7 +81,6 @@ internal class JsonCanonicalizerTest : InstrumentedTest { }""")) } - @Test fun matrixOrg003Test() { assertEquals("""{"a":"1","b":"2"}""", @@ -94,14 +90,12 @@ internal class JsonCanonicalizerTest : InstrumentedTest { }""")) } - @Test fun matrixOrg004Test() { assertEquals("""{"a":"1","b":"2"}""", JsonCanonicalizer.canonicalize("""{"b":"2","a":"1"}""")) } - @Test fun matrixOrg005Test() { assertEquals("""{"auth":{"mxid":"@john.doe:example.com","profile":{"display_name":"John Doe","three_pids":[{"address":"john.doe@example.org","medium":"email"},{"address":"123456789","medium":"msisdn"}]},"success":true}}""", @@ -126,7 +120,6 @@ internal class JsonCanonicalizerTest : InstrumentedTest { }""")) } - @Test fun matrixOrg006Test() { assertEquals("""{"a":"日本語"}""", @@ -135,7 +128,6 @@ internal class JsonCanonicalizerTest : InstrumentedTest { }""")) } - @Test fun matrixOrg007Test() { assertEquals("""{"日":1,"本":2}""", @@ -145,7 +137,6 @@ internal class JsonCanonicalizerTest : InstrumentedTest { }""")) } - @Test fun matrixOrg008Test() { assertEquals("""{"a":"日"}""", @@ -159,4 +150,4 @@ internal class JsonCanonicalizerTest : InstrumentedTest { "a": null }""")) } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/session/room/timeline/ChunkEntityTest.kt b/matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/session/room/timeline/ChunkEntityTest.kt index c6da3c4628..abb990c979 100644 --- a/matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/session/room/timeline/ChunkEntityTest.kt +++ b/matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/session/room/timeline/ChunkEntityTest.kt @@ -35,7 +35,6 @@ import org.junit.Before import org.junit.Test import org.junit.runner.RunWith - @RunWith(AndroidJUnit4::class) internal class ChunkEntityTest : InstrumentedTest { @@ -48,7 +47,6 @@ internal class ChunkEntityTest : InstrumentedTest { monarchy = Monarchy.Builder().setRealmConfiguration(testConfig).build() } - @Test fun add_shouldAdd_whenNotAlreadyIncluded() { monarchy.runTransactionSync { realm -> @@ -194,5 +192,4 @@ internal class ChunkEntityTest : InstrumentedTest { chunk1.nextToken shouldEqual nextToken } } - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/session/room/timeline/FakeGetContextOfEventTask.kt b/matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/session/room/timeline/FakeGetContextOfEventTask.kt index 48f223925c..0e1980f134 100644 --- a/matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/session/room/timeline/FakeGetContextOfEventTask.kt +++ b/matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/session/room/timeline/FakeGetContextOfEventTask.kt @@ -32,6 +32,4 @@ internal class FakeGetContextOfEventTask constructor(private val tokenChunkEvent ) return tokenChunkEventPersistor.insertInDb(tokenChunkEvent, params.roomId, PaginationDirection.BACKWARDS) } - - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/session/room/timeline/FakePaginationTask.kt b/matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/session/room/timeline/FakePaginationTask.kt index 2f7f63d77c..be67ffdbba 100644 --- a/matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/session/room/timeline/FakePaginationTask.kt +++ b/matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/session/room/timeline/FakePaginationTask.kt @@ -28,6 +28,4 @@ internal class FakePaginationTask @Inject constructor(private val tokenChunkEven val tokenChunkEvent = FakeTokenChunkEvent(params.from, Random.nextLong(System.currentTimeMillis()).toString(), fakeEvents) return tokenChunkEventPersistor.insertInDb(tokenChunkEvent, params.roomId, params.direction) } - } - diff --git a/matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/session/room/timeline/FakeTokenChunkEvent.kt b/matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/session/room/timeline/FakeTokenChunkEvent.kt index 2a9163e4ba..3f74df2c2e 100644 --- a/matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/session/room/timeline/FakeTokenChunkEvent.kt +++ b/matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/session/room/timeline/FakeTokenChunkEvent.kt @@ -23,4 +23,4 @@ internal data class FakeTokenChunkEvent(override val start: String?, override val end: String?, override val events: List = emptyList(), override val stateEvents: List = emptyList() -) : TokenChunkEvent \ No newline at end of file +) : TokenChunkEvent diff --git a/matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/session/room/timeline/RoomDataHelper.kt b/matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/session/room/timeline/RoomDataHelper.kt index 7ff693584e..8a8ee11854 100644 --- a/matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/session/room/timeline/RoomDataHelper.kt +++ b/matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/session/room/timeline/RoomDataHelper.kt @@ -88,6 +88,4 @@ object RoomDataHelper { roomEntity.addOrUpdate(chunkEntity) } } - - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/session/room/timeline/TimelineTest.kt b/matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/session/room/timeline/TimelineTest.kt index f09b037605..06651f9ba3 100644 --- a/matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/session/room/timeline/TimelineTest.kt +++ b/matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/session/room/timeline/TimelineTest.kt @@ -81,6 +81,4 @@ internal class TimelineTest : InstrumentedTest { // timelineEvents.size shouldEqual initialLoad + paginationCount // timeline.dispose() // } - - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/debug/java/im/vector/matrix/android/internal/network/interceptors/FormattedJsonHttpLogger.kt b/matrix-sdk-android/src/debug/java/im/vector/matrix/android/internal/network/interceptors/FormattedJsonHttpLogger.kt index 655134d1e3..43f1373daf 100644 --- a/matrix-sdk-android/src/debug/java/im/vector/matrix/android/internal/network/interceptors/FormattedJsonHttpLogger.kt +++ b/matrix-sdk-android/src/debug/java/im/vector/matrix/android/internal/network/interceptors/FormattedJsonHttpLogger.kt @@ -51,7 +51,6 @@ class FormattedJsonHttpLogger : HttpLoggingInterceptor.Logger { // Finally this is not a JSON string... Timber.e(e) } - } else if (message.startsWith("[")) { // JSON Array detected try { @@ -61,7 +60,6 @@ class FormattedJsonHttpLogger : HttpLoggingInterceptor.Logger { // Finally not JSON... Timber.e(e) } - } // Else not a json string to log } @@ -73,4 +71,4 @@ class FormattedJsonHttpLogger : HttpLoggingInterceptor.Logger { Timber.v(s) } } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/Matrix.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/Matrix.kt index bdc988d2f7..1bfa871a42 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/Matrix.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/Matrix.kt @@ -38,7 +38,6 @@ data class MatrixConfiguration( interface Provider { fun providesMatrixConfiguration(): MatrixConfiguration } - } /** @@ -98,5 +97,4 @@ class Matrix private constructor(context: Context, matrixConfiguration: MatrixCo return BuildConfig.VERSION_NAME + " (" + BuildConfig.GIT_SDK_REVISION + ")" } } - } diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/MatrixCallback.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/MatrixCallback.kt index 00d22b1f9f..c2f70ce5dc 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/MatrixCallback.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/MatrixCallback.kt @@ -27,7 +27,7 @@ interface MatrixCallback { * @param data the data successfully returned from the async function */ fun onSuccess(data: T) { - //no-op + // no-op } /** @@ -35,7 +35,6 @@ interface MatrixCallback { * @param failure the failure data returned from the async function */ fun onFailure(failure: Throwable) { - //no-op + // no-op } - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/MatrixPatterns.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/MatrixPatterns.kt index 935408296c..e30d139cd3 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/MatrixPatterns.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/MatrixPatterns.kt @@ -16,7 +16,6 @@ package im.vector.matrix.android.api - /** * This class contains pattern to match the different Matrix ids */ @@ -154,6 +153,5 @@ object MatrixPatterns { return if (index == -1) { null } else matrixId.substring(index + 1) - } } diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/auth/Authenticator.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/auth/Authenticator.kt index 2dc2d0ef5f..77a3cde249 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/auth/Authenticator.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/auth/Authenticator.kt @@ -68,4 +68,4 @@ interface Authenticator { * Create a session after a SSO successful login */ fun createSessionFromSso(credentials: Credentials, homeServerConnectionConfig: HomeServerConnectionConfig): Session -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/auth/data/HomeServerConnectionConfig.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/auth/data/HomeServerConnectionConfig.kt index 850c4f7186..e85b05092f 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/auth/data/HomeServerConnectionConfig.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/auth/data/HomeServerConnectionConfig.kt @@ -253,13 +253,5 @@ data class HomeServerConnectionConfig( forceUsageTlsVersions ) } - } - - } - - - - - diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/comparators/DatedObjectComparators.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/comparators/DatedObjectComparators.kt index c9245e7331..a9d30f823c 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/comparators/DatedObjectComparators.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/comparators/DatedObjectComparators.kt @@ -37,4 +37,4 @@ object DatedObjectComparators { (datedObject2.date - datedObject1.date).toInt() } } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/extensions/MatrixSdkExtensions.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/extensions/MatrixSdkExtensions.kt index 180d80c5c5..95489da3fb 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/extensions/MatrixSdkExtensions.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/extensions/MatrixSdkExtensions.kt @@ -29,7 +29,6 @@ fun MXDeviceInfo.getFingerprintHumanReadable() = fingerprint() ?.chunked(4) ?.joinToString(separator = " ") - fun List.sortByLastSeen() { Collections.sort(this, DatedObjectComparators.descComparator) -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/failure/ConsentNotGivenError.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/failure/ConsentNotGivenError.kt index c780720a18..80ee6811bb 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/failure/ConsentNotGivenError.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/failure/ConsentNotGivenError.kt @@ -19,4 +19,4 @@ package im.vector.matrix.android.api.failure // This data class will be sent to the bus data class ConsentNotGivenError( val consentUri: String -) \ No newline at end of file +) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/failure/Failure.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/failure/Failure.kt index 26170a288f..6c418ed831 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/failure/Failure.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/failure/Failure.kt @@ -42,5 +42,4 @@ sealed class Failure(cause: Throwable? = null) : Throwable(cause = cause) { data class CryptoError(val error: MXCryptoError) : Failure(error) abstract class FeatureFailure : Failure() - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/failure/MatrixError.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/failure/MatrixError.kt index 7d433ba7ba..70a982089c 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/failure/MatrixError.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/failure/MatrixError.kt @@ -33,7 +33,6 @@ data class MatrixError( @Json(name = "limit_type") val limitType: String? = null, @Json(name = "admin_contact") val adminUri: String? = null) { - companion object { const val FORBIDDEN = "M_FORBIDDEN" const val UNKNOWN = "M_UNKNOWN" @@ -64,4 +63,4 @@ data class MatrixError( // Possible value for "limit_type" const val LIMIT_TYPE_MAU = "monthly_active_user" } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/listeners/ProgressListener.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/listeners/ProgressListener.kt index 854f0e9fb6..ad47260f86 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/listeners/ProgressListener.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/listeners/ProgressListener.kt @@ -25,4 +25,4 @@ interface ProgressListener { * @param total */ fun onProgress(progress: Int, total: Int) -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/listeners/StepProgressListener.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/listeners/StepProgressListener.kt index af5b815c1a..196aa6d655 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/listeners/StepProgressListener.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/listeners/StepProgressListener.kt @@ -31,4 +31,4 @@ interface StepProgressListener { * @param step The current step, containing progress data if available. Else you should consider progress as indeterminate */ fun onStepProgress(step: Step) -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/permalinks/MatrixLinkify.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/permalinks/MatrixLinkify.kt index fb3dbcc26c..a4b6d27535 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/permalinks/MatrixLinkify.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/permalinks/MatrixLinkify.kt @@ -51,5 +51,4 @@ object MatrixLinkify { } return hasMatch } - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/permalinks/MatrixPermalinkSpan.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/permalinks/MatrixPermalinkSpan.kt index 58cd76a0a6..afba5ab040 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/permalinks/MatrixPermalinkSpan.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/permalinks/MatrixPermalinkSpan.kt @@ -35,6 +35,4 @@ class MatrixPermalinkSpan(private val url: String, override fun onClick(widget: View) { callback?.onUrlClicked(url) } - - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/permalinks/PermalinkData.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/permalinks/PermalinkData.kt index 615892a107..47f8bf4505 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/permalinks/PermalinkData.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/permalinks/PermalinkData.kt @@ -33,5 +33,4 @@ sealed class PermalinkData { data class GroupLink(val groupId: String) : PermalinkData() data class FallbackLink(val uri: Uri) : PermalinkData() - } diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/permalinks/PermalinkFactory.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/permalinks/PermalinkFactory.kt index 15d56eacb3..5cff69b2c1 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/permalinks/PermalinkFactory.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/permalinks/PermalinkFactory.kt @@ -51,7 +51,6 @@ object PermalinkFactory { return if (TextUtils.isEmpty(id)) { null } else MATRIX_TO_URL_BASE + escape(id) - } /** @@ -78,10 +77,8 @@ object PermalinkFactory { return if (isSupported) { url!!.substring(MATRIX_TO_URL_BASE.length) } else null - } - /** * Escape '/' in id, because it is used as a separator * diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/permalinks/PermalinkParser.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/permalinks/PermalinkParser.kt index 71fd16e778..531f4ae523 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/permalinks/PermalinkParser.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/permalinks/PermalinkParser.kt @@ -72,5 +72,4 @@ object PermalinkParser { else -> PermalinkData.FallbackLink(uri) } } - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/pushrules/Action.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/pushrules/Action.kt index b34d2d0d34..d135504055 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/pushrules/Action.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/pushrules/Action.kt @@ -18,7 +18,6 @@ package im.vector.matrix.android.api.pushrules import im.vector.matrix.android.api.pushrules.rest.PushRule import timber.log.Timber - sealed class Action { object Notify : Action() object DoNotNotify : Action() @@ -26,7 +25,6 @@ sealed class Action { data class Highlight(val highlight: Boolean) : Action() } - private const val ACTION_NOTIFY = "notify" private const val ACTION_DONT_NOTIFY = "dont_notify" private const val ACTION_COALESCE = "coalesce" @@ -80,7 +78,6 @@ fun PushRule.getActions(): List { } // When the value is not there, default sound (not specified by the spec) ?: Action.Sound(ACTION_OBJECT_VALUE_VALUE_DEFAULT) - } ACTION_OBJECT_SET_TWEAK_VALUE_HIGHLIGHT -> { (actionStrOrObj[ACTION_OBJECT_VALUE_KEY] as? Boolean)?.let { boolValue -> @@ -104,7 +101,5 @@ fun PushRule.getActions(): List { } } - return result } - diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/pushrules/Condition.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/pushrules/Condition.kt index c0bb4f16f4..ecc78996db 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/pushrules/Condition.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/pushrules/Condition.kt @@ -35,9 +35,7 @@ abstract class Condition(val kind: Kind) { else -> UNRECOGNIZE } } - } - } abstract fun isSatisfied(conditionResolver: ConditionResolver): Boolean @@ -45,4 +43,4 @@ abstract class Condition(val kind: Kind) { open fun technicalDescription(): String { return "Kind: $kind" } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/pushrules/ConditionResolver.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/pushrules/ConditionResolver.kt index 4d15d5deec..340810bc80 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/pushrules/ConditionResolver.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/pushrules/ConditionResolver.kt @@ -25,4 +25,4 @@ interface ConditionResolver { fun resolveRoomMemberCountCondition(roomMemberCountCondition: RoomMemberCountCondition): Boolean fun resolveSenderNotificationPermissionCondition(senderNotificationPermissionCondition: SenderNotificationPermissionCondition): Boolean fun resolveContainsDisplayNameCondition(containsDisplayNameCondition: ContainsDisplayNameCondition) : Boolean -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/pushrules/ContainsDisplayNameCondition.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/pushrules/ContainsDisplayNameCondition.kt index 37bc75ad57..17160aa5ec 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/pushrules/ContainsDisplayNameCondition.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/pushrules/ContainsDisplayNameCondition.kt @@ -38,7 +38,7 @@ class ContainsDisplayNameCondition : Condition(Kind.contains_display_name) { EventType.MESSAGE -> { event.content.toModel() } - //TODO the spec says: + // TODO the spec says: // Matches any message whose content is unencrypted and contains the user's current display name // EventType.ENCRYPTED -> { // event.root.getClearContent()?.toModel() @@ -49,7 +49,6 @@ class ContainsDisplayNameCondition : Condition(Kind.contains_display_name) { return caseInsensitiveFind(displayName, message.body) } - companion object { /** * Returns whether a string contains an occurrence of another, as a standalone word, regardless of case. @@ -76,4 +75,4 @@ class ContainsDisplayNameCondition : Condition(Kind.contains_display_name) { return res } } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/pushrules/EventMatchCondition.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/pushrules/EventMatchCondition.kt index 7325abba2a..a4eacc9018 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/pushrules/EventMatchCondition.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/pushrules/EventMatchCondition.kt @@ -29,28 +29,25 @@ class EventMatchCondition(val key: String, val pattern: String) : Condition(Kind return "'$key' Matches '$pattern'" } - fun isSatisfied(event: Event): Boolean { - //TODO encrypted events? + // TODO encrypted events? val rawJson = MoshiProvider.providesMoshi().adapter(Event::class.java).toJsonValue(event) as? Map<*, *> ?: return false val value = extractField(rawJson, key) ?: return false - //Patterns with no special glob characters should be treated as having asterisks prepended + // Patterns with no special glob characters should be treated as having asterisks prepended // and appended when testing the condition. try { val modPattern = if (hasSpecialGlobChar(pattern)) simpleGlobToRegExp(pattern) else simpleGlobToRegExp("*$pattern*") val regex = Regex(modPattern, RegexOption.DOT_MATCHES_ALL) return regex.containsMatchIn(value) } catch (e: Throwable) { - //e.g PatternSyntaxException + // e.g PatternSyntaxException Timber.e(e, "Failed to evaluate push condition") return false } - } - private fun extractField(jsonObject: Map<*, *>, fieldPath: String): String? { val fieldParts = fieldPath.split(".") if (fieldParts.isEmpty()) return null @@ -77,9 +74,9 @@ class EventMatchCondition(val key: String, val pattern: String) : Condition(Kind return glob.contains("*") || glob.contains("?") } - //Very simple glob to regexp converter + // Very simple glob to regexp converter private fun simpleGlobToRegExp(glob: String): String { - var out = ""//"^" + var out = "" // "^" for (i in 0 until glob.length) { val c = glob[i] when (c) { @@ -90,8 +87,8 @@ class EventMatchCondition(val key: String, val pattern: String) : Condition(Kind else -> out += c } } - out += ""//'$'.toString() + out += "" // '$'.toString() return out } } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/pushrules/PushRuleService.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/pushrules/PushRuleService.kt index 38153d7bc5..aa277ea8bd 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/pushrules/PushRuleService.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/pushrules/PushRuleService.kt @@ -27,10 +27,10 @@ interface PushRuleService { */ fun fetchPushRules(scope: String = RuleScope.GLOBAL) - //TODO get push rule set + // TODO get push rule set fun getPushRules(scope: String = RuleScope.GLOBAL): List - //TODO update rule + // TODO update rule fun updatePushRuleEnableStatus(kind: RuleKind, pushRule: PushRule, enabled: Boolean, callback: MatrixCallback): Cancelable @@ -47,4 +47,4 @@ interface PushRuleService { fun onEventRedacted(redactedEventId: String) fun batchFinish() } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/pushrules/RoomMemberCountCondition.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/pushrules/RoomMemberCountCondition.kt index d0b76fbab7..d41788234b 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/pushrules/RoomMemberCountCondition.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/pushrules/RoomMemberCountCondition.kt @@ -62,6 +62,5 @@ class RoomMemberCountCondition(val iz: String) : Condition(Kind.room_member_coun Timber.d(t) } return null - } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/pushrules/SenderNotificationPermissionCondition.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/pushrules/SenderNotificationPermissionCondition.kt index 35b731c5c3..46fc9a5c6d 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/pushrules/SenderNotificationPermissionCondition.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/pushrules/SenderNotificationPermissionCondition.kt @@ -18,7 +18,6 @@ package im.vector.matrix.android.api.pushrules import im.vector.matrix.android.api.session.events.model.Event import im.vector.matrix.android.api.session.room.model.PowerLevels - class SenderNotificationPermissionCondition(val key: String) : Condition(Kind.sender_notification_permission) { override fun isSatisfied(conditionResolver: ConditionResolver): Boolean { @@ -29,8 +28,7 @@ class SenderNotificationPermissionCondition(val key: String) : Condition(Kind.se return "User power level <$key>" } - fun isSatisfied(event: Event, powerLevels: PowerLevels): Boolean { return event.senderId != null && powerLevels.getUserPowerLevel(event.senderId) >= powerLevels.notificationLevel(key) } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/pushrules/rest/PushCondition.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/pushrules/rest/PushCondition.kt index 7b71a344a0..4b643a0b42 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/pushrules/rest/PushCondition.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/pushrules/rest/PushCondition.kt @@ -76,4 +76,4 @@ data class PushCondition( } } } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/pushrules/rest/PushRule.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/pushrules/rest/PushRule.kt index 1e36a0d867..e9423d7c40 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/pushrules/rest/PushRule.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/pushrules/rest/PushRule.kt @@ -19,7 +19,6 @@ package im.vector.matrix.android.api.pushrules.rest import com.squareup.moshi.Json import com.squareup.moshi.JsonClass - @JsonClass(generateAdapter = true) data class PushRule( /** @@ -47,4 +46,3 @@ data class PushRule( */ val pattern: String? = null ) - diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/pushrules/rest/Ruleset.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/pushrules/rest/Ruleset.kt index 5f4ca15ac0..72692d5afd 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/pushrules/rest/Ruleset.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/pushrules/rest/Ruleset.kt @@ -24,4 +24,4 @@ data class Ruleset( val room: List? = null, val sender: List? = null, val underride: List? = null -) \ No newline at end of file +) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/InitialSyncProgressService.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/InitialSyncProgressService.kt index a4c9d81beb..4d65179307 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/InitialSyncProgressService.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/InitialSyncProgressService.kt @@ -26,4 +26,4 @@ interface InitialSyncProgressService { @StringRes val statusText: Int, val percentProgress: Int = 0 ) -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/Session.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/Session.kt index 16de5178ff..2440713a40 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/Session.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/Session.kt @@ -68,7 +68,6 @@ interface Session : val myUserId: String get() = sessionParams.credentials.userId - /** * This method allow to open a session. It does start some service on the background. */ @@ -145,7 +144,5 @@ interface Session : * A M_CONSENT_NOT_GIVEN error has been received from the homeserver */ fun onConsentNotGivenError(consentNotGivenError: ConsentNotGivenError) - } - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/cache/CacheService.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/cache/CacheService.kt index 43ab78b5aa..f1e4ca6c7b 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/cache/CacheService.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/cache/CacheService.kt @@ -27,5 +27,4 @@ interface CacheService { * Clear the whole cached data, except credentials. Once done, the session is closed and has to be opened again */ fun clearCache(callback: MatrixCallback) - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/content/ContentAttachmentData.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/content/ContentAttachmentData.kt index 466b7eede3..933657b2fb 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/content/ContentAttachmentData.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/content/ContentAttachmentData.kt @@ -40,5 +40,4 @@ data class ContentAttachmentData( AUDIO, VIDEO } - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/content/ContentUploadStateTracker.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/content/ContentUploadStateTracker.kt index 26273ebb8a..540b164aa5 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/content/ContentUploadStateTracker.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/content/ContentUploadStateTracker.kt @@ -35,4 +35,4 @@ interface ContentUploadStateTracker { object Success : State() data class Failure(val throwable: Throwable) : State() } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/content/ContentUrlResolver.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/content/ContentUrlResolver.kt index 0a20bef809..9ba1631aec 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/content/ContentUrlResolver.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/content/ContentUrlResolver.kt @@ -44,4 +44,4 @@ interface ContentUrlResolver { * @return the URL to access the described resource, or null if the url is invalid. */ fun resolveThumbnail(contentUrl: String?, width: Int, height: Int, method: ThumbnailMethod): String? -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/crypto/CryptoService.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/crypto/CryptoService.kt index 43c783a13d..706f89dfc9 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/crypto/CryptoService.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/crypto/CryptoService.kt @@ -112,5 +112,4 @@ interface CryptoService { fun addNewSessionListener(newSessionListener: NewSessionListener) fun removeSessionListener(listener: NewSessionListener) - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/crypto/MXCryptoError.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/crypto/MXCryptoError.kt index b61a1e4149..fe41b6c074 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/crypto/MXCryptoError.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/crypto/MXCryptoError.kt @@ -90,4 +90,4 @@ sealed class MXCryptoError : Throwable() { const val NO_MORE_ALGORITHM_REASON = "Room was previously configured to use encryption, but is no longer." + " Perhaps the homeserver is hiding the configuration event." } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/crypto/keysbackup/KeysBackupService.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/crypto/keysbackup/KeysBackupService.kt index 6728daa527..cb06dbf665 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/crypto/keysbackup/KeysBackupService.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/crypto/keysbackup/KeysBackupService.kt @@ -210,5 +210,4 @@ interface KeysBackupService { val isEnabled: Boolean val isStucked: Boolean val state: KeysBackupState - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/crypto/keysbackup/KeysBackupState.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/crypto/keysbackup/KeysBackupState.kt index a1bd29e78d..a20f1c61b4 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/crypto/keysbackup/KeysBackupState.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/crypto/keysbackup/KeysBackupState.kt @@ -72,4 +72,4 @@ enum class KeysBackupState { WillBackUp, // e2e keys are being sent to the homeserver BackingUp -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/crypto/keysbackup/KeysBackupStateListener.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/crypto/keysbackup/KeysBackupStateListener.kt index f145d779f1..be1f2e5f3e 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/crypto/keysbackup/KeysBackupStateListener.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/crypto/keysbackup/KeysBackupStateListener.kt @@ -23,4 +23,4 @@ interface KeysBackupStateListener { * @param newState the new state */ fun onStateChange(newState: KeysBackupState) -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/crypto/sas/CancelCode.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/crypto/sas/CancelCode.kt index d999d06fc5..92a69bcad6 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/crypto/sas/CancelCode.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/crypto/sas/CancelCode.kt @@ -30,4 +30,4 @@ enum class CancelCode(val value: String, val humanReadable: String) { fun safeValueOf(code: String?): CancelCode { return CancelCode.values().firstOrNull { code == it.value } ?: CancelCode.User -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/crypto/sas/EmojiRepresentation.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/crypto/sas/EmojiRepresentation.kt index 0bcb96a999..031610f0c6 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/crypto/sas/EmojiRepresentation.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/crypto/sas/EmojiRepresentation.kt @@ -19,4 +19,4 @@ package im.vector.matrix.android.api.session.crypto.sas import androidx.annotation.StringRes data class EmojiRepresentation(val emoji: String, - @StringRes val nameResId: Int) \ No newline at end of file + @StringRes val nameResId: Int) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/crypto/sas/IncomingSasVerificationTransaction.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/crypto/sas/IncomingSasVerificationTransaction.kt index 791c63dc15..57dfc74236 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/crypto/sas/IncomingSasVerificationTransaction.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/crypto/sas/IncomingSasVerificationTransaction.kt @@ -31,4 +31,4 @@ interface IncomingSasVerificationTransaction { CANCELLED_BY_ME, CANCELLED_BY_OTHER } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/crypto/sas/Mode.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/crypto/sas/Mode.kt index da72e98bad..f58485decd 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/crypto/sas/Mode.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/crypto/sas/Mode.kt @@ -19,4 +19,4 @@ package im.vector.matrix.android.api.session.crypto.sas object SasMode { const val DECIMAL = "decimal" const val EMOJI = "emoji" -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/crypto/sas/OutgoingSasVerificationRequest.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/crypto/sas/OutgoingSasVerificationRequest.kt index 6aeed55549..f2c16da997 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/crypto/sas/OutgoingSasVerificationRequest.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/crypto/sas/OutgoingSasVerificationRequest.kt @@ -29,4 +29,4 @@ interface OutgoingSasVerificationRequest { CANCELLED_BY_ME, CANCELLED_BY_OTHER } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/crypto/sas/SasVerificationService.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/crypto/sas/SasVerificationService.kt index a11c69cd7e..88c0787b4d 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/crypto/sas/SasVerificationService.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/crypto/sas/SasVerificationService.kt @@ -36,4 +36,4 @@ interface SasVerificationService { fun transactionUpdated(tx: SasVerificationTransaction) fun markedAsManuallyVerified(userId: String, deviceId: String) } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/crypto/sas/SasVerificationTransaction.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/crypto/sas/SasVerificationTransaction.kt index dc489cf644..d24ccadb55 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/crypto/sas/SasVerificationTransaction.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/crypto/sas/SasVerificationTransaction.kt @@ -47,4 +47,4 @@ interface SasVerificationTransaction { * both short codes do match */ fun userHasVerifiedShortCode() -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/crypto/sas/SasVerificationTxState.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/crypto/sas/SasVerificationTxState.kt index 60ce8f0cc6..350ec2c381 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/crypto/sas/SasVerificationTxState.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/crypto/sas/SasVerificationTxState.kt @@ -43,7 +43,7 @@ enum class SasVerificationTxState { Verifying, Verified, - //Global: The verification has been cancelled (by me or other), see cancelReason for details + // Global: The verification has been cancelled (by me or other), see cancelReason for details Cancelled, OnCancelled } diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/events/model/AggregatedAnnotation.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/events/model/AggregatedAnnotation.kt index 3f1c619906..ef164cd17b 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/events/model/AggregatedAnnotation.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/events/model/AggregatedAnnotation.kt @@ -34,9 +34,9 @@ import com.squareup.moshi.JsonClass */ @JsonClass(generateAdapter = true) -data class AggregatedAnnotation ( +data class AggregatedAnnotation( override val limited: Boolean? = false, override val count: Int? = 0, val chunk: List? = null -) : UnsignedRelationInfo \ No newline at end of file +) : UnsignedRelationInfo diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/events/model/AggregatedRelations.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/events/model/AggregatedRelations.kt index 0f8d21f532..d04a72bac5 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/events/model/AggregatedRelations.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/events/model/AggregatedRelations.kt @@ -50,4 +50,4 @@ import com.squareup.moshi.JsonClass data class AggregatedRelations( @Json(name = "m.annotation") val annotations: AggregatedAnnotation? = null, @Json(name = "m.reference") val references: DefaultUnsignedRelationInfo? = null -) \ No newline at end of file +) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/events/model/DefaultUnsignedRelationInfo.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/events/model/DefaultUnsignedRelationInfo.kt index 3e2df0aaf2..f7a573ca28 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/events/model/DefaultUnsignedRelationInfo.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/events/model/DefaultUnsignedRelationInfo.kt @@ -23,4 +23,4 @@ data class DefaultUnsignedRelationInfo( override val count: Int? = 0, val chunk: List>? = null -) : UnsignedRelationInfo \ No newline at end of file +) : UnsignedRelationInfo diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/events/model/Event.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/events/model/Event.kt index eca5d8d8f4..c723009771 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/events/model/Event.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/events/model/Event.kt @@ -81,7 +81,6 @@ data class Event( @Json(name = "redacts") val redacts: String? = null ) { - @Transient var mxDecryptionResult: OlmDecryptionResult? = null @@ -91,7 +90,6 @@ data class Event( @Transient var sendState: SendState = SendState.UNKNOWN - /** * Check if event is a state event. * @return true if event is state event. @@ -100,9 +98,9 @@ data class Event( return EventType.isStateEvent(getClearType()) } - //============================================================================================================== + // ============================================================================================================== // Crypto - //============================================================================================================== + // ============================================================================================================== /** * @return true if this event is encrypted. @@ -195,10 +193,8 @@ data class Event( result = 31 * result + sendState.hashCode() return result } - } - fun Event.isTextMessage(): Boolean { return getClearType() == EventType.MESSAGE && when (getClearContent()?.toModel()?.type) { @@ -215,4 +211,4 @@ fun Event.isImageMessage(): Boolean { MessageType.MSGTYPE_IMAGE -> true else -> false } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/events/model/EventType.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/events/model/EventType.kt index 98ce6c0f9e..38c24fa89b 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/events/model/EventType.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/events/model/EventType.kt @@ -16,7 +16,6 @@ package im.vector.matrix.android.api.session.events.model - /** * Constants defining known event types from Matrix specifications. */ @@ -93,7 +92,6 @@ object EventType { STATE_PINNED_EVENT ) - fun isStateEvent(type: String): Boolean { return STATE_EVENTS.contains(type) } diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/events/model/RelationType.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/events/model/RelationType.kt index 0f5421a05a..06b3e9bf2e 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/events/model/RelationType.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/events/model/RelationType.kt @@ -15,7 +15,6 @@ */ package im.vector.matrix.android.api.session.events.model - /** * Constants defining known event relation types from Matrix specifications */ @@ -27,5 +26,4 @@ object RelationType { const val REPLACE = "m.replace" /** Lets you define an event which references an existing event.*/ const val REFERENCE = "m.reference" - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/events/model/UnsignedData.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/events/model/UnsignedData.kt index 4a9547e3f1..57eaa7dc76 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/events/model/UnsignedData.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/events/model/UnsignedData.kt @@ -26,4 +26,4 @@ data class UnsignedData( @Json(name = "transaction_id") val transactionId: String? = null, @Json(name = "prev_content") val prevContent: Map? = null, @Json(name = "m.relations") val relations: AggregatedRelations? = null -) \ No newline at end of file +) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/events/model/UnsignedRelationInfo.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/events/model/UnsignedRelationInfo.kt index 5b627b6236..ad31ad3a32 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/events/model/UnsignedRelationInfo.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/events/model/UnsignedRelationInfo.kt @@ -15,8 +15,7 @@ */ package im.vector.matrix.android.api.session.events.model - interface UnsignedRelationInfo { val limited : Boolean? val count: Int? -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/file/FileService.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/file/FileService.kt index 296b7e1537..e1694199ed 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/file/FileService.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/file/FileService.kt @@ -20,7 +20,6 @@ import im.vector.matrix.android.api.MatrixCallback import im.vector.matrix.android.internal.crypto.attachments.ElementToDecrypt import java.io.File - /** * This interface defines methods to get files. */ @@ -49,4 +48,4 @@ interface FileService { url: String?, elementToDecrypt: ElementToDecrypt?, callback: MatrixCallback) -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/group/Group.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/group/Group.kt index ae41eb9eb7..3967c15704 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/group/Group.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/group/Group.kt @@ -21,4 +21,4 @@ package im.vector.matrix.android.api.session.group */ interface Group { val groupId: String -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/group/GroupService.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/group/GroupService.kt index 2ccfbff2c7..ff63d1a9e7 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/group/GroupService.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/group/GroupService.kt @@ -19,7 +19,6 @@ package im.vector.matrix.android.api.session.group import androidx.lifecycle.LiveData import im.vector.matrix.android.api.session.group.model.GroupSummary - /** * This interface defines methods to get groups. It's implemented at the session level. */ @@ -37,4 +36,4 @@ interface GroupService { * @return the [LiveData] of [GroupSummary] */ fun liveGroupSummaries(): LiveData> -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/group/model/GroupSummary.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/group/model/GroupSummary.kt index 328ca746a6..8e39d6d31a 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/group/model/GroupSummary.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/group/model/GroupSummary.kt @@ -30,4 +30,4 @@ data class GroupSummary( val avatarUrl: String = "", val roomIds: List = emptyList(), val userIds: List = emptyList() -) \ No newline at end of file +) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/homeserver/HomeServerCapabilitiesService.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/homeserver/HomeServerCapabilitiesService.kt index 8e23c21068..e8b38735cf 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/homeserver/HomeServerCapabilitiesService.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/homeserver/HomeServerCapabilitiesService.kt @@ -25,5 +25,4 @@ interface HomeServerCapabilitiesService { * Get the HomeServer capabilities */ fun getHomeServerCapabilities(): HomeServerCapabilities - } diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/pushers/Pusher.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/pushers/Pusher.kt index baedce9693..ba0af7d4dc 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/pushers/Pusher.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/pushers/Pusher.kt @@ -39,4 +39,4 @@ enum class PusherState { data class PusherData( val url: String? = null, val format: String? = null -) \ No newline at end of file +) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/pushers/PushersService.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/pushers/PushersService.kt index c905490432..d082faa7c7 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/pushers/PushersService.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/pushers/PushersService.kt @@ -19,7 +19,6 @@ import androidx.lifecycle.LiveData import im.vector.matrix.android.api.MatrixCallback import java.util.UUID - interface PushersService { /** @@ -53,7 +52,6 @@ interface PushersService { append: Boolean, withEventIdOnly: Boolean): UUID - fun removeHttpPusher(pushkey: String, appId: String, callback: MatrixCallback) companion object { @@ -63,4 +61,4 @@ interface PushersService { fun livePushers(): LiveData> fun pushers() : List -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/Room.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/Room.kt index c3564c27f8..9f91e5b276 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/Room.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/Room.kt @@ -53,5 +53,4 @@ interface Room : fun getRoomSummaryLive(): LiveData> fun roomSummary(): RoomSummary? - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/RoomDirectoryService.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/RoomDirectoryService.kt index 272ab5675b..930320d976 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/RoomDirectoryService.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/RoomDirectoryService.kt @@ -42,5 +42,4 @@ interface RoomDirectoryService { * Includes both the available protocols and all fields required for queries against each protocol. */ fun getThirdPartyProtocol(callback: MatrixCallback>): Cancelable - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/RoomService.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/RoomService.kt index 7ec50bd2ca..175d393c86 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/RoomService.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/RoomService.kt @@ -53,5 +53,4 @@ interface RoomService { * @return the [LiveData] of [RoomSummary] */ fun liveRoomSummaries(): LiveData> - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/crypto/RoomCryptoService.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/crypto/RoomCryptoService.kt index 910002ab6e..f8c15fde47 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/crypto/RoomCryptoService.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/crypto/RoomCryptoService.kt @@ -23,4 +23,4 @@ interface RoomCryptoService { fun encryptionAlgorithm(): String? fun shouldEncryptForInvitedMembers(): Boolean -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/failure/CreateRoomFailure.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/failure/CreateRoomFailure.kt index 086dc621ca..263f699e62 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/failure/CreateRoomFailure.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/failure/CreateRoomFailure.kt @@ -21,5 +21,4 @@ import im.vector.matrix.android.api.failure.Failure sealed class CreateRoomFailure : Failure.FeatureFailure() { object CreatedWithTimeout: CreateRoomFailure() - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/failure/JoinRoomFailure.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/failure/JoinRoomFailure.kt index 4c7dd62ad6..80393e5d3d 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/failure/JoinRoomFailure.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/failure/JoinRoomFailure.kt @@ -21,5 +21,4 @@ import im.vector.matrix.android.api.failure.Failure sealed class JoinRoomFailure : Failure.FeatureFailure() { object JoinedWithTimeout : JoinRoomFailure() - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/members/MembershipService.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/members/MembershipService.kt index 9dba26cb3e..8d60bee9da 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/members/MembershipService.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/members/MembershipService.kt @@ -64,5 +64,4 @@ interface MembershipService { * Leave the room, or reject an invitation. */ fun leave(callback: MatrixCallback): Cancelable - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/EventAnnotationsSummary.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/EventAnnotationsSummary.kt index 18899f8700..0d403be2f4 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/EventAnnotationsSummary.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/EventAnnotationsSummary.kt @@ -19,4 +19,4 @@ data class EventAnnotationsSummary( var eventId: String, var reactionsSummary: List, var editSummary: EditAggregatedSummary? -) \ No newline at end of file +) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/Invite.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/Invite.kt index c808ad556c..c439143de5 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/Invite.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/Invite.kt @@ -27,4 +27,4 @@ data class Invite( @Json(name = "display_name") val displayName: String, @Json(name = "signed") val signed: Signed -) \ No newline at end of file +) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/Membership.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/Membership.kt index d87bb9b3db..1894effc7a 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/Membership.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/Membership.kt @@ -43,5 +43,4 @@ enum class Membership(val value: String) { fun isLeft(): Boolean { return this == KNOCK || this == LEAVE || this == BAN } - } diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/PowerLevels.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/PowerLevels.kt index 964d618264..196f18404c 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/PowerLevels.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/PowerLevels.kt @@ -78,7 +78,6 @@ data class PowerLevels( return if (!TextUtils.isEmpty(eventTypeString) && !TextUtils.isEmpty(userId)) { getUserPowerLevel(userId) >= minimumPowerLevelForSendingEventAsMessage(eventTypeString) } else false - } /** @@ -113,7 +112,6 @@ data class PowerLevels( return events[eventTypeString] ?: stateDefault } - /** * Get the notification level for a dedicated key. * @@ -134,4 +132,4 @@ data class PowerLevels( return 50 } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/ReactionAggregatedSummary.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/ReactionAggregatedSummary.kt index 7036f68186..5ab4804fae 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/ReactionAggregatedSummary.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/ReactionAggregatedSummary.kt @@ -23,4 +23,4 @@ data class ReactionAggregatedSummary( val firstTimestamp: Long, // unix timestamp val sourceEvents: List, val localEchoEvents: List -) \ No newline at end of file +) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/ReadReceipt.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/ReadReceipt.kt index e168dc1e5b..4bb31bccdc 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/ReadReceipt.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/ReadReceipt.kt @@ -21,4 +21,4 @@ import im.vector.matrix.android.api.session.user.model.User data class ReadReceipt( val user: User, val originServerTs: Long -) \ No newline at end of file +) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/RoomAliasesContent.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/RoomAliasesContent.kt index 74b29b7aea..8a857a1c02 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/RoomAliasesContent.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/RoomAliasesContent.kt @@ -25,4 +25,4 @@ import com.squareup.moshi.JsonClass @JsonClass(generateAdapter = true) data class RoomAliasesContent( @Json(name = "aliases") val aliases: List = emptyList() -) \ No newline at end of file +) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/RoomAvatarContent.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/RoomAvatarContent.kt index 8f81632bf4..fc0814817c 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/RoomAvatarContent.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/RoomAvatarContent.kt @@ -25,4 +25,4 @@ import com.squareup.moshi.JsonClass @JsonClass(generateAdapter = true) data class RoomAvatarContent( @Json(name = "url") val avatarUrl: String? = null -) \ No newline at end of file +) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/RoomCanonicalAliasContent.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/RoomCanonicalAliasContent.kt index abaa9f0a6c..a66f23555d 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/RoomCanonicalAliasContent.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/RoomCanonicalAliasContent.kt @@ -25,4 +25,4 @@ import com.squareup.moshi.JsonClass @JsonClass(generateAdapter = true) data class RoomCanonicalAliasContent( @Json(name = "alias") val canonicalAlias: String? = null -) \ No newline at end of file +) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/RoomDirectoryVisibility.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/RoomDirectoryVisibility.kt index 2e1b5a3922..ab3407392c 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/RoomDirectoryVisibility.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/RoomDirectoryVisibility.kt @@ -21,4 +21,4 @@ import com.squareup.moshi.Json enum class RoomDirectoryVisibility { @Json(name = "private") PRIVATE, @Json(name = "public") PUBLIC -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/RoomHistoryVisibility.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/RoomHistoryVisibility.kt index 9260b0112c..a066aaadd5 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/RoomHistoryVisibility.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/RoomHistoryVisibility.kt @@ -23,4 +23,4 @@ enum class RoomHistoryVisibility { @Json(name = "invited") INVITED, @Json(name = "joined") JOINED, @Json(name = "world_readable") WORLD_READABLE -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/RoomHistoryVisibilityContent.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/RoomHistoryVisibilityContent.kt index 7781bcdaf7..96bd910781 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/RoomHistoryVisibilityContent.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/RoomHistoryVisibilityContent.kt @@ -22,4 +22,4 @@ import com.squareup.moshi.JsonClass @JsonClass(generateAdapter = true) data class RoomHistoryVisibilityContent( @Json(name = "history_visibility") val historyVisibility: RoomHistoryVisibility? = null -) \ No newline at end of file +) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/RoomMember.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/RoomMember.kt index 10c3e8ec7c..aa73727685 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/RoomMember.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/RoomMember.kt @@ -31,4 +31,4 @@ data class RoomMember( @Json(name = "is_direct") val isDirect: Boolean = false, @Json(name = "third_party_invite") val thirdPartyInvite: Invite? = null, @Json(name = "unsigned") val unsignedData: UnsignedData? = null -) \ No newline at end of file +) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/RoomNameContent.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/RoomNameContent.kt index 48cbb91cac..72bdaf1d36 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/RoomNameContent.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/RoomNameContent.kt @@ -25,4 +25,4 @@ import com.squareup.moshi.JsonClass @JsonClass(generateAdapter = true) data class RoomNameContent( @Json(name = "name") val name: String? = null -) \ No newline at end of file +) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/RoomSummary.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/RoomSummary.kt index 4aa9e58539..447ba563de 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/RoomSummary.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/RoomSummary.kt @@ -48,4 +48,3 @@ data class RoomSummary( val hasNewMessages: Boolean get() = notificationCount != 0 } - diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/RoomTopicContent.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/RoomTopicContent.kt index 8a6e3f90f3..2439618f46 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/RoomTopicContent.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/RoomTopicContent.kt @@ -25,4 +25,4 @@ import com.squareup.moshi.JsonClass @JsonClass(generateAdapter = true) data class RoomTopicContent( @Json(name = "topic") val topic: String? = null -) \ No newline at end of file +) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/Signed.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/Signed.kt index 4f0e5212fb..43b957bde3 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/Signed.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/Signed.kt @@ -22,4 +22,4 @@ data class Signed( @Json(name = "token") val token: String, @Json(name = "signatures") val signatures: Any, @Json(name = "mxid") val mxid: String -) \ No newline at end of file +) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/VersioningState.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/VersioningState.kt index f2753fbf35..a878e10e3f 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/VersioningState.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/VersioningState.kt @@ -20,4 +20,4 @@ enum class VersioningState { NONE, UPGRADED_ROOM_NOT_JOINED, UPGRADED_ROOM_JOINED -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/call/CallAnswerContent.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/call/CallAnswerContent.kt index 0539571884..24eb68bd78 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/call/CallAnswerContent.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/call/CallAnswerContent.kt @@ -31,5 +31,4 @@ data class CallAnswerContent( @Json(name = "type") val type: String, @Json(name = "sdp") val sdp: String ) - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/call/CallCandidatesContent.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/call/CallCandidatesContent.kt index 48c02f3df8..5fb4db84a3 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/call/CallCandidatesContent.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/call/CallCandidatesContent.kt @@ -32,5 +32,4 @@ data class CallCandidatesContent( @Json(name = "sdpMLineIndex") val sdpMLineIndex: String, @Json(name = "candidate") val candidate: String ) - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/call/CallInviteContent.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/call/CallInviteContent.kt index 58e5d561e6..29305d1420 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/call/CallInviteContent.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/call/CallInviteContent.kt @@ -37,6 +37,5 @@ data class CallInviteContent( } } - fun isVideo(): Boolean = offer.sdp.contains(Offer.SDP_VIDEO) -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/create/CreateRoomParams.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/create/CreateRoomParams.kt index c707f3c3ef..35109501e4 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/create/CreateRoomParams.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/create/CreateRoomParams.kt @@ -243,4 +243,4 @@ class CreateRoomParams { // TODO add phonenumbers when it will be available } } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/create/CreateRoomPreset.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/create/CreateRoomPreset.kt index 9548062bae..eafe9ef292 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/create/CreateRoomPreset.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/create/CreateRoomPreset.kt @@ -27,4 +27,4 @@ enum class CreateRoomPreset { @Json(name = "trusted_private_chat") PRESET_TRUSTED_PRIVATE_CHAT -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/create/Invite3Pid.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/create/Invite3Pid.kt index 5ad920a32b..8e3386080f 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/create/Invite3Pid.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/create/Invite3Pid.kt @@ -39,4 +39,4 @@ data class Invite3Pid( * The invitee's third party identifier. */ val address: String -) \ No newline at end of file +) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/create/RoomCreateContent.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/create/RoomCreateContent.kt index afb318bce9..323c7d7445 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/create/RoomCreateContent.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/create/RoomCreateContent.kt @@ -28,5 +28,3 @@ data class RoomCreateContent( @Json(name = "room_version") val roomVersion: String? = null, @Json(name = "predecessor") val predecessor: Predecessor? = null ) - - diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/message/AudioInfo.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/message/AudioInfo.kt index de30d46024..eef6b283c6 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/message/AudioInfo.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/message/AudioInfo.kt @@ -35,4 +35,4 @@ data class AudioInfo( * The duration of the audio in milliseconds. */ @Json(name = "duration") val duration: Int = 0 -) \ No newline at end of file +) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/message/FileInfo.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/message/FileInfo.kt index d5dfb04f19..b8ed516d9d 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/message/FileInfo.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/message/FileInfo.kt @@ -46,4 +46,4 @@ data class FileInfo( * Information on the encrypted thumbnail file, as specified in End-to-end encryption. Only present if the thumbnail is encrypted. */ @Json(name = "thumbnail_file") val thumbnailFile: EncryptedFileInfo? = null -) \ No newline at end of file +) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/message/ImageInfo.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/message/ImageInfo.kt index 40651d0aa8..20af927e46 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/message/ImageInfo.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/message/ImageInfo.kt @@ -56,4 +56,4 @@ data class ImageInfo( * Information on the encrypted thumbnail file, as specified in End-to-end encryption. Only present if the thumbnail is encrypted. */ @Json(name = "thumbnail_file") val thumbnailFile: EncryptedFileInfo? = null -) \ No newline at end of file +) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/message/LocationInfo.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/message/LocationInfo.kt index f00d48826b..ab6e5e66e9 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/message/LocationInfo.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/message/LocationInfo.kt @@ -36,4 +36,4 @@ data class LocationInfo( * Information on the encrypted thumbnail file, as specified in End-to-end encryption. Only present if the thumbnail is encrypted. */ @Json(name = "thumbnail_file") val thumbnailFile: EncryptedFileInfo? = null -) \ No newline at end of file +) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/message/MessageContent.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/message/MessageContent.kt index c116c6b315..157ff00d69 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/message/MessageContent.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/message/MessageContent.kt @@ -19,7 +19,6 @@ package im.vector.matrix.android.api.session.room.model.message import im.vector.matrix.android.api.session.events.model.Content import im.vector.matrix.android.api.session.room.model.relation.RelationDefaultContent - interface MessageContent { val type: String val body: String @@ -27,7 +26,6 @@ interface MessageContent { val newContent: Content? } - fun MessageContent?.isReply(): Boolean { return this?.relatesTo?.inReplyTo?.eventId != null } diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/message/MessageDefaultContent.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/message/MessageDefaultContent.kt index 45ce9542e0..705dbf5d85 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/message/MessageDefaultContent.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/message/MessageDefaultContent.kt @@ -27,4 +27,4 @@ data class MessageDefaultContent( @Json(name = "body") override val body: String, @Json(name = "m.relates_to") override val relatesTo: RelationDefaultContent? = null, @Json(name = "m.new_content") override val newContent: Content? = null -) : MessageContent \ No newline at end of file +) : MessageContent diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/message/MessageEmoteContent.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/message/MessageEmoteContent.kt index 88fd3bc1cd..ec340659a2 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/message/MessageEmoteContent.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/message/MessageEmoteContent.kt @@ -29,4 +29,4 @@ data class MessageEmoteContent( @Json(name = "formatted_body") val formattedBody: String? = null, @Json(name = "m.relates_to") override val relatesTo: RelationDefaultContent? = null, @Json(name = "m.new_content") override val newContent: Content? = null -) : MessageContent \ No newline at end of file +) : MessageContent diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/message/MessageEncryptedContent.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/message/MessageEncryptedContent.kt index 125c18bb00..110b9c68f0 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/message/MessageEncryptedContent.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/message/MessageEncryptedContent.kt @@ -18,7 +18,6 @@ package im.vector.matrix.android.api.session.room.model.message import im.vector.matrix.android.internal.crypto.model.rest.EncryptedFileInfo - /** * Interface for message which can contains an encrypted file */ diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/message/MessageLocationContent.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/message/MessageLocationContent.kt index deddec12a5..15c746fd38 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/message/MessageLocationContent.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/message/MessageLocationContent.kt @@ -45,4 +45,4 @@ data class MessageLocationContent( @Json(name = "m.relates_to") override val relatesTo: RelationDefaultContent? = null, @Json(name = "m.new_content") override val newContent: Content? = null -) : MessageContent \ No newline at end of file +) : MessageContent diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/message/MessageNoticeContent.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/message/MessageNoticeContent.kt index 54037c600f..9a4fea1060 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/message/MessageNoticeContent.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/message/MessageNoticeContent.kt @@ -29,4 +29,4 @@ data class MessageNoticeContent( @Json(name = "formatted_body") val formattedBody: String? = null, @Json(name = "m.relates_to") override val relatesTo: RelationDefaultContent? = null, @Json(name = "m.new_content") override val newContent: Content? = null -) : MessageContent \ No newline at end of file +) : MessageContent diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/message/MessageTextContent.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/message/MessageTextContent.kt index 3256d8306f..001b9ff0dd 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/message/MessageTextContent.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/message/MessageTextContent.kt @@ -29,4 +29,4 @@ data class MessageTextContent( @Json(name = "formatted_body") val formattedBody: String? = null, @Json(name = "m.relates_to") override val relatesTo: RelationDefaultContent? = null, @Json(name = "m.new_content") override val newContent: Content? = null -) : MessageContent \ No newline at end of file +) : MessageContent diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/message/MessageType.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/message/MessageType.kt index 7db3301898..8cef40f21a 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/message/MessageType.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/message/MessageType.kt @@ -30,4 +30,4 @@ object MessageType { // Add, in local, a fake message type in order to StickerMessage can inherit Message class // Because sticker isn't a message type but a event type without msgtype field const val MSGTYPE_STICKER_LOCAL = "org.matrix.android.sdk.sticker" -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/message/ThumbnailInfo.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/message/ThumbnailInfo.kt index 1e308d79fa..0ef1b8f658 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/message/ThumbnailInfo.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/message/ThumbnailInfo.kt @@ -40,4 +40,4 @@ data class ThumbnailInfo( * The mimetype of the image, e.g. "image/jpeg". */ @Json(name = "mimetype") val mimeType: String -) \ No newline at end of file +) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/message/VideoInfo.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/message/VideoInfo.kt index 0622037896..a7d4708d33 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/message/VideoInfo.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/message/VideoInfo.kt @@ -61,4 +61,4 @@ data class VideoInfo( * Information on the encrypted thumbnail file, as specified in End-to-end encryption. Only present if the thumbnail is encrypted. */ @Json(name = "thumbnail_file") val thumbnailFile: EncryptedFileInfo? = null -) \ No newline at end of file +) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/relation/ReactionInfo.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/relation/ReactionInfo.kt index 72a30ec2e2..c4cbde98eb 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/relation/ReactionInfo.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/relation/ReactionInfo.kt @@ -24,6 +24,6 @@ data class ReactionInfo( @Json(name = "rel_type") override val type: String?, @Json(name = "event_id") override val eventId: String, val key: String, - //always null for reaction + // always null for reaction @Json(name = "m.in_reply_to") override val inReplyTo: ReplyToContent? = null -) : RelationContent \ No newline at end of file +) : RelationContent diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/relation/RelationContent.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/relation/RelationContent.kt index 5f89a482d0..c66d1b9770 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/relation/RelationContent.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/relation/RelationContent.kt @@ -23,4 +23,4 @@ interface RelationContent { val type: String? val eventId: String? val inReplyTo: ReplyToContent? -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/relation/RelationService.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/relation/RelationService.kt index 5f85671e0d..c6a58eeec1 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/relation/RelationService.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/relation/RelationService.kt @@ -48,7 +48,6 @@ import im.vector.matrix.android.api.util.Optional */ interface RelationService { - /** * Sends a reaction (emoji) to the targetedEvent. * @param reaction the reaction (preferably emoji) @@ -57,7 +56,6 @@ interface RelationService { fun sendReaction(reaction: String, targetEventId: String): Cancelable - /** * Undo a reaction (emoji) to the targetedEvent. * @param reaction the reaction (preferably emoji) @@ -66,8 +64,7 @@ interface RelationService { */ fun undoReaction(reaction: String, targetEventId: String, - myUserId: String)//: Cancelable - + myUserId: String) // : Cancelable /** * Edit a text message body. Limited to "m.text" contentType @@ -81,7 +78,6 @@ interface RelationService { newBodyAutoMarkdown: Boolean, compatibilityBodyText: String = "* $newBodyText"): Cancelable - /** * Edit a reply. This is a special case because replies contains fallback text as a prefix. * This method will take the new body (stripped from fallbacks) and re-add them before sending. @@ -100,7 +96,6 @@ interface RelationService { */ fun fetchEditHistory(eventId: String, callback: MatrixCallback>) - /** * Reply to an event in the timeline (must be in same room) * https://matrix.org/docs/spec/client_server/r0.4.0.html#id350 @@ -113,6 +108,4 @@ interface RelationService { autoMarkdown: Boolean = false): Cancelable? fun getEventSummaryLive(eventId: String): LiveData> - - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/tag/RoomTag.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/tag/RoomTag.kt index 0623e8d93c..9e85ba3255 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/tag/RoomTag.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/tag/RoomTag.kt @@ -27,5 +27,4 @@ data class RoomTag( val ROOM_TAG_NO_TAG = "m.recent" val ROOM_TAG_SERVER_NOTICE = "m.server_notice" } - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/thirdparty/RoomDirectoryData.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/thirdparty/RoomDirectoryData.kt index 11a347c0ee..e651500af1 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/thirdparty/RoomDirectoryData.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/thirdparty/RoomDirectoryData.kt @@ -51,5 +51,4 @@ data class RoomDirectoryData( companion object { const val DEFAULT_HOME_SERVER_NAME = "Matrix" } - } diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/thirdparty/ThirdPartyProtocol.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/thirdparty/ThirdPartyProtocol.kt index a31df79436..b066cff164 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/thirdparty/ThirdPartyProtocol.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/thirdparty/ThirdPartyProtocol.kt @@ -59,4 +59,4 @@ data class ThirdPartyProtocol( */ @Json(name = "instances") var instances: List? = null -) \ No newline at end of file +) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/thirdparty/ThirdPartyProtocolInstance.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/thirdparty/ThirdPartyProtocolInstance.kt index d2bea70051..50f92356fb 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/thirdparty/ThirdPartyProtocolInstance.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/model/thirdparty/ThirdPartyProtocolInstance.kt @@ -51,10 +51,9 @@ data class ThirdPartyProtocolInstance( @Json(name = "instance_id") var instanceId: String? = null, - /** * FIXDOC Not documented on matrix.org doc */ @Json(name = "bot_user_id") var botUserId: String? = null -) \ No newline at end of file +) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/read/ReadService.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/read/ReadService.kt index e315224880..c9bb6fbf9b 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/read/ReadService.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/read/ReadService.kt @@ -61,4 +61,4 @@ interface ReadService { * @param eventId: the event */ fun getEventReadReceiptsLive(eventId: String): LiveData> -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/send/DraftService.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/send/DraftService.kt index c700b40a08..2324f1e221 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/send/DraftService.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/send/DraftService.kt @@ -35,5 +35,4 @@ interface DraftService { * The draft list can contain one draft for {regular, reply, quote} and an arbitrary number of {edit} drafts */ fun getDraftsLive(): LiveData> - } diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/send/SendService.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/send/SendService.kt index ae276adb73..8c783837a2 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/send/SendService.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/send/SendService.kt @@ -22,7 +22,6 @@ import im.vector.matrix.android.api.session.room.model.message.MessageType import im.vector.matrix.android.api.session.room.timeline.TimelineEvent import im.vector.matrix.android.api.util.Cancelable - /** * This interface defines methods to send events in a room. It's implemented at the room level. */ @@ -66,7 +65,6 @@ interface SendService { */ fun redactEvent(event: Event, reason: String?): Cancelable - /** * Schedule this message to be resent * @param localEcho the unsent local echo @@ -79,7 +77,6 @@ interface SendService { */ fun resendMediaMessage(localEcho: TimelineEvent): Cancelable? - /** * Remove this failed message from the timeline * @param localEcho the unsent local echo @@ -92,5 +89,4 @@ interface SendService { * Resend all failed messages one by one (and keep order) */ fun resendAllFailedMessages() - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/send/SendState.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/send/SendState.kt index aaa7020be6..cfe3c9ae1a 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/send/SendState.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/send/SendState.kt @@ -16,7 +16,6 @@ package im.vector.matrix.android.api.session.room.send - enum class SendState { UNKNOWN, // the event has not been sent @@ -46,7 +45,4 @@ enum class SendState { fun hasFailed() = HAS_FAILED_STATES.contains(this) fun isSending() = IS_SENDING_STATES.contains(this) - } - - diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/state/StateService.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/state/StateService.kt index 21aae95bdf..06f4a9c7ee 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/state/StateService.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/state/StateService.kt @@ -27,5 +27,4 @@ interface StateService { fun updateTopic(topic: String, callback: MatrixCallback) fun getStateEvent(eventType: String): Event? - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/timeline/Timeline.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/timeline/Timeline.kt index 9873b75e70..c03effd7ad 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/timeline/Timeline.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/timeline/Timeline.kt @@ -50,7 +50,6 @@ interface Timeline { */ fun restartWithEventId(eventId: String?) - /** * Check if the timeline can be enriched by paginating. * @param the direction to check in @@ -58,7 +57,6 @@ interface Timeline { */ fun hasMoreToLoad(direction: Direction): Boolean - /** * This is the main method to enrich the timeline with new data. * It will call the onUpdated method from [Listener] when the data will be processed. @@ -97,7 +95,6 @@ interface Timeline { */ fun getFirstDisplayableEventId(eventId: String): String? - interface Listener { /** * Call when the timeline has been updated through pagination or sync. @@ -119,5 +116,4 @@ interface Timeline { */ BACKWARDS } - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/timeline/TimelineEvent.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/timeline/TimelineEvent.kt index 7f90bcff10..43c1544ffd 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/timeline/TimelineEvent.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/timeline/TimelineEvent.kt @@ -88,7 +88,6 @@ data class TimelineEvent( } } - /** * Tells if the event has been edited */ @@ -107,7 +106,6 @@ fun TimelineEvent.getEditedEventId(): String? { fun TimelineEvent.getLastMessageContent(): MessageContent? = annotations?.editSummary?.aggregatedContent?.toModel() ?: root.getClearContent().toModel() - /** * Get last Message body, after a possible edition */ @@ -121,7 +119,6 @@ fun TimelineEvent.getLastMessageBody(): String? { return null } - fun TimelineEvent.getTextEditableContent(): String? { val originalContent = root.getClearContent().toModel() ?: return null val isReply = originalContent.isReply() || root.content.toModel()?.relatesTo?.inReplyTo?.eventId != null diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/timeline/TimelineService.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/timeline/TimelineService.kt index b36a8631c3..2b23ee40ca 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/timeline/TimelineService.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/room/timeline/TimelineService.kt @@ -33,9 +33,7 @@ interface TimelineService { */ fun createTimeline(eventId: String?, settings: TimelineSettings): Timeline - fun getTimeLineEvent(eventId: String): TimelineEvent? - fun getTimeLineEventLive(eventId: String): LiveData> -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/securestorage/SecureStorageService.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/securestorage/SecureStorageService.kt index d56b6150ee..bae8132990 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/securestorage/SecureStorageService.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/securestorage/SecureStorageService.kt @@ -24,5 +24,4 @@ interface SecureStorageService { fun securelyStoreObject(any: Any, keyAlias: String, outputStream: OutputStream) fun loadSecureSecret(inputStream: InputStream, keyAlias: String): T? - } diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/signout/SignOutService.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/signout/SignOutService.kt index 11f7cd57f7..5a0638fb6e 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/signout/SignOutService.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/signout/SignOutService.kt @@ -27,5 +27,4 @@ interface SignOutService { * Sign out */ fun signOut(callback: MatrixCallback) - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/sync/FilterService.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/sync/FilterService.kt index 4a29013def..e995e775a9 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/sync/FilterService.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/sync/FilterService.kt @@ -30,4 +30,4 @@ interface FilterService { * Configure the filter for the sync */ fun setFilter(filterPreset: FilterPreset) -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/sync/SyncState.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/sync/SyncState.kt index 8c34e392b5..4db40b2c55 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/sync/SyncState.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/sync/SyncState.kt @@ -23,4 +23,4 @@ sealed class SyncState { object KILLING : SyncState() object KILLED : SyncState() object NO_NETWORK : SyncState() -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/user/UserService.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/user/UserService.kt index 97b02fafea..d3de777e34 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/user/UserService.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/user/UserService.kt @@ -64,5 +64,4 @@ interface UserService { * @return a Livedata of users */ fun livePagedUsers(filter: String? = null): LiveData> - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/user/model/User.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/user/model/User.kt index 50e76053bc..f569f5e47e 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/user/model/User.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/user/model/User.kt @@ -24,4 +24,4 @@ data class User( val userId: String, val displayName: String? = null, val avatarUrl: String? = null -) \ No newline at end of file +) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/util/Cancelable.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/util/Cancelable.kt index d2573de455..7f3543dec2 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/util/Cancelable.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/util/Cancelable.kt @@ -26,7 +26,6 @@ interface Cancelable { * The cancel method, it does nothing by default. */ fun cancel() { - //no-op + // no-op } } - diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/util/ContentUtils.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/util/ContentUtils.kt index ad17d26b20..1c29005cea 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/util/ContentUtils.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/util/ContentUtils.kt @@ -15,7 +15,6 @@ */ package im.vector.matrix.android.api.util - object ContentUtils { fun extractUsefulTextFromReply(repliedBody: String): String { val lines = repliedBody.lines() @@ -44,4 +43,4 @@ object ContentUtils { } return repliedBody } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/util/MatrixCallbackDelegate.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/util/MatrixCallbackDelegate.kt index 2b4e30a1e6..06b157daeb 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/util/MatrixCallbackDelegate.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/util/MatrixCallbackDelegate.kt @@ -21,4 +21,4 @@ import im.vector.matrix.android.api.MatrixCallback /** * Simple MatrixCallback implementation which delegate its calls to another callback */ -open class MatrixCallbackDelegate(private val callback: MatrixCallback) : MatrixCallback by callback \ No newline at end of file +open class MatrixCallbackDelegate(private val callback: MatrixCallback) : MatrixCallback by callback diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/util/Optional.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/util/Optional.kt index 6685a6661c..2f602d0b84 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/util/Optional.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/util/Optional.kt @@ -31,7 +31,7 @@ data class Optional constructor(private val value: T?) { return value ?: fn() } - fun hasValue(): Boolean{ + fun hasValue(): Boolean { return value != null } @@ -40,7 +40,6 @@ data class Optional constructor(private val value: T?) { return Optional(value) } } - } fun T?.toOptional() = Optional(this) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/util/Types.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/util/Types.kt index c2f710df1f..bfb9a59956 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/util/Types.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/util/Types.kt @@ -21,4 +21,4 @@ import java.lang.reflect.ParameterizedType typealias JsonDict = Map -internal val JSON_DICT_PARAMETERIZED_TYPE: ParameterizedType = Types.newParameterizedType(Map::class.java, String::class.java, Any::class.java) \ No newline at end of file +internal val JSON_DICT_PARAMETERIZED_TYPE: ParameterizedType = Types.newParameterizedType(Map::class.java, String::class.java, Any::class.java) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/SessionManager.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/SessionManager.kt index 21f16d3d03..c813a6813f 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/SessionManager.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/SessionManager.kt @@ -56,4 +56,4 @@ internal class SessionManager @Inject constructor(private val matrixComponent: M .create(matrixComponent, sessionParams) } } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/auth/AuthAPI.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/auth/AuthAPI.kt index d42962c53e..bfc2b76db7 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/auth/AuthAPI.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/auth/AuthAPI.kt @@ -47,5 +47,4 @@ internal interface AuthAPI { @Headers("CONNECT_TIMEOUT:60000", "READ_TIMEOUT:60000", "WRITE_TIMEOUT:60000") @POST(NetworkConstants.URI_API_PREFIX_PATH_R0 + "login") fun login(@Body loginParams: PasswordLoginParams): Call - } diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/auth/AuthModule.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/auth/AuthModule.kt index 399605469d..31a85afbfb 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/auth/AuthModule.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/auth/AuthModule.kt @@ -55,11 +55,9 @@ internal abstract class AuthModule { } } - @Binds abstract fun bindSessionParamsStore(sessionParamsStore: RealmSessionParamsStore): SessionParamsStore @Binds abstract fun bindAuthenticator(authenticator: DefaultAuthenticator): Authenticator - } diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/auth/DefaultAuthenticator.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/auth/DefaultAuthenticator.kt index 9ae9af8b98..d52b47f081 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/auth/DefaultAuthenticator.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/auth/DefaultAuthenticator.kt @@ -123,6 +123,4 @@ internal class DefaultAuthenticator @Inject constructor(@Unauthenticated val retrofit = retrofitFactory.create(okHttpClient.get(), homeServerConnectionConfig.homeServerUri.toString()) return retrofit.create(AuthAPI::class.java) } - - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/auth/SessionParamsStore.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/auth/SessionParamsStore.kt index 9067e8188c..e1fef7e2eb 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/auth/SessionParamsStore.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/auth/SessionParamsStore.kt @@ -32,4 +32,4 @@ internal interface SessionParamsStore { fun delete(userId: String): Try fun deleteAll(): Try -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/auth/data/InteractiveAuthenticationFlow.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/auth/data/InteractiveAuthenticationFlow.kt index e1f963ff3d..a6c027900f 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/auth/data/InteractiveAuthenticationFlow.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/auth/data/InteractiveAuthenticationFlow.kt @@ -38,4 +38,4 @@ data class InteractiveAuthenticationFlow( const val TYPE_LOGIN_TOKEN = "m.login.token" const val TYPE_LOGIN_PASSWORD = "m.login.password" } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/auth/data/LoginFlowResponse.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/auth/data/LoginFlowResponse.kt index 78fd372beb..598506d0a7 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/auth/data/LoginFlowResponse.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/auth/data/LoginFlowResponse.kt @@ -23,4 +23,4 @@ import com.squareup.moshi.JsonClass data class LoginFlowResponse( @Json(name = "flows") val flows: List -) \ No newline at end of file +) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/auth/data/LoginFlowTypes.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/auth/data/LoginFlowTypes.kt index 1e129f1b45..81196c7414 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/auth/data/LoginFlowTypes.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/auth/data/LoginFlowTypes.kt @@ -25,4 +25,4 @@ object LoginFlowTypes { const val MSISDN = "m.login.msisdn" const val RECAPTCHA = "m.login.recaptcha" const val DUMMY = "m.login.dummy" -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/auth/data/LoginParams.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/auth/data/LoginParams.kt index af859aeba4..e37977425a 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/auth/data/LoginParams.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/auth/data/LoginParams.kt @@ -18,4 +18,4 @@ package im.vector.matrix.android.internal.auth.data internal interface LoginParams { val type: String -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/auth/data/PasswordLoginParams.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/auth/data/PasswordLoginParams.kt index 372b18a931..39b1dd8760 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/auth/data/PasswordLoginParams.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/auth/data/PasswordLoginParams.kt @@ -26,7 +26,6 @@ internal data class PasswordLoginParams(@Json(name = "identifier") val identifie @Json(name = "initial_device_display_name") val deviceDisplayName: String?, @Json(name = "device_id") val deviceId: String?) : LoginParams { - companion object { val IDENTIFIER_KEY_TYPE_USER = "m.id.user" @@ -40,7 +39,6 @@ internal data class PasswordLoginParams(@Json(name = "identifier") val identifie val IDENTIFIER_KEY_COUNTRY = "country" val IDENTIFIER_KEY_NUMBER = "number" - fun userIdentifier(user: String, password: String, deviceDisplayName: String? = null, @@ -49,7 +47,6 @@ internal data class PasswordLoginParams(@Json(name = "identifier") val identifie identifier[IDENTIFIER_KEY_TYPE] = IDENTIFIER_KEY_TYPE_USER identifier[IDENTIFIER_KEY_USER] = user return PasswordLoginParams(identifier, password, LoginFlowTypes.PASSWORD, deviceDisplayName, deviceId) - } fun thirdPartyIdentifier(medium: String, @@ -62,7 +59,6 @@ internal data class PasswordLoginParams(@Json(name = "identifier") val identifie identifier[IDENTIFIER_KEY_MEDIUM] = medium identifier[IDENTIFIER_KEY_ADDRESS] = address return PasswordLoginParams(identifier, password, LoginFlowTypes.PASSWORD, deviceDisplayName, deviceId) - } } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/auth/data/ThreePidMedium.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/auth/data/ThreePidMedium.kt index bf16544972..b1aeb9370b 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/auth/data/ThreePidMedium.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/auth/data/ThreePidMedium.kt @@ -19,4 +19,4 @@ package im.vector.matrix.android.internal.auth.data internal object ThreePidMedium { const val EMAIL = "email" const val MSISDN = "msisdn" -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/auth/db/RealmSessionParamsStore.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/auth/db/RealmSessionParamsStore.kt index 38771c91b3..7ec5d24559 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/auth/db/RealmSessionParamsStore.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/auth/db/RealmSessionParamsStore.kt @@ -99,5 +99,4 @@ internal class RealmSessionParamsStore @Inject constructor(private val mapper: S realm.close() } } - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/auth/db/SessionParamsEntity.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/auth/db/SessionParamsEntity.kt index e6569d28ea..d0cc41d1ac 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/auth/db/SessionParamsEntity.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/auth/db/SessionParamsEntity.kt @@ -23,4 +23,4 @@ internal open class SessionParamsEntity( @PrimaryKey var userId: String = "", var credentialsJson: String = "", var homeServerConnectionConfigJson: String = "" -) : RealmObject() \ No newline at end of file +) : RealmObject() diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/auth/db/SessionParamsMapper.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/auth/db/SessionParamsMapper.kt index 36a03ab19a..8e64e86582 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/auth/db/SessionParamsMapper.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/auth/db/SessionParamsMapper.kt @@ -50,6 +50,4 @@ internal class SessionParamsMapper @Inject constructor(moshi: Moshi) { } return SessionParamsEntity(sessionParams.credentials.userId, credentialsJson, homeServerConnectionConfigJson) } - - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/auth/registration/RegistrationFlowResponse.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/auth/registration/RegistrationFlowResponse.kt index 0eb7b05bf8..218251cfe5 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/auth/registration/RegistrationFlowResponse.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/auth/registration/RegistrationFlowResponse.kt @@ -50,4 +50,4 @@ data class RegistrationFlowResponse( */ @Json(name = "params") var params: JsonDict? = null -) \ No newline at end of file +) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/CryptoModule.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/CryptoModule.kt index 26647457a1..5a7e28b70f 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/CryptoModule.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/CryptoModule.kt @@ -74,7 +74,6 @@ internal abstract class CryptoModule { return RealmClearCacheTask(realmConfiguration) } - @JvmStatic @Provides fun providesCryptoStore(@CryptoDatabase @@ -104,7 +103,6 @@ internal abstract class CryptoModule { fun providesCryptoConfig(): MXCryptoConfig { return MXCryptoConfig() } - } @Binds diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/DefaultCryptoService.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/DefaultCryptoService.kt index 51234082e0..853360d12f 100755 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/DefaultCryptoService.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/DefaultCryptoService.kt @@ -398,7 +398,6 @@ internal class DefaultCryptoService @Inject constructor( } } - callback?.onSuccess(Unit) } @@ -438,7 +437,7 @@ internal class DefaultCryptoService @Inject constructor( val encryptingClass = MXCryptoAlgorithms.hasEncryptorClassForAlgorithm(algorithm) if (!encryptingClass) { - Timber.e("## setEncryptionInRoom() : Unable to encrypt room ${roomId} with $algorithm") + Timber.e("## setEncryptionInRoom() : Unable to encrypt room $roomId with $algorithm") return false } @@ -651,7 +650,7 @@ internal class DefaultCryptoService @Inject constructor( incomingRoomKeyRequestManager.onRoomKeyRequestEvent(event) } else -> { - //ignore + // ignore } } } @@ -706,7 +705,6 @@ internal class DefaultCryptoService @Inject constructor( } else { RoomMembers(realm, roomId).getJoinedRoomMemberIds() } - } return userIds } @@ -753,7 +751,6 @@ internal class DefaultCryptoService @Inject constructor( } } - /** * Upload my user's device keys. */ @@ -937,7 +934,6 @@ internal class DefaultCryptoService @Inject constructor( cryptoStore.setRoomsListBlacklistUnverifiedDevices(roomIds) } - /** * Add this room to the ones which don't encrypt messages to unverified devices. * diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/DeviceListManager.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/DeviceListManager.kt index e7cfdfe1a8..be72851d97 100755 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/DeviceListManager.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/DeviceListManager.kt @@ -74,7 +74,6 @@ internal class DeviceListManager @Inject constructor(private val cryptoStore: IM } catch (e: Exception) { Timber.e(e, "## canRetryKeysDownload() failed") } - } return res @@ -506,4 +505,4 @@ internal class DeviceListManager @Inject constructor(private val cryptoStore: IM const val TRACKING_STATUS_UP_TO_DATE = 3 const val TRACKING_STATUS_UNREACHABLE_SERVER = 4 } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/IncomingRoomKeyRequest.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/IncomingRoomKeyRequest.kt index 056d99425e..fe1f69f904 100755 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/IncomingRoomKeyRequest.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/IncomingRoomKeyRequest.kt @@ -17,7 +17,6 @@ package im.vector.matrix.android.internal.crypto - import im.vector.matrix.android.api.session.events.model.Event import im.vector.matrix.android.api.session.events.model.toModel import im.vector.matrix.android.internal.crypto.model.rest.RoomKeyRequestBody @@ -77,4 +76,3 @@ open class IncomingRoomKeyRequest { */ constructor() } - diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/IncomingRoomKeyRequestManager.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/IncomingRoomKeyRequestManager.kt index 86f7813083..10a2cb00be 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/IncomingRoomKeyRequestManager.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/IncomingRoomKeyRequestManager.kt @@ -35,7 +35,6 @@ internal class IncomingRoomKeyRequestManager @Inject constructor( private val cryptoStore: IMXCryptoStore, private val roomDecryptorProvider: RoomDecryptorProvider) { - // list of IncomingRoomKeyRequests/IncomingRoomKeyRequestCancellations // we received in the current sync. private val receivedRoomKeyRequests = ArrayList() @@ -166,12 +165,10 @@ internal class IncomingRoomKeyRequestManager @Inject constructor( } catch (e: Exception) { Timber.e(e, "## onRoomKeyRequest() failed") } - } } } - /** * A room key request cancellation has been received. * @@ -185,7 +182,6 @@ internal class IncomingRoomKeyRequestManager @Inject constructor( } catch (e: Exception) { Timber.e(e, "## onRoomKeyRequestCancellation() failed") } - } } } @@ -201,5 +197,4 @@ internal class IncomingRoomKeyRequestManager @Inject constructor( roomKeysRequestListeners.remove(listener) } } - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/MXCryptoAlgorithms.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/MXCryptoAlgorithms.kt index 8f42c422df..92b6adabc5 100755 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/MXCryptoAlgorithms.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/MXCryptoAlgorithms.kt @@ -55,4 +55,4 @@ internal object MXCryptoAlgorithms { fun supportedAlgorithms(): List { return listOf(MXCRYPTO_ALGORITHM_MEGOLM, MXCRYPTO_ALGORITHM_OLM) } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/MXOlmDevice.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/MXOlmDevice.kt index 4d4ae35265..057e217933 100755 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/MXOlmDevice.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/MXOlmDevice.kt @@ -94,7 +94,6 @@ internal class MXOlmDevice @Inject constructor( } catch (e: Exception) { Timber.e(e, "MXOlmDevice : cannot initialize olmAccount") } - } else { Timber.v("MXOlmDevice : use an existing account") } @@ -217,7 +216,6 @@ internal class MXOlmDevice @Inject constructor( Timber.v("## createOutboundSession() ; olmSession.sessionIdentifier: $sessionIdentifier") return sessionIdentifier - } catch (e: Exception) { Timber.e(e, "## createOutboundSession() failed") @@ -343,7 +341,7 @@ internal class MXOlmDevice @Inject constructor( if (olmSessionWrapper != null) { try { Timber.v("## encryptMessage() : olmSession.sessionIdentifier: $sessionId") - //Timber.v("## encryptMessage() : payloadString: " + payloadString); + // Timber.v("## encryptMessage() : payloadString: " + payloadString); olmMessage = olmSessionWrapper.olmSession.encryptMessage(payloadString) store.storeSession(olmSessionWrapper, theirDeviceIdentityKey) @@ -354,7 +352,6 @@ internal class MXOlmDevice @Inject constructor( } catch (e: Exception) { Timber.e(e, "## encryptMessage() : failed") } - } return res @@ -386,7 +383,6 @@ internal class MXOlmDevice @Inject constructor( } catch (e: Exception) { Timber.e(e, "## decryptMessage() : decryptMessage failed") } - } return payloadString @@ -410,7 +406,6 @@ internal class MXOlmDevice @Inject constructor( return null != olmSessionWrapper && olmSessionWrapper.olmSession.matchesInboundSession(ciphertext) } - // Outbound group session /** @@ -446,7 +441,6 @@ internal class MXOlmDevice @Inject constructor( } catch (e: Exception) { Timber.e(e, "## getSessionKey() : failed") } - } return null } @@ -477,7 +471,6 @@ internal class MXOlmDevice @Inject constructor( } catch (e: Exception) { Timber.e(e, "## encryptGroupMessage() : failed") } - } return null } @@ -513,7 +506,7 @@ internal class MXOlmDevice @Inject constructor( val existingFirstKnown = it.firstKnownIndex!! val newKnownFirstIndex = session.firstKnownIndex - //If our existing session is better we keep it + // If our existing session is better we keep it if (newKnownFirstIndex != null && existingFirstKnown <= newKnownFirstIndex) { session.olmInboundGroupSession?.releaseSession() return false @@ -601,7 +594,7 @@ internal class MXOlmDevice @Inject constructor( // For now we just ignore updates. TODO: implement something here if (it.firstKnownIndex!! <= session.firstKnownIndex!!) { - //Ignore this, keep existing + // Ignore this, keep existing session.olmInboundGroupSession!!.releaseSession() } else { sessions.add(session) @@ -746,7 +739,6 @@ internal class MXOlmDevice @Inject constructor( return if (theirDeviceIdentityKey.isEmpty() || sessionId.isEmpty()) null else { store.getDeviceSession(sessionId, theirDeviceIdentityKey) } - } /** diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/MyDeviceInfoHolder.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/MyDeviceInfoHolder.kt index 4223983298..b64904190b 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/MyDeviceInfoHolder.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/MyDeviceInfoHolder.kt @@ -70,4 +70,4 @@ internal class MyDeviceInfoHolder @Inject constructor( cryptoStore.storeUserDevices(credentials.userId, myDevices) } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/NewSessionListener.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/NewSessionListener.kt index 7881b1ea7f..e113e64146 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/NewSessionListener.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/NewSessionListener.kt @@ -15,7 +15,6 @@ */ package im.vector.matrix.android.internal.crypto - interface NewSessionListener { fun onNewSession(roomId: String?, senderKey: String, sessionId: String) -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/ObjectSigner.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/ObjectSigner.kt index 625f81de86..be15f3753e 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/ObjectSigner.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/ObjectSigner.kt @@ -42,13 +42,11 @@ internal class ObjectSigner @Inject constructor(private val credentials: Credent val content = HashMap() - content["ed25519:" + credentials.deviceId] = olmDevice.signMessage(strToSign) - ?: "" //null reported by rageshake if happens during logout + ?: "" // null reported by rageshake if happens during logout result[credentials.userId] = content return result } - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/OneTimeKeysUploader.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/OneTimeKeysUploader.kt index f0d7662f0f..c929c33666 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/OneTimeKeysUploader.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/OneTimeKeysUploader.kt @@ -53,7 +53,6 @@ internal class OneTimeKeysUploader @Inject constructor( oneTimeKeyCount = currentCount } - /** * Check if the OTK must be uploaded. */ @@ -170,4 +169,4 @@ internal class OneTimeKeysUploader @Inject constructor( // frequency with which to check & upload one-time keys private const val ONE_TIME_KEY_UPLOAD_PERIOD = (60 * 1000).toLong() // one minute } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/OutgoingRoomKeyRequest.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/OutgoingRoomKeyRequest.kt index 89de5a078b..a66b0242ec 100755 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/OutgoingRoomKeyRequest.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/OutgoingRoomKeyRequest.kt @@ -116,4 +116,3 @@ class OutgoingRoomKeyRequest( } } } - diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/OutgoingRoomKeyRequestManager.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/OutgoingRoomKeyRequestManager.kt index c0702f70e5..89a27c9463 100755 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/OutgoingRoomKeyRequestManager.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/OutgoingRoomKeyRequestManager.kt @@ -90,7 +90,6 @@ internal class OutgoingRoomKeyRequestManager @Inject constructor( val req = cryptoStore.getOrAddOutgoingRoomKeyRequest( OutgoingRoomKeyRequest(requestBody, recipients, makeTxnId(), OutgoingRoomKeyRequest.RequestState.UNSENT)) - if (req?.state == OutgoingRoomKeyRequest.RequestState.UNSENT) { startTimer() } @@ -154,7 +153,6 @@ internal class OutgoingRoomKeyRequestManager @Inject constructor( } } - /** * Start the background timer to send queued requests, if the timer isn't already running. */ @@ -261,7 +259,6 @@ internal class OutgoingRoomKeyRequestManager @Inject constructor( startTimer() } - override fun onSuccess(data: Unit) { Timber.v("## sendOutgoingRoomKeyRequestCancellation() : done") val resend = request.state === OutgoingRoomKeyRequest.RequestState.CANCELLATION_PENDING_AND_WILL_RESEND @@ -312,6 +309,5 @@ internal class OutgoingRoomKeyRequestManager @Inject constructor( private const val SEND_KEY_REQUESTS_DELAY_MS = 500 private val BACKGROUND_HANDLER = createBackgroundHandler("OutgoingRoomKeyRequest") - } } diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/RoomDecryptorProvider.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/RoomDecryptorProvider.kt index 0d49482401..9c542cd446 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/RoomDecryptorProvider.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/RoomDecryptorProvider.kt @@ -82,7 +82,6 @@ internal class RoomDecryptorProvider @Inject constructor( try { it.onNewSession(roomId, senderKey, sessionId) } catch (e: Throwable) { - } } } @@ -106,4 +105,4 @@ internal class RoomDecryptorProvider @Inject constructor( } return roomDecryptors[roomId]?.get(algorithm) } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/actions/EnsureOlmSessionsForDevicesAction.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/actions/EnsureOlmSessionsForDevicesAction.kt index 7a56f46bd1..6206072156 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/actions/EnsureOlmSessionsForDevicesAction.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/actions/EnsureOlmSessionsForDevicesAction.kt @@ -30,7 +30,6 @@ import javax.inject.Inject internal class EnsureOlmSessionsForDevicesAction @Inject constructor(private val olmDevice: MXOlmDevice, private val oneTimeKeysForUsersDeviceTask: ClaimOneTimeKeysForUsersDeviceTask) { - suspend fun handle(devicesByUser: Map>): MXUsersDevicesMap { val devicesWithoutSession = ArrayList() @@ -149,5 +148,4 @@ internal class EnsureOlmSessionsForDevicesAction @Inject constructor(private val return sessionId } - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/actions/EnsureOlmSessionsForUsersAction.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/actions/EnsureOlmSessionsForUsersAction.kt index f929859d76..4ed1ed75f6 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/actions/EnsureOlmSessionsForUsersAction.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/actions/EnsureOlmSessionsForUsersAction.kt @@ -61,4 +61,4 @@ internal class EnsureOlmSessionsForUsersAction @Inject constructor(private val o } return ensureOlmSessionsForDevicesAction.handle(devicesByUser) } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/actions/MegolmSessionDataImporter.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/actions/MegolmSessionDataImporter.kt index 9d345dfbc3..62b4f1b851 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/actions/MegolmSessionDataImporter.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/actions/MegolmSessionDataImporter.kt @@ -112,4 +112,4 @@ internal class MegolmSessionDataImporter @Inject constructor(private val olmDevi return ImportRoomKeysResult(totalNumbersOfKeys, totalNumbersOfImportedKeys) } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/actions/MessageEncrypter.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/actions/MessageEncrypter.kt index 980f620075..b360cd0234 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/actions/MessageEncrypter.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/actions/MessageEncrypter.kt @@ -93,5 +93,4 @@ internal class MessageEncrypter @Inject constructor(private val credentials: Cre return res } - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/actions/SetDeviceVerificationAction.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/actions/SetDeviceVerificationAction.kt index 078d016e42..3eafa73fab 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/actions/SetDeviceVerificationAction.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/actions/SetDeviceVerificationAction.kt @@ -47,4 +47,4 @@ internal class SetDeviceVerificationAction @Inject constructor(private val crypt } } } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/algorithms/megolm/MXMegolmDecryption.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/algorithms/megolm/MXMegolmDecryption.kt index c518872d44..9c14ed555a 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/algorithms/megolm/MXMegolmDecryption.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/algorithms/megolm/MXMegolmDecryption.kt @@ -129,7 +129,6 @@ internal class MXMegolmDecryption(private val userId: String, ) } - /** * Helper for the real decryptEvent and for _retryDecryption. If * requestKeysOnFail is true, we'll send an m.room_key_request when we fail @@ -177,7 +176,6 @@ internal class MXMegolmDecryption(private val userId: String, val encryptedEventContent = event.content.toModel() ?: return val pendingEventsKey = "${encryptedEventContent.senderKey}|${encryptedEventContent.sessionId}" - if (!pendingEvents.containsKey(pendingEventsKey)) { pendingEvents[pendingEventsKey] = HashMap() } @@ -352,4 +350,3 @@ internal class MXMegolmDecryption(private val userId: String, } } } - diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/algorithms/megolm/MXMegolmDecryptionFactory.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/algorithms/megolm/MXMegolmDecryptionFactory.kt index 54c412526d..b7329221ab 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/algorithms/megolm/MXMegolmDecryptionFactory.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/algorithms/megolm/MXMegolmDecryptionFactory.kt @@ -49,4 +49,4 @@ internal class MXMegolmDecryptionFactory @Inject constructor(@UserId private val sendToDeviceTask, coroutineDispatchers) } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/algorithms/megolm/MXMegolmEncryption.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/algorithms/megolm/MXMegolmEncryption.kt index d6c7d33131..2f5e657376 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/algorithms/megolm/MXMegolmEncryption.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/algorithms/megolm/MXMegolmEncryption.kt @@ -54,7 +54,6 @@ internal class MXMegolmEncryption( private val warnOnUnknownDevicesRepository: WarnOnUnknownDeviceRepository ) : IMXEncrypting { - // OutboundSessionInfo. Null if we haven't yet started setting one up. Note // that even if this is non-null, it may not be ready for use (in which // case outboundSession.shareOperation will be non-null.) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/algorithms/megolm/MXMegolmEncryptionFactory.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/algorithms/megolm/MXMegolmEncryptionFactory.kt index 682a3c11e3..dadd810a4b 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/algorithms/megolm/MXMegolmEncryptionFactory.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/algorithms/megolm/MXMegolmEncryptionFactory.kt @@ -51,4 +51,4 @@ internal class MXMegolmEncryptionFactory @Inject constructor( messageEncrypter, warnOnUnknownDevicesRepository) } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/algorithms/olm/MXOlmDecryptionFactory.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/algorithms/olm/MXOlmDecryptionFactory.kt index 12937a2b2e..52a9a4f8c6 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/algorithms/olm/MXOlmDecryptionFactory.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/algorithms/olm/MXOlmDecryptionFactory.kt @@ -28,4 +28,4 @@ internal class MXOlmDecryptionFactory @Inject constructor(private val olmDevice: olmDevice, userId) } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/algorithms/olm/MXOlmEncryption.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/algorithms/olm/MXOlmEncryption.kt index 10d481dcfe..df3695db94 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/algorithms/olm/MXOlmEncryption.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/algorithms/olm/MXOlmEncryption.kt @@ -70,7 +70,6 @@ internal class MXOlmEncryption( return messageMap.toContent()!! } - /** * Ensure that the session * diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/algorithms/olm/MXOlmEncryptionFactory.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/algorithms/olm/MXOlmEncryptionFactory.kt index eff833cf21..ef4057fe26 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/algorithms/olm/MXOlmEncryptionFactory.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/algorithms/olm/MXOlmEncryptionFactory.kt @@ -40,4 +40,4 @@ internal class MXOlmEncryptionFactory @Inject constructor(private val olmDevice: deviceListManager, ensureOlmSessionsForUsersAction) } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/api/CryptoApi.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/api/CryptoApi.kt index 263cfef2f8..f4821f8ef3 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/api/CryptoApi.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/api/CryptoApi.kt @@ -16,7 +16,6 @@ */ package im.vector.matrix.android.internal.crypto.api - import im.vector.matrix.android.internal.crypto.model.rest.* import im.vector.matrix.android.internal.network.NetworkConstants import retrofit2.Call diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/attachments/ElementToDecrypt.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/attachments/ElementToDecrypt.kt index 3bd29ae262..a3fc98f674 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/attachments/ElementToDecrypt.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/attachments/ElementToDecrypt.kt @@ -20,7 +20,6 @@ import android.os.Parcelable import im.vector.matrix.android.internal.crypto.model.rest.EncryptedFileInfo import kotlinx.android.parcel.Parcelize - fun EncryptedFileInfo.toElementToDecrypt(): ElementToDecrypt? { // Check the validity of some fields if (isValid()) { @@ -35,7 +34,6 @@ fun EncryptedFileInfo.toElementToDecrypt(): ElementToDecrypt? { return null } - /** * Represent data to decode an attachment */ @@ -44,4 +42,4 @@ data class ElementToDecrypt( val iv: String, val k: String, val sha256: String -) : Parcelable \ No newline at end of file +) : Parcelable diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/KeysBackup.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/KeysBackup.kt index 34e56db2a8..cbe9298ee7 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/KeysBackup.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/KeysBackup.kt @@ -179,7 +179,6 @@ internal class KeysBackup @Inject constructor( megolmBackupAuthData.signatures = objectSigner.signObject(canonicalJson) - val megolmBackupCreationInfo = MegolmBackupCreationInfo() megolmBackupCreationInfo.algorithm = MXCRYPTO_ALGORITHM_MEGOLM_BACKUP megolmBackupCreationInfo.authData = megolmBackupAuthData @@ -296,7 +295,6 @@ internal class KeysBackup @Inject constructor( override fun getTotalNumbersOfKeys(): Int { return cryptoStore.inboundGroupSessionsCount(false) - } override fun getTotalNumbersOfBackedUpKeys(): Int { @@ -827,7 +825,6 @@ internal class KeysBackup @Inject constructor( } catch (e: OlmException) { Timber.e(e, "OlmException") } - } return decryption @@ -1013,7 +1010,6 @@ internal class KeysBackup @Inject constructor( override fun onFailure(failure: Throwable) { // Cannot happen } - }) } } diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/KeysBackupPassword.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/KeysBackupPassword.kt index 0fedcd8509..344ba61277 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/KeysBackupPassword.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/KeysBackupPassword.kt @@ -27,7 +27,6 @@ import javax.crypto.Mac import javax.crypto.spec.SecretKeySpec import kotlin.experimental.xor - private const val SALT_LENGTH = 32 private const val DEFAULT_ITERATION = 500_000 diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/api/RoomKeysApi.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/api/RoomKeysApi.kt index 73b6112fd8..f5d89fb5eb 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/api/RoomKeysApi.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/api/RoomKeysApi.kt @@ -142,7 +142,6 @@ internal interface RoomKeysApi { @GET(NetworkConstants.URI_API_PREFIX_PATH_R0 + "room_keys/keys") fun getSessionsData(@Query("version") version: String): Call - /* ========================================================================================== * Deleting keys * ========================================================================================== */ diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/model/KeyBackupVersionTrustSignature.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/model/KeyBackupVersionTrustSignature.kt index fce77b33e5..caf4aaad0b 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/model/KeyBackupVersionTrustSignature.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/model/KeyBackupVersionTrustSignature.kt @@ -32,5 +32,4 @@ class KeyBackupVersionTrustSignature { *Flag to indicate the signature from this device is valid. */ var valid = false - } diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/model/KeysBackupVersionTrust.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/model/KeysBackupVersionTrust.kt index ed765d1449..fc642b3fb2 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/model/KeysBackupVersionTrust.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/model/KeysBackupVersionTrust.kt @@ -30,4 +30,4 @@ data class KeysBackupVersionTrust( * Signatures found in the backup version. */ var signatures: MutableList = ArrayList() -) \ No newline at end of file +) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/model/KeysBackupVersionTrustSignature.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/model/KeysBackupVersionTrustSignature.kt index afa6b77921..d91189a4bf 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/model/KeysBackupVersionTrustSignature.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/model/KeysBackupVersionTrustSignature.kt @@ -38,5 +38,4 @@ class KeysBackupVersionTrustSignature { * Flag to indicate the signature from this device is valid. */ var valid = false - } diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/model/MegolmBackupCreationInfo.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/model/MegolmBackupCreationInfo.kt index 2be7806b86..a08ba9ba96 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/model/MegolmBackupCreationInfo.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/model/MegolmBackupCreationInfo.kt @@ -35,5 +35,4 @@ class MegolmBackupCreationInfo { * The Base58 recovery key. */ var recoveryKey: String = "" - } diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/model/rest/KeysVersionResult.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/model/rest/KeysVersionResult.kt index bff8f13894..4510cdd773 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/model/rest/KeysVersionResult.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/model/rest/KeysVersionResult.kt @@ -28,4 +28,4 @@ data class KeysVersionResult( // The number of keys stored in the backup. var count: Int? = null -) : KeysAlgorithmAndData() \ No newline at end of file +) : KeysAlgorithmAndData() diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/model/rest/UpdateKeysBackupVersionBody.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/model/rest/UpdateKeysBackupVersionBody.kt index e2d628c459..cb8ba5e26c 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/model/rest/UpdateKeysBackupVersionBody.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/model/rest/UpdateKeysBackupVersionBody.kt @@ -22,4 +22,4 @@ import com.squareup.moshi.JsonClass data class UpdateKeysBackupVersionBody( // the backup version, mandatory val version: String -) : KeysAlgorithmAndData() \ No newline at end of file +) : KeysAlgorithmAndData() diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/tasks/CreateKeysBackupVersionTask.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/tasks/CreateKeysBackupVersionTask.kt index 5aaaaea5b3..78ae0f7ea6 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/tasks/CreateKeysBackupVersionTask.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/tasks/CreateKeysBackupVersionTask.kt @@ -28,7 +28,6 @@ internal interface CreateKeysBackupVersionTask : Task { data class Params( val version: String diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/tasks/GetKeysBackupLastVersionTask.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/tasks/GetKeysBackupLastVersionTask.kt index 3007622690..874a1749d6 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/tasks/GetKeysBackupLastVersionTask.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/tasks/GetKeysBackupLastVersionTask.kt @@ -27,7 +27,6 @@ internal interface GetKeysBackupLastVersionTask : Task internal class DefaultGetKeysBackupLastVersionTask @Inject constructor(private val roomKeysApi: RoomKeysApi) : GetKeysBackupLastVersionTask { - override suspend fun execute(params: Unit): KeysVersionResult { return executeRequest { apiCall = roomKeysApi.getKeysBackupLastVersion() diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/tasks/GetKeysBackupVersionTask.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/tasks/GetKeysBackupVersionTask.kt index c36f039c3c..ea0b9b9f3a 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/tasks/GetKeysBackupVersionTask.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/tasks/GetKeysBackupVersionTask.kt @@ -27,7 +27,6 @@ internal interface GetKeysBackupVersionTask : Task internal class DefaultGetKeysBackupVersionTask @Inject constructor(private val roomKeysApi: RoomKeysApi) : GetKeysBackupVersionTask { - override suspend fun execute(params: String): KeysVersionResult { return executeRequest { apiCall = roomKeysApi.getKeysBackupVersion(params) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/tasks/GetRoomSessionsDataTask.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/tasks/GetRoomSessionsDataTask.kt index e8888f2590..ba903de8c1 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/tasks/GetRoomSessionsDataTask.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/tasks/GetRoomSessionsDataTask.kt @@ -22,7 +22,6 @@ import im.vector.matrix.android.internal.network.executeRequest import im.vector.matrix.android.internal.task.Task import javax.inject.Inject - internal interface GetRoomSessionsDataTask : Task { data class Params( val roomId: String, diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/tasks/UpdateKeysBackupVersionTask.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/tasks/UpdateKeysBackupVersionTask.kt index 28aedaf800..30b60af418 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/tasks/UpdateKeysBackupVersionTask.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/keysbackup/tasks/UpdateKeysBackupVersionTask.kt @@ -32,7 +32,6 @@ internal interface UpdateKeysBackupVersionTask : Task? = null -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/MXUsersDevicesMap.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/MXUsersDevicesMap.kt index 348b6ade12..bbad25ef51 100755 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/MXUsersDevicesMap.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/MXUsersDevicesMap.kt @@ -16,7 +16,6 @@ package im.vector.matrix.android.internal.crypto.model - class MXUsersDevicesMap { // A map of maps (userId -> (deviceId -> Object)). @@ -119,4 +118,4 @@ class MXUsersDevicesMap { override fun toString(): String { return "MXUsersDevicesMap $map" } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/OlmInboundGroupSessionWrapper.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/OlmInboundGroupSessionWrapper.kt index 646f6b9c5b..69fc314796 100755 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/OlmInboundGroupSessionWrapper.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/OlmInboundGroupSessionWrapper.kt @@ -57,7 +57,6 @@ class OlmInboundGroupSessionWrapper : Serializable { } catch (e: Exception) { Timber.e(e, "## getFirstKnownIndex() : getFirstKnownIndex failed") } - } return null @@ -79,7 +78,6 @@ class OlmInboundGroupSessionWrapper : Serializable { } catch (e: Exception) { Timber.e(e, "Cannot create") } - } /** @@ -149,9 +147,8 @@ class OlmInboundGroupSessionWrapper : Serializable { } catch (e: Exception) { Timber.e(e, "## exportSession() : export failed") } - } return null } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/OlmSessionWrapper.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/OlmSessionWrapper.kt index a413abd5d8..acd056d9b9 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/OlmSessionWrapper.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/OlmSessionWrapper.kt @@ -33,4 +33,4 @@ data class OlmSessionWrapper( fun onMessageReceived() { lastReceivedMessageTs = System.currentTimeMillis() } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/event/EncryptedEventContent.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/event/EncryptedEventContent.kt index 4d06b737e8..3efb2f59ad 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/event/EncryptedEventContent.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/event/EncryptedEventContent.kt @@ -55,6 +55,6 @@ data class EncryptedEventContent( @Json(name = "session_id") val sessionId: String? = null, - //Relation context is in clear in encrypted message + // Relation context is in clear in encrypted message @Json(name = "m.relates_to") val relatesTo: RelationDefaultContent? = null -) \ No newline at end of file +) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/event/EncryptionEventContent.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/event/EncryptionEventContent.kt index 22df41e903..6de50f84c2 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/event/EncryptionEventContent.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/event/EncryptionEventContent.kt @@ -41,4 +41,4 @@ data class EncryptionEventContent( */ @Json(name = "rotation_period_msgs") var rotationPeriodMsgs: Long? = null -) \ No newline at end of file +) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/event/OlmPayloadContent.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/event/OlmPayloadContent.kt index c33ddb41a9..bf5833a44f 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/event/OlmPayloadContent.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/event/OlmPayloadContent.kt @@ -58,5 +58,3 @@ data class OlmPayloadContent( } } } - - diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/rest/DeviceInfo.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/rest/DeviceInfo.kt index 1bd5f671cc..1289ef3d92 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/rest/DeviceInfo.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/rest/DeviceInfo.kt @@ -59,5 +59,4 @@ data class DeviceInfo( override val date: Long get() = lastSeenTs ?: 0 - } diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/rest/EncryptedFileKey.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/rest/EncryptedFileKey.kt index 3cf1e3083a..799819ceee 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/rest/EncryptedFileKey.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/rest/EncryptedFileKey.kt @@ -77,4 +77,3 @@ data class EncryptedFileKey( return true } } - diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/rest/EncryptedMessage.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/rest/EncryptedMessage.kt index bd070e3186..c546cd04c4 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/rest/EncryptedMessage.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/rest/EncryptedMessage.kt @@ -16,7 +16,6 @@ package im.vector.matrix.android.internal.crypto.model.rest - import com.squareup.moshi.Json import com.squareup.moshi.JsonClass diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/rest/ForwardedRoomKeyContent.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/rest/ForwardedRoomKeyContent.kt index b887989f23..cf8652352c 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/rest/ForwardedRoomKeyContent.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/rest/ForwardedRoomKeyContent.kt @@ -44,4 +44,4 @@ data class ForwardedRoomKeyContent( @Json(name = "sender_claimed_ed25519_key") val senderClaimedEd25519Key: String? = null -) \ No newline at end of file +) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/rest/KeyVerificationCancel.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/rest/KeyVerificationCancel.kt index 1d4a9b345a..b5c45e9566 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/rest/KeyVerificationCancel.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/rest/KeyVerificationCancel.kt @@ -57,4 +57,4 @@ data class KeyVerificationCancel( } return true } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/rest/KeyVerificationKey.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/rest/KeyVerificationKey.kt index b5e3323236..4c6243fee3 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/rest/KeyVerificationKey.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/rest/KeyVerificationKey.kt @@ -18,7 +18,6 @@ package im.vector.matrix.android.internal.crypto.model.rest import com.squareup.moshi.Json import com.squareup.moshi.JsonClass - /** * Sent by both devices to send their ephemeral Curve25519 public key to the other device. */ @@ -54,5 +53,4 @@ data class KeyVerificationKey( } return true } - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/rest/KeyVerificationMac.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/rest/KeyVerificationMac.kt index 19dbbe5dda..8732e366d2 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/rest/KeyVerificationMac.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/rest/KeyVerificationMac.kt @@ -62,5 +62,4 @@ data class KeyVerificationMac( } } } - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/rest/KeyVerificationStart.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/rest/KeyVerificationStart.kt index b042e32fef..081b19161a 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/rest/KeyVerificationStart.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/rest/KeyVerificationStart.kt @@ -74,7 +74,6 @@ class KeyVerificationStart : SendToDeviceObject { @Json(name = "short_authentication_string") var shortAuthenticationStrings: List? = null - companion object { const val VERIF_METHOD_SAS = "m.sas.v1" } diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/rest/KeysClaimBody.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/rest/KeysClaimBody.kt index 3ae5ba20ad..87b9891ffa 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/rest/KeysClaimBody.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/rest/KeysClaimBody.kt @@ -37,4 +37,3 @@ data class KeysClaimBody( @Json(name = "one_time_keys") var oneTimeKeys: Map> ) - diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/rest/KeysClaimResponse.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/rest/KeysClaimResponse.kt index 989267946b..976743d8bc 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/rest/KeysClaimResponse.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/rest/KeysClaimResponse.kt @@ -32,4 +32,3 @@ data class KeysClaimResponse( @Json(name = "one_time_keys") var oneTimeKeys: Map>>>? = null ) - diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/rest/KeysUploadResponse.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/rest/KeysUploadResponse.kt index 72e148baf5..b68c13bf4d 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/rest/KeysUploadResponse.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/rest/KeysUploadResponse.kt @@ -51,4 +51,3 @@ data class KeysUploadResponse( return oneTimeKeyCounts?.containsKey(algorithm) == true } } - diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/rest/RoomKeyShare.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/rest/RoomKeyShare.kt index 5d7d49f564..00ad490e1d 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/rest/RoomKeyShare.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/rest/RoomKeyShare.kt @@ -35,4 +35,4 @@ open class RoomKeyShare : SendToDeviceObject { const val ACTION_SHARE_REQUEST = "request" const val ACTION_SHARE_CANCELLATION = "request_cancellation" } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/rest/RoomKeyShareCancellation.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/rest/RoomKeyShareCancellation.kt index d763c5544b..768c2d71c5 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/rest/RoomKeyShareCancellation.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/rest/RoomKeyShareCancellation.kt @@ -25,4 +25,4 @@ class RoomKeyShareCancellation : RoomKeyShare() { init { action = ACTION_SHARE_CANCELLATION } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/rest/RoomKeyShareRequest.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/rest/RoomKeyShareRequest.kt index 4374325870..0d8f7f8738 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/rest/RoomKeyShareRequest.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/rest/RoomKeyShareRequest.kt @@ -29,4 +29,4 @@ class RoomKeyShareRequest : RoomKeyShare() { init { action = ACTION_SHARE_REQUEST } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/rest/SendToDeviceBody.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/rest/SendToDeviceBody.kt index 0c873e8247..8b95d7c686 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/rest/SendToDeviceBody.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/rest/SendToDeviceBody.kt @@ -25,4 +25,4 @@ class SendToDeviceBody { * The device ID may also be *, meaning all known devices for the user. */ var messages: Map>? = null -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/rest/UpdateDeviceInfoBody.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/rest/UpdateDeviceInfoBody.kt index 3a7da69db8..161c5d0354 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/rest/UpdateDeviceInfoBody.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/model/rest/UpdateDeviceInfoBody.kt @@ -29,4 +29,3 @@ data class UpdateDeviceInfoBody( var displayName: String? = null ) - diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/repository/WarnOnUnknownDeviceRepository.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/repository/WarnOnUnknownDeviceRepository.kt index 24d213cfdb..879e565b57 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/repository/WarnOnUnknownDeviceRepository.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/repository/WarnOnUnknownDeviceRepository.kt @@ -41,5 +41,4 @@ internal class WarnOnUnknownDeviceRepository @Inject constructor() { fun setWarnOnUnknownDevices(warn: Boolean) { warnOnUnknownDevices = warn } - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/db/Helper.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/db/Helper.kt index ed91859d5b..5ef2b9b1a2 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/db/Helper.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/db/Helper.kt @@ -27,7 +27,6 @@ import java.io.ObjectInputStream import java.io.ObjectOutputStream import java.util.zip.GZIPInputStream - /** * Get realm, invoke the action, close realm, and return the result of the action */ diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/db/RealmCryptoStore.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/db/RealmCryptoStore.kt index c18d10613f..01826cee71 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/db/RealmCryptoStore.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/db/RealmCryptoStore.kt @@ -60,7 +60,6 @@ internal class RealmCryptoStore(private val realmConfiguration: RealmConfigurati // Cache for InboundGroupSession, to release them properly private val inboundGroupSessionToRelease = HashMap() - private val newSessionListeners = ArrayList() override fun addNewSessionListener(listener: NewSessionListener) { @@ -734,5 +733,4 @@ internal class RealmCryptoStore(private val realmConfiguration: RealmConfigurati } .toMutableList() } - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/db/RealmCryptoStoreModule.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/db/RealmCryptoStoreModule.kt index ff2f6cc42e..998274020a 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/db/RealmCryptoStoreModule.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/db/RealmCryptoStoreModule.kt @@ -34,4 +34,4 @@ import io.realm.annotations.RealmModule OutgoingRoomKeyRequestEntity::class, UserEntity::class ]) -internal class RealmCryptoStoreModule \ No newline at end of file +internal class RealmCryptoStoreModule diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/db/model/CryptoMetadataEntity.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/db/model/CryptoMetadataEntity.kt index 2c96bb25ed..eae202f966 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/db/model/CryptoMetadataEntity.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/db/model/CryptoMetadataEntity.kt @@ -37,7 +37,6 @@ internal open class CryptoMetadataEntity( var backupVersion: String? = null ) : RealmObject() { - // Deserialize data fun getOlmAccount(): OlmAccount? { return deserializeFromRealm(olmAccountData) @@ -47,4 +46,4 @@ internal open class CryptoMetadataEntity( fun putOlmAccount(olmAccount: OlmAccount?) { olmAccountData = serializeForRealm(olmAccount) } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/db/model/CryptoRoomEntity.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/db/model/CryptoRoomEntity.kt index fcec259ed9..531f44a838 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/db/model/CryptoRoomEntity.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/db/model/CryptoRoomEntity.kt @@ -27,5 +27,4 @@ internal open class CryptoRoomEntity( : RealmObject() { companion object - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/db/model/IncomingRoomKeyRequestEntity.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/db/model/IncomingRoomKeyRequestEntity.kt index 707418ab7e..9b1d116aa9 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/db/model/IncomingRoomKeyRequestEntity.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/db/model/IncomingRoomKeyRequestEntity.kt @@ -53,4 +53,4 @@ internal open class IncomingRoomKeyRequestEntity( requestBodySessionId = it.sessionId } } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/db/model/KeysBackupDataEntity.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/db/model/KeysBackupDataEntity.kt index 53ebf146d8..f88202dead 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/db/model/KeysBackupDataEntity.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/db/model/KeysBackupDataEntity.kt @@ -27,4 +27,4 @@ internal open class KeysBackupDataEntity( var backupLastServerHash: String? = null, // The last known number of backed up keys on the server var backupLastServerNumberOfKeys: Int? = null -) : RealmObject() \ No newline at end of file +) : RealmObject() diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/db/model/OlmInboundGroupSessionEntity.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/db/model/OlmInboundGroupSessionEntity.kt index 4835300e66..caa8cb9668 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/db/model/OlmInboundGroupSessionEntity.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/db/model/OlmInboundGroupSessionEntity.kt @@ -44,4 +44,4 @@ internal open class OlmInboundGroupSessionEntity( } companion object -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/db/model/OlmSessionEntity.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/db/model/OlmSessionEntity.kt index dbc860eff0..c051fe56a2 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/db/model/OlmSessionEntity.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/db/model/OlmSessionEntity.kt @@ -41,4 +41,4 @@ internal open class OlmSessionEntity(@PrimaryKey var primaryKey: String = "", } companion object -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/db/model/OutgoingRoomKeyRequestEntity.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/db/model/OutgoingRoomKeyRequestEntity.kt index d468285882..b7bcb603f5 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/db/model/OutgoingRoomKeyRequestEntity.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/db/model/OutgoingRoomKeyRequestEntity.kt @@ -73,5 +73,3 @@ internal open class OutgoingRoomKeyRequestEntity( } } } - - diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/db/query/UserEntitiesQueries.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/db/query/UserEntitiesQueries.kt index 3860d8d8ce..8088a14825 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/db/query/UserEntitiesQueries.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/db/query/UserEntitiesQueries.kt @@ -42,4 +42,3 @@ internal fun UserEntity.Companion.delete(realm: Realm, userId: String) { .findFirst() ?.deleteFromRealm() } - diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/tasks/DeleteDeviceTask.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/tasks/DeleteDeviceTask.kt index 3e6e4d8ca2..0e52c118d9 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/tasks/DeleteDeviceTask.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/tasks/DeleteDeviceTask.kt @@ -55,7 +55,6 @@ internal class DefaultDeleteDeviceTask @Inject constructor(private val cryptoApi } else { throw throwable } - } else { // Other error throw throwable diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/verification/DefaultSasVerificationService.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/verification/DefaultSasVerificationService.kt index e071fc8571..ca1157e583 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/verification/DefaultSasVerificationService.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/verification/DefaultSasVerificationService.kt @@ -37,7 +37,6 @@ import im.vector.matrix.android.internal.crypto.model.rest.* import im.vector.matrix.android.internal.crypto.store.IMXCryptoStore import im.vector.matrix.android.internal.crypto.tasks.SendToDeviceTask import im.vector.matrix.android.internal.session.SessionScope -import im.vector.matrix.android.internal.task.TaskConstraints import im.vector.matrix.android.internal.task.TaskExecutor import im.vector.matrix.android.internal.task.configureWith import im.vector.matrix.android.internal.util.MatrixCoroutineDispatchers @@ -90,7 +89,7 @@ internal class DefaultSasVerificationService @Inject constructor(private val cre onMacReceived(event) } else -> { - //ignore + // ignore } } } @@ -120,7 +119,6 @@ internal class DefaultSasVerificationService @Inject constructor(private val cre } catch (e: Throwable) { Timber.e(e, "## Error while notifying listeners") } - } } } @@ -167,7 +165,7 @@ internal class DefaultSasVerificationService @Inject constructor(private val cre } return } - //Download device keys prior to everything + // Download device keys prior to everything checkKeysAreDownloaded( otherUserId!!, startReq, @@ -177,19 +175,19 @@ internal class DefaultSasVerificationService @Inject constructor(private val cre val existing = getExistingTransaction(otherUserId, tid) val existingTxs = getExistingTransactionsForUser(otherUserId) if (existing != null) { - //should cancel both! + // should cancel both! Timber.v("## SAS onStartRequestReceived - Request exist with same if ${startReq.transactionID!!}") existing.cancel(CancelCode.UnexpectedMessage) cancelTransaction(tid, otherUserId, startReq.fromDevice!!, CancelCode.UnexpectedMessage) } else if (existingTxs?.isEmpty() == false) { Timber.v("## SAS onStartRequestReceived - There is already a transaction with this user ${startReq.transactionID!!}") - //Multiple keyshares between two devices: any two devices may only have at most one key verification in flight at a time. + // Multiple keyshares between two devices: any two devices may only have at most one key verification in flight at a time. existingTxs.forEach { it.cancel(CancelCode.UnexpectedMessage) } cancelTransaction(tid, otherUserId, startReq.fromDevice!!, CancelCode.UnexpectedMessage) } else { - //Ok we can create + // Ok we can create if (KeyVerificationStart.VERIF_METHOD_SAS == startReq.method) { Timber.v("## SAS onStartRequestReceived - request accepted ${startReq.transactionID!!}") val tx = IncomingSASVerificationTransaction( @@ -241,7 +239,7 @@ internal class DefaultSasVerificationService @Inject constructor(private val cre val cancelReq = event.getClearContent().toModel()!! if (!cancelReq.isValid()) { - //ignore + // ignore Timber.e("## Received invalid accept request") return } @@ -263,7 +261,7 @@ internal class DefaultSasVerificationService @Inject constructor(private val cre val acceptReq = event.getClearContent().toModel()!! if (!acceptReq.isValid()) { - //ignore + // ignore Timber.e("## Received invalid accept request") return } @@ -272,22 +270,20 @@ internal class DefaultSasVerificationService @Inject constructor(private val cre if (existing == null) { Timber.e("## Received invalid accept request") return - } if (existing is SASVerificationTransaction) { existing.acceptToDeviceEvent(otherUserId, acceptReq) } else { - //not other types now + // not other types now } } - private suspend fun onKeyReceived(event: Event) { val keyReq = event.getClearContent().toModel()!! if (!keyReq.isValid()) { - //ignore + // ignore Timber.e("## Received invalid key request") return } @@ -300,7 +296,7 @@ internal class DefaultSasVerificationService @Inject constructor(private val cre if (existing is SASVerificationTransaction) { existing.acceptToDeviceEvent(otherUserId, keyReq) } else { - //not other types now + // not other types now } } @@ -308,7 +304,7 @@ internal class DefaultSasVerificationService @Inject constructor(private val cre val macReq = event.getClearContent().toModel()!! if (!macReq.isValid()) { - //ignore + // ignore Timber.e("## Received invalid key request") return } @@ -321,7 +317,7 @@ internal class DefaultSasVerificationService @Inject constructor(private val cre if (existing is SASVerificationTransaction) { existing.acceptToDeviceEvent(otherUserId, macReq) } else { - //not other types known for now + // not other types known for now } } @@ -362,7 +358,7 @@ internal class DefaultSasVerificationService @Inject constructor(private val cre override fun beginKeyVerification(method: String, userId: String, deviceID: String): String? { val txID = createUniqueIDForTransaction(userId, deviceID) - //should check if already one (and cancel it) + // should check if already one (and cancel it) if (KeyVerificationStart.VERIF_METHOD_SAS == method) { val tx = OutgoingSASVerificationRequest( this, @@ -397,7 +393,6 @@ internal class DefaultSasVerificationService @Inject constructor(private val cre } } - override fun transactionUpdated(tx: VerificationTransaction) { dispatchTxUpdated(tx) if (tx is SASVerificationTransaction @@ -405,7 +400,7 @@ internal class DefaultSasVerificationService @Inject constructor(private val cre || tx.state == SasVerificationTxState.OnCancelled || tx.state == SasVerificationTxState.Verified) ) { - //remove + // remove this.removeTransaction(tx.otherUserId, tx.transactionId) } } @@ -429,4 +424,4 @@ internal class DefaultSasVerificationService @Inject constructor(private val cre } .executeBy(taskExecutor) } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/verification/IncomingSASVerificationTransaction.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/verification/IncomingSASVerificationTransaction.kt index 641062d7f2..6ed5be4881 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/verification/IncomingSASVerificationTransaction.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/verification/IncomingSASVerificationTransaction.kt @@ -82,16 +82,14 @@ internal class IncomingSASVerificationTransaction( Timber.v("## SAS received verification request from state $state") if (state != SasVerificationTxState.None) { Timber.e("## received verification request from invalid state") - //should I cancel?? + // should I cancel?? throw IllegalStateException("Interactive Key verification already started") } this.startReq = startReq state = SasVerificationTxState.OnStarted this.otherDeviceId = startReq.fromDevice - } - override fun performAccept() { if (state != SasVerificationTxState.OnStarted) { Timber.e("## Cannot perform accept from state $state") @@ -105,29 +103,29 @@ internal class IncomingSASVerificationTransaction( val agreedMac = startReq!!.messageAuthenticationCodes?.firstOrNull { KNOWN_MACS.contains(it) } val agreedShortCode = startReq!!.shortAuthenticationStrings?.filter { KNOWN_SHORT_CODES.contains(it) } - //No common key sharing/hashing/hmac/SAS methods. - //If a device is unable to complete the verification because the devices are unable to find a common key sharing, + // No common key sharing/hashing/hmac/SAS methods. + // If a device is unable to complete the verification because the devices are unable to find a common key sharing, // hashing, hmac, or SAS method, then it should send a m.key.verification.cancel message if (listOf(agreedProtocol, agreedHash, agreedMac).any { it.isNullOrBlank() } || agreedShortCode.isNullOrEmpty()) { - //Failed to find agreement + // Failed to find agreement Timber.e("## Failed to find agreement ") cancel(CancelCode.UnknownMethod) return } - //Bob’s device ensures that it has a copy of Alice’s device key. + // Bob’s device ensures that it has a copy of Alice’s device key. val mxDeviceInfo = cryptoStore.getUserDevice(deviceId = otherDeviceId!!, userId = otherUserId) if (mxDeviceInfo?.fingerprint() == null) { Timber.e("## Failed to find device key ") - //TODO force download keys!! - //would be probably better to download the keys - //for now I cancel + // TODO force download keys!! + // would be probably better to download the keys + // for now I cancel cancel(CancelCode.User) } else { // val otherKey = info.identityKey() - //need to jump back to correct thread + // need to jump back to correct thread val accept = KeyVerificationAccept.create( tid = transactionId, keyAgreementProtocol = agreedProtocol!!, @@ -140,26 +138,24 @@ internal class IncomingSASVerificationTransaction( } } - private fun doAccept(accept: KeyVerificationAccept) { this.accepted = accept Timber.v("## SAS accept request id:$transactionId") - //The hash commitment is the hash (using the selected hash algorithm) of the unpadded base64 representation of QB, + // The hash commitment is the hash (using the selected hash algorithm) of the unpadded base64 representation of QB, // concatenated with the canonical JSON representation of the content of the m.key.verification.start message val concat = getSAS().publicKey + JsonCanonicalizer.getCanonicalJson(KeyVerificationStart::class.java, startReq!!) accept.commitment = hashUsingAgreedHashMethod(concat) ?: "" - //we need to send this to other device now + // we need to send this to other device now state = SasVerificationTxState.SendingAccept sendToOther(EventType.KEY_VERIFICATION_ACCEPT, accept, SasVerificationTxState.Accepted, CancelCode.User) { if (state == SasVerificationTxState.SendingAccept) { - //It is possible that we receive the next event before this one :/, in this case we should keep state + // It is possible that we receive the next event before this one :/, in this case we should keep state state = SasVerificationTxState.Accepted } } } - override fun onVerificationAccept(accept: KeyVerificationAccept) { Timber.v("## SAS invalid message for incoming request id:$transactionId") cancel(CancelCode.UnexpectedMessage) @@ -180,11 +176,11 @@ internal class IncomingSASVerificationTransaction( val pubKey = getSAS().publicKey val keyToDevice = KeyVerificationKey.create(transactionId, pubKey) - //we need to send this to other device now + // we need to send this to other device now state = SasVerificationTxState.SendingKey this.sendToOther(EventType.KEY_VERIFICATION_KEY, keyToDevice, SasVerificationTxState.KeySent, CancelCode.User) { if (state == SasVerificationTxState.SendingKey) { - //It is possible that we receive the next event before this one :/, in this case we should keep state + // It is possible that we receive the next event before this one :/, in this case we should keep state state = SasVerificationTxState.KeySent } } @@ -194,7 +190,7 @@ internal class IncomingSASVerificationTransaction( // using the result as the shared secret. getSAS().setTheirPublicKey(otherKey) - //(Note: In all of the following HKDF is as defined in RFC 5869, and uses the previously agreed-on hash function as the hash function, + // (Note: In all of the following HKDF is as defined in RFC 5869, and uses the previously agreed-on hash function as the hash function, // the shared secret as the input keying material, no salt, and with the input parameter set to the concatenation of: // - the string “MATRIX_KEY_VERIFICATION_SAS”, // - the Matrix ID of the user who sent the m.key.verification.start message, @@ -206,8 +202,8 @@ internal class IncomingSASVerificationTransaction( "$otherUserId$otherDeviceId" + "${credentials.userId}${credentials.deviceId}" + transactionId - //decimal: generate five bytes by using HKDF. - //emoji: generate six bytes by using HKDF. + // decimal: generate five bytes by using HKDF. + // emoji: generate six bytes by using HKDF. shortCodeBytes = getSAS().generateShortCode(sasInfo, 6) Timber.e("************ BOB CODE ${getDecimalCodeRepresentation(shortCodeBytes!!)}") @@ -218,7 +214,7 @@ internal class IncomingSASVerificationTransaction( override fun onKeyVerificationMac(vKey: KeyVerificationMac) { Timber.v("## SAS received mac for request id:$transactionId") - //Check for state? + // Check for state? if (state != SasVerificationTxState.SendingKey && state != SasVerificationTxState.KeySent && state != SasVerificationTxState.ShortCodeReady @@ -231,11 +227,11 @@ internal class IncomingSASVerificationTransaction( } theirMac = vKey - //Do I have my Mac? + // Do I have my Mac? if (myMac != null) { - //I can check + // I can check verifyMacs() } - //Wait for ShortCode Accepted + // Wait for ShortCode Accepted } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/verification/OutgoingSASVerificationRequest.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/verification/OutgoingSASVerificationRequest.kt index 0500be5426..cade637cce 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/verification/OutgoingSASVerificationRequest.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/verification/OutgoingSASVerificationRequest.kt @@ -56,7 +56,6 @@ internal class OutgoingSASVerificationRequest( isIncoming = false), OutgoingSasVerificationRequest { - override val uxState: OutgoingSasVerificationRequest.UxState get() { return when (state) { @@ -87,7 +86,7 @@ internal class OutgoingSASVerificationRequest( fun start() { if (state != SasVerificationTxState.None) { Timber.e("## start verification from invalid state") - //should I cancel?? + // should I cancel?? throw IllegalStateException("Interactive Key verification already started") } @@ -119,7 +118,7 @@ internal class OutgoingSASVerificationRequest( cancel(CancelCode.UnexpectedMessage) return } - //Check that the agreement is correct + // Check that the agreement is correct if (!KNOWN_AGREEMENT_PROTOCOLS.contains(accept.keyAgreementProtocol) || !KNOWN_HASHES.contains(accept.hash) || !KNOWN_MACS.contains(accept.messageAuthenticationCode) @@ -129,7 +128,7 @@ internal class OutgoingSASVerificationRequest( return } - //Upon receipt of the m.key.verification.accept message from Bob’s device, + // Upon receipt of the m.key.verification.accept message from Bob’s device, // Alice’s device stores the commitment value for later use. accepted = accept state = SasVerificationTxState.OnAccepted @@ -139,10 +138,10 @@ internal class OutgoingSASVerificationRequest( val pubKey = getSAS().publicKey val keyToDevice = KeyVerificationKey.create(transactionId, pubKey) - //we need to send this to other device now + // we need to send this to other device now state = SasVerificationTxState.SendingKey sendToOther(EventType.KEY_VERIFICATION_KEY, keyToDevice, SasVerificationTxState.KeySent, CancelCode.User) { - //It is possible that we receive the next event before this one :/, in this case we should keep state + // It is possible that we receive the next event before this one :/, in this case we should keep state if (state == SasVerificationTxState.SendingKey) { state = SasVerificationTxState.KeySent } @@ -163,13 +162,13 @@ internal class OutgoingSASVerificationRequest( // message is the same as the expected value based on the value of the key property received // in Bob’s m.key.verification.key and the content of Alice’s m.key.verification.start message. - //check commitment + // check commitment val concat = vKey.key + JsonCanonicalizer.getCanonicalJson(KeyVerificationStart::class.java, startReq!!) val otherCommitment = hashUsingAgreedHashMethod(concat) ?: "" if (accepted!!.commitment.equals(otherCommitment)) { getSAS().setTheirPublicKey(otherKey) - //(Note: In all of the following HKDF is as defined in RFC 5869, and uses the previously agreed-on hash function as the hash function, + // (Note: In all of the following HKDF is as defined in RFC 5869, and uses the previously agreed-on hash function as the hash function, // the shared secret as the input keying material, no salt, and with the input parameter set to the concatenation of: // - the string “MATRIX_KEY_VERIFICATION_SAS”, // - the Matrix ID of the user who sent the m.key.verification.start message, @@ -181,12 +180,12 @@ internal class OutgoingSASVerificationRequest( "${credentials.userId}${credentials.deviceId}" + "$otherUserId$otherDeviceId" + transactionId - //decimal: generate five bytes by using HKDF. - //emoji: generate six bytes by using HKDF. + // decimal: generate five bytes by using HKDF. + // emoji: generate six bytes by using HKDF. shortCodeBytes = getSAS().generateShortCode(sasInfo, 6) state = SasVerificationTxState.ShortCodeReady } else { - //bad commitement + // bad commitement cancel(CancelCode.MismatchedCommitment) } } @@ -205,11 +204,11 @@ internal class OutgoingSASVerificationRequest( theirMac = vKey - //Do I have my Mac? + // Do I have my Mac? if (myMac != null) { - //I can check + // I can check verifyMacs() } - //Wait for ShortCode Accepted + // Wait for ShortCode Accepted } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/verification/SASVerificationTransaction.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/verification/SASVerificationTransaction.kt index de4b997410..4d91772ad4 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/verification/SASVerificationTransaction.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/verification/SASVerificationTransaction.kt @@ -59,20 +59,19 @@ internal abstract class SASVerificationTransaction( const val SAS_MAC_SHA256_LONGKDF = "hmac-sha256" const val SAS_MAC_SHA256 = "hkdf-hmac-sha256" - //ordered by preferred order + // ordered by preferred order val KNOWN_AGREEMENT_PROTOCOLS = listOf(MXKey.KEY_CURVE_25519_TYPE) - //ordered by preferred order + // ordered by preferred order val KNOWN_HASHES = listOf("sha256") - //ordered by preferred order + // ordered by preferred order val KNOWN_MACS = listOf(SAS_MAC_SHA256, SAS_MAC_SHA256_LONGKDF) - //older devices have limited support of emoji, so reply with decimal + // older devices have limited support of emoji, so reply with decimal val KNOWN_SHORT_CODES = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) listOf(SasMode.EMOJI, SasMode.DECIMAL) else listOf(SasMode.DECIMAL) - } override var state by Delegates.observable(SasVerificationTxState.None) { _, _, new -> @@ -108,7 +107,7 @@ internal abstract class SASVerificationTransaction( return olmSas!! } - //To override finalize(), all you need to do is simply declare it, without using the override keyword: + // To override finalize(), all you need to do is simply declare it, without using the override keyword: protected fun finalize() { releaseSAS() } @@ -119,7 +118,6 @@ internal abstract class SASVerificationTransaction( olmSas = null } - /** * To be called by the client when the user has verified that * both short codes do match @@ -127,16 +125,16 @@ internal abstract class SASVerificationTransaction( override fun userHasVerifiedShortCode() { Timber.v("## SAS short code verified by user for id:$transactionId") if (state != SasVerificationTxState.ShortCodeReady) { - //ignore and cancel? + // ignore and cancel? Timber.e("## Accepted short code from invalid state $state") cancel(CancelCode.UnexpectedMessage) return } state = SasVerificationTxState.ShortCodeAccepted - //Alice and Bob’ devices calculate the HMAC of their own device keys and a comma-separated, + // Alice and Bob’ devices calculate the HMAC of their own device keys and a comma-separated, // sorted list of the key IDs that they wish the other user to verify, - //the shared secret as the input keying material, no salt, and with the input parameter set to the concatenation of: + // the shared secret as the input keying material, no salt, and with the input parameter set to the concatenation of: // - the string “MATRIX_KEY_VERIFICATION_MAC”, // - the Matrix ID of the user whose key is being MAC-ed, // - the device ID of the device sending the MAC, @@ -155,7 +153,7 @@ internal abstract class SASVerificationTransaction( val keyStrings = macUsingAgreedMethod(keyId, baseInfo + "KEY_IDS") if (macString.isNullOrBlank() || keyStrings.isNullOrBlank()) { - //Should not happen + // Should not happen Timber.e("## SAS verification [$transactionId] failed to send KeyMac, empty key hashes.") cancel(CancelCode.UnexpectedMessage) return @@ -166,16 +164,15 @@ internal abstract class SASVerificationTransaction( state = SasVerificationTxState.SendingMac sendToOther(EventType.KEY_VERIFICATION_MAC, macMsg, SasVerificationTxState.MacSent, CancelCode.User) { if (state == SasVerificationTxState.SendingMac) { - //It is possible that we receive the next event before this one :/, in this case we should keep state + // It is possible that we receive the next event before this one :/, in this case we should keep state state = SasVerificationTxState.MacSent } } - //Do I already have their Mac? + // Do I already have their Mac? if (theirMac != null) { verifyMacs() - } //if not wait for it - + } // if not wait for it } override fun acceptToDeviceEvent(senderId: String, event: SendToDeviceObject) { @@ -185,7 +182,7 @@ internal abstract class SASVerificationTransaction( is KeyVerificationKey -> onKeyVerificationKey(senderId, event) is KeyVerificationMac -> onKeyVerificationMac(event) else -> { - //nop + // nop } } } @@ -202,7 +199,7 @@ internal abstract class SASVerificationTransaction( Timber.v("## SAS verifying macs for id:$transactionId") state = SasVerificationTxState.Verifying - //Keys have been downloaded earlier in process + // Keys have been downloaded earlier in process val otherUserKnownDevices = cryptoStore.getUserDevices(otherUserId) // Bob’s device calculates the HMAC (as above) of its copies of Alice’s keys given in the message (as identified by their key ID), @@ -219,25 +216,25 @@ internal abstract class SASVerificationTransaction( val keyStrings = macUsingAgreedMethod(commaSeparatedListOfKeyIds, baseInfo + "KEY_IDS") if (theirMac!!.keys != keyStrings) { - //WRONG! + // WRONG! cancel(CancelCode.MismatchedKeys) return } val verifiedDevices = ArrayList() - //cannot be empty because it has been validated + // cannot be empty because it has been validated theirMac!!.mac!!.keys.forEach { val keyIDNoPrefix = if (it.startsWith("ed25519:")) it.substring("ed25519:".length) else it val otherDeviceKey = otherUserKnownDevices?.get(keyIDNoPrefix)?.fingerprint() if (otherDeviceKey == null) { Timber.e("Verification: Could not find device $keyIDNoPrefix to verify") - //just ignore and continue + // just ignore and continue return@forEach } val mac = macUsingAgreedMethod(otherDeviceKey, baseInfo + it) if (mac != theirMac?.mac?.get(it)) { - //WRONG! + // WRONG! cancel(CancelCode.MismatchedKeys) return } @@ -252,7 +249,7 @@ internal abstract class SASVerificationTransaction( return } - //TODO what if the otherDevice is not in this list? and should we + // TODO what if the otherDevice is not in this list? and should we verifiedDevices.forEach { setDeviceVerified(it, otherUserId) } @@ -370,16 +367,16 @@ internal abstract class SASVerificationTransaction( * or with the three numbers on separate lines. */ fun getDecimalCodeRepresentation(byteArray: ByteArray): String { - val b0 = byteArray[0].toUnsignedInt() //need unsigned byte - val b1 = byteArray[1].toUnsignedInt() //need unsigned byte - val b2 = byteArray[2].toUnsignedInt() //need unsigned byte - val b3 = byteArray[3].toUnsignedInt() //need unsigned byte - val b4 = byteArray[4].toUnsignedInt() //need unsigned byte - //(B0 << 5 | B1 >> 3) + 1000 + val b0 = byteArray[0].toUnsignedInt() // need unsigned byte + val b1 = byteArray[1].toUnsignedInt() // need unsigned byte + val b2 = byteArray[2].toUnsignedInt() // need unsigned byte + val b3 = byteArray[3].toUnsignedInt() // need unsigned byte + val b4 = byteArray[4].toUnsignedInt() // need unsigned byte + // (B0 << 5 | B1 >> 3) + 1000 val first = (b0.shl(5) or b1.shr(3)) + 1000 - //((B1 & 0x7) << 10 | B2 << 2 | B3 >> 6) + 1000 + // ((B1 & 0x7) << 10 | B2 << 2 | B3 >> 6) + 1000 val second = ((b1 and 0x7).shl(10) or b2.shl(2) or b3.shr(6)) + 1000 - //((B3 & 0x3f) << 7 | B4 >> 1) + 1000 + // ((B3 & 0x3f) << 7 | B4 >> 1) + 1000 val third = ((b3 and 0x3f).shl(7) or b4.shr(1)) + 1000 return "$first $second $third" } @@ -411,5 +408,4 @@ internal abstract class SASVerificationTransaction( getEmojiForCode((b4 and 0xF).shl(2) or (b5 and 0xC0).shr(6)) ) } - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/AsyncTransaction.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/AsyncTransaction.kt index e1beefc2e5..36e68e5cf3 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/AsyncTransaction.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/AsyncTransaction.kt @@ -21,7 +21,6 @@ import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.isActive import kotlinx.coroutines.withContext - suspend fun awaitTransaction(config: RealmConfiguration, transaction: suspend (realm: Realm) -> Unit) = withContext(Dispatchers.IO) { Realm.getInstance(config).use { bgRealm -> bgRealm.beginTransaction() @@ -36,4 +35,4 @@ suspend fun awaitTransaction(config: RealmConfiguration, transaction: suspend (r } } } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/DBConstants.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/DBConstants.kt index 0f420f3bbf..3dff2f2273 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/DBConstants.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/DBConstants.kt @@ -19,5 +19,4 @@ package im.vector.matrix.android.internal.database internal object DBConstants { const val STATE_EVENTS_CHUNK_TOKEN = "STATE_EVENTS_CHUNK_TOKEN" - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/RealmKeysUtils.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/RealmKeysUtils.kt index d2ab764087..55ced343d4 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/RealmKeysUtils.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/RealmKeysUtils.kt @@ -117,4 +117,4 @@ internal class RealmKeysUtils @Inject constructor(context: Context, companion object { private const val ENCRYPTED_KEY_PREFIX = "REALM_ENCRYPTED_KEY" } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/RealmLiveEntityObserver.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/RealmLiveEntityObserver.kt index e78078f93e..9c7a788b44 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/RealmLiveEntityObserver.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/RealmLiveEntityObserver.kt @@ -66,5 +66,4 @@ internal abstract class RealmLiveEntityObserver(protected val r override fun isStarted(): Boolean { return isStarted.get() } - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/RealmQueryLatch.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/RealmQueryLatch.kt index 3e3ffad45c..2d386eac15 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/RealmQueryLatch.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/RealmQueryLatch.kt @@ -22,7 +22,6 @@ import java.util.concurrent.CountDownLatch import java.util.concurrent.TimeUnit import java.util.concurrent.atomic.AtomicReference - class RealmQueryLatch(private val realmConfiguration: RealmConfiguration, private val realmQueryBuilder: (Realm) -> RealmQuery) { @@ -57,6 +56,4 @@ class RealmQueryLatch(private val realmConfiguration: RealmConf } } } - - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/SessionRealmConfigurationFactory.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/SessionRealmConfigurationFactory.kt index d5a60e9d2b..881d7ce2c5 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/SessionRealmConfigurationFactory.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/SessionRealmConfigurationFactory.kt @@ -42,7 +42,6 @@ internal class SessionRealmConfigurationFactory @Inject constructor(private val private val sharedPreferences = context.getSharedPreferences("im.vector.matrix.android.realm", Context.MODE_PRIVATE) - fun create(): RealmConfiguration { val shouldClearRealm = sharedPreferences.getBoolean("$REALM_SHOULD_CLEAR_FLAG_$userMd5", false) if (shouldClearRealm) { @@ -88,4 +87,4 @@ internal class SessionRealmConfigurationFactory @Inject constructor(private val } } } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/helper/ChunkEntityHelper.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/helper/ChunkEntityHelper.kt index 3824fed779..140716fa67 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/helper/ChunkEntityHelper.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/helper/ChunkEntityHelper.kt @@ -187,4 +187,4 @@ internal fun ChunkEntity.lastStateIndex(direction: PaginationDirection, defaultV PaginationDirection.FORWARDS -> forwardsStateIndex PaginationDirection.BACKWARDS -> backwardsStateIndex } ?: defaultValue -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/helper/TimelineEventEntityHelper.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/helper/TimelineEventEntityHelper.kt index f6bf258baa..24765c120d 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/helper/TimelineEventEntityHelper.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/helper/TimelineEventEntityHelper.kt @@ -30,7 +30,6 @@ import io.realm.Realm import io.realm.RealmList import io.realm.RealmQuery - internal fun TimelineEventEntity.updateSenderData() { assertIsManaged() val roomEntity = RoomEntity.where(realm, roomId = roomId).findFirst() ?: return @@ -67,7 +66,7 @@ internal fun TimelineEventEntity.updateSenderData() { this.senderMembershipEvent = senderMembershipEvent } -internal fun TimelineEventEntity.Companion.nextId(realm: Realm): Long{ +internal fun TimelineEventEntity.Companion.nextId(realm: Realm): Long { val currentIdNum = realm.where(TimelineEventEntity::class.java).max(TimelineEventEntityFields.LOCAL_ID) return if (currentIdNum == null) { 1 @@ -82,4 +81,3 @@ private fun RealmList.buildQuery(sender: String, isUnlinked .equalTo(TimelineEventEntityFields.ROOT.TYPE, EventType.STATE_ROOM_MEMBER) .equalTo(TimelineEventEntityFields.ROOT.IS_UNLINKED, isUnlinked) } - diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/mapper/ContentMapper.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/mapper/ContentMapper.kt index 801fdf3920..2406027f24 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/mapper/ContentMapper.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/mapper/ContentMapper.kt @@ -36,5 +36,4 @@ internal object ContentMapper { adapter.toJson(it) } } - } diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/mapper/DraftMapper.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/mapper/DraftMapper.kt index 6b87951e0a..3bd6cf14e4 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/mapper/DraftMapper.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/mapper/DraftMapper.kt @@ -42,4 +42,4 @@ internal object DraftMapper { is UserDraft.REPLY -> DraftEntity(content = domain.text, draftMode = DraftEntity.MODE_REPLY, linkedEventId = domain.linkedEventId) } } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/mapper/EventAnnotationsSummaryMapper.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/mapper/EventAnnotationsSummaryMapper.kt index 7736d51df6..701d35926a 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/mapper/EventAnnotationsSummaryMapper.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/mapper/EventAnnotationsSummaryMapper.kt @@ -81,4 +81,4 @@ internal object EventAnnotationsSummaryMapper { internal fun EventAnnotationsSummaryEntity.asDomain(): EventAnnotationsSummary { return EventAnnotationsSummaryMapper.map(this) -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/mapper/EventMapper.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/mapper/EventMapper.kt index 36f5642ee2..daeb7b241f 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/mapper/EventMapper.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/mapper/EventMapper.kt @@ -27,7 +27,6 @@ import timber.log.Timber internal object EventMapper { - fun map(event: Event, roomId: String): EventEntity { val uds = if (event.unsignedData == null) null else MoshiProvider.providesMoshi().adapter(UnsignedData::class.java).toJson(event.unsignedData) @@ -79,13 +78,12 @@ internal object EventMapper { Timber.e(t, "Failed to parse decryption result") } } - //TODO get the full crypto error object + // TODO get the full crypto error object it.mCryptoError = eventEntity.decryptionErrorCode?.let { errorCode -> MXCryptoError.ErrorType.valueOf(errorCode) } } } - } internal fun EventEntity.asDomain(): Event { @@ -95,4 +93,3 @@ internal fun EventEntity.asDomain(): Event { internal fun Event.toEntity(roomId: String): EventEntity { return EventMapper.map(this, roomId) } - diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/mapper/GroupMapper.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/mapper/GroupMapper.kt index fdd65be6b9..89ed5844c2 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/mapper/GroupMapper.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/mapper/GroupMapper.kt @@ -20,7 +20,6 @@ import im.vector.matrix.android.api.session.group.Group import im.vector.matrix.android.internal.database.model.GroupEntity import im.vector.matrix.android.internal.session.group.DefaultGroup - internal object GroupMapper { fun map(groupEntity: GroupEntity): Group { @@ -32,4 +31,4 @@ internal object GroupMapper { internal fun GroupEntity.asDomain(): Group { return GroupMapper.map(this) -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/mapper/GroupSummaryMapper.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/mapper/GroupSummaryMapper.kt index 44cbf2998d..52e4d61d40 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/mapper/GroupSummaryMapper.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/mapper/GroupSummaryMapper.kt @@ -19,7 +19,6 @@ package im.vector.matrix.android.internal.database.mapper import im.vector.matrix.android.api.session.group.model.GroupSummary import im.vector.matrix.android.internal.database.model.GroupSummaryEntity - internal object GroupSummaryMapper { fun map(groupSummaryEntity: GroupSummaryEntity): GroupSummary { @@ -37,4 +36,4 @@ internal object GroupSummaryMapper { internal fun GroupSummaryEntity.asDomain(): GroupSummary { return GroupSummaryMapper.map(this) -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/mapper/HomeServerCapabilitiesMapper.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/mapper/HomeServerCapabilitiesMapper.kt index 44f3d69db5..66b0f1b379 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/mapper/HomeServerCapabilitiesMapper.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/mapper/HomeServerCapabilitiesMapper.kt @@ -35,4 +35,4 @@ internal object HomeServerCapabilitiesMapper { maxUploadFileSize = domain.maxUploadFileSize ) } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/mapper/PushConditionMapper.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/mapper/PushConditionMapper.kt index 4aabc9a8f1..3bc532fd93 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/mapper/PushConditionMapper.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/mapper/PushConditionMapper.kt @@ -19,7 +19,6 @@ package im.vector.matrix.android.internal.database.mapper import im.vector.matrix.android.api.pushrules.rest.PushCondition import im.vector.matrix.android.internal.database.model.PushConditionEntity - internal object PushConditionMapper { fun map(entity: PushConditionEntity): PushCondition { @@ -39,4 +38,4 @@ internal object PushConditionMapper { pattern = domain.pattern ) } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/mapper/PushRulesMapper.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/mapper/PushRulesMapper.kt index 1ed2151e68..8912928a88 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/mapper/PushRulesMapper.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/mapper/PushRulesMapper.kt @@ -24,7 +24,6 @@ import im.vector.matrix.android.internal.di.MoshiProvider import io.realm.RealmList import timber.log.Timber - internal object PushRulesMapper { private val moshiActionsAdapter = MoshiProvider.providesMoshi().adapter>(Types.newParameterizedType(List::class.java, Any::class.java)) @@ -53,7 +52,6 @@ internal object PushRulesMapper { } } - fun mapRoomRule(pushrule: PushRuleEntity): PushRule { return PushRule( actions = fromActionStr(pushrule.actionsStr), @@ -78,7 +76,6 @@ internal object PushRulesMapper { ) } - fun map(pushrule: PushRuleEntity): PushRule { return PushRule( actions = fromActionStr(pushrule.actionsStr), @@ -101,5 +98,4 @@ internal object PushRulesMapper { } ?: RealmList() ) } - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/mapper/PushersMapper.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/mapper/PushersMapper.kt index d11532c588..085cc815ca 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/mapper/PushersMapper.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/mapper/PushersMapper.kt @@ -58,4 +58,4 @@ internal fun PusherEntity.asDomain(): Pusher { internal fun JsonPusher.toEntity(): PusherEntity { return PushersMapper.map(this) -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/mapper/ReadReceiptsSummaryMapper.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/mapper/ReadReceiptsSummaryMapper.kt index 9fa9fc011d..952dfb9728 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/mapper/ReadReceiptsSummaryMapper.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/mapper/ReadReceiptsSummaryMapper.kt @@ -41,5 +41,4 @@ internal class ReadReceiptsSummaryMapper @Inject constructor(@SessionDatabase pr } } } - } diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/mapper/RoomSummaryMapper.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/mapper/RoomSummaryMapper.kt index 2f34d18770..5db062b000 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/mapper/RoomSummaryMapper.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/mapper/RoomSummaryMapper.kt @@ -39,8 +39,8 @@ internal class RoomSummaryMapper @Inject constructor( timelineEventMapper.map(it) } if (latestEvent?.root?.isEncrypted() == true && latestEvent.root.mxDecryptionResult == null) { - //TODO use a global event decryptor? attache to session and that listen to new sessionId? - //for now decrypt sync + // TODO use a global event decryptor? attache to session and that listen to new sessionId? + // for now decrypt sync try { val result = cryptoService.decryptEvent(latestEvent.root, latestEvent.root.roomId + UUID.randomUUID().toString()) latestEvent.root.mxDecryptionResult = OlmDecryptionResult( @@ -50,7 +50,6 @@ internal class RoomSummaryMapper @Inject constructor( forwardingCurve25519KeyChain = result.forwardingCurve25519KeyChain ) } catch (e: MXCryptoError) { - } } diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/mapper/TimelineEventMapper.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/mapper/TimelineEventMapper.kt index 5bd6f99b3a..8046ecbff0 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/mapper/TimelineEventMapper.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/mapper/TimelineEventMapper.kt @@ -49,7 +49,4 @@ internal class TimelineEventMapper @Inject constructor(private val readReceiptsS hasReadMarker = timelineEventEntity.readMarker?.eventId?.isNotEmpty() == true ) } - } - - diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/mapper/UserMapper.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/mapper/UserMapper.kt index 2389427c90..bfbe40df03 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/mapper/UserMapper.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/mapper/UserMapper.kt @@ -32,4 +32,4 @@ internal object UserMapper { internal fun UserEntity.asDomain(): User { return UserMapper.map(this) -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/ChunkEntity.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/ChunkEntity.kt index d8661984d7..577c391b3a 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/ChunkEntity.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/ChunkEntity.kt @@ -33,10 +33,10 @@ internal open class ChunkEntity(@Index var prevToken: String? = null, var forwardsStateIndex: Int? = null ) : RealmObject() { - fun identifier() = "${prevToken}_${nextToken}" + fun identifier() = "${prevToken}_$nextToken" @LinkingObjects("chunks") val room: RealmResults? = null companion object -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/DraftEntity.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/DraftEntity.kt index 9666ebd9a1..3b5aae8b13 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/DraftEntity.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/DraftEntity.kt @@ -31,4 +31,3 @@ internal open class DraftEntity(var content: String = "", const val MODE_QUOTE = "QUOTE" } } - diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/EditAggregatedSummaryEntity.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/EditAggregatedSummaryEntity.kt index f2690c96de..3a179eb1f0 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/EditAggregatedSummaryEntity.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/EditAggregatedSummaryEntity.kt @@ -30,5 +30,4 @@ internal open class EditAggregatedSummaryEntity( ) : RealmObject() { companion object - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/EventAnnotationsSummaryEntity.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/EventAnnotationsSummaryEntity.kt index 4c6b26f0e5..523d94b770 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/EventAnnotationsSummaryEntity.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/EventAnnotationsSummaryEntity.kt @@ -19,7 +19,6 @@ import io.realm.RealmList import io.realm.RealmObject import io.realm.annotations.PrimaryKey - internal open class EventAnnotationsSummaryEntity( @PrimaryKey var eventId: String = "", @@ -29,5 +28,4 @@ internal open class EventAnnotationsSummaryEntity( ) : RealmObject() { companion object - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/EventEntity.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/EventEntity.kt index 4401d394bb..4def7aec5d 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/EventEntity.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/EventEntity.kt @@ -59,7 +59,6 @@ internal open class EventEntity(@Index var eventId: String = "", sendStateStr = value.name } - companion object @LinkingObjects("untimelinedStateEvents") @@ -68,7 +67,6 @@ internal open class EventEntity(@Index var eventId: String = "", @LinkingObjects("root") val timelineEventEntity: RealmResults? = null - fun setDecryptionResult(result: MXEventDecryptionResult) { val decryptionResult = OlmDecryptionResult( payload = result.clearEvent, @@ -81,4 +79,4 @@ internal open class EventEntity(@Index var eventId: String = "", decryptionErrorCode = null timelineEventEntity?.firstOrNull()?.root = this } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/FilterEntity.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/FilterEntity.kt index 13209cb96e..eabcdce34d 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/FilterEntity.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/FilterEntity.kt @@ -33,4 +33,4 @@ internal open class FilterEntity( ) : RealmObject() { companion object -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/GroupEntity.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/GroupEntity.kt index 433f209501..eb346a74ca 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/GroupEntity.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/GroupEntity.kt @@ -38,5 +38,4 @@ internal open class GroupEntity(@PrimaryKey var groupId: String = "") } companion object - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/GroupSummaryEntity.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/GroupSummaryEntity.kt index 7ab67b6ab0..f3700b1dd7 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/GroupSummaryEntity.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/GroupSummaryEntity.kt @@ -39,5 +39,4 @@ internal open class GroupSummaryEntity(@PrimaryKey var groupId: String = "", } companion object - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/HomeServerCapabilitiesEntity.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/HomeServerCapabilitiesEntity.kt index 2bed0305c7..0d067286e1 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/HomeServerCapabilitiesEntity.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/HomeServerCapabilitiesEntity.kt @@ -25,5 +25,4 @@ internal open class HomeServerCapabilitiesEntity( ) : RealmObject() { companion object - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/PushConditionEntity.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/PushConditionEntity.kt index e6c3d406c8..7922db5c0a 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/PushConditionEntity.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/PushConditionEntity.kt @@ -25,5 +25,4 @@ internal open class PushConditionEntity( ) : RealmObject() { companion object - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/PushRuleEntity.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/PushRuleEntity.kt index dd6cc79022..4744c8d053 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/PushRuleEntity.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/PushRuleEntity.kt @@ -19,21 +19,19 @@ import io.realm.RealmList import io.realm.RealmObject internal open class PushRuleEntity( - //Required. The actions to perform when this rule is matched. + // Required. The actions to perform when this rule is matched. var actionsStr: String? = null, - //Required. Whether this is a default rule, or has been set explicitly. + // Required. Whether this is a default rule, or has been set explicitly. var default: Boolean = false, - //Required. Whether the push rule is enabled or not. + // Required. Whether the push rule is enabled or not. var enabled: Boolean = true, - //Required. The ID of this rule. + // Required. The ID of this rule. var ruleId: String = "", - //The conditions that must hold true for an event in order for a rule to be applied to an event + // The conditions that must hold true for an event in order for a rule to be applied to an event var conditions: RealmList? = RealmList(), - //The glob-style pattern to match against. Only applicable to content rules. + // The glob-style pattern to match against. Only applicable to content rules. var pattern: String? = null ) : RealmObject() { companion object - } - diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/PushRulesEntity.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/PushRulesEntity.kt index e0acfa49ae..9527dafba4 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/PushRulesEntity.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/PushRulesEntity.kt @@ -19,7 +19,6 @@ import im.vector.matrix.android.api.pushrules.RuleKind import io.realm.RealmList import io.realm.RealmObject - internal open class PushRulesEntity( var scope: String = "", var pushRules: RealmList = RealmList() @@ -35,4 +34,4 @@ internal open class PushRulesEntity( } companion object -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/PusherDataEntity.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/PusherDataEntity.kt index 87694fb723..acc4f43bf9 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/PusherDataEntity.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/PusherDataEntity.kt @@ -22,4 +22,4 @@ internal open class PusherDataEntity( var format: String? = null ) : RealmObject() { companion object -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/PusherEntity.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/PusherEntity.kt index 6ec9d4b0de..9c4dcce3cd 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/PusherEntity.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/PusherEntity.kt @@ -18,7 +18,7 @@ package im.vector.matrix.android.internal.database.model import im.vector.matrix.android.api.session.pushers.PusherState import io.realm.RealmObject -//TODO +// TODO // at java.lang.Thread.run(Thread.java:764) // Caused by: java.lang.IllegalArgumentException: 'value' is not a valid managed object. // at io.realm.ProxyState.checkValidObject(ProxyState.java:213) @@ -44,14 +44,13 @@ internal open class PusherEntity( try { return PusherState.valueOf(stateStr) } catch (e: Exception) { - //can this happen? + // can this happen? return PusherState.UNREGISTERED } - } set(value) { stateStr = value.name } companion object -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/ReactionAggregatedSummaryEntity.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/ReactionAggregatedSummaryEntity.kt index 70938e5b89..58da4faf6b 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/ReactionAggregatedSummaryEntity.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/ReactionAggregatedSummaryEntity.kt @@ -38,5 +38,4 @@ internal open class ReactionAggregatedSummaryEntity( ) : RealmObject() { companion object - } diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/ReadMarkerEntity.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/ReadMarkerEntity.kt index d67308b283..9e78c94f88 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/ReadMarkerEntity.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/ReadMarkerEntity.kt @@ -31,5 +31,4 @@ internal open class ReadMarkerEntity( val timelineEvent: RealmResults? = null companion object - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/ReadReceiptsSummaryEntity.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/ReadReceiptsSummaryEntity.kt index 56e8938caa..b08ed0f728 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/ReadReceiptsSummaryEntity.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/ReadReceiptsSummaryEntity.kt @@ -33,5 +33,4 @@ internal open class ReadReceiptsSummaryEntity( val timelineEvent: RealmResults? = null companion object - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/RoomEntity.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/RoomEntity.kt index a9f91390be..7de9451c32 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/RoomEntity.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/RoomEntity.kt @@ -39,4 +39,3 @@ internal open class RoomEntity(@PrimaryKey var roomId: String = "", companion object } - diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/RoomSummaryEntity.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/RoomSummaryEntity.kt index b42e367024..f414325aed 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/RoomSummaryEntity.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/RoomSummaryEntity.kt @@ -60,5 +60,4 @@ internal open class RoomSummaryEntity(@PrimaryKey var roomId: String = "", } companion object - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/RoomTagEntity.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/RoomTagEntity.kt index 12ca29b179..c78aa6ae84 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/RoomTagEntity.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/RoomTagEntity.kt @@ -24,5 +24,4 @@ internal open class RoomTagEntity( ) : RealmObject() { companion object - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/SyncEntity.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/SyncEntity.kt index a7d3db1a7b..2eb39be325 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/SyncEntity.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/SyncEntity.kt @@ -21,4 +21,4 @@ import io.realm.annotations.PrimaryKey internal open class SyncEntity(var nextBatch: String? = null, @PrimaryKey var id: Long = 0 -) : RealmObject() \ No newline at end of file +) : RealmObject() diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/TimelineEventEntity.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/TimelineEventEntity.kt index e727ce40c7..fd3a427781 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/TimelineEventEntity.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/TimelineEventEntity.kt @@ -21,7 +21,6 @@ import io.realm.RealmResults import io.realm.annotations.Index import io.realm.annotations.LinkingObjects - internal open class TimelineEventEntity(var localId: Long = 0, @Index var eventId: String = "", @Index var roomId: String = "", @@ -39,5 +38,4 @@ internal open class TimelineEventEntity(var localId: Long = 0, val chunk: RealmResults? = null companion object - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/UserDraftsEntity.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/UserDraftsEntity.kt index b713fe1c3f..432b3367ad 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/UserDraftsEntity.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/UserDraftsEntity.kt @@ -32,5 +32,4 @@ internal open class UserDraftsEntity(var userDrafts: RealmList = Re val roomSummaryEntity: RealmResults? = null companion object - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/UserEntity.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/UserEntity.kt index b4bfd9f22b..baf7629fdc 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/UserEntity.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/UserEntity.kt @@ -26,4 +26,3 @@ internal open class UserEntity(@PrimaryKey var userId: String = "", companion object } - diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/query/ChunkEntityQueries.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/query/ChunkEntityQueries.kt index 2f7145629a..69402ac1de 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/query/ChunkEntityQueries.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/query/ChunkEntityQueries.kt @@ -62,4 +62,4 @@ internal fun ChunkEntity.Companion.create(realm: Realm, prevToken: String?, next this.prevToken = prevToken this.nextToken = nextToken } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/query/EventAnnotationsSummaryEntityQuery.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/query/EventAnnotationsSummaryEntityQuery.kt index 0f454b0af7..1e7a5758ad 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/query/EventAnnotationsSummaryEntityQuery.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/query/EventAnnotationsSummaryEntityQuery.kt @@ -37,14 +37,13 @@ internal fun EventAnnotationsSummaryEntity.Companion.whereInRoom(realm: Realm, r return query } - internal fun EventAnnotationsSummaryEntity.Companion.create(realm: Realm, roomId: String, eventId: String): EventAnnotationsSummaryEntity { val obj = realm.createObject(EventAnnotationsSummaryEntity::class.java, eventId).apply { this.roomId = roomId } - //Denormalization + // Denormalization TimelineEventEntity.where(realm, roomId = roomId, eventId = eventId).findFirst()?.let { it.annotations = obj } return obj -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/query/EventEntityQueries.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/query/EventEntityQueries.kt index 6610edb884..62f53c3d7b 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/query/EventEntityQueries.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/query/EventEntityQueries.kt @@ -53,7 +53,6 @@ internal fun EventEntity.Companion.where(realm: Realm, } } - internal fun EventEntity.Companion.types(realm: Realm, typeList: List = emptyList()): RealmQuery { val query = realm.where() diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/query/FilterContent.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/query/FilterContent.kt index 92608a1f42..be7075ddd0 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/query/FilterContent.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/query/FilterContent.kt @@ -19,5 +19,4 @@ package im.vector.matrix.android.internal.database.query internal object FilterContent { internal const val EDIT_TYPE = """{*"m.relates_to"*"rel_type":*"m.replace"*}""" - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/query/ReadQueries.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/query/ReadQueries.kt index bd7e3a7a5e..9462f582ff 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/query/ReadQueries.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/query/ReadQueries.kt @@ -45,4 +45,4 @@ internal fun isEventRead(monarchy: Monarchy, } return isEventRead -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/query/ReadReceiptEntityQueries.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/query/ReadReceiptEntityQueries.kt index 330d76fd15..e0a507f939 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/query/ReadReceiptEntityQueries.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/query/ReadReceiptEntityQueries.kt @@ -20,7 +20,6 @@ import im.vector.matrix.android.internal.database.model.ReadReceiptEntity import im.vector.matrix.android.internal.database.model.ReadReceiptEntityFields import io.realm.Realm import io.realm.RealmQuery -import io.realm.RealmResults import io.realm.kotlin.where internal fun ReadReceiptEntity.Companion.where(realm: Realm, roomId: String, userId: String): RealmQuery { @@ -34,7 +33,6 @@ internal fun ReadReceiptEntity.Companion.whereUserId(realm: Realm, userId: Strin .equalTo(ReadReceiptEntityFields.USER_ID, userId) } - internal fun ReadReceiptEntity.Companion.createUnmanaged(roomId: String, eventId: String, userId: String, originServerTs: Double): ReadReceiptEntity { return ReadReceiptEntity().apply { this.primaryKey = "${roomId}_$userId" diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/query/RoomSummaryEntityQueries.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/query/RoomSummaryEntityQueries.kt index bfa3f2c51c..a92d81b54c 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/query/RoomSummaryEntityQueries.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/query/RoomSummaryEntityQueries.kt @@ -36,7 +36,6 @@ internal fun RoomSummaryEntity.Companion.getOrCreate(realm: Realm, roomId: Strin ?: realm.createObject(RoomSummaryEntity::class.java, roomId) } - internal fun RoomSummaryEntity.Companion.getDirectRooms(realm: Realm): RealmResults { return RoomSummaryEntity.where(realm) .equalTo(RoomSummaryEntityFields.IS_DIRECT, true) @@ -50,6 +49,3 @@ internal fun RoomSummaryEntity.Companion.isDirect(realm: Realm, roomId: String): .findAll() .isNotEmpty() } - - - diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/query/TimelineEventEntityQueries.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/query/TimelineEventEntityQueries.kt index 8b9beca11e..38e04d62a9 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/query/TimelineEventEntityQueries.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/query/TimelineEventEntityQueries.kt @@ -58,7 +58,6 @@ internal fun TimelineEventEntity.Companion.findWithSenderMembershipEvent(realm: .findAll() } - internal fun TimelineEventEntity.Companion.latestEvent(realm: Realm, roomId: String, includesSending: Boolean, @@ -108,7 +107,6 @@ internal fun RealmQuery.prev(since: Int? = null, strict: Bo .findFirst() } - internal fun RealmList.find(eventId: String): TimelineEventEntity? { return this.where() .equalTo(TimelineEventEntityFields.ROOT.EVENT_ID, eventId) @@ -125,4 +123,4 @@ internal fun TimelineEventEntity.Companion.findAllInRoomWithSendStates(realm: Re .equalTo(TimelineEventEntityFields.ROOM_ID, roomId) .`in`(TimelineEventEntityFields.ROOT.SEND_STATE_STR, sendStatesStr) .findAll() -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/query/UserDraftsEntityQueries.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/query/UserDraftsEntityQueries.kt index ae368c5850..149efee492 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/query/UserDraftsEntityQueries.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/query/UserDraftsEntityQueries.kt @@ -30,4 +30,3 @@ internal fun UserDraftsEntity.Companion.where(realm: Realm, roomId: String? = nu } return query } - diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/di/AuthQualifiers.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/di/AuthQualifiers.kt index 55f0c28c18..8ee27b3375 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/di/AuthQualifiers.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/di/AuthQualifiers.kt @@ -24,4 +24,4 @@ annotation class Authenticated @Qualifier @Retention(AnnotationRetention.RUNTIME) -annotation class Unauthenticated \ No newline at end of file +annotation class Unauthenticated diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/di/DbQualifiers.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/di/DbQualifiers.kt index ac9a30a3ec..3fdeb7eacc 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/di/DbQualifiers.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/di/DbQualifiers.kt @@ -28,4 +28,4 @@ annotation class SessionDatabase @Qualifier @Retention(AnnotationRetention.RUNTIME) -annotation class CryptoDatabase \ No newline at end of file +annotation class CryptoDatabase diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/di/MatrixComponent.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/di/MatrixComponent.kt index 1627266c1c..f7314fe6b4 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/di/MatrixComponent.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/di/MatrixComponent.kt @@ -33,7 +33,6 @@ import im.vector.matrix.android.internal.util.MatrixCoroutineDispatchers import okhttp3.OkHttpClient import org.matrix.olm.OlmManager - @Component(modules = [MatrixModule::class, NetworkModule::class, AuthModule::class]) @MatrixScope internal interface MatrixComponent { @@ -69,5 +68,4 @@ internal interface MatrixComponent { interface Factory { fun create(@BindsInstance context: Context): MatrixComponent } - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/di/MatrixModule.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/di/MatrixModule.kt index 55b92ef89b..811950ac15 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/di/MatrixModule.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/di/MatrixModule.kt @@ -55,5 +55,4 @@ internal object MatrixModule { fun providesOlmManager(): OlmManager { return OlmManager() } - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/di/MatrixScope.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/di/MatrixScope.kt index a0886c11b9..54e1467695 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/di/MatrixScope.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/di/MatrixScope.kt @@ -24,4 +24,4 @@ import javax.inject.Scope @Scope @MustBeDocumented @Retention(AnnotationRetention.RUNTIME) -internal annotation class MatrixScope \ No newline at end of file +internal annotation class MatrixScope diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/di/MoshiProvider.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/di/MoshiProvider.kt index 81de47948c..d8db462f7c 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/di/MoshiProvider.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/di/MoshiProvider.kt @@ -25,7 +25,6 @@ import im.vector.matrix.android.internal.session.sync.model.UserAccountDataDirec import im.vector.matrix.android.internal.session.sync.model.UserAccountDataFallback import im.vector.matrix.android.internal.session.sync.model.UserAccountDataPushRules - object MoshiProvider { private val moshi: Moshi = Moshi.Builder() @@ -50,7 +49,4 @@ object MoshiProvider { fun providesMoshi(): Moshi { return moshi } - } - - diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/di/NetworkModule.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/di/NetworkModule.kt index 2061d03bed..4d6c66b7ed 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/di/NetworkModule.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/di/NetworkModule.kt @@ -92,4 +92,4 @@ internal object NetworkModule { fun providesMoshi(): Moshi { return MoshiProvider.providesMoshi() } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/di/SessionAssistedInjectModule.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/di/SessionAssistedInjectModule.kt index 1e8686da92..52100a598a 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/di/SessionAssistedInjectModule.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/di/SessionAssistedInjectModule.kt @@ -21,4 +21,4 @@ import dagger.Module @AssistedModule @Module(includes = [AssistedInject_SessionAssistedInjectModule::class]) -interface SessionAssistedInjectModule \ No newline at end of file +interface SessionAssistedInjectModule diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/extensions/RealmExtensions.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/extensions/RealmExtensions.kt index 4894538200..8e658aab5c 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/extensions/RealmExtensions.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/extensions/RealmExtensions.kt @@ -22,4 +22,4 @@ internal fun RealmObject.assertIsManaged() { if (!isManaged) { throw IllegalStateException("${javaClass.simpleName} entity should be managed to use this function") } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/extensions/Try.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/extensions/Try.kt index 7852940487..6a23ca9094 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/extensions/Try.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/extensions/Try.kt @@ -38,4 +38,4 @@ fun Try.foldToCallback(callback: MatrixCallback): Unit = fold( inline fun Try.alsoDo(f: (A) -> Unit) = map { f(it) it -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/AccessTokenInterceptor.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/AccessTokenInterceptor.kt index 70b16a4d61..2630560e45 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/AccessTokenInterceptor.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/AccessTokenInterceptor.kt @@ -31,6 +31,4 @@ internal class AccessTokenInterceptor @Inject constructor(private val credential request = newRequestBuilder.build() return chain.proceed(request) } - - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/HttpHeaders.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/HttpHeaders.kt index f4b93e8a31..11fafd5c5a 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/HttpHeaders.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/HttpHeaders.kt @@ -20,5 +20,4 @@ object HttpHeaders { const val Authorization = "Authorization" const val UserAgent = "User-Agent" - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/NetworkConnectivityChecker.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/NetworkConnectivityChecker.kt index be012dd308..bfc37d733d 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/NetworkConnectivityChecker.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/NetworkConnectivityChecker.kt @@ -101,14 +101,9 @@ internal class NetworkConnectivityChecker @Inject constructor(context: Context, interface Listener { fun onConnect() { - } fun onDisconnect() { - } } - - } - diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/NetworkConstants.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/NetworkConstants.kt index 02ac778fcc..d0d8d134cb 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/NetworkConstants.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/NetworkConstants.kt @@ -22,9 +22,7 @@ internal object NetworkConstants { const val URI_API_PREFIX_PATH_R0 = "$URI_API_PREFIX_PATH/r0/" const val URI_API_PREFIX_PATH_UNSTABLE = "$URI_API_PREFIX_PATH/unstable/" - // Media private const val URI_API_MEDIA_PREFIX_PATH = "_matrix/media" const val URI_API_MEDIA_PREFIX_PATH_R0 = "$URI_API_MEDIA_PREFIX_PATH/r0/" - } diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/ProgressRequestBody.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/ProgressRequestBody.kt index dab6d2efeb..6e371f7a5c 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/ProgressRequestBody.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/ProgressRequestBody.kt @@ -63,4 +63,4 @@ internal class ProgressRequestBody(private val delegate: RequestBody, interface Listener { fun onProgress(current: Long, total: Long) } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/Request.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/Request.kt index a333a02c67..7f8e6643c3 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/Request.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/Request.kt @@ -46,4 +46,4 @@ internal class Request { } } } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/RetrofitFactory.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/RetrofitFactory.kt index 70143f7cbf..15e6f76381 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/RetrofitFactory.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/RetrofitFactory.kt @@ -32,5 +32,4 @@ class RetrofitFactory @Inject constructor(private val moshi: Moshi) { .addConverterFactory(MoshiConverterFactory.create(moshi)) .build() } - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/TimeOutInterceptor.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/TimeOutInterceptor.kt index eea437cb0e..5adb4e89f1 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/TimeOutInterceptor.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/TimeOutInterceptor.kt @@ -53,4 +53,4 @@ internal class TimeOutInterceptor @Inject constructor() : Interceptor { const val READ_TIMEOUT = "READ_TIMEOUT" const val WRITE_TIMEOUT = "WRITE_TIMEOUT" } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/UnitConverterFactory.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/UnitConverterFactory.kt index 74d9623a6f..945a064a74 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/UnitConverterFactory.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/UnitConverterFactory.kt @@ -32,4 +32,4 @@ object UnitConverterFactory : Converter.Factory() { value.close() } } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/UserAgentHolder.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/UserAgentHolder.kt index 2bfeb73621..097ab50abc 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/UserAgentHolder.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/UserAgentHolder.kt @@ -33,7 +33,6 @@ internal class UserAgentHolder @Inject constructor(private val context: Context) setApplicationFlavor("NoFlavor") } - /** * Create an user agent with the application version. * Ex: RiotX/1.0.0 (Linux; U; Android 6.0.1; SM-A510F Build/MMB29; Flavour GPlay; MatrixAndroidSDK_X 1.0) @@ -83,4 +82,4 @@ internal class UserAgentHolder @Inject constructor(private val context: Context) "; MatrixAndroidSDK_X " + BuildConfig.VERSION_NAME + ")" } } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/UserAgentInterceptor.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/UserAgentInterceptor.kt index 44e3ddd10e..f4e51e6173 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/UserAgentInterceptor.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/UserAgentInterceptor.kt @@ -34,5 +34,4 @@ internal class UserAgentInterceptor @Inject constructor(private val userAgentHol request = newRequestBuilder.build() return chain.proceed(request) } - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/parsing/UriMoshiAdapter.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/parsing/UriMoshiAdapter.kt index 77b9a92106..9223c12259 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/parsing/UriMoshiAdapter.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/parsing/UriMoshiAdapter.kt @@ -31,5 +31,4 @@ internal class UriMoshiAdapter { fun fromJson(uriString: String): Uri { return Uri.parse(uriString) } - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/ssl/CertUtil.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/ssl/CertUtil.kt index 2536d54819..501fed0bd4 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/ssl/CertUtil.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/ssl/CertUtil.kt @@ -150,7 +150,6 @@ internal object CertUtil { } catch (e: Exception) { Timber.e(e, "## addRule : onBingRuleUpdateFailure failed") } - } tf!!.init(null as KeyStore?) @@ -181,7 +180,6 @@ internal object CertUtil { } catch (e: Exception) { throw RuntimeException(e) } - } /** @@ -244,4 +242,4 @@ internal object CertUtil { } return list } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/ssl/Fingerprint.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/ssl/Fingerprint.kt index 6a0a8189ad..99c2eb9c72 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/ssl/Fingerprint.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/ssl/Fingerprint.kt @@ -80,5 +80,4 @@ data class Fingerprint( @Json(name = "sha-1") SHA1, @Json(name = "sha-256")SHA256 } - } diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/ssl/TLSSocketFactory.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/ssl/TLSSocketFactory.kt index 167c712870..9b6d16a4d7 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/ssl/TLSSocketFactory.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/network/ssl/TLSSocketFactory.kt @@ -37,7 +37,6 @@ import javax.net.ssl.TrustManager internal class TLSSocketFactory - /** * Constructor * diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/DefaultInitialSyncProgressService.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/DefaultInitialSyncProgressService.kt index 6eb1ec35c1..c8bd5154a2 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/DefaultInitialSyncProgressService.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/DefaultInitialSyncProgressService.kt @@ -22,7 +22,6 @@ import im.vector.matrix.android.api.session.InitialSyncProgressService import timber.log.Timber import javax.inject.Inject - @SessionScope class DefaultInitialSyncProgressService @Inject constructor() : InitialSyncProgressService { @@ -58,7 +57,7 @@ class DefaultInitialSyncProgressService @Inject constructor() : InitialSyncProgr fun endTask(nameRes: Int) { val endedTask = rootTask?.leaf() if (endedTask?.nameRes == nameRes) { - //close it + // close it val parent = endedTask.parent parent?.child = null parent?.setProgress(endedTask.offset + (endedTask.totalProgress * endedTask.parentWeight).toInt()) @@ -73,7 +72,6 @@ class DefaultInitialSyncProgressService @Inject constructor() : InitialSyncProgr status.postValue(null) } - private inner class TaskInfo(@StringRes var nameRes: Int, var totalProgress: Int, var parent: TaskInfo? = null, @@ -123,7 +121,6 @@ inline fun reportSubtask(reporter: DefaultInitialSyncProgressService?, } } - inline fun Map.mapWithProgress(reporter: DefaultInitialSyncProgressService?, taskId: Int, weight: Float, @@ -139,4 +136,3 @@ inline fun Map.mapWithProgress(reporter: DefaultInitialSyncP reporter?.endTask(taskId) } } - diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/DefaultSession.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/DefaultSession.kt index 53e07e77af..4b33e28000 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/DefaultSession.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/DefaultSession.kt @@ -193,5 +193,4 @@ internal class DefaultSession @Inject constructor(override val sessionParams: Se throw IllegalStateException("This method can only be called on the main thread!") } } - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/SessionComponent.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/SessionComponent.kt index b2ed02ff3e..8c16050442 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/SessionComponent.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/SessionComponent.kt @@ -101,8 +101,4 @@ internal interface SessionComponent { matrixComponent: MatrixComponent, @BindsInstance sessionParams: SessionParams): SessionComponent } - - } - - diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/SessionListeners.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/SessionListeners.kt index 446dcdbd41..25678bef66 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/SessionListeners.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/SessionListeners.kt @@ -43,5 +43,4 @@ internal class SessionListeners @Inject constructor() { } } } - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/SessionModule.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/SessionModule.kt index 4637b1428c..d038630a74 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/SessionModule.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/SessionModule.kt @@ -62,7 +62,6 @@ internal abstract class SessionModule { return sessionParams.homeServerConnectionConfig } - @JvmStatic @Provides fun providesCredentials(sessionParams: SessionParams): Credentials { @@ -172,5 +171,4 @@ internal abstract class SessionModule { @Binds abstract fun bindHomeServerCapabilitiesService(homeServerCapabilitiesService: DefaultHomeServerCapabilitiesService): HomeServerCapabilitiesService - } diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/SessionScope.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/SessionScope.kt index 964165e00d..ab0c3f5770 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/SessionScope.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/SessionScope.kt @@ -21,4 +21,4 @@ import javax.inject.Scope @Scope @MustBeDocumented @Retention(AnnotationRetention.RUNTIME) -internal annotation class SessionScope \ No newline at end of file +internal annotation class SessionScope diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/cache/CacheModule.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/cache/CacheModule.kt index 96f6fbd8e0..a418109cec 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/cache/CacheModule.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/cache/CacheModule.kt @@ -38,5 +38,4 @@ internal abstract class CacheModule { @Binds abstract fun bindCacheService(cacheService: DefaultCacheService): CacheService - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/cache/ClearCacheTask.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/cache/ClearCacheTask.kt index 5af4ee74fb..cd802d40dc 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/cache/ClearCacheTask.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/cache/ClearCacheTask.kt @@ -30,4 +30,4 @@ internal class RealmClearCacheTask @Inject constructor(private val realmConfigur it.deleteAll() } } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/cache/DefaultCacheService.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/cache/DefaultCacheService.kt index 12684965b7..63db2b4b86 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/cache/DefaultCacheService.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/cache/DefaultCacheService.kt @@ -35,4 +35,4 @@ internal class DefaultCacheService @Inject constructor(@SessionDatabase } .executeBy(taskExecutor) } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/content/ContentUploadResponse.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/content/ContentUploadResponse.kt index e1f456fe5f..242502a5bc 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/content/ContentUploadResponse.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/content/ContentUploadResponse.kt @@ -22,4 +22,4 @@ import com.squareup.moshi.JsonClass @JsonClass(generateAdapter = true) data class ContentUploadResponse( @Json(name = "content_uri") val contentUri: String -) \ No newline at end of file +) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/content/DefaultContentUploadStateTracker.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/content/DefaultContentUploadStateTracker.kt index e44c8eb5ee..5fcad0e30f 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/content/DefaultContentUploadStateTracker.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/content/DefaultContentUploadStateTracker.kt @@ -80,5 +80,4 @@ internal class DefaultContentUploadStateTracker @Inject constructor() : ContentU } } } - } diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/content/DefaultContentUrlResolver.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/content/DefaultContentUrlResolver.kt index 55508b11b3..81180fbf82 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/content/DefaultContentUrlResolver.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/content/DefaultContentUrlResolver.kt @@ -20,7 +20,6 @@ import im.vector.matrix.android.api.auth.data.HomeServerConnectionConfig import im.vector.matrix.android.api.session.content.ContentUrlResolver import javax.inject.Inject - private const val MATRIX_CONTENT_URI_SCHEME = "mxc://" private const val URI_PREFIX_CONTENT_API = "_matrix/media/v1/" @@ -76,5 +75,4 @@ internal class DefaultContentUrlResolver @Inject constructor(private val homeSer private fun String.isValidMatrixContentUrl(): Boolean { return startsWith(MATRIX_CONTENT_URI_SCHEME) } - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/content/FileUploader.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/content/FileUploader.kt index 422ceca3cc..209f03ad9d 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/content/FileUploader.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/content/FileUploader.kt @@ -33,7 +33,6 @@ import java.io.File import java.io.IOException import javax.inject.Inject - internal class FileUploader @Inject constructor(@Authenticated private val okHttpClient: OkHttpClient, sessionParams: SessionParams, @@ -42,14 +41,12 @@ internal class FileUploader @Inject constructor(@Authenticated private val uploadUrl = DefaultContentUrlResolver.getUploadUrl(sessionParams.homeServerConnectionConfig) private val responseAdapter = moshi.adapter(ContentUploadResponse::class.java) - suspend fun uploadFile(file: File, filename: String?, mimeType: String, progressListener: ProgressRequestBody.Listener? = null): ContentUploadResponse { val uploadBody = file.asRequestBody(mimeType.toMediaTypeOrNull()) return upload(uploadBody, filename, progressListener) - } suspend fun uploadByteArray(byteArray: ByteArray, @@ -60,7 +57,6 @@ internal class FileUploader @Inject constructor(@Authenticated return upload(uploadBody, filename, progressListener) } - private suspend fun upload(uploadBody: RequestBody, filename: String?, progressListener: ProgressRequestBody.Listener?): ContentUploadResponse { val urlBuilder = uploadUrl.toHttpUrlOrNull()?.newBuilder() ?: throw RuntimeException() @@ -86,4 +82,4 @@ internal class FileUploader @Inject constructor(@Authenticated } } } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/content/ThumbnailExtractor.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/content/ThumbnailExtractor.kt index 8fc6f5f983..f8935e9283 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/content/ThumbnailExtractor.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/content/ThumbnailExtractor.kt @@ -63,6 +63,4 @@ internal object ThumbnailExtractor { outputStream.reset() return thumbnailData } - - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/content/UploadContentWorker.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/content/UploadContentWorker.kt index 2d9509b43d..a05edb7b0f 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/content/UploadContentWorker.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/content/UploadContentWorker.kt @@ -38,7 +38,6 @@ import java.io.File import java.io.FileInputStream import javax.inject.Inject - internal class UploadContentWorker(context: Context, params: WorkerParameters) : CoroutineWorker(context, params) { @JsonClass(generateAdapter = true) @@ -212,7 +211,6 @@ internal class UploadContentWorker(context: Context, params: WorkerParameters) : ) } - private fun MessageFileContent.update(url: String, encryptedFileInfo: EncryptedFileInfo?): MessageFileContent { return copy( @@ -228,6 +226,4 @@ internal class UploadContentWorker(context: Context, params: WorkerParameters) : encryptedFileInfo = encryptedFileInfo?.copy(url = url) ) } - } - diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/filter/DefaultFilterRepository.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/filter/DefaultFilterRepository.kt index c46da8b318..02e6db189a 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/filter/DefaultFilterRepository.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/filter/DefaultFilterRepository.kt @@ -108,4 +108,4 @@ internal class DefaultFilterRepository @Inject constructor( return result } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/filter/DefaultFilterService.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/filter/DefaultFilterService.kt index 445e416b45..84e820ebca 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/filter/DefaultFilterService.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/filter/DefaultFilterService.kt @@ -53,4 +53,4 @@ internal class DefaultFilterService @Inject constructor(private val filterReposi .executeBy(taskExecutor) } } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/filter/DefaultSaveFilterTask.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/filter/DefaultSaveFilterTask.kt index 8df7426263..b98049675e 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/filter/DefaultSaveFilterTask.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/filter/DefaultSaveFilterTask.kt @@ -21,7 +21,6 @@ import im.vector.matrix.android.internal.network.executeRequest import im.vector.matrix.android.internal.task.Task import javax.inject.Inject - /** * Save a filter to the server */ @@ -30,7 +29,6 @@ internal interface SaveFilterTask : Task { data class Params( val filter: FilterBody ) - } internal class DefaultSaveFilterTask @Inject constructor(@UserId private val userId: String, @@ -45,5 +43,4 @@ internal class DefaultSaveFilterTask @Inject constructor(@UserId private val use } filterRepository.storeFilterId(params.filter, filterResponse.filterId) } - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/filter/FilterBody.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/filter/FilterBody.kt index 8abf6f3fb8..fa66470c9b 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/filter/FilterBody.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/filter/FilterBody.kt @@ -19,7 +19,6 @@ import com.squareup.moshi.Json import com.squareup.moshi.JsonClass import im.vector.matrix.android.internal.di.MoshiProvider - /** * Class which can be parsed to a filter json string. Used for POST and GET * Have a look here for further information: diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/filter/FilterFactory.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/filter/FilterFactory.kt index d5c93ac350..86c94d3dfa 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/filter/FilterFactory.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/filter/FilterFactory.kt @@ -73,4 +73,4 @@ internal object FilterFactory { // TODO Complete the list EventType.STATE_ROOM_MEMBER ) -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/filter/FilterModule.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/filter/FilterModule.kt index 0fc125a172..7b787048c5 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/filter/FilterModule.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/filter/FilterModule.kt @@ -44,6 +44,4 @@ internal abstract class FilterModule { @Binds abstract fun bindSaveFilterTask(saveFilterTask: DefaultSaveFilterTask): SaveFilterTask - - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/filter/FilterRepository.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/filter/FilterRepository.kt index f48153e9be..092d9ff766 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/filter/FilterRepository.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/filter/FilterRepository.kt @@ -37,4 +37,4 @@ internal interface FilterRepository { * Return the room filter */ fun getRoomFilter(): String -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/filter/RoomEventFilter.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/filter/RoomEventFilter.kt index 1d8720a9af..ee81e399ee 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/filter/RoomEventFilter.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/filter/RoomEventFilter.kt @@ -51,6 +51,4 @@ data class RoomEventFilter( || containsUrl != null || lazyLoadMembers != null) } - } - diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/filter/RoomFilter.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/filter/RoomFilter.kt index 4c8fc1662c..4742bdb988 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/filter/RoomFilter.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/filter/RoomFilter.kt @@ -42,5 +42,4 @@ data class RoomFilter( || timeline != null || accountData != null) } - } diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/group/DefaultGetGroupDataTask.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/group/DefaultGetGroupDataTask.kt index 003f6a8c61..3479d6dcdc 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/group/DefaultGetGroupDataTask.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/group/DefaultGetGroupDataTask.kt @@ -30,7 +30,6 @@ import javax.inject.Inject internal interface GetGroupDataTask : Task { data class Params(val groupId: String) - } internal class DefaultGetGroupDataTask @Inject constructor( @@ -52,7 +51,6 @@ internal class DefaultGetGroupDataTask @Inject constructor( insertInDb(groupSummary, groupRooms, groupUsers, groupId) } - private fun insertInDb(groupSummary: GroupSummaryResponse, groupRooms: GroupRooms, groupUsers: GroupUsers, @@ -82,4 +80,4 @@ internal class DefaultGetGroupDataTask @Inject constructor( } } } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/group/DefaultGroup.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/group/DefaultGroup.kt index f7e2a23c2d..6c7b5b2a8b 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/group/DefaultGroup.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/group/DefaultGroup.kt @@ -18,6 +18,4 @@ package im.vector.matrix.android.internal.session.group import im.vector.matrix.android.api.session.group.Group -internal class DefaultGroup(override val groupId: String) : Group { - -} \ No newline at end of file +internal class DefaultGroup(override val groupId: String) : Group diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/group/DefaultGroupService.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/group/DefaultGroupService.kt index a574df7c8f..be059038f3 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/group/DefaultGroupService.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/group/DefaultGroupService.kt @@ -39,5 +39,4 @@ internal class DefaultGroupService @Inject constructor(private val monarchy: Mon { it.asDomain() } ) } - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/group/GetGroupDataWorker.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/group/GetGroupDataWorker.kt index 913a468bd7..76a7d5a48d 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/group/GetGroupDataWorker.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/group/GetGroupDataWorker.kt @@ -52,5 +52,4 @@ internal class GetGroupDataWorker(context: Context, params: WorkerParameters) : private suspend fun fetchGroupData(groupId: String) { getGroupDataTask.execute(GetGroupDataTask.Params(groupId)) } - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/group/GroupAPI.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/group/GroupAPI.kt index a0f902bf2e..8d5dd03fb2 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/group/GroupAPI.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/group/GroupAPI.kt @@ -42,7 +42,6 @@ internal interface GroupAPI { @GET(NetworkConstants.URI_API_PREFIX_PATH_R0 + "groups/{groupId}/rooms") fun getRooms(@Path("groupId") groupId: String): Call - /** * Request the users list. * @@ -50,6 +49,4 @@ internal interface GroupAPI { */ @GET(NetworkConstants.URI_API_PREFIX_PATH_R0 + "groups/{groupId}/users") fun getUsers(@Path("groupId") groupId: String): Call - - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/group/GroupModule.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/group/GroupModule.kt index cdb698b003..3b88dc5b6b 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/group/GroupModule.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/group/GroupModule.kt @@ -41,4 +41,4 @@ internal abstract class GroupModule { @Binds abstract fun bindGroupService(groupService: DefaultGroupService): GroupService -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/group/GroupSummaryUpdater.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/group/GroupSummaryUpdater.kt index 12a256e7dc..9eceb44417 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/group/GroupSummaryUpdater.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/group/GroupSummaryUpdater.kt @@ -85,4 +85,4 @@ internal class GroupSummaryUpdater @Inject constructor(private val context: Cont .deleteAllFromRealm() } } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/group/model/GroupSummaryRoomsSection.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/group/model/GroupSummaryRoomsSection.kt index 2b1a8f226e..75d35f07ce 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/group/model/GroupSummaryRoomsSection.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/group/model/GroupSummaryRoomsSection.kt @@ -30,5 +30,5 @@ internal data class GroupSummaryRoomsSection( @Json(name = "rooms") val rooms: List = emptyList() // @TODO: Check the meaning and the usage of these categories. This dictionary is empty FTM. - //public Map categories; + // public Map categories; ) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/group/model/GroupSummaryUsersSection.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/group/model/GroupSummaryUsersSection.kt index 53bb1ab9c3..52bced1c39 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/group/model/GroupSummaryUsersSection.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/group/model/GroupSummaryUsersSection.kt @@ -19,7 +19,6 @@ package im.vector.matrix.android.internal.session.group.model import com.squareup.moshi.Json import com.squareup.moshi.JsonClass - /** * This class represents the community members in a group summary response. */ @@ -32,5 +31,5 @@ internal data class GroupSummaryUsersSection( @Json(name = "users") val users: List = emptyList() // @TODO: Check the meaning and the usage of these roles. This dictionary is empty FTM. - //public Map roles; + // public Map roles; ) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/group/model/GroupUser.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/group/model/GroupUser.kt index 62be8f5e7e..f2e504dd47 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/group/model/GroupUser.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/group/model/GroupUser.kt @@ -26,4 +26,4 @@ internal data class GroupUser( @Json(name = "is_privileged") val isPrivileged: Boolean = false, @Json(name = "avatar_url") val avatarUrl: String? = "", @Json(name = "is_public") val isPublic: Boolean = false -) \ No newline at end of file +) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/group/model/GroupUsers.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/group/model/GroupUsers.kt index b04ebc7ca7..b98d467c55 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/group/model/GroupUsers.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/group/model/GroupUsers.kt @@ -23,4 +23,4 @@ import com.squareup.moshi.JsonClass internal data class GroupUsers( @Json(name = "total_user_count_estimate") val totalUserCountEstimate: Int, @Json(name = "chunk") val users: List = emptyList() -) \ No newline at end of file +) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/homeserver/CapabilitiesAPI.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/homeserver/CapabilitiesAPI.kt index 69972a1f57..f2015229fd 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/homeserver/CapabilitiesAPI.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/homeserver/CapabilitiesAPI.kt @@ -27,5 +27,4 @@ internal interface CapabilitiesAPI { */ @GET(NetworkConstants.URI_API_MEDIA_PREFIX_PATH_R0 + "config") fun getUploadCapabilities(): Call - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/homeserver/DefaultGetHomeServerCapabilitiesTask.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/homeserver/DefaultGetHomeServerCapabilitiesTask.kt index f88178cebd..98ab0b5389 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/homeserver/DefaultGetHomeServerCapabilitiesTask.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/homeserver/DefaultGetHomeServerCapabilitiesTask.kt @@ -33,7 +33,6 @@ internal class DefaultGetHomeServerCapabilitiesTask @Inject constructor( private val monarchy: Monarchy ) : GetHomeServerCapabilitiesTask { - override suspend fun execute(params: Unit) { var doRequest = false monarchy.awaitTransaction { realm -> @@ -55,7 +54,6 @@ internal class DefaultGetHomeServerCapabilitiesTask @Inject constructor( insertInDb(uploadCapabilities) } - private suspend fun insertInDb(getUploadCapabilitiesResult: GetUploadCapabilitiesResult) { monarchy.awaitTransaction { realm -> val homeServerCapabilitiesEntity = HomeServerCapabilitiesEntity.getOrCreate(realm) @@ -71,4 +69,4 @@ internal class DefaultGetHomeServerCapabilitiesTask @Inject constructor( // 8 hours like on Riot Web private const val MIN_DELAY_BETWEEN_TWO_REQUEST_MILLIS = 8 * 60 * 60 * 1000 } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/homeserver/HomeServerCapabilitiesModule.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/homeserver/HomeServerCapabilitiesModule.kt index 71b3ee63b8..9082fceb9e 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/homeserver/HomeServerCapabilitiesModule.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/homeserver/HomeServerCapabilitiesModule.kt @@ -37,5 +37,4 @@ internal abstract class HomeServerCapabilitiesModule { @Binds abstract fun bindGetHomeServerCapabilitiesTask(getHomeServerCapabilitiesTask: DefaultGetHomeServerCapabilitiesTask): GetHomeServerCapabilitiesTask - } diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/notification/DefaultPushRuleService.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/notification/DefaultPushRuleService.kt index eace7d340c..82b928fc54 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/notification/DefaultPushRuleService.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/notification/DefaultPushRuleService.kt @@ -104,7 +104,6 @@ internal class DefaultPushRuleService @Inject constructor(private val getPushRul } } - override fun addPushRuleListener(listener: PushRuleService.PushRuleListener) { synchronized(listeners) { listeners.add(listener) @@ -183,4 +182,4 @@ internal class DefaultPushRuleService @Inject constructor(private val getPushRul } } } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/notification/ProcessEventForPushTask.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/notification/ProcessEventForPushTask.kt index b0b25cb3b0..a48990d48f 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/notification/ProcessEventForPushTask.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/notification/ProcessEventForPushTask.kt @@ -111,7 +111,7 @@ internal class DefaultProcessEventForPushTask @Inject constructor( val isFullfilled = rule.conditions?.map { it.asExecutableCondition()?.isSatisfied(conditionResolver) ?: false }?.fold(true/*A rule with no conditions always matches*/, { acc, next -> - //All conditions must hold true for an event in order to apply the action for the event. + // All conditions must hold true for an event in order to apply the action for the event. acc && next }) ?: false @@ -121,5 +121,4 @@ internal class DefaultProcessEventForPushTask @Inject constructor( } return null } - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/pushers/AddHttpPusherWorker.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/pushers/AddHttpPusherWorker.kt index e230c02e49..1bb61820dd 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/pushers/AddHttpPusherWorker.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/pushers/AddHttpPusherWorker.kt @@ -65,11 +65,11 @@ internal class AddHttpPusherWorker(context: Context, params: WorkerParameters) else -> { monarchy.awaitTransaction { realm -> PusherEntity.where(realm, pusher.pushKey).findFirst()?.let { - //update it + // update it it.state = PusherState.FAILED_TO_REGISTER } } - //always return success, or the chain will be stuck for ever! + // always return success, or the chain will be stuck for ever! Result.failure() } } @@ -83,7 +83,7 @@ internal class AddHttpPusherWorker(context: Context, params: WorkerParameters) monarchy.awaitTransaction { realm -> val echo = PusherEntity.where(realm, pusher.pushKey).findFirst() if (echo != null) { - //update it + // update it echo.appDisplayName = pusher.appDisplayName echo.appId = pusher.appId echo.kind = pusher.kind @@ -100,4 +100,4 @@ internal class AddHttpPusherWorker(context: Context, params: WorkerParameters) } } } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/pushers/DefaultConditionResolver.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/pushers/DefaultConditionResolver.kt index a40c5e801b..881d122606 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/pushers/DefaultConditionResolver.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/pushers/DefaultConditionResolver.kt @@ -26,7 +26,6 @@ internal class DefaultConditionResolver(private val event: Event, private val roomService: RoomService, @UserId private val userId: String) : ConditionResolver { - override fun resolveEventMatchCondition(eventMatchCondition: EventMatchCondition): Boolean { return eventMatchCondition.isSatisfied(event) } @@ -38,9 +37,9 @@ internal class DefaultConditionResolver(private val event: Event, override fun resolveSenderNotificationPermissionCondition(senderNotificationPermissionCondition: SenderNotificationPermissionCondition): Boolean { // val roomId = event.roomId ?: return false // val room = roomService.getRoom(roomId) ?: return false - //TODO RoomState not yet managed + // TODO RoomState not yet managed Timber.e("POWER LEVELS STATE NOT YET MANAGED BY RIOTX") - return false //senderNotificationPermissionCondition.isSatisfied(event, ) + return false // senderNotificationPermissionCondition.isSatisfied(event, ) } override fun resolveContainsDisplayNameCondition(containsDisplayNameCondition: ContainsDisplayNameCondition): Boolean { @@ -49,4 +48,4 @@ internal class DefaultConditionResolver(private val event: Event, val myDisplayName = room.getRoomMember(userId)?.displayName ?: return false return containsDisplayNameCondition.isSatisfied(event, myDisplayName) } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/pushers/DefaultPusherService.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/pushers/DefaultPusherService.kt index 12f6ee9f01..9f8426aba7 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/pushers/DefaultPusherService.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/pushers/DefaultPusherService.kt @@ -36,7 +36,6 @@ import java.util.* import java.util.concurrent.TimeUnit import javax.inject.Inject - internal class DefaultPusherService @Inject constructor(private val context: Context, private val monarchy: Monarchy, @UserId private val userId: String, @@ -45,7 +44,6 @@ internal class DefaultPusherService @Inject constructor(private val context: Con private val taskExecutor: TaskExecutor ) : PushersService { - override fun refreshPushers() { getPusherTask .configureWith() @@ -68,7 +66,6 @@ internal class DefaultPusherService @Inject constructor(private val context: Con data = JsonPusherData(url, if (withEventIdOnly) PushersService.EVENT_ID_ONLY else null), append = append) - val params = AddHttpPusherWorker.Params(pusher, userId) val request = matrixOneTimeWorkRequestBuilder() @@ -86,7 +83,7 @@ internal class DefaultPusherService @Inject constructor(private val context: Con .configureWith(params) { this.callback = callback } - //.enableRetry() ?? + // .enableRetry() ?? .executeBy(taskExecutor) } @@ -100,4 +97,4 @@ internal class DefaultPusherService @Inject constructor(private val context: Con override fun pushers(): List { return monarchy.fetchAllCopiedSync { PusherEntity.where(it) }.map { it.asDomain() } } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/pushers/GetPushRulesTask.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/pushers/GetPushRulesTask.kt index d542a8fffc..d135c36543 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/pushers/GetPushRulesTask.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/pushers/GetPushRulesTask.kt @@ -20,7 +20,6 @@ import im.vector.matrix.android.internal.network.executeRequest import im.vector.matrix.android.internal.task.Task import javax.inject.Inject - internal interface GetPushRulesTask : Task { data class Params(val scope: String) } @@ -38,4 +37,4 @@ internal class DefaultGetPushRulesTask @Inject constructor(private val pushRules savePushRulesTask.execute(SavePushRulesTask.Params(response)) } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/pushers/GetPushersResponse.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/pushers/GetPushersResponse.kt index 4f4cac9302..1a46dcc8be 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/pushers/GetPushersResponse.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/pushers/GetPushersResponse.kt @@ -18,9 +18,8 @@ package im.vector.matrix.android.internal.session.pushers import com.squareup.moshi.Json import com.squareup.moshi.JsonClass - @JsonClass(generateAdapter = true) internal class GetPushersResponse( @Json(name = "pushers") val pushers: List? = null -) \ No newline at end of file +) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/pushers/GetPushersTask.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/pushers/GetPushersTask.kt index ffaedad652..045db56786 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/pushers/GetPushersTask.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/pushers/GetPushersTask.kt @@ -34,7 +34,7 @@ internal class DefaultGetPushersTask @Inject constructor(private val pushersAPI: apiCall = pushersAPI.getPushers() } monarchy.awaitTransaction { realm -> - //clear existings? + // clear existings? realm.where(PusherEntity::class.java) .findAll().deleteAllFromRealm() response.pushers?.forEach { jsonPusher -> @@ -45,4 +45,4 @@ internal class DefaultGetPushersTask @Inject constructor(private val pushersAPI: } } } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/pushers/JsonPusher.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/pushers/JsonPusher.kt index d262eeb745..8234a3b387 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/pushers/JsonPusher.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/pushers/JsonPusher.kt @@ -100,4 +100,3 @@ internal data class JsonPusher( @Json(name = "append") val append: Boolean? = false ) - diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/pushers/JsonPusherData.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/pushers/JsonPusherData.kt index 95898acae2..67c13b343f 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/pushers/JsonPusherData.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/pushers/JsonPusherData.kt @@ -31,4 +31,4 @@ internal data class JsonPusherData( */ @Json(name = "format") val format: String? = null -) \ No newline at end of file +) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/pushers/PushRulesApi.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/pushers/PushRulesApi.kt index f191b21d1d..786c1c90e6 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/pushers/PushRulesApi.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/pushers/PushRulesApi.kt @@ -21,7 +21,6 @@ import im.vector.matrix.android.internal.network.NetworkConstants import retrofit2.Call import retrofit2.http.* - internal interface PushRulesApi { /** * Get all push rules @@ -42,7 +41,6 @@ internal interface PushRulesApi { @Body enable: Boolean?) : Call - /** * Update the ruleID action * @@ -56,7 +54,6 @@ internal interface PushRulesApi { @Body actions: Any) : Call - /** * Delete a rule * @@ -80,4 +77,4 @@ internal interface PushRulesApi { @Path("ruleId") ruleId: String, @Body rule: PushRule) : Call -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/pushers/PushersAPI.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/pushers/PushersAPI.kt index 7516e48a0c..9f1859548e 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/pushers/PushersAPI.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/pushers/PushersAPI.kt @@ -21,7 +21,6 @@ import retrofit2.http.Body import retrofit2.http.GET import retrofit2.http.POST - internal interface PushersAPI { /** @@ -40,5 +39,4 @@ internal interface PushersAPI { */ @POST(NetworkConstants.URI_API_PREFIX_PATH_R0 + "pushers/set") fun setPusher(@Body jsonPusher: JsonPusher): Call - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/pushers/PushersModule.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/pushers/PushersModule.kt index ad4e3eee7a..7aa06c0275 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/pushers/PushersModule.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/pushers/PushersModule.kt @@ -44,7 +44,6 @@ internal abstract class PushersModule { fun providesPushRulesApi(retrofit: Retrofit): PushRulesApi { return retrofit.create(PushRulesApi::class.java) } - } @Binds @@ -73,5 +72,4 @@ internal abstract class PushersModule { @Binds abstract fun bindProcessEventForPushTask(processEventForPushTask: DefaultProcessEventForPushTask): ProcessEventForPushTask - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/pushers/RemovePusherTask.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/pushers/RemovePusherTask.kt index d22447586c..297375454a 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/pushers/RemovePusherTask.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/pushers/RemovePusherTask.kt @@ -66,4 +66,4 @@ internal class DefaultRemovePusherTask @Inject constructor( PusherEntity.where(it, params.pushKey).findFirst()?.deleteFromRealm() } } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/pushers/SavePushRulesTask.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/pushers/SavePushRulesTask.kt index b658858e47..fcab627251 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/pushers/SavePushRulesTask.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/pushers/SavePushRulesTask.kt @@ -25,7 +25,6 @@ import im.vector.matrix.android.internal.task.Task import im.vector.matrix.android.internal.util.awaitTransaction import javax.inject.Inject - /** * Save the push rules in DB */ @@ -78,4 +77,4 @@ internal class DefaultSavePushRulesTask @Inject constructor(private val monarchy realm.insertOrUpdate(underrides) } } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/pushers/UpdatePushRuleEnableStatusTask.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/pushers/UpdatePushRuleEnableStatusTask.kt index f3077e6837..91ed65d833 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/pushers/UpdatePushRuleEnableStatusTask.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/pushers/UpdatePushRuleEnableStatusTask.kt @@ -21,7 +21,6 @@ import im.vector.matrix.android.internal.network.executeRequest import im.vector.matrix.android.internal.task.Task import javax.inject.Inject - internal interface UpdatePushRuleEnableStatusTask : Task { data class Params(val kind: RuleKind, val pushRule: PushRule, @@ -36,4 +35,4 @@ internal class DefaultUpdatePushRuleEnableStatusTask @Inject constructor(private apiCall = pushRulesApi.updateEnableRuleStatus(params.kind.value, params.pushRule.ruleId, params.enabled) } } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/DefaultRoom.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/DefaultRoom.kt index 228552592e..7d957ccdad 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/DefaultRoom.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/DefaultRoom.kt @@ -85,5 +85,4 @@ internal class DefaultRoom @Inject constructor(override val roomId: String, override fun shouldEncryptForInvitedMembers(): Boolean { return cryptoService.shouldEncryptForInvitedMembers(roomId) } - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/DefaultRoomDirectoryService.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/DefaultRoomDirectoryService.kt index 4aeace70ed..4251a66304 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/DefaultRoomDirectoryService.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/DefaultRoomDirectoryService.kt @@ -59,4 +59,4 @@ internal class DefaultRoomDirectoryService @Inject constructor(private val getPu } .executeBy(taskExecutor) } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/DefaultRoomService.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/DefaultRoomService.kt index bd5462b151..c64676c8c2 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/DefaultRoomService.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/DefaultRoomService.kt @@ -80,4 +80,4 @@ internal class DefaultRoomService @Inject constructor(private val monarchy: Mona } .executeBy(taskExecutor) } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/EventRelationsAggregationTask.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/EventRelationsAggregationTask.kt index 3743eef211..9a07cd0de8 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/EventRelationsAggregationTask.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/EventRelationsAggregationTask.kt @@ -50,7 +50,7 @@ internal class DefaultEventRelationsAggregationTask @Inject constructor( private val monarchy: Monarchy, private val cryptoService: CryptoService) : EventRelationsAggregationTask { - //OPT OUT serer aggregation until API mature enough + // OPT OUT serer aggregation until API mature enough private val SHOULD_HANDLE_SERVER_AGREGGATION = false override suspend fun execute(params: EventRelationsAggregationTask.Params) { @@ -65,7 +65,7 @@ internal class DefaultEventRelationsAggregationTask @Inject constructor( private fun update(realm: Realm, events: List, userId: String) { events.forEach { event -> - try { //Temporary catch, should be removed + try { // Temporary catch, should be removed val roomId = event.roomId if (roomId == null) { Timber.w("Event has no room id ${event.eventId}") @@ -74,7 +74,7 @@ internal class DefaultEventRelationsAggregationTask @Inject constructor( val isLocalEcho = LocalEchoEventFactory.isLocalEchoId(event.eventId ?: "") when (event.type) { EventType.REACTION -> { - //we got a reaction!! + // we got a reaction!! Timber.v("###REACTION in room $roomId , reaction eventID ${event.eventId}") handleReaction(event, roomId, realm, userId, isLocalEcho) } @@ -95,18 +95,16 @@ internal class DefaultEventRelationsAggregationTask @Inject constructor( val content: MessageContent? = event.content.toModel() if (content?.relatesTo?.type == RelationType.REPLACE) { Timber.v("###REPLACE in room $roomId for event ${event.eventId}") - //A replace! + // A replace! handleReplace(realm, event, content, roomId, isLocalEcho) } - - } EventType.ENCRYPTED -> { - //Relation type is in clear + // Relation type is in clear val encryptedEventContent = event.content.toModel() if (encryptedEventContent?.relatesTo?.type == RelationType.REPLACE) { - //we need to decrypt if needed + // we need to decrypt if needed if (event.mxDecryptionResult == null) { try { val result = cryptoService.decryptEvent(event, event.roomId) @@ -118,12 +116,12 @@ internal class DefaultEventRelationsAggregationTask @Inject constructor( ) } catch (e: MXCryptoError) { Timber.w("Failed to decrypt e2e replace") - //TODO -> we should keep track of this and retry, or aggregation will be broken + // TODO -> we should keep track of this and retry, or aggregation will be broken } } event.getClearContent().toModel()?.let { Timber.v("###REPLACE in room $roomId for event ${event.eventId}") - //A replace! + // A replace! handleReplace(realm, event, it, roomId, isLocalEcho, encryptedEventContent.relatesTo.eventId) } } @@ -137,12 +135,11 @@ internal class DefaultEventRelationsAggregationTask @Inject constructor( // val unsignedData = EventMapper.map(eventToPrune).unsignedData // ?: UnsignedData(null, null) - //was this event a m.replace + // was this event a m.replace val contentModel = ContentMapper.map(eventToPrune.content)?.toModel() if (RelationType.REPLACE == contentModel?.relatesTo?.type && contentModel.relatesTo?.eventId != null) { handleRedactionOfReplace(eventToPrune, contentModel.relatesTo!!.eventId!!, realm) } - } EventType.REACTION -> { handleReactionRedact(eventToPrune, realm, userId) @@ -151,30 +148,28 @@ internal class DefaultEventRelationsAggregationTask @Inject constructor( } else -> Timber.v("UnHandled event ${event.eventId}") } - } catch (t: Throwable) { Timber.e(t, "## Should not happen ") } } - } private fun handleReplace(realm: Realm, event: Event, content: MessageContent, roomId: String, isLocalEcho: Boolean, relatedEventId: String? = null) { val eventId = event.eventId ?: return val targetEventId = relatedEventId ?: content.relatesTo?.eventId ?: return val newContent = content.newContent ?: return - //ok, this is a replace + // ok, this is a replace var existing = EventAnnotationsSummaryEntity.where(realm, targetEventId).findFirst() if (existing == null) { Timber.v("###REPLACE creating new relation summary for $targetEventId") existing = EventAnnotationsSummaryEntity.create(realm, roomId, targetEventId) } - //we have it + // we have it val existingSummary = existing.editSummary if (existingSummary == null) { - Timber.v("###REPLACE new edit summary for ${targetEventId}, creating one (localEcho:$isLocalEcho)") - //create the edit summary + Timber.v("###REPLACE new edit summary for $targetEventId, creating one (localEcho:$isLocalEcho)") + // create the edit summary val editSummary = realm.createObject(EditAggregatedSummaryEntity::class.java) editSummary.aggregatedContent = ContentMapper.map(newContent) if (isLocalEcho) { @@ -188,14 +183,14 @@ internal class DefaultEventRelationsAggregationTask @Inject constructor( existing.editSummary = editSummary } else { if (existingSummary.sourceEvents.contains(eventId)) { - //ignore this event, we already know it (??) - Timber.v("###REPLACE ignoring event for summary, it's known ${eventId}") + // ignore this event, we already know it (??) + Timber.v("###REPLACE ignoring event for summary, it's known $eventId") return } val txId = event.unsignedData?.transactionId - //is it a remote echo? + // is it a remote echo? if (!isLocalEcho && existingSummary.sourceLocalEchoEvents.contains(txId)) { - //ok it has already been managed + // ok it has already been managed Timber.v("###REPLACE Receiving remote echo of edit (edit already done)") existingSummary.sourceLocalEchoEvents.remove(txId) existingSummary.sourceEvents.add(event.eventId) @@ -205,7 +200,7 @@ internal class DefaultEventRelationsAggregationTask @Inject constructor( ) { Timber.v("###REPLACE Computing aggregated edit summary (isLocalEcho:$isLocalEcho)") if (!isLocalEcho) { - //Do not take local echo originServerTs here, could mess up ordering (keep old ts) + // Do not take local echo originServerTs here, could mess up ordering (keep old ts) existingSummary.lastEditTs = event.originServerTs ?: System.currentTimeMillis() } existingSummary.aggregatedContent = ContentMapper.map(newContent) @@ -215,14 +210,13 @@ internal class DefaultEventRelationsAggregationTask @Inject constructor( existingSummary.sourceEvents.add(eventId) } } else { - //ignore this event for the summary (back paginate) + // ignore this event for the summary (back paginate) if (!isLocalEcho) { existingSummary.sourceEvents.add(eventId) } Timber.v("###REPLACE ignoring event for summary, it's to old $eventId") } } - } private fun handleInitialAggregatedRelations(event: Event, roomId: String, aggregation: AggregatedAnnotation, realm: Realm) { @@ -235,11 +229,11 @@ internal class DefaultEventRelationsAggregationTask @Inject constructor( val eventSummary = EventAnnotationsSummaryEntity.create(realm, roomId, eventId) val sum = realm.createObject(ReactionAggregatedSummaryEntity::class.java) sum.key = it.key - sum.firstTimestamp = event.originServerTs ?: 0 //TODO how to maintain order? + sum.firstTimestamp = event.originServerTs ?: 0 // TODO how to maintain order? sum.count = it.count eventSummary.reactionsSummary.add(sum) } else { - //TODO how to handle that + // TODO how to handle that } } } @@ -252,7 +246,7 @@ internal class DefaultEventRelationsAggregationTask @Inject constructor( Timber.e("Malformed reaction content ${event.content}") return } - //rel_type must be m.annotation + // rel_type must be m.annotation if (RelationType.ANNOTATION == content.relatesTo?.type) { val reaction = content.relatesTo.key val relatedEventID = content.relatesTo.eventId @@ -282,12 +276,12 @@ internal class DefaultEventRelationsAggregationTask @Inject constructor( sum.addedByMe = sum.addedByMe || (userId == event.senderId) eventSummary.reactionsSummary.add(sum) } else { - //is this a known event (is possible? pagination?) + // is this a known event (is possible? pagination?) if (!sum.sourceEvents.contains(reactionEventId)) { - //check if it's not the sync of a local echo + // check if it's not the sync of a local echo if (!isLocalEcho && sum.sourceLocalEcho.contains(txId)) { - //ok it has already been counted, just sync the list, do not touch count + // ok it has already been counted, just sync the list, do not touch count Timber.v("Ignoring synced of local echo for reaction $reaction") sum.sourceLocalEcho.remove(txId) sum.sourceEvents.add(reactionEventId) @@ -303,14 +297,11 @@ internal class DefaultEventRelationsAggregationTask @Inject constructor( sum.addedByMe = sum.addedByMe || (userId == event.senderId) } - } } - } else { Timber.e("Unknwon relation type ${content.relatesTo?.type} for event ${event.eventId}") } - } /** @@ -329,29 +320,28 @@ internal class DefaultEventRelationsAggregationTask @Inject constructor( Timber.w("Redaction of a replace that was not known in aggregation $sourceToDiscard") return } - //Need to remove this event from the redaction list and compute new aggregation state + // Need to remove this event from the redaction list and compute new aggregation state sourceEvents.removeAt(sourceToDiscard) val previousEdit = sourceEvents.mapNotNull { EventEntity.where(realm, it).findFirst() }.sortedBy { it.originServerTs }.lastOrNull() if (previousEdit == null) { - //revert to original + // revert to original eventSummary.editSummary?.deleteFromRealm() } else { - //I have the last event + // I have the last event ContentMapper.map(previousEdit.content)?.toModel()?.newContent?.let { newContent -> eventSummary.editSummary?.lastEditTs = previousEdit.originServerTs ?: System.currentTimeMillis() eventSummary.editSummary?.aggregatedContent = ContentMapper.map(newContent) } ?: run { Timber.e("Failed to udate edited summary") - //TODO how to reccover that + // TODO how to reccover that } - } } fun handleReactionRedact(eventToPrune: EventEntity, realm: Realm, userId: String) { Timber.v("REDACTION of reaction ${eventToPrune.eventId}") - //delete a reaction, need to update the annotation summary if any + // delete a reaction, need to update the annotation summary if any val reactionContent: ReactionContent = EventMapper.map(eventToPrune).content.toModel() ?: return val eventThatWasReacted = reactionContent.relatesTo?.eventId ?: return @@ -371,11 +361,11 @@ internal class DefaultEventRelationsAggregationTask @Inject constructor( Timber.v("Known reactions after ${aggregation.sourceEvents.joinToString(",")}") aggregation.count = aggregation.count - 1 if (eventToPrune.sender == userId) { - //Was it a redact on my reaction? + // Was it a redact on my reaction? aggregation.addedByMe = false } if (aggregation.count == 0) { - //delete! + // delete! aggregation.deleteFromRealm() } } else { @@ -386,4 +376,4 @@ internal class DefaultEventRelationsAggregationTask @Inject constructor( Timber.e("## Cannot find summary for key $reactionKey") } } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/EventRelationsAggregationUpdater.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/EventRelationsAggregationUpdater.kt index 97bbe62b11..aadf1bfccf 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/EventRelationsAggregationUpdater.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/EventRelationsAggregationUpdater.kt @@ -65,6 +65,4 @@ internal class EventRelationsAggregationUpdater @Inject constructor(@SessionData ) task.configureWith(params).executeBy(taskExecutor) } - } - diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/RoomAPI.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/RoomAPI.kt index 0a5dcea3cb..daee1c914c 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/RoomAPI.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/RoomAPI.kt @@ -80,7 +80,6 @@ internal interface RoomAPI { @Query("filter") filter: String? ): Call - /** * Get all members of a room * @@ -96,7 +95,6 @@ internal interface RoomAPI { @Query("not_membership") notMembership: String? ): Call - /** * Send an event to a room. * @@ -196,7 +194,6 @@ internal interface RoomAPI { @Body content: Content? ): Call - /** * Paginate relations for event based in normal topological order * @@ -248,4 +245,4 @@ internal interface RoomAPI { @Path("eventId") parent_id: String, @Body reason: Map ): Call -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/RoomFactory.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/RoomFactory.kt index e972f6a98e..65a3624d2c 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/RoomFactory.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/RoomFactory.kt @@ -29,7 +29,6 @@ import im.vector.matrix.android.internal.session.room.state.DefaultStateService import im.vector.matrix.android.internal.session.room.timeline.DefaultTimelineService import javax.inject.Inject - internal interface RoomFactory { fun create(roomId: String): Room } @@ -61,5 +60,4 @@ internal class DefaultRoomFactory @Inject constructor(private val monarchy: Mona membershipServiceFactory.create(roomId) ) } - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/RoomSummaryUpdater.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/RoomSummaryUpdater.kt index f92f2ccc1e..0fb3d40bb5 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/RoomSummaryUpdater.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/RoomSummaryUpdater.kt @@ -91,7 +91,7 @@ internal class RoomSummaryUpdater @Inject constructor(@UserId private val userId val lastTopicEvent = EventEntity.where(realm, roomId, EventType.STATE_ROOM_TOPIC).prev()?.asDomain() roomSummaryEntity.hasUnreadMessages = roomSummaryEntity.notificationCount > 0 - //avoid this call if we are sure there are unread events + // avoid this call if we are sure there are unread events || !isEventRead(monarchy, userId, roomId, latestPreviewableEvent?.eventId) val otherRoomMembers = RoomMembers(realm, roomId) @@ -108,4 +108,4 @@ internal class RoomSummaryUpdater @Inject constructor(@UserId private val userId roomSummaryEntity.otherMemberIds.clear() roomSummaryEntity.otherMemberIds.addAll(otherRoomMembers) } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/create/CreateRoomTask.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/create/CreateRoomTask.kt index 93c2eb0b11..ca86765cd9 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/create/CreateRoomTask.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/create/CreateRoomTask.kt @@ -47,7 +47,6 @@ internal class DefaultCreateRoomTask @Inject constructor(private val roomAPI: Ro @SessionDatabase private val realmConfiguration: RealmConfiguration) : CreateRoomTask { - override suspend fun execute(params: CreateRoomParams): String { val createRoomResponse = executeRequest { apiCall = roomAPI.createRoom(params) @@ -88,5 +87,4 @@ internal class DefaultCreateRoomTask @Inject constructor(private val roomAPI: Ro val setReadMarkerParams = SetReadMarkersTask.Params(roomId, markAllAsRead = true) return readMarkersTask.execute(setReadMarkerParams) } - } diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/create/RoomCreateEventLiveObserver.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/create/RoomCreateEventLiveObserver.kt index 1bc6b9658e..010023596c 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/create/RoomCreateEventLiveObserver.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/create/RoomCreateEventLiveObserver.kt @@ -65,9 +65,7 @@ internal class RoomCreateEventLiveObserver @Inject constructor(@SessionDatabase ?: RoomSummaryEntity(predecessorRoomId) predecessorRoomSummary.versioningState = VersioningState.UPGRADED_ROOM_JOINED realm.insertOrUpdate(predecessorRoomSummary) - } } } - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/draft/DefaultDraftService.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/draft/DefaultDraftService.kt index 424598d590..9fd9cf7c9d 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/draft/DefaultDraftService.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/draft/DefaultDraftService.kt @@ -163,4 +163,3 @@ internal class DefaultDraftService @AssistedInject constructor(@Assisted private } } } - diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/membership/DefaultMembershipService.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/membership/DefaultMembershipService.kt index a1aac0ae36..3490fed30f 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/membership/DefaultMembershipService.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/membership/DefaultMembershipService.kt @@ -109,4 +109,4 @@ internal class DefaultMembershipService @AssistedInject constructor(@Assisted pr } .executeBy(taskExecutor) } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/membership/LoadRoomMembersTask.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/membership/LoadRoomMembersTask.kt index 709e8da973..d952915d2c 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/membership/LoadRoomMembersTask.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/membership/LoadRoomMembersTask.kt @@ -64,7 +64,6 @@ internal class DefaultLoadRoomMembersTask @Inject constructor(private val roomAP val roomEntity = RoomEntity.where(realm, roomId).findFirst() ?: realm.createObject(roomId) - for (roomMemberEvent in response.roomMemberEvents) { roomEntity.addStateEvent(roomMemberEvent) UserEntityFactory.createOrNull(roomMemberEvent)?.also { @@ -84,5 +83,4 @@ internal class DefaultLoadRoomMembersTask @Inject constructor(private val roomAP RoomEntity.where(it, roomId).findFirst()?.areAllMembersLoaded ?: false } } - } diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/membership/RoomDisplayNameResolver.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/membership/RoomDisplayNameResolver.kt index 37adba0df8..965bd21cf4 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/membership/RoomDisplayNameResolver.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/membership/RoomDisplayNameResolver.kt @@ -77,7 +77,6 @@ internal class RoomDisplayNameResolver @Inject constructor(private val context: val roomMembers = RoomMembers(realm, roomId) val loadedMembers = roomMembers.queryRoomMembersEvent().findAll() - if (roomEntity?.membership == Membership.INVITE) { val inviteMeEvent = roomMembers.queryRoomMemberEvent(userId).findFirst() val inviterId = inviteMeEvent?.sender diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/membership/RoomMembers.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/membership/RoomMembers.kt index 8db3f170ea..74b8d3c3a7 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/membership/RoomMembers.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/membership/RoomMembers.kt @@ -137,5 +137,4 @@ internal class RoomMembers(private val realm: Realm, .keys .toList() } - } diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/membership/RoomMembersResponse.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/membership/RoomMembersResponse.kt index af3bf9b680..7f77fbf79c 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/membership/RoomMembersResponse.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/membership/RoomMembersResponse.kt @@ -23,4 +23,4 @@ import im.vector.matrix.android.api.session.events.model.Event @JsonClass(generateAdapter = true) internal data class RoomMembersResponse( @Json(name = "chunk") val roomMemberEvents: List -) \ No newline at end of file +) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/membership/joining/InviteTask.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/membership/joining/InviteTask.kt index 68d72c6b84..a41e8d3ca3 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/membership/joining/InviteTask.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/membership/joining/InviteTask.kt @@ -21,7 +21,6 @@ import im.vector.matrix.android.internal.session.room.RoomAPI import im.vector.matrix.android.internal.task.Task import javax.inject.Inject - internal interface InviteTask : Task { data class Params( val roomId: String, diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/membership/joining/JoinRoomTask.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/membership/joining/JoinRoomTask.kt index 5ca23a0d2d..2555d80209 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/membership/joining/JoinRoomTask.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/membership/joining/JoinRoomTask.kt @@ -63,5 +63,4 @@ internal class DefaultJoinRoomTask @Inject constructor(private val roomAPI: Room val setReadMarkerParams = SetReadMarkersTask.Params(roomId, markAllAsRead = true) readMarkersTask.execute(setReadMarkerParams) } - } diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/membership/leaving/LeaveRoomTask.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/membership/leaving/LeaveRoomTask.kt index d4ff169c73..be9a421e95 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/membership/leaving/LeaveRoomTask.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/membership/leaving/LeaveRoomTask.kt @@ -34,5 +34,4 @@ internal class DefaultLeaveRoomTask @Inject constructor(private val roomAPI: Roo apiCall = roomAPI.leave(params.roomId, HashMap()) } } - } diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/prune/EventsPruner.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/prune/EventsPruner.kt index 34e58d7ba9..d66a2f6e57 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/prune/EventsPruner.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/prune/EventsPruner.kt @@ -53,5 +53,4 @@ internal class EventsPruner @Inject constructor(@SessionDatabase realmConfigurat val params = PruneEventTask.Params(insertedDomains) pruneEventTask.configureWith(params).executeBy(taskExecutor) } - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/prune/PruneEventTask.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/prune/PruneEventTask.kt index 4f7bf46984..c55007c54a 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/prune/PruneEventTask.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/prune/PruneEventTask.kt @@ -34,13 +34,11 @@ import io.realm.Realm import timber.log.Timber import javax.inject.Inject - internal interface PruneEventTask : Task { data class Params( val redactionEvents: List ) - } internal class DefaultPruneEventTask @Inject constructor(private val monarchy: Monarchy) : PruneEventTask { @@ -79,7 +77,7 @@ internal class DefaultPruneEventTask @Inject constructor(private val monarchy: M val unsignedData = EventMapper.map(eventToPrune).unsignedData ?: UnsignedData(null, null) - //was this event a m.replace + // was this event a m.replace // val contentModel = ContentMapper.map(eventToPrune.content)?.toModel() // if (RelationType.REPLACE == contentModel?.relatesTo?.type && contentModel.relatesTo?.eventId != null) { // eventRelationsAggregationUpdater.handleRedactionOfReplace(eventToPrune, contentModel.relatesTo!!.eventId!!, realm) @@ -90,7 +88,6 @@ internal class DefaultPruneEventTask @Inject constructor(private val monarchy: M eventToPrune.unsignedData = MoshiProvider.providesMoshi().adapter(UnsignedData::class.java).toJson(modified) eventToPrune.decryptionResultJson = null eventToPrune.decryptionErrorCode = null - } // EventType.REACTION -> { // eventRelationsAggregationUpdater.handleReactionRedact(eventToPrune, realm, userId) @@ -105,7 +102,6 @@ internal class DefaultPruneEventTask @Inject constructor(private val monarchy: M } } - private fun computeAllowedKeys(type: String): List { // Add filtered content, allowed keys in content depends on the event type return when (type) { @@ -127,4 +123,4 @@ internal class DefaultPruneEventTask @Inject constructor(private val monarchy: M else -> emptyList() } } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/read/DefaultReadService.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/read/DefaultReadService.kt index ea15367528..694b6d5937 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/read/DefaultReadService.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/read/DefaultReadService.kt @@ -76,7 +76,6 @@ internal class DefaultReadService @AssistedInject constructor(@Assisted private .executeBy(taskExecutor) } - override fun isEventRead(eventId: String): Boolean { return isEventRead(monarchy, userId, roomId, eventId) } @@ -111,4 +110,4 @@ internal class DefaultReadService @AssistedInject constructor(@Assisted private it.firstOrNull() ?: emptyList() } } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/read/FullyReadContent.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/read/FullyReadContent.kt index 6790ea658c..c91b2af1ae 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/read/FullyReadContent.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/read/FullyReadContent.kt @@ -22,4 +22,4 @@ import com.squareup.moshi.JsonClass @JsonClass(generateAdapter = true) data class FullyReadContent( @Json(name = "event_id") val eventId: String -) \ No newline at end of file +) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/read/SetReadMarkersTask.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/read/SetReadMarkersTask.kt index 2748a49930..3ed322b483 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/read/SetReadMarkersTask.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/read/SetReadMarkersTask.kt @@ -130,5 +130,4 @@ internal class DefaultSetReadMarkersTask @Inject constructor(private val roomAPI newReadMarkerIndex > currentReadMarkerIndex } } - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/relation/DefaultRelationService.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/relation/DefaultRelationService.kt index 9df34c1c50..e17b00e1f3 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/relation/DefaultRelationService.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/relation/DefaultRelationService.kt @@ -87,7 +87,7 @@ internal class DefaultRelationService @AssistedInject constructor(@Assisted priv override fun onSuccess(data: FindReactionEventForUndoTask.Result) { if (data.redactEventId == null) { Timber.w("Cannot find reaction to undo (not yet synced?)") - //TODO? + // TODO? } data.redactEventId?.let { toRedact -> @@ -97,7 +97,6 @@ internal class DefaultRelationService @AssistedInject constructor(@Assisted priv val redactWork = createRedactEventWork(redactEvent, toRedact, null) TimelineSendEventWorkCommon.postWork(context, roomId, redactWork) - } } } @@ -109,7 +108,7 @@ internal class DefaultRelationService @AssistedInject constructor(@Assisted priv .executeBy(taskExecutor) } - //TODO duplicate with send service? + // TODO duplicate with send service? private fun createRedactEventWork(localEvent: Event, eventId: String, reason: String?): OneTimeWorkRequest { val sendContentWorkerParams = RedactEventWorker.Params( userId, @@ -136,13 +135,11 @@ internal class DefaultRelationService @AssistedInject constructor(@Assisted priv val workRequest = createSendEventWork(event, false) TimelineSendEventWorkCommon.postSequentialWorks(context, roomId, encryptWork, workRequest) CancelableWork(context, encryptWork.id) - } else { val workRequest = createSendEventWork(event, true) TimelineSendEventWorkCommon.postWork(context, roomId, workRequest) CancelableWork(context, workRequest.id) } - } override fun editReply(replyToEdit: TimelineEvent, @@ -162,7 +159,6 @@ internal class DefaultRelationService @AssistedInject constructor(@Assisted priv val workRequest = createSendEventWork(event, false) TimelineSendEventWorkCommon.postSequentialWorks(context, roomId, encryptWork, workRequest) CancelableWork(context, encryptWork.id) - } else { val workRequest = createSendEventWork(event, true) TimelineSendEventWorkCommon.postWork(context, roomId, workRequest) @@ -189,13 +185,11 @@ internal class DefaultRelationService @AssistedInject constructor(@Assisted priv val workRequest = createSendEventWork(event, false) TimelineSendEventWorkCommon.postSequentialWorks(context, roomId, encryptWork, workRequest) CancelableWork(context, encryptWork.id) - } else { val workRequest = createSendEventWork(event, true) TimelineSendEventWorkCommon.postWork(context, roomId, workRequest) CancelableWork(context, workRequest.id) } - } private fun createEncryptEventWork(event: Event, keepKeys: List?): OneTimeWorkRequest { @@ -213,7 +207,7 @@ internal class DefaultRelationService @AssistedInject constructor(@Assisted priv override fun getEventSummaryLive(eventId: String): LiveData> { val liveData = monarchy.findAllMappedWithChanges( - { EventAnnotationsSummaryEntity.where(it, eventId)}, + { EventAnnotationsSummaryEntity.where(it, eventId) }, { it.asDomain() } ) return Transformations.map(liveData) { results -> diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/relation/FetchEditHistoryTask.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/relation/FetchEditHistoryTask.kt index 792df3b1b6..5e5db58bdb 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/relation/FetchEditHistoryTask.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/relation/FetchEditHistoryTask.kt @@ -23,7 +23,6 @@ import im.vector.matrix.android.internal.session.room.RoomAPI import im.vector.matrix.android.internal.task.Task import javax.inject.Inject - internal interface FetchEditHistoryTask : Task> { data class Params( @@ -33,7 +32,6 @@ internal interface FetchEditHistoryTask : Task { data class Params( @@ -37,7 +36,6 @@ internal interface FindReactionEventForUndoTask : Task - //is it mine? + // is it mine? if (eventEntity.sender == userId) { return eventEntity } @@ -69,4 +67,4 @@ internal class DefaultFindReactionEventForUndoTask @Inject constructor(private v } return null } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/relation/RelationsResponse.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/relation/RelationsResponse.kt index 737165ff0f..73e6592f7d 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/relation/RelationsResponse.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/relation/RelationsResponse.kt @@ -25,4 +25,4 @@ internal data class RelationsResponse( @Json(name = "original_event") val originalEvent: Event?, @Json(name = "next_batch") val nextBatch: String?, @Json(name = "prev_batch") val prevBatch: String? -) \ No newline at end of file +) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/relation/SendRelationWorker.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/relation/SendRelationWorker.kt index 5df995d9e9..eafe1e7419 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/relation/SendRelationWorker.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/relation/SendRelationWorker.kt @@ -73,8 +73,8 @@ internal class SendRelationWorker(context: Context, params: WorkerParameters) : when (exception) { is Failure.NetworkConnection -> Result.retry() else -> { - //TODO mark as failed to send? - //always return success, or the chain will be stuck for ever! + // TODO mark as failed to send? + // always return success, or the chain will be stuck for ever! Result.success() } } @@ -92,5 +92,4 @@ internal class SendRelationWorker(context: Context, params: WorkerParameters) : ) } } - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/relation/UpdateQuickReactionTask.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/relation/UpdateQuickReactionTask.kt index fd081fbe55..e4b71c0d42 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/relation/UpdateQuickReactionTask.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/relation/UpdateQuickReactionTask.kt @@ -24,7 +24,6 @@ import im.vector.matrix.android.internal.task.Task import io.realm.Realm import javax.inject.Inject - internal interface UpdateQuickReactionTask : Task { data class Params( @@ -51,13 +50,12 @@ internal class DefaultUpdateQuickReactionTask @Inject constructor(private val mo return UpdateQuickReactionTask.Result(res?.first, res?.second ?: emptyList()) } - private fun updateQuickReaction(realm: Realm, reaction: String, oppositeReaction: String, eventId: String, myUserId: String): Pair?> { - //the emoji reaction has been selected, we need to check if we have reacted it or not + // the emoji reaction has been selected, we need to check if we have reacted it or not val existingSummary = EventAnnotationsSummaryEntity.where(realm, eventId).findFirst() ?: return Pair(reaction, null) - //Ok there is already reactions on this event, have we reacted to it + // Ok there is already reactions on this event, have we reacted to it val aggregationForReaction = existingSummary.reactionsSummary.where() .equalTo(ReactionAggregatedSummaryEntityFields.KEY, reaction) .findFirst() @@ -66,23 +64,22 @@ internal class DefaultUpdateQuickReactionTask @Inject constructor(private val mo .findFirst() if (aggregationForReaction == null || !aggregationForReaction.addedByMe) { - //i haven't yet reacted to it, so need to add it, but do I need to redact the opposite? + // i haven't yet reacted to it, so need to add it, but do I need to redact the opposite? val toRedact = aggregationForOppositeReaction?.sourceEvents?.mapNotNull { - //find source event + // find source event val entity = EventEntity.where(realm, it).findFirst() if (entity?.sender == myUserId) entity.eventId else null } return Pair(reaction, toRedact) } else { - //I already added it, so i need to undo it (like a toggle) + // I already added it, so i need to undo it (like a toggle) // find all m.redaction coming from me to readact them val toRedact = aggregationForReaction.sourceEvents.mapNotNull { - //find source event + // find source event val entity = EventEntity.where(realm, it).findFirst() if (entity?.sender == myUserId) entity.eventId else null } return Pair(null, toRedact) } - } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/send/DefaultSendService.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/send/DefaultSendService.kt index 8b5b84c297..7c720e56a7 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/send/DefaultSendService.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/send/DefaultSendService.kt @@ -106,7 +106,7 @@ internal class DefaultSendService @AssistedInject constructor(@Assisted private } override fun redactEvent(event: Event, reason: String?): Cancelable { - //TODO manage media/attachements? + // TODO manage media/attachements? val redactWork = createRedactEventWork(event, reason) TimelineSendEventWorkCommon.postWork(context, roomId, redactWork) return CancelableWork(context, redactWork.id) @@ -117,12 +117,11 @@ internal class DefaultSendService @AssistedInject constructor(@Assisted private return sendEvent(localEcho.root) } return null - } override fun resendMediaMessage(localEcho: TimelineEvent): Cancelable? { if (localEcho.root.isImageMessage() && localEcho.root.sendState.hasFailed()) { - //TODO this need a refactoring of attachement sending + // TODO this need a refactoring of attachement sending // val clearContent = localEcho.root.getClearContent() // val messageContent = clearContent?.toModel() ?: return null // when (messageContent.type) { @@ -176,7 +175,7 @@ internal class DefaultSendService @AssistedInject constructor(@Assisted private .build().let { TimelineSendEventWorkCommon.postWork(context, roomId, it, ExistingWorkPolicy.REPLACE) - //need to clear also image sending queue + // need to clear also image sending queue WorkManager.getInstance(context) .beginUniqueWork(buildWorkName(UPLOAD_WORK), ExistingWorkPolicy.REPLACE, it) .enqueue() @@ -189,7 +188,6 @@ internal class DefaultSendService @AssistedInject constructor(@Assisted private } } } - } override fun resendAllFailedMessages() { @@ -218,12 +216,11 @@ internal class DefaultSendService @AssistedInject constructor(@Assisted private MessageType.MSGTYPE_VIDEO, MessageType.MSGTYPE_IMAGE, MessageType.MSGTYPE_AUDIO -> { - //need to resend the attachement + // need to resend the attachement } else -> { Timber.e("Cannot resend message ${event.type} / ${content.type}") } - } } else { Timber.e("Unsupported message to resend ${event.type}") @@ -329,6 +326,4 @@ internal class DefaultSendService @AssistedInject constructor(@Assisted private .setBackoffCriteria(BackoffPolicy.LINEAR, BACKOFF_DELAY, TimeUnit.MILLISECONDS) .build() } - } - diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/send/EncryptEventWorker.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/send/EncryptEventWorker.kt index 4146234d1f..a269529dd2 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/send/EncryptEventWorker.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/send/EncryptEventWorker.kt @@ -70,7 +70,6 @@ internal class EncryptEventWorker(context: Context, params: WorkerParameters) } localEchoUpdater.updateSendState(localEvent.eventId, SendState.ENCRYPTING) - val localMutableContent = localEvent.content?.toMutableMap() ?: mutableMapOf() params.keepKeys?.forEach { localMutableContent.remove(it) @@ -89,7 +88,7 @@ internal class EncryptEventWorker(context: Context, params: WorkerParameters) val modifiedContent = HashMap(result.eventContent) params.keepKeys?.forEach { toKeep -> localEvent.content?.get(toKeep)?.let { - //put it back in the encrypted thing + // put it back in the encrypted thing modifiedContent[toKeep] = it } } @@ -106,7 +105,7 @@ internal class EncryptEventWorker(context: Context, params: WorkerParameters) else -> SendState.UNDELIVERED } localEchoUpdater.updateSendState(localEvent.eventId, sendState) - //always return success, or the chain will be stuck for ever! + // always return success, or the chain will be stuck for ever! val nextWorkerParams = SendEventWorker.Params(params.userId, params.roomId, localEvent, error?.localizedMessage ?: "Error") return Result.success(WorkerParamsFactory.toData(nextWorkerParams)) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/send/LocalEchoEventFactory.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/send/LocalEchoEventFactory.kt index 4e9e2757d9..e941b7e655 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/send/LocalEchoEventFactory.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/send/LocalEchoEventFactory.kt @@ -169,10 +169,8 @@ internal class LocalEchoEventFactory @Inject constructor(@UserId private val use type = EventType.REACTION, content = content.toContent(), unsignedData = UnsignedData(age = null, transactionId = localId)) - } - private fun createImageEvent(roomId: String, attachment: ContentAttachmentData): Event { var width = attachment.width var height = attachment.height @@ -287,8 +285,8 @@ internal class LocalEchoEventFactory @Inject constructor(@UserId private val use } fun createReplyTextEvent(roomId: String, eventReplied: TimelineEvent, replyText: String, autoMarkdown: Boolean): Event? { - //Fallbacks and event representation - //TODO Add error/warning logs when any of this is null + // Fallbacks and event representation + // TODO Add error/warning logs when any of this is null val permalink = PermalinkFactory.createPermalink(eventReplied.root) ?: return null val userId = eventReplied.root.senderId ?: return null val userLink = PermalinkFactory.createPermalink(userId) ?: return null @@ -410,7 +408,6 @@ internal class LocalEchoEventFactory @Inject constructor(@UserId private val use companion object { const val LOCAL_ID_PREFIX = "local." - // //
// In reply to diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/send/LocalEchoUpdater.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/send/LocalEchoUpdater.kt index c4242239ee..4c45ba0a4d 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/send/LocalEchoUpdater.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/send/LocalEchoUpdater.kt @@ -32,12 +32,11 @@ internal class LocalEchoUpdater @Inject constructor(private val monarchy: Monarc val sendingEventEntity = EventEntity.where(realm, eventId).findFirst() if (sendingEventEntity != null) { if (sendState == SendState.SENT && sendingEventEntity.sendState == SendState.SYNCED) { - //If already synced, do not put as sent + // If already synced, do not put as sent } else { sendingEventEntity.sendState = sendState } } } } - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/send/NoMerger.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/send/NoMerger.kt index c41c4bc04d..05b31ca420 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/send/NoMerger.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/send/NoMerger.kt @@ -25,4 +25,4 @@ internal class NoMerger : InputMerger() { override fun merge(inputs: MutableList): Data { return inputs.first() } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/send/RedactEventWorker.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/send/RedactEventWorker.kt index bac71cf7bd..ec311458cd 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/send/RedactEventWorker.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/send/RedactEventWorker.kt @@ -71,8 +71,8 @@ internal class RedactEventWorker(context: Context, params: WorkerParameters) : C when (it) { is Failure.NetworkConnection -> Result.retry() else -> { - //TODO mark as failed to send? - //always return success, or the chain will be stuck for ever! + // TODO mark as failed to send? + // always return success, or the chain will be stuck for ever! Result.success(WorkerParamsFactory.toData(params.copy( lastFailureMessage = it.localizedMessage ))) @@ -81,5 +81,4 @@ internal class RedactEventWorker(context: Context, params: WorkerParameters) : C } ) } - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/send/SendEventWorker.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/send/SendEventWorker.kt index 442c60842f..183b0ad9b8 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/send/SendEventWorker.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/send/SendEventWorker.kt @@ -32,7 +32,6 @@ import im.vector.matrix.android.internal.worker.WorkerParamsFactory import im.vector.matrix.android.internal.worker.getSessionComponent import javax.inject.Inject - internal class SendEventWorker constructor(context: Context, params: WorkerParameters) : CoroutineWorker(context, params) { @@ -72,7 +71,7 @@ internal class SendEventWorker constructor(context: Context, params: WorkerParam Result.retry() } else { localEchoUpdater.updateSendState(event.eventId, SendState.UNDELIVERED) - //always return success, or the chain will be stuck for ever! + // always return success, or the chain will be stuck for ever! Result.success() } } @@ -95,5 +94,4 @@ internal class SendEventWorker constructor(context: Context, params: WorkerParam } localEchoUpdater.updateSendState(eventId, SendState.SENT) } - } diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/send/SendResponse.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/send/SendResponse.kt index d11c5164ee..947edee1ed 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/send/SendResponse.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/send/SendResponse.kt @@ -22,4 +22,4 @@ import com.squareup.moshi.JsonClass @JsonClass(generateAdapter = true) internal data class SendResponse( @Json(name = "event_id") val eventId: String -) \ No newline at end of file +) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/send/TextContent.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/send/TextContent.kt index bf7cb36188..ff31fc30c8 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/send/TextContent.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/send/TextContent.kt @@ -32,7 +32,6 @@ data class TextContent( fun takeFormatted() = formattedText ?: text } - fun TextContent.toMessageTextContent(msgType: String = MessageType.MSGTYPE_TEXT): MessageTextContent { return MessageTextContent( type = msgType, @@ -48,5 +47,3 @@ fun TextContent.removeInReplyFallbacks(): TextContent { formattedText = this.formattedText?.let { extractUsefulTextFromHtmlReply(it) } ) } - - diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/state/DefaultStateService.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/state/DefaultStateService.kt index f51b0e0448..785fd9ae71 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/state/DefaultStateService.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/state/DefaultStateService.kt @@ -57,13 +57,10 @@ internal class DefaultStateService @AssistedInject constructor(@Assisted private "topic" to topic )) - sendStateTask .configureWith(params) { this.callback = callback } .executeBy(taskExecutor) } - - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/timeline/ClearUnlinkedEventsTask.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/timeline/ClearUnlinkedEventsTask.kt index df7a0cc886..04cf810fe4 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/timeline/ClearUnlinkedEventsTask.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/timeline/ClearUnlinkedEventsTask.kt @@ -30,7 +30,6 @@ import javax.inject.Inject internal interface ClearUnlinkedEventsTask : Task { data class Params(val roomId: String) - } internal class DefaultClearUnlinkedEventsTask @Inject constructor(private val monarchy: Monarchy) : ClearUnlinkedEventsTask { @@ -46,5 +45,4 @@ internal class DefaultClearUnlinkedEventsTask @Inject constructor(private val mo } } } - } diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/timeline/DefaultGetContextOfEventTask.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/timeline/DefaultGetContextOfEventTask.kt index efd099e9f9..96e1caf71b 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/timeline/DefaultGetContextOfEventTask.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/timeline/DefaultGetContextOfEventTask.kt @@ -28,7 +28,6 @@ internal interface GetContextOfEventTask : Task { data class Params( @@ -31,7 +30,6 @@ internal interface PaginationTask : Task> { collection, changeSet -> var hasChange = false @@ -147,7 +141,6 @@ internal class DefaultTimeline( if (hasChange) postSnapshot() } - // Public methods ****************************************************************************** override fun paginate(direction: Timeline.Direction, count: Int) { @@ -332,7 +325,7 @@ internal class DefaultTimeline( private fun rebuildEvent(eventId: String, builder: (TimelineEvent) -> TimelineEvent): Boolean { return builtEventsIdMap[eventId]?.let { builtIndex -> - //Update the relation of existing event + // Update the relation of existing event builtEvents[builtIndex]?.let { te -> builtEvents[builtIndex] = builder(te) true @@ -366,7 +359,6 @@ internal class DefaultTimeline( } } - /** * This has to be called on TimelineThread as it access realm live results * @return true if createSnapshot should be posted @@ -552,7 +544,6 @@ internal class DefaultTimeline( return if (direction == Timeline.Direction.BACKWARDS) chunkEntity.prevToken else chunkEntity.nextToken } - /** * This has to be called on TimelineThread as it access realm live results */ @@ -593,7 +584,7 @@ internal class DefaultTimeline( val position = if (direction == Timeline.Direction.FORWARDS) 0 else builtEvents.size builtEvents.add(position, timelineEvent) - //Need to shift :/ + // Need to shift :/ builtEventsIdMap.entries.filter { it.value >= position }.forEach { it.setValue(it.value + 1) } builtEventsIdMap[eventEntity.eventId] = position } @@ -636,7 +627,6 @@ internal class DefaultTimeline( .findAll() } - private fun buildEventQuery(realm: Realm): RealmQuery { return if (initialEventId == null) { TimelineEventEntity @@ -675,7 +665,6 @@ internal class DefaultTimeline( forwardsState.set(State()) } - // Extension methods *************************************************************************** private fun Timeline.Direction.toPaginationDirection(): PaginationDirection { @@ -698,7 +687,4 @@ internal class DefaultTimeline( val isPaginating: Boolean = false, val requestedPaginationCount: Int = 0 ) - } - - diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/timeline/DefaultTimelineService.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/timeline/DefaultTimelineService.kt index 6fa8ccbe85..3bd67d38c3 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/timeline/DefaultTimelineService.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/timeline/DefaultTimelineService.kt @@ -85,5 +85,4 @@ internal class DefaultTimelineService @AssistedInject constructor(@Assisted priv events.firstOrNull().toOptional() } } - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/timeline/EventContextResponse.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/timeline/EventContextResponse.kt index 782e3fe870..4dfe3e5c45 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/timeline/EventContextResponse.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/timeline/EventContextResponse.kt @@ -32,5 +32,4 @@ data class EventContextResponse( override val events: List get() = listOf(event) - } diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/timeline/GetEventTask.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/timeline/GetEventTask.kt index 5fdee1b5af..8e097c50d9 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/timeline/GetEventTask.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/timeline/GetEventTask.kt @@ -35,4 +35,4 @@ internal class GetEventTask @Inject constructor(private val roomAPI: RoomAPI apiCall = roomAPI.getEvent(params.roomId, params.eventId) } } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/timeline/PaginationDirection.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/timeline/PaginationDirection.kt index f1194ed4e7..26bbe8071d 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/timeline/PaginationDirection.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/timeline/PaginationDirection.kt @@ -35,5 +35,4 @@ internal enum class PaginationDirection(val value: String) { BACKWARDS -> FORWARDS } } - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/timeline/PaginationResponse.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/timeline/PaginationResponse.kt index adcfa2dfd4..0c57373d5b 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/timeline/PaginationResponse.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/timeline/PaginationResponse.kt @@ -26,4 +26,4 @@ internal data class PaginationResponse( @Json(name = "end") override val end: String? = null, @Json(name = "chunk") override val events: List = emptyList(), @Json(name = "state") override val stateEvents: List = emptyList() -) : TokenChunkEvent \ No newline at end of file +) : TokenChunkEvent diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/timeline/TimelineEventDecryptor.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/timeline/TimelineEventDecryptor.kt index 14c044f42d..9562f57d63 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/timeline/TimelineEventDecryptor.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/timeline/TimelineEventDecryptor.kt @@ -29,7 +29,6 @@ import timber.log.Timber import java.util.concurrent.ExecutorService import java.util.concurrent.Executors - internal class TimelineEventDecryptor( private val realmConfiguration: RealmConfiguration, private val timelineId: String, @@ -51,7 +50,6 @@ internal class TimelineEventDecryptor( } } } - } private var executor: ExecutorService? = null @@ -76,7 +74,7 @@ internal class TimelineEventDecryptor( synchronized(existingRequests) { if (existingRequests.contains(eventId)) { return Unit.also { - Timber.d("Skip Decryption request for event ${eventId}, already requested") + Timber.d("Skip Decryption request for event $eventId, already requested") } } existingRequests.add(eventId) @@ -84,7 +82,7 @@ internal class TimelineEventDecryptor( synchronized(unknownSessionsFailure) { unknownSessionsFailure.values.forEach { if (it.contains(eventId)) return@synchronized Unit.also { - Timber.d("Skip Decryption request for event ${eventId}, unknown session") + Timber.d("Skip Decryption request for event $eventId, unknown session") } } } @@ -96,7 +94,7 @@ internal class TimelineEventDecryptor( } private fun processDecryptRequest(eventId: String, realm: Realm) { - Timber.v("Decryption request for event ${eventId}") + Timber.v("Decryption request for event $eventId") val eventEntity = EventEntity.where(realm, eventId = eventId).findFirst() ?: return Unit.also { Timber.d("Decryption request for unknown message") @@ -104,14 +102,14 @@ internal class TimelineEventDecryptor( val event = eventEntity.asDomain() try { val result = cryptoService.decryptEvent(event, timelineId) - Timber.v("Successfully decrypted event ${eventId}") + Timber.v("Successfully decrypted event $eventId") realm.executeTransaction { eventEntity.setDecryptionResult(result) } } catch (e: MXCryptoError) { - Timber.v("Failed to decrypt event ${eventId} ${e}") + Timber.v("Failed to decrypt event $eventId $e") if (e is MXCryptoError.Base && e.errorType == MXCryptoError.ErrorType.UNKNOWN_INBOUND_SESSION_ID) { - //Keep track of unknown sessions to automatically try to decrypt on new session + // Keep track of unknown sessions to automatically try to decrypt on new session realm.executeTransaction { eventEntity.decryptionErrorCode = e.errorType.name } @@ -135,4 +133,4 @@ internal class TimelineEventDecryptor( } } } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/timeline/TimelineHiddenReadMarker.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/timeline/TimelineHiddenReadMarker.kt index 58097c0433..4f80883bf9 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/timeline/TimelineHiddenReadMarker.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/timeline/TimelineHiddenReadMarker.kt @@ -87,7 +87,6 @@ internal class TimelineHiddenReadMarker constructor(private val roomId: String, } } - /** * Start the realm query subscription. Has to be called on an HandlerThread */ @@ -105,7 +104,6 @@ internal class TimelineHiddenReadMarker constructor(private val roomId: String, .filterReceiptsWithSettings() .findAllAsync() .also { it.addChangeListener(readMarkerListener) } - } /** @@ -132,6 +130,4 @@ internal class TimelineHiddenReadMarker constructor(private val roomId: String, endGroup() return this } - - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/timeline/TimelineHiddenReadReceipts.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/timeline/TimelineHiddenReadReceipts.kt index 1a4958e656..1a1f90c7a3 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/timeline/TimelineHiddenReadReceipts.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/timeline/TimelineHiddenReadReceipts.kt @@ -144,7 +144,6 @@ internal class TimelineHiddenReadReceipts constructor(private val readReceiptsSu return correctedReadReceiptsByEvent[eventId] } - /** * We are looking for receipts related to filtered events. So, it's the opposite of [DefaultTimeline.filterEventsWithSettings] method. */ @@ -162,6 +161,4 @@ internal class TimelineHiddenReadReceipts constructor(private val readReceiptsSu endGroup() return this } - - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/timeline/TimelineSendEventWorkCommon.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/timeline/TimelineSendEventWorkCommon.kt index 575c066243..f6f894d860 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/timeline/TimelineSendEventWorkCommon.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/timeline/TimelineSendEventWorkCommon.kt @@ -22,7 +22,6 @@ import im.vector.matrix.android.internal.worker.WorkManagerUtil.matrixOneTimeWor import im.vector.matrix.android.internal.worker.startChain import java.util.concurrent.TimeUnit - private const val SEND_WORK = "SEND_WORK" private const val BACKOFF_DELAY = 10_000L @@ -74,4 +73,4 @@ internal object TimelineSendEventWorkCommon { fun cancelAllWorks(context: Context, roomId: String) { WorkManager.getInstance(context).cancelUniqueWork(buildWorkName(roomId)) } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/timeline/TokenChunkEvent.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/timeline/TokenChunkEvent.kt index 97b8f793b3..95edf9bc49 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/timeline/TokenChunkEvent.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/timeline/TokenChunkEvent.kt @@ -23,4 +23,4 @@ internal interface TokenChunkEvent { val end: String? val events: List val stateEvents: List -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/timeline/TokenChunkEventPersistor.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/timeline/TokenChunkEventPersistor.kt index 2703b5fb91..abcd29bd1d 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/timeline/TokenChunkEventPersistor.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/timeline/TokenChunkEventPersistor.kt @@ -207,5 +207,4 @@ internal class TokenChunkEventPersistor @Inject constructor(private val monarchy otherChunk } } - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/tombstone/RoomTombstoneEventLiveObserver.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/tombstone/RoomTombstoneEventLiveObserver.kt index d71b32ef8b..301c383a6d 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/tombstone/RoomTombstoneEventLiveObserver.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/tombstone/RoomTombstoneEventLiveObserver.kt @@ -68,9 +68,7 @@ internal class RoomTombstoneEventLiveObserver @Inject constructor(@SessionDataba predecessorRoomSummary.versioningState = VersioningState.UPGRADED_ROOM_NOT_JOINED } realm.insertOrUpdate(predecessorRoomSummary) - } } } - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/securestorage/SecretStoringUtils.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/securestorage/SecretStoringUtils.kt index 6d970a5e4b..55c74928cd 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/securestorage/SecretStoringUtils.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/securestorage/SecretStoringUtils.kt @@ -40,7 +40,6 @@ import javax.crypto.spec.SecretKeySpec import javax.inject.Inject import javax.security.auth.x500.X500Principal - /** * Offers simple methods to securely store secrets in an Android Application. * The encryption keys are randomly generated and securely managed by the key store, thus your secrets @@ -150,13 +149,12 @@ internal class SecretStoringUtils @Inject constructor(private val context: Conte } } - @RequiresApi(Build.VERSION_CODES.M) private fun getOrGenerateSymmetricKeyForAliasM(alias: String): SecretKey { val secretKeyEntry = (keyStore.getEntry(alias, null) as? KeyStore.SecretKeyEntry) ?.secretKey if (secretKeyEntry == null) { - //we generate it + // we generate it val generator = KeyGenerator.getInstance(KeyProperties.KEY_ALGORITHM_AES, "AndroidKeyStore") val keyGenSpec = KeyGenParameterSpec.Builder(alias, KeyProperties.PURPOSE_ENCRYPT or KeyProperties.PURPOSE_DECRYPT) @@ -192,7 +190,7 @@ internal class SecretStoringUtils @Inject constructor(private val context: Conte .setAlias(alias) .setSubject(X500Principal("CN=$alias")) .setSerialNumber(BigInteger.TEN) - //.setEncryptionRequired() requires that the phone as a pin/schema + // .setEncryptionRequired() requires that the phone as a pin/schema .setStartDate(start.time) .setEndDate(end.time) .build() @@ -201,10 +199,8 @@ internal class SecretStoringUtils @Inject constructor(private val context: Conte generateKeyPair() } return (keyStore.getEntry(alias, null) as KeyStore.PrivateKeyEntry) - } - @RequiresApi(Build.VERSION_CODES.M) fun encryptStringM(text: String, keyAlias: String): ByteArray? { val secretKey = getOrGenerateSymmetricKeyForAliasM(keyAlias) @@ -212,7 +208,7 @@ internal class SecretStoringUtils @Inject constructor(private val context: Conte val cipher = Cipher.getInstance(AES_MODE) cipher.init(Cipher.ENCRYPT_MODE, secretKey) val iv = cipher.iv - //we happen the iv to the final result + // we happen the iv to the final result val encryptedBytes: ByteArray = cipher.doFinal(text.toByteArray(Charsets.UTF_8)) return formatMMake(iv, encryptedBytes) } @@ -232,12 +228,12 @@ internal class SecretStoringUtils @Inject constructor(private val context: Conte @RequiresApi(Build.VERSION_CODES.KITKAT) private fun encryptStringK(text: String, keyAlias: String): ByteArray? { - //we generate a random symmetric key + // we generate a random symmetric key val key = ByteArray(16) secureRandom.nextBytes(key) val sKey = SecretKeySpec(key, "AES") - //we encrypt this key thanks to the key store + // we encrypt this key thanks to the key store val encryptedKey = rsaEncrypt(keyAlias, key) val cipher = Cipher.getInstance(AES_MODE) @@ -287,7 +283,7 @@ internal class SecretStoringUtils @Inject constructor(private val context: Conte val (encryptedKey, iv, encrypted) = format1Extract(ByteArrayInputStream(data)) - //we need to decrypt the key + // we need to decrypt the key val sKeyBytes = rsaDecrypt(keyAlias, ByteArrayInputStream(encryptedKey)) val cipher = Cipher.getInstance(AES_MODE) val spec = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) IvParameterSpec(iv) else GCMParameterSpec(128, iv) @@ -309,7 +305,7 @@ internal class SecretStoringUtils @Inject constructor(private val context: Conte ObjectOutputStream(bos1).use { it.writeObject(writeObject) } - //Have to do it like that if i encapsulate the output stream, the cipher could fail saying reuse IV + // Have to do it like that if i encapsulate the output stream, the cipher could fail saying reuse IV val doFinal = cipher.doFinal(bos1.toByteArray()) output.write(FORMAT_API_M.toInt()) output.write(iv.size) @@ -319,12 +315,12 @@ internal class SecretStoringUtils @Inject constructor(private val context: Conte @RequiresApi(Build.VERSION_CODES.KITKAT) private fun saveSecureObjectK(keyAlias: String, output: OutputStream, writeObject: Any) { - //we generate a random symmetric key + // we generate a random symmetric key val key = ByteArray(16) secureRandom.nextBytes(key) val sKey = SecretKeySpec(key, "AES") - //we encrypt this key thanks to the key store + // we encrypt this key thanks to the key store val encryptedKey = rsaEncrypt(keyAlias, key) val cipher = Cipher.getInstance(AES_MODE) @@ -353,7 +349,6 @@ internal class SecretStoringUtils @Inject constructor(private val context: Conte val tmp = factory.generateSecret(PBEKeySpec(keyAlias.toCharArray(), salt, 10000, 128)) val secretKey = SecretKeySpec(tmp.encoded, "AES") - val cipher = Cipher.getInstance(AES_MODE) cipher.init(Cipher.ENCRYPT_MODE, secretKey) val iv = cipher.iv @@ -362,7 +357,7 @@ internal class SecretStoringUtils @Inject constructor(private val context: Conte ObjectOutputStream(bos1).use { it.writeObject(writeObject) } - //Have to do it like that if i encapsulate the output stream, the cipher could fail saying reuse IV + // Have to do it like that if i encapsulate the output stream, the cipher could fail saying reuse IV val doFinal = cipher.doFinal(bos1.toByteArray()) output.write(FORMAT_2.toInt()) @@ -411,7 +406,6 @@ internal class SecretStoringUtils @Inject constructor(private val context: Conte return readObject as? T } } - } @RequiresApi(Build.VERSION_CODES.KITKAT) @@ -420,7 +414,7 @@ internal class SecretStoringUtils @Inject constructor(private val context: Conte val (encryptedKey, iv, encrypted) = format1Extract(inputStream) - //we need to decrypt the key + // we need to decrypt the key val sKeyBytes = rsaDecrypt(keyAlias, ByteArrayInputStream(encryptedKey)) val cipher = Cipher.getInstance(AES_MODE) val spec = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) IvParameterSpec(iv) else GCMParameterSpec(128, iv) @@ -444,7 +438,7 @@ internal class SecretStoringUtils @Inject constructor(private val context: Conte val factory = SecretKeyFactory.getInstance("PBKDF2WithHmacSHA256") val tmp = factory.generateSecret(PBEKeySpec(keyAlias.toCharArray(), salt, 10000, 128)) val sKey = SecretKeySpec(tmp.encoded, "AES") - //we need to decrypt the key + // we need to decrypt the key val cipher = Cipher.getInstance(AES_MODE) val spec = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) IvParameterSpec(iv) else GCMParameterSpec(128, iv) @@ -461,7 +455,6 @@ internal class SecretStoringUtils @Inject constructor(private val context: Conte } } - @RequiresApi(Build.VERSION_CODES.KITKAT) @Throws(Exception::class) private fun rsaEncrypt(alias: String, secret: ByteArray): ByteArray { @@ -567,4 +560,4 @@ internal class SecretStoringUtils @Inject constructor(private val context: Conte val encrypted = bis.readBytes() return Triple(salt, iv, encrypted) } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/signout/DefaultSignOutService.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/signout/DefaultSignOutService.kt index 2463a5ade5..b48ac2c78a 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/signout/DefaultSignOutService.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/signout/DefaultSignOutService.kt @@ -32,5 +32,4 @@ internal class DefaultSignOutService @Inject constructor(private val signOutTask } .executeBy(taskExecutor) } - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/signout/SignOutAPI.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/signout/SignOutAPI.kt index cf45c8d996..2f19fee847 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/signout/SignOutAPI.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/signout/SignOutAPI.kt @@ -27,5 +27,4 @@ internal interface SignOutAPI { */ @POST(NetworkConstants.URI_API_PREFIX_PATH_R0 + "logout") fun signOut(): Call - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/signout/SignOutModule.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/signout/SignOutModule.kt index c123dd01ca..c55c82274d 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/signout/SignOutModule.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/signout/SignOutModule.kt @@ -41,5 +41,4 @@ internal abstract class SignOutModule { @Binds abstract fun bindSignOutService(signOutService: DefaultSignOutService): SignOutService - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/signout/SignOutTask.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/signout/SignOutTask.kt index 68536d4f50..fbeabff0b5 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/signout/SignOutTask.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/signout/SignOutTask.kt @@ -72,4 +72,4 @@ internal class DefaultSignOutTask @Inject constructor(private val context: Conte realmKeysUtils.clear(SessionModule.DB_ALIAS_PREFIX + userMd5) realmKeysUtils.clear(CryptoModule.DB_ALIAS_PREFIX + userMd5) } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/CryptoSyncHandler.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/CryptoSyncHandler.kt index 945f344036..b7ad577203 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/CryptoSyncHandler.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/CryptoSyncHandler.kt @@ -32,7 +32,6 @@ import im.vector.matrix.android.internal.session.sync.model.ToDeviceSyncResponse import timber.log.Timber import javax.inject.Inject - internal class CryptoSyncHandler @Inject constructor(private val cryptoService: DefaultCryptoService, private val sasVerificationService: DefaultSasVerificationService) { @@ -56,7 +55,6 @@ internal class CryptoSyncHandler @Inject constructor(private val cryptoService: cryptoService.onSyncCompleted(syncResponse) } - /** * Decrypt an encrypted event * @@ -70,7 +68,7 @@ internal class CryptoSyncHandler @Inject constructor(private val cryptoService: try { result = cryptoService.decryptEvent(event, timelineId ?: "") } catch (exception: MXCryptoError) { - event.mCryptoError = (exception as? MXCryptoError.Base)?.errorType //setCryptoError(exception.cryptoError) + event.mCryptoError = (exception as? MXCryptoError.Base)?.errorType // setCryptoError(exception.cryptoError) } if (null != result) { @@ -78,7 +76,7 @@ internal class CryptoSyncHandler @Inject constructor(private val cryptoService: // payload = result.clearEvent, // keysClaimed = map // ) - //TODO persist that? + // TODO persist that? event.mxDecryptionResult = OlmDecryptionResult( payload = result.clearEvent, senderKey = result.senderCurve25519Key, @@ -92,4 +90,4 @@ internal class CryptoSyncHandler @Inject constructor(private val cryptoService: return false } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/GroupSyncHandler.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/GroupSyncHandler.kt index 2fc733f4d5..2ca9b6cccc 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/GroupSyncHandler.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/GroupSyncHandler.kt @@ -63,7 +63,6 @@ internal class GroupSyncHandler @Inject constructor(private val monarchy: Monarc handlingStrategy.data.mapWithProgress(reporter, R.string.initial_sync_start_importing_account_groups, 0.1f) { handleLeftGroup(realm, it.key) } - } /** Note: [im.vector.matrix.android.internal.session.group.GroupSummaryUpdater] is observing changes */ @@ -82,7 +81,6 @@ internal class GroupSyncHandler @Inject constructor(private val monarchy: Monarc val groupEntity = GroupEntity.where(realm, groupId).findFirst() ?: GroupEntity(groupId) groupEntity.membership = Membership.INVITE return groupEntity - } private fun handleLeftGroup(realm: Realm, @@ -91,4 +89,4 @@ internal class GroupSyncHandler @Inject constructor(private val monarchy: Monarc groupEntity.membership = Membership.LEAVE return groupEntity } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/ReadReceiptHandler.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/ReadReceiptHandler.kt index 192a11fa68..4dbcc7168f 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/ReadReceiptHandler.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/ReadReceiptHandler.kt @@ -25,7 +25,6 @@ import io.realm.Realm import timber.log.Timber import javax.inject.Inject - // the receipts dictionnaries // key : $EventId // value : dict key $UserId @@ -51,7 +50,6 @@ internal class ReadReceiptHandler @Inject constructor() { ) ) } - } fun handle(realm: Realm, roomId: String, content: ReadReceiptContent?, isInitialSync: Boolean) { @@ -73,7 +71,6 @@ internal class ReadReceiptHandler @Inject constructor() { } } - private fun initialSyncStrategy(realm: Realm, roomId: String, content: ReadReceiptContent) { val readReceiptSummaries = ArrayList() for ((eventId, receiptDict) in content) { @@ -113,6 +110,4 @@ internal class ReadReceiptHandler @Inject constructor() { } } } - - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/RoomFullyReadHandler.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/RoomFullyReadHandler.kt index c052cf7146..853774460f 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/RoomFullyReadHandler.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/RoomFullyReadHandler.kt @@ -53,5 +53,4 @@ internal class RoomFullyReadHandler @Inject constructor() { val timelineEventEntities = TimelineEventEntity.where(realm, roomId = roomId, eventId = content.eventId).findAll() timelineEventEntities.forEach { it.readMarker = readMarkerEntity } } - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/RoomSyncHandler.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/RoomSyncHandler.kt index c21b1840ab..9e8c75019f 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/RoomSyncHandler.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/RoomSyncHandler.kt @@ -72,9 +72,8 @@ internal class RoomSyncHandler @Inject constructor(private val monarchy: Monarch handleRoomSync(realm, HandlingStrategy.INVITED(roomsSyncResponse.invite), isInitialSync, reporter) handleRoomSync(realm, HandlingStrategy.LEFT(roomsSyncResponse.leave), isInitialSync, reporter) } - //handle event for bing rule checks + // handle event for bing rule checks checkPushRules(roomsSyncResponse) - } private fun checkPushRules(roomsSyncResponse: RoomsSyncResponse) { @@ -82,7 +81,7 @@ internal class RoomSyncHandler @Inject constructor(private val monarchy: Monarch if (tokenStore.getLastToken() == null) { Timber.v("[PushRules] <-- No push rule check on initial sync") return - } //nothing on initial sync + } // nothing on initial sync val rules = pushRuleService.getPushRules(RuleScope.GLOBAL) processForPushTask.configureWith(ProcessEventForPushTask.Params(roomsSyncResponse, rules)) @@ -118,7 +117,6 @@ internal class RoomSyncHandler @Inject constructor(private val monarchy: Monarch roomSync: RoomSync, isInitialSync: Boolean): RoomEntity { - Timber.v("Handle join sync for room $roomId") if (roomSync.ephemeral != null && roomSync.ephemeral.events.isNotEmpty()) { @@ -234,7 +232,6 @@ internal class RoomSyncHandler @Inject constructor(private val monarchy: Monarch return chunkEntity } - @Suppress("UNCHECKED_CAST") private fun handleEphemeral(realm: Realm, roomId: String, @@ -259,5 +256,4 @@ internal class RoomSyncHandler @Inject constructor(private val monarchy: Monarch } } } - } diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/RoomTagHandler.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/RoomTagHandler.kt index 864bbce781..51e0e72ab9 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/RoomTagHandler.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/RoomTagHandler.kt @@ -39,5 +39,4 @@ internal class RoomTagHandler @Inject constructor() { roomSummaryEntity.tags.addAll(tags) realm.insertOrUpdate(roomSummaryEntity) } - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/SyncAPI.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/SyncAPI.kt index 669f556c9c..237a6fa6fd 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/SyncAPI.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/SyncAPI.kt @@ -31,5 +31,4 @@ internal interface SyncAPI { @Headers("CONNECT_TIMEOUT:60000", "READ_TIMEOUT:60000", "WRITE_TIMEOUT:60000") @GET(NetworkConstants.URI_API_PREFIX_PATH_R0 + "sync") fun sync(@QueryMap params: Map): Call - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/SyncModule.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/SyncModule.kt index 598d5f0717..c9081d1466 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/SyncModule.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/SyncModule.kt @@ -37,5 +37,4 @@ internal abstract class SyncModule { @Binds abstract fun bindSyncTask(syncTask: DefaultSyncTask): SyncTask - } diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/SyncResponseHandler.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/SyncResponseHandler.kt index 1e2bf359ec..1ae185b073 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/SyncResponseHandler.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/SyncResponseHandler.kt @@ -71,7 +71,6 @@ internal class SyncResponseHandler @Inject constructor(private val roomSyncHandl Timber.v("Finish handling rooms in $it ms") } - measureTimeMillis { reportSubtask(reporter, R.string.initial_sync_start_importing_account_groups, 100, 0.1f) { Timber.v("Handle groups") @@ -97,5 +96,4 @@ internal class SyncResponseHandler @Inject constructor(private val roomSyncHandl } Timber.v("Finish handling sync in $measure ms") } - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/SyncTask.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/SyncTask.kt index df4d5f3aa9..8a3bc1c046 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/SyncTask.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/SyncTask.kt @@ -32,7 +32,6 @@ import javax.inject.Inject internal interface SyncTask : Task { data class Params(var timeout: Long = 30_000L) - } internal class DefaultSyncTask @Inject constructor(private val syncAPI: SyncAPI, @@ -45,7 +44,6 @@ internal class DefaultSyncTask @Inject constructor(private val syncAPI: SyncAPI, private val getHomeServerCapabilitiesTask: GetHomeServerCapabilitiesTask ) : SyncTask { - override suspend fun execute(params: SyncTask.Params) { // Maybe refresh the home server capabilities data we know getHomeServerCapabilitiesTask.execute(Unit) @@ -83,4 +81,4 @@ internal class DefaultSyncTask @Inject constructor(private val syncAPI: SyncAPI, initialSyncProgressService.endAll() } } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/SyncTokenStore.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/SyncTokenStore.kt index 8823f2e38a..f56ee3352f 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/SyncTokenStore.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/SyncTokenStore.kt @@ -39,6 +39,4 @@ internal class SyncTokenStore @Inject constructor(@SessionDatabase private val r } realm.close() } - - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/UserAccountDataSyncHandler.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/UserAccountDataSyncHandler.kt index 6446efb348..56b96b428d 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/UserAccountDataSyncHandler.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/UserAccountDataSyncHandler.kt @@ -114,4 +114,4 @@ internal class UserAccountDataSyncHandler @Inject constructor(private val monarc updateUserAccountDataTask.configureWith(updateUserAccountParams).executeBy(taskExecutor) } } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/job/SyncService.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/job/SyncService.kt index b5d83607b2..c630f95b29 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/job/SyncService.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/job/SyncService.kt @@ -48,11 +48,10 @@ open class SyncService : Service() { private lateinit var networkConnectivityChecker: NetworkConnectivityChecker private lateinit var taskExecutor: TaskExecutor - var timer = Timer() override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int { - Timber.i("onStartCommand ${intent}") + Timber.i("onStartCommand $intent") intent?.let { val userId = it.getStringExtra(EXTRA_USER_ID) val sessionComponent = Matrix.getInstance(applicationContext).sessionManager.getSessionComponent(userId) @@ -65,11 +64,11 @@ open class SyncService : Service() { timer = Timer() doSync(true) } else { - //Already syncing ignore + // Already syncing ignore Timber.i("Received a start while was already syncking... ignore") } } - //No intent just start the service, an alarm will should call with intent + // No intent just start the service, an alarm will should call with intent return START_STICKY } @@ -95,7 +94,7 @@ open class SyncService : Service() { fun doSync(once: Boolean = false) { if (!networkConnectivityChecker.hasInternetAccess) { Timber.v("No internet access. Waiting...") - //TODO Retry in ? + // TODO Retry in ? timer.schedule(object : TimerTask() { override fun run() { doSync() @@ -118,7 +117,7 @@ open class SyncService : Service() { } }, NEXT_BATCH_DELAY) } else { - //stop + // stop stopMe() } } @@ -169,5 +168,4 @@ open class SyncService : Service() { const val NEXT_BATCH_DELAY = 60_000L const val NO_NETWORK_DELAY = 5_000L } - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/job/SyncThread.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/job/SyncThread.kt index f0b33809a1..570e6e9735 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/job/SyncThread.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/job/SyncThread.kt @@ -184,7 +184,6 @@ internal class SyncThread @Inject constructor(private val syncTask: SyncTask, liveState.postValue(newState) } - override fun onMoveToForeground() { restart() } @@ -192,7 +191,4 @@ internal class SyncThread @Inject constructor(private val syncTask: SyncTask, override fun onMoveToBackground() { pause() } - } - - diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/job/SyncWorker.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/job/SyncWorker.kt index b5d7118b81..b5177172d0 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/job/SyncWorker.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/job/SyncWorker.kt @@ -30,7 +30,6 @@ import timber.log.Timber import java.util.concurrent.TimeUnit import javax.inject.Inject - private const val DEFAULT_LONG_POOL_TIMEOUT = 0L internal class SyncWorker(context: Context, @@ -88,5 +87,4 @@ internal class SyncWorker(context: Context, WorkManager.getInstance(context).cancelUniqueWork("BG_SYNCP") } } - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/DeviceInfo.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/DeviceInfo.kt index 0704c4236b..e91e2d0707 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/DeviceInfo.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/DeviceInfo.kt @@ -17,7 +17,6 @@ package im.vector.matrix.android.internal.session.sync.model import com.squareup.moshi.JsonClass - /** * This class describes the device information */ diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/DeviceListResponse.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/DeviceListResponse.kt index a6b2e4ab5d..9a7dd80572 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/DeviceListResponse.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/DeviceListResponse.kt @@ -27,4 +27,3 @@ internal data class DeviceListResponse( // List of user ids who are no more tracked. val left: List = emptyList() ) - diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/DeviceOneTimeKeysCountSyncResponse.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/DeviceOneTimeKeysCountSyncResponse.kt index c1d9e0a13b..15df103e37 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/DeviceOneTimeKeysCountSyncResponse.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/DeviceOneTimeKeysCountSyncResponse.kt @@ -22,4 +22,4 @@ import com.squareup.moshi.JsonClass @JsonClass(generateAdapter = true) internal data class DeviceOneTimeKeysCountSyncResponse( @Json(name = "signed_curve25519") val signedCurve25519: Int? = null -) \ No newline at end of file +) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/GroupSyncProfile.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/GroupSyncProfile.kt index 82c0b590bb..6d31e84d61 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/GroupSyncProfile.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/GroupSyncProfile.kt @@ -30,4 +30,4 @@ internal data class GroupSyncProfile( * The URL for the group's avatar. May be nil. */ @Json(name = "avatar_url") var avatarUrl: String? = null -) \ No newline at end of file +) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/GroupsSyncResponse.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/GroupsSyncResponse.kt index c296bd2ae8..c0a10c9667 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/GroupsSyncResponse.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/GroupsSyncResponse.kt @@ -35,4 +35,4 @@ internal data class GroupsSyncResponse( * Left groups. An array of groups ids: the groups that the user has left or been banned from. */ @Json(name = "leave") val leave: Map = emptyMap() -) \ No newline at end of file +) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/InvitedGroupSync.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/InvitedGroupSync.kt index fe61b4e440..128fcfad84 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/InvitedGroupSync.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/InvitedGroupSync.kt @@ -30,4 +30,4 @@ internal data class InvitedGroupSync( * The group profile. */ @Json(name = "profile") val profile: GroupSyncProfile? = null -) \ No newline at end of file +) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/InvitedRoomSync.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/InvitedRoomSync.kt index a5124e707e..9e39a323cd 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/InvitedRoomSync.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/InvitedRoomSync.kt @@ -30,4 +30,4 @@ internal data class InvitedRoomSync( * archived 'state' not the 'invite_state'. */ @Json(name = "invite_state") val inviteState: RoomInviteState? = null -) \ No newline at end of file +) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/PresenceSyncResponse.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/PresenceSyncResponse.kt index 71d997fe03..bbcb7badf0 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/PresenceSyncResponse.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/PresenceSyncResponse.kt @@ -27,4 +27,4 @@ internal data class PresenceSyncResponse( * List of presence events (array of Event with type m.presence). */ val events: List? = null -) \ No newline at end of file +) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/RoomInviteState.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/RoomInviteState.kt index 4fe6a31a9d..a9447caf06 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/RoomInviteState.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/RoomInviteState.kt @@ -15,7 +15,6 @@ */ package im.vector.matrix.android.internal.session.sync.model - import com.squareup.moshi.Json import com.squareup.moshi.JsonClass import im.vector.matrix.android.api.session.events.model.Event @@ -28,4 +27,4 @@ internal data class RoomInviteState( * List of state events (array of MXEvent). */ @Json(name = "events") val events: List = emptyList() -) \ No newline at end of file +) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/RoomResponse.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/RoomResponse.kt index aff709893f..453bd29c0b 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/RoomResponse.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/RoomResponse.kt @@ -16,7 +16,6 @@ package im.vector.matrix.android.internal.session.sync.model - import com.squareup.moshi.JsonClass import im.vector.matrix.android.api.session.events.model.Event diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/RoomSync.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/RoomSync.kt index ac36708374..2dd974f019 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/RoomSync.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/RoomSync.kt @@ -51,5 +51,4 @@ internal data class RoomSync( */ @Json(name = "summary") val summary: RoomSyncSummary? = null - -) \ No newline at end of file +) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/RoomSyncAccountData.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/RoomSyncAccountData.kt index 6c2e79f1b4..50bebc1713 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/RoomSyncAccountData.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/RoomSyncAccountData.kt @@ -26,4 +26,4 @@ internal data class RoomSyncAccountData( * List of account data events (array of Event). */ @Json(name = "events") val events: List = emptyList() -) \ No newline at end of file +) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/RoomSyncEphemeral.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/RoomSyncEphemeral.kt index 040c21fc6e..2342ce2e7f 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/RoomSyncEphemeral.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/RoomSyncEphemeral.kt @@ -16,7 +16,6 @@ package im.vector.matrix.android.internal.session.sync.model - import com.squareup.moshi.Json import com.squareup.moshi.JsonClass import im.vector.matrix.android.api.session.events.model.Event @@ -28,4 +27,4 @@ internal data class RoomSyncEphemeral( * List of ephemeral events (array of Event). */ @Json(name = "events") val events: List = emptyList() -) \ No newline at end of file +) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/RoomSyncState.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/RoomSyncState.kt index a760ef2e79..589cffa0e0 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/RoomSyncState.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/RoomSyncState.kt @@ -16,7 +16,6 @@ package im.vector.matrix.android.internal.session.sync.model - import com.squareup.moshi.Json import com.squareup.moshi.JsonClass import im.vector.matrix.android.api.session.events.model.Event diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/RoomSyncSummary.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/RoomSyncSummary.kt index 4a60a11c1f..c0f4eade70 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/RoomSyncSummary.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/RoomSyncSummary.kt @@ -19,7 +19,6 @@ package im.vector.matrix.android.internal.session.sync.model import com.squareup.moshi.Json import com.squareup.moshi.JsonClass - @JsonClass(generateAdapter = true) internal data class RoomSyncSummary( @@ -45,4 +44,4 @@ internal data class RoomSyncSummary( * The number of m.room.members in state 'invited' (can be null) */ @Json(name = "m.invited_member_count") val invitedMembersCount: Int? = null -) \ No newline at end of file +) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/RoomSyncTimeline.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/RoomSyncTimeline.kt index 886a30d259..cd22ea75cd 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/RoomSyncTimeline.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/RoomSyncTimeline.kt @@ -16,7 +16,6 @@ package im.vector.matrix.android.internal.session.sync.model - import com.squareup.moshi.Json import com.squareup.moshi.JsonClass import im.vector.matrix.android.api.session.events.model.Event @@ -39,4 +38,4 @@ internal data class RoomSyncTimeline( * If the batch was limited then this is a token that can be supplied to the server to retrieve more events */ @Json(name = "prev_batch") val prevToken: String? = null -) \ No newline at end of file +) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/RoomSyncUnreadNotifications.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/RoomSyncUnreadNotifications.kt index 5ec8f4b604..a29b893e82 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/RoomSyncUnreadNotifications.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/RoomSyncUnreadNotifications.kt @@ -16,7 +16,6 @@ package im.vector.matrix.android.internal.session.sync.model - import com.squareup.moshi.Json import com.squareup.moshi.JsonClass import im.vector.matrix.android.api.session.events.model.Event @@ -39,4 +38,4 @@ internal data class RoomSyncUnreadNotifications( /** * The number of highlighted unread messages (subset of notifications). */ - @Json(name = "highlight_count") val highlightCount: Int? = null) \ No newline at end of file + @Json(name = "highlight_count") val highlightCount: Int? = null) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/RoomsSyncResponse.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/RoomsSyncResponse.kt index 84ed6dfe50..9bd83ae25a 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/RoomsSyncResponse.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/RoomsSyncResponse.kt @@ -35,4 +35,4 @@ internal data class RoomsSyncResponse( * Left rooms. The rooms that the user has left or been banned from: keys are rooms ids. */ @Json(name = "leave") val leave: Map = emptyMap() -) \ No newline at end of file +) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/SyncResponse.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/SyncResponse.kt index dc05a45f80..d084dcdadd 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/SyncResponse.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/SyncResponse.kt @@ -58,11 +58,9 @@ internal data class SyncResponse( @Json(name = "device_one_time_keys_count") val deviceOneTimeKeysCount: DeviceOneTimeKeysCountSyncResponse? = null, - /** * List of groups. */ @Json(name = "groups") val groups: GroupsSyncResponse? = null - -) \ No newline at end of file +) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/ToDeviceSyncResponse.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/ToDeviceSyncResponse.kt index 86b685d367..382d2a804b 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/ToDeviceSyncResponse.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/ToDeviceSyncResponse.kt @@ -16,7 +16,6 @@ package im.vector.matrix.android.internal.session.sync.model - import com.squareup.moshi.JsonClass import im.vector.matrix.android.api.session.events.model.Event @@ -28,4 +27,4 @@ internal data class ToDeviceSyncResponse( * List of direct-to-device events. */ val events: List? = null -) \ No newline at end of file +) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/UserAccountData.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/UserAccountData.kt index 1362eb9171..2173d2f4df 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/UserAccountData.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/UserAccountData.kt @@ -25,4 +25,4 @@ internal interface UserAccountData { const val TYPE_WIDGETS = "m.widgets" const val TYPE_PUSH_RULES = "m.push_rules" } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/UserAccountDataDirectMessages.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/UserAccountDataDirectMessages.kt index 2ee1088d84..825a16cb1e 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/UserAccountDataDirectMessages.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/UserAccountDataDirectMessages.kt @@ -23,4 +23,3 @@ import com.squareup.moshi.JsonClass internal data class UserAccountDataDirectMessages( @Json(name = "content") val content: Map> ) : UserAccountData - diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/UserAccountDataPushRules.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/UserAccountDataPushRules.kt index e2bd12f79b..7f357c876b 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/UserAccountDataPushRules.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/UserAccountDataPushRules.kt @@ -24,4 +24,3 @@ import im.vector.matrix.android.api.pushrules.rest.GetPushRulesResponse internal data class UserAccountDataPushRules( @Json(name = "content") val content: GetPushRulesResponse ) : UserAccountData - diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/UserAccountDataSync.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/UserAccountDataSync.kt index 3d6131b3bf..4b9e9d652d 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/UserAccountDataSync.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/model/UserAccountDataSync.kt @@ -22,4 +22,4 @@ import com.squareup.moshi.JsonClass @JsonClass(generateAdapter = true) internal data class UserAccountDataSync( @Json(name = "events") val list: List = emptyList() -) \ No newline at end of file +) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/user/DefaultUserService.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/user/DefaultUserService.kt index 982fd03cb0..be330bfc36 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/user/DefaultUserService.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/user/DefaultUserService.kt @@ -106,7 +106,6 @@ internal class DefaultUserService @Inject constructor(private val monarchy: Mona return monarchy.findAllPagedWithChanges(realmDataSourceFactory, livePagedListBuilder) } - override fun searchUsersDirectory(search: String, limit: Int, excludedUserIds: Set, diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/user/SearchUserAPI.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/user/SearchUserAPI.kt index aa4d50df59..1c393aa565 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/user/SearchUserAPI.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/user/SearchUserAPI.kt @@ -32,4 +32,4 @@ internal interface SearchUserAPI { */ @POST(URI_API_PREFIX_PATH_R0 + "user_directory/search") fun searchUsers(@Body searchUsersParams: SearchUsersParams): Call -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/user/UserEntityFactory.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/user/UserEntityFactory.kt index 7873bf2f98..2ded32b7db 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/user/UserEntityFactory.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/user/UserEntityFactory.kt @@ -39,6 +39,4 @@ internal object UserEntityFactory { roomMember.avatarUrl ?: "" ) } - - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/user/UserModule.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/user/UserModule.kt index a31dc137c8..a997c616f3 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/user/UserModule.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/user/UserModule.kt @@ -43,5 +43,4 @@ internal abstract class UserModule { @Binds abstract fun bindSearchUserTask(searchUserTask: DefaultSearchUserTask): SearchUserTask - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/user/accountdata/AccountDataModule.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/user/accountdata/AccountDataModule.kt index 850312d8be..49fe8caf8e 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/user/accountdata/AccountDataModule.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/user/accountdata/AccountDataModule.kt @@ -32,10 +32,8 @@ internal abstract class AccountDataModule { fun providesAccountDataAPI(retrofit: Retrofit): AccountDataAPI { return retrofit.create(AccountDataAPI::class.java) } - } @Binds abstract fun bindUpdateUserAccountDataTask(updateUserAccountDataTask: DefaultUpdateUserAccountDataTask): UpdateUserAccountDataTask - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/user/accountdata/DirectChatsHelper.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/user/accountdata/DirectChatsHelper.kt index b4b143878c..cfb8a48038 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/user/accountdata/DirectChatsHelper.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/user/accountdata/DirectChatsHelper.kt @@ -45,6 +45,4 @@ internal class DirectChatsHelper @Inject constructor(@SessionDatabase directChatsMap } } - - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/user/accountdata/UpdateUserAccountDataTask.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/user/accountdata/UpdateUserAccountDataTask.kt index aaa82efef0..5c0dac1125 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/user/accountdata/UpdateUserAccountDataTask.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/user/accountdata/UpdateUserAccountDataTask.kt @@ -37,8 +37,6 @@ internal interface UpdateUserAccountDataTask : Task = emptyList() ) - diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/task/ConfigurableTask.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/task/ConfigurableTask.kt index 6896fe68b0..366f4e3d30 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/task/ConfigurableTask.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/task/ConfigurableTask.kt @@ -42,7 +42,6 @@ internal data class ConfigurableTask( ) : Task by task { - class Builder( private val task: Task, private val params: PARAMS, @@ -73,7 +72,4 @@ internal data class ConfigurableTask( override fun toString(): String { return "${task.javaClass.name} with ID: $id" } - } - - diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/task/Task.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/task/Task.kt index be761fdbdc..de0f3dfbdd 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/task/Task.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/task/Task.kt @@ -19,6 +19,4 @@ package im.vector.matrix.android.internal.task internal interface Task { suspend fun execute(params: PARAMS): RESULT - } - diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/task/TaskConstraints.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/task/TaskConstraints.kt index 18733d6ebf..d259576a11 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/task/TaskConstraints.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/task/TaskConstraints.kt @@ -19,4 +19,4 @@ package im.vector.matrix.android.internal.task data class TaskConstraints( val connectedToNetwork: Boolean = false -) \ No newline at end of file +) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/task/TaskExecutor.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/task/TaskExecutor.kt index c3f08b15ac..341e9dc227 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/task/TaskExecutor.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/task/TaskExecutor.kt @@ -16,7 +16,6 @@ package im.vector.matrix.android.internal.task - import im.vector.matrix.android.api.util.Cancelable import im.vector.matrix.android.internal.di.MatrixScope import im.vector.matrix.android.internal.extensions.foldToCallback @@ -61,7 +60,6 @@ internal class TaskExecutor @Inject constructor(private val coroutineDispatchers fun cancelAll() = executorScope.coroutineContext.cancelChildren() - private suspend fun retry( times: Int = Int.MAX_VALUE, initialDelay: Long = 100, // 0.1 second @@ -90,6 +88,4 @@ internal class TaskExecutor @Inject constructor(private val coroutineDispatchers TaskThread.CRYPTO -> coroutineDispatchers.crypto TaskThread.SYNC -> coroutineDispatchers.sync } - - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/task/TaskThread.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/task/TaskThread.kt index 659fd3dd9d..16ed93662c 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/task/TaskThread.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/task/TaskThread.kt @@ -23,4 +23,4 @@ internal enum class TaskThread { CALLER, CRYPTO, SYNC -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/util/BackgroundDetectionObserver.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/util/BackgroundDetectionObserver.kt index 9318b10717..d89b732a0d 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/util/BackgroundDetectionObserver.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/util/BackgroundDetectionObserver.kt @@ -61,5 +61,4 @@ internal class BackgroundDetectionObserver @Inject constructor() : LifecycleObse fun onMoveToForeground() fun onMoveToBackground() } - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/util/CancelableCoroutine.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/util/CancelableCoroutine.kt index 97b8cd0e29..71e2d3fdb2 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/util/CancelableCoroutine.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/util/CancelableCoroutine.kt @@ -26,5 +26,4 @@ internal class CancelableCoroutine(private val job: Job) : Cancelable { job.cancel() } } - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/util/CancelableWork.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/util/CancelableWork.kt index ddaeb1fd9d..bff20a80e7 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/util/CancelableWork.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/util/CancelableWork.kt @@ -27,5 +27,4 @@ internal class CancelableWork(private val context: Context, override fun cancel() { WorkManager.getInstance(context).cancelWorkById(workId) } - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/util/Debouncer.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/util/Debouncer.kt index 8ecd72d90e..6a294d8d6c 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/util/Debouncer.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/util/Debouncer.kt @@ -40,4 +40,4 @@ internal class Debouncer(private val handler: Handler) { runnables[identifier] = chained handler.postDelayed(chained, millis) } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/util/FileSaver.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/util/FileSaver.kt index 7744aa4ec7..562a32d7bb 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/util/FileSaver.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/util/FileSaver.kt @@ -33,4 +33,4 @@ fun writeToFile(inputStream: InputStream, outputFile: File) { output.writeAll(input) } } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/util/Handler.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/util/Handler.kt index e723a908cc..5db1c46dd3 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/util/Handler.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/util/Handler.kt @@ -26,4 +26,4 @@ internal fun createBackgroundHandler(name: String): Handler = Handler( internal fun createUIHandler(): Handler = Handler( Looper.getMainLooper() -) \ No newline at end of file +) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/util/JsonCanonicalizer.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/util/JsonCanonicalizer.kt index 1e7135e0de..e35dff5367 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/util/JsonCanonicalizer.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/util/JsonCanonicalizer.kt @@ -92,5 +92,4 @@ object JsonCanonicalizer { else -> return any.toString() } } - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/util/LiveDataUtils.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/util/LiveDataUtils.kt index 952f12fde1..9fc970ec4e 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/util/LiveDataUtils.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/util/LiveDataUtils.kt @@ -38,7 +38,6 @@ object LiveDataUtils { } } - addSource(firstSource) { firstValue = it valueDispatcher() @@ -50,5 +49,4 @@ object LiveDataUtils { } } } - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/util/MatrixCoroutineDispatchers.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/util/MatrixCoroutineDispatchers.kt index ef0c91a327..23201c084e 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/util/MatrixCoroutineDispatchers.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/util/MatrixCoroutineDispatchers.kt @@ -24,4 +24,4 @@ internal data class MatrixCoroutineDispatchers( val main: CoroutineDispatcher, val crypto: CoroutineDispatcher, val sync: CoroutineDispatcher -) \ No newline at end of file +) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/util/StringProvider.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/util/StringProvider.kt index a90538656f..6cba29ceec 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/util/StringProvider.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/util/StringProvider.kt @@ -53,6 +53,4 @@ internal class StringProvider @Inject constructor(private val resources: Resourc fun getString(@StringRes resId: Int, vararg formatArgs: Any?): String { return resources.getString(resId, *formatArgs) } - - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/util/StringUtils.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/util/StringUtils.kt index aa91a1ae9f..4a46a43f03 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/util/StringUtils.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/util/StringUtils.kt @@ -57,4 +57,4 @@ fun String?.firstLetterOfDisplayName(): String { val isUserId = MatrixPatterns.isUserId(this) val firstLetterIndex = if (isUserId) 1 else 0 return this[firstLetterIndex].toString().toUpperCase(Locale.ROOT) -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/util/SuspendMatrixCallback.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/util/SuspendMatrixCallback.kt index 801578ac86..e76137d0c2 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/util/SuspendMatrixCallback.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/util/SuspendMatrixCallback.kt @@ -32,4 +32,4 @@ suspend inline fun awaitCallback(crossinline callback: (MatrixCallback) - cont.resume(data) } }) -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/worker/AlwaysSuccessfulWorker.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/worker/AlwaysSuccessfulWorker.kt index c0cae10d8e..136e84d945 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/worker/AlwaysSuccessfulWorker.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/worker/AlwaysSuccessfulWorker.kt @@ -25,4 +25,4 @@ internal class AlwaysSuccessfulWorker(context: Context, params: WorkerParameters override fun doWork(): Result { return Result.success() } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/worker/DelegateWorkerFactory.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/worker/DelegateWorkerFactory.kt index fa38504935..2029596b0b 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/worker/DelegateWorkerFactory.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/worker/DelegateWorkerFactory.kt @@ -23,5 +23,4 @@ import androidx.work.WorkerParameters interface DelegateWorkerFactory { fun create(context: Context, params: WorkerParameters): ListenableWorker - -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/worker/WorkManagerUtil.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/worker/WorkManagerUtil.kt index 56516dbda0..27ec28dcac 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/worker/WorkManagerUtil.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/worker/WorkManagerUtil.kt @@ -46,4 +46,4 @@ internal object WorkManagerUtil { it.pruneWork() } } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/worker/Worker.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/worker/Worker.kt index 4a4b5e3b29..58abd10e81 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/worker/Worker.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/worker/Worker.kt @@ -22,4 +22,4 @@ import im.vector.matrix.android.internal.session.SessionComponent internal fun ListenableWorker.getSessionComponent(userId: String): SessionComponent? { return Matrix.getInstance(applicationContext).sessionManager.getSessionComponent(userId) -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/worker/WorkerParamsFactory.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/worker/WorkerParamsFactory.kt index 87d17b9cea..03a6d78c98 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/worker/WorkerParamsFactory.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/worker/WorkerParamsFactory.kt @@ -40,4 +40,4 @@ object WorkerParamsFactory { adapter.fromJson(json) } } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/test/java/im/vector/matrix/android/api/pushrules/PushRuleActionsTest.kt b/matrix-sdk-android/src/test/java/im/vector/matrix/android/api/pushrules/PushRuleActionsTest.kt index 0de80ea436..f98af53333 100644 --- a/matrix-sdk-android/src/test/java/im/vector/matrix/android/api/pushrules/PushRuleActionsTest.kt +++ b/matrix-sdk-android/src/test/java/im/vector/matrix/android/api/pushrules/PushRuleActionsTest.kt @@ -21,7 +21,6 @@ import im.vector.matrix.android.internal.di.MoshiProvider import org.junit.Assert import org.junit.Test - class PushRuleActionsTest { @Test @@ -62,7 +61,6 @@ class PushRuleActionsTest { } """.trimIndent() - val pushRule = MoshiProvider.providesMoshi().adapter(PushRule::class.java).fromJson(rawPushRule) Assert.assertNotNull("Should have parsed the rule", pushRule) @@ -71,20 +69,16 @@ class PushRuleActionsTest { val actions = Action.mapFrom(pushRule) Assert.assertEquals(3, actions!!.size) - Assert.assertEquals("First action should be notify", Action.Type.NOTIFY, actions[0].type) - Assert.assertEquals("Second action should be tweak", Action.Type.SET_TWEAK, actions[1].type) Assert.assertEquals("Second action tweak key should be sound", "sound", actions[1].tweak_action) Assert.assertEquals("Second action should have default as stringValue", "default", actions[1].stringValue) Assert.assertNull("Second action boolValue should be null", actions[1].boolValue) - Assert.assertEquals("Third action should be tweak", Action.Type.SET_TWEAK, actions[2].type) Assert.assertEquals("Third action tweak key should be highlight", "highlight", actions[2].tweak_action) Assert.assertEquals("Third action tweak param should be false", false, actions[2].boolValue) Assert.assertNull("Third action stringValue should be null", actions[2].stringValue) - } -} \ No newline at end of file +} diff --git a/matrix-sdk-android/src/test/java/im/vector/matrix/android/api/pushrules/PushrulesConditionTest.kt b/matrix-sdk-android/src/test/java/im/vector/matrix/android/api/pushrules/PushrulesConditionTest.kt index 47e1571e54..ff001cd87f 100644 --- a/matrix-sdk-android/src/test/java/im/vector/matrix/android/api/pushrules/PushrulesConditionTest.kt +++ b/matrix-sdk-android/src/test/java/im/vector/matrix/android/api/pushrules/PushrulesConditionTest.kt @@ -88,7 +88,6 @@ class PushrulesConditionTest { ).apply { assert(EventMatchCondition("content.membership", "invite").isSatisfied(this)) } - } @Test @@ -112,7 +111,6 @@ class PushrulesConditionTest { ).apply { assert(condition.isSatisfied(this)) } - } @Test @@ -128,11 +126,9 @@ class PushrulesConditionTest { assert(condition.isSatisfied(simpleTextEvent)) } - @Test fun test_roommember_condition() { - val conditionEqual3 = RoomMemberCountCondition("3") val conditionEqual3Bis = RoomMemberCountCondition("==3") val conditionLessThan3 = RoomMemberCountCondition("<3") @@ -162,7 +158,6 @@ class PushrulesConditionTest { } } - @Test fun test_notice_condition() { val conditionEqual = EventMatchCondition("content.msgtype", "m.notice") @@ -177,15 +172,14 @@ class PushrulesConditionTest { } } - class MockRoomService() : RoomService { override fun createRoom(createRoomParams: CreateRoomParams, callback: MatrixCallback): Cancelable { - TODO("not implemented") //To change body of created functions use File | Settings | File Templates. + TODO("not implemented") // To change body of created functions use File | Settings | File Templates. } override fun joinRoom(roomId: String, viaServers: List, callback: MatrixCallback): Cancelable { - TODO("not implemented") //To change body of created functions use File | Settings | File Templates. + TODO("not implemented") // To change body of created functions use File | Settings | File Templates. } override fun getRoom(roomId: String): Room? { @@ -203,174 +197,171 @@ class PushrulesConditionTest { class MockRoom(override val roomId: String, val _numberOfJoinedMembers: Int) : Room { override fun resendTextMessage(localEcho: TimelineEvent): Cancelable? { - TODO("not implemented") //To change body of created functions use File | Settings | File Templates. + TODO("not implemented") // To change body of created functions use File | Settings | File Templates. } override fun resendMediaMessage(localEcho: TimelineEvent): Cancelable? { - TODO("not implemented") //To change body of created functions use File | Settings | File Templates. + TODO("not implemented") // To change body of created functions use File | Settings | File Templates. } override fun deleteFailedEcho(localEcho: TimelineEvent) { - TODO("not implemented") //To change body of created functions use File | Settings | File Templates. + TODO("not implemented") // To change body of created functions use File | Settings | File Templates. } override fun clearSendingQueue() { - TODO("not implemented") //To change body of created functions use File | Settings | File Templates. + TODO("not implemented") // To change body of created functions use File | Settings | File Templates. } override fun resendAllFailedMessages() { - TODO("not implemented") //To change body of created functions use File | Settings | File Templates. + TODO("not implemented") // To change body of created functions use File | Settings | File Templates. } override fun saveDraft(draft: UserDraft) { - TODO("not implemented") //To change body of created functions use File | Settings | File Templates. + TODO("not implemented") // To change body of created functions use File | Settings | File Templates. } override fun deleteDraft() { - TODO("not implemented") //To change body of created functions use File | Settings | File Templates. + TODO("not implemented") // To change body of created functions use File | Settings | File Templates. } override fun getDraftsLive(): LiveData> { - TODO("not implemented") //To change body of created functions use File | Settings | File Templates. + TODO("not implemented") // To change body of created functions use File | Settings | File Templates. } override fun getEventReadReceiptsLive(eventId: String): LiveData> { - TODO("not implemented") //To change body of created functions use File | Settings | File Templates. + TODO("not implemented") // To change body of created functions use File | Settings | File Templates. } override fun getStateEvent(eventType: String): Event? { - TODO("not implemented") //To change body of created functions use File | Settings | File Templates. + TODO("not implemented") // To change body of created functions use File | Settings | File Templates. } override fun editReply(replyToEdit: TimelineEvent, originalTimelineEvent: TimelineEvent, newBodyText: String, compatibilityBodyText: String): Cancelable { - TODO("not implemented") //To change body of created functions use File | Settings | File Templates. + TODO("not implemented") // To change body of created functions use File | Settings | File Templates. } override fun fetchEditHistory(eventId: String, callback: MatrixCallback>) { } override fun liveTimeLineEvent(eventId: String): LiveData { - TODO("not implemented") //To change body of created functions use File | Settings | File Templates. + TODO("not implemented") // To change body of created functions use File | Settings | File Templates. } - override fun getNumberOfJoinedMembers(): Int { return _numberOfJoinedMembers } override fun liveRoomSummary(): LiveData { - TODO("not implemented") //To change body of created functions use File | Settings | File Templates. + TODO("not implemented") // To change body of created functions use File | Settings | File Templates. } override fun roomSummary(): RoomSummary? { - TODO("not implemented") //To change body of created functions use File | Settings | File Templates. + TODO("not implemented") // To change body of created functions use File | Settings | File Templates. } override fun createTimeline(eventId: String?, settings: TimelineSettings): Timeline { - TODO("not implemented") //To change body of created functions use File | Settings | File Templates. + TODO("not implemented") // To change body of created functions use File | Settings | File Templates. } override fun getTimeLineEvent(eventId: String): TimelineEvent? { - TODO("not implemented") //To change body of created functions use File | Settings | File Templates. + TODO("not implemented") // To change body of created functions use File | Settings | File Templates. } override fun sendTextMessage(text: String, msgType: String, autoMarkdown: Boolean): Cancelable { - TODO("not implemented") //To change body of created functions use File | Settings | File Templates. + TODO("not implemented") // To change body of created functions use File | Settings | File Templates. } override fun sendFormattedTextMessage(text: String, formattedText: String): Cancelable { - TODO("not implemented") //To change body of created functions use File | Settings | File Templates. + TODO("not implemented") // To change body of created functions use File | Settings | File Templates. } override fun sendMedia(attachment: ContentAttachmentData): Cancelable { - TODO("not implemented") //To change body of created functions use File | Settings | File Templates. + TODO("not implemented") // To change body of created functions use File | Settings | File Templates. } override fun sendMedias(attachments: List): Cancelable { - TODO("not implemented") //To change body of created functions use File | Settings | File Templates. + TODO("not implemented") // To change body of created functions use File | Settings | File Templates. } override fun redactEvent(event: Event, reason: String?): Cancelable { - TODO("not implemented") //To change body of created functions use File | Settings | File Templates. + TODO("not implemented") // To change body of created functions use File | Settings | File Templates. } override fun markAllAsRead(callback: MatrixCallback) { - TODO("not implemented") //To change body of created functions use File | Settings | File Templates. + TODO("not implemented") // To change body of created functions use File | Settings | File Templates. } override fun setReadReceipt(eventId: String, callback: MatrixCallback) { - TODO("not implemented") //To change body of created functions use File | Settings | File Templates. + TODO("not implemented") // To change body of created functions use File | Settings | File Templates. } override fun setReadMarker(fullyReadEventId: String, callback: MatrixCallback) { - TODO("not implemented") //To change body of created functions use File | Settings | File Templates. + TODO("not implemented") // To change body of created functions use File | Settings | File Templates. } override fun isEventRead(eventId: String): Boolean { - TODO("not implemented") //To change body of created functions use File | Settings | File Templates. + TODO("not implemented") // To change body of created functions use File | Settings | File Templates. } override fun loadRoomMembersIfNeeded(matrixCallback: MatrixCallback): Cancelable { - TODO("not implemented") //To change body of created functions use File | Settings | File Templates. + TODO("not implemented") // To change body of created functions use File | Settings | File Templates. } override fun getRoomMember(userId: String): RoomMember? { - TODO("not implemented") //To change body of created functions use File | Settings | File Templates. + TODO("not implemented") // To change body of created functions use File | Settings | File Templates. } override fun getRoomMemberIdsLive(): LiveData> { - TODO("not implemented") //To change body of created functions use File | Settings | File Templates. + TODO("not implemented") // To change body of created functions use File | Settings | File Templates. } override fun invite(userId: String, callback: MatrixCallback): Cancelable { - TODO("not implemented") //To change body of created functions use File | Settings | File Templates. + TODO("not implemented") // To change body of created functions use File | Settings | File Templates. } override fun join(viaServers: List, callback: MatrixCallback): Cancelable { - TODO("not implemented") //To change body of created functions use File | Settings | File Templates. + TODO("not implemented") // To change body of created functions use File | Settings | File Templates. } override fun leave(callback: MatrixCallback): Cancelable { - TODO("not implemented") //To change body of created functions use File | Settings | File Templates. + TODO("not implemented") // To change body of created functions use File | Settings | File Templates. } override fun updateTopic(topic: String, callback: MatrixCallback) { - TODO("not implemented") //To change body of created functions use File | Settings | File Templates. + TODO("not implemented") // To change body of created functions use File | Settings | File Templates. } override fun sendReaction(reaction: String, targetEventId: String): Cancelable { - TODO("not implemented") //To change body of created functions use File | Settings | File Templates. + TODO("not implemented") // To change body of created functions use File | Settings | File Templates. } override fun undoReaction(reaction: String, targetEventId: String, myUserId: String) { - TODO("not implemented") //To change body of created functions use File | Settings | File Templates. + TODO("not implemented") // To change body of created functions use File | Settings | File Templates. } override fun editTextMessage(targetEventId: String, msgType: String, newBodyText: String, newBodyAutoMarkdown: Boolean, compatibilityBodyText: String): Cancelable { - TODO("not implemented") //To change body of created functions use File | Settings | File Templates. + TODO("not implemented") // To change body of created functions use File | Settings | File Templates. } override fun replyToMessage(eventReplied: TimelineEvent, replyText: String, autoMarkdown: Boolean): Cancelable? { - TODO("not implemented") //To change body of created functions use File | Settings | File Templates. + TODO("not implemented") // To change body of created functions use File | Settings | File Templates. } override fun getEventSummaryLive(eventId: String): LiveData { - TODO("not implemented") //To change body of created functions use File | Settings | File Templates. + TODO("not implemented") // To change body of created functions use File | Settings | File Templates. } override fun isEncrypted(): Boolean { - TODO("not implemented") //To change body of created functions use File | Settings | File Templates. + TODO("not implemented") // To change body of created functions use File | Settings | File Templates. } override fun encryptionAlgorithm(): String? { - TODO("not implemented") //To change body of created functions use File | Settings | File Templates. + TODO("not implemented") // To change body of created functions use File | Settings | File Templates. } override fun shouldEncryptForInvitedMembers(): Boolean { - TODO("not implemented") //To change body of created functions use File | Settings | File Templates. + TODO("not implemented") // To change body of created functions use File | Settings | File Templates. } - } - } diff --git a/vector/src/debug/java/im/vector/riotx/features/debug/DebugMaterialThemeDarkActivity.kt b/vector/src/debug/java/im/vector/riotx/features/debug/DebugMaterialThemeDarkActivity.kt index 83c3266c00..f925c7b2c3 100644 --- a/vector/src/debug/java/im/vector/riotx/features/debug/DebugMaterialThemeDarkActivity.kt +++ b/vector/src/debug/java/im/vector/riotx/features/debug/DebugMaterialThemeDarkActivity.kt @@ -16,4 +16,4 @@ package im.vector.riotx.features.debug -class DebugMaterialThemeDarkActivity : DebugMaterialThemeActivity() \ No newline at end of file +class DebugMaterialThemeDarkActivity : DebugMaterialThemeActivity() diff --git a/vector/src/debug/java/im/vector/riotx/features/debug/DebugMaterialThemeLightActivity.kt b/vector/src/debug/java/im/vector/riotx/features/debug/DebugMaterialThemeLightActivity.kt index d7e6fd1f79..1602bb0553 100644 --- a/vector/src/debug/java/im/vector/riotx/features/debug/DebugMaterialThemeLightActivity.kt +++ b/vector/src/debug/java/im/vector/riotx/features/debug/DebugMaterialThemeLightActivity.kt @@ -16,4 +16,4 @@ package im.vector.riotx.features.debug -class DebugMaterialThemeLightActivity : DebugMaterialThemeActivity() \ No newline at end of file +class DebugMaterialThemeLightActivity : DebugMaterialThemeActivity() diff --git a/vector/src/debug/java/im/vector/riotx/features/debug/DebugMenuActivity.kt b/vector/src/debug/java/im/vector/riotx/features/debug/DebugMenuActivity.kt index 30b01aa9a5..bfb9f0654e 100644 --- a/vector/src/debug/java/im/vector/riotx/features/debug/DebugMenuActivity.kt +++ b/vector/src/debug/java/im/vector/riotx/features/debug/DebugMenuActivity.kt @@ -27,7 +27,6 @@ import butterknife.OnClick import im.vector.riotx.R import im.vector.riotx.core.platform.VectorBaseActivity - class DebugMenuActivity : VectorBaseActivity() { override fun getLayoutRes() = R.layout.activity_debug_menu @@ -64,7 +63,6 @@ class DebugMenuActivity : VectorBaseActivity() { (getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager).createNotificationChannel(channel2) } - val builder = NotificationCompat.Builder(this, "CHAN") .setWhen(System.currentTimeMillis()) .setContentTitle("Title") @@ -92,7 +90,6 @@ class DebugMenuActivity : VectorBaseActivity() { .addMessage("Message 2 - 1", System.currentTimeMillis(), Person.Builder().setName("user 1-1").build()) .addMessage("Message 2 - 2", System.currentTimeMillis(), Person.Builder().setName("user 1-2").build()) - notificationManager.notify(10, builder.build()) notificationManager.notify( @@ -137,6 +134,4 @@ class DebugMenuActivity : VectorBaseActivity() { fun testCrash() { throw RuntimeException("Application crashed from user demand") } - } - diff --git a/vector/src/debug/java/im/vector/riotx/features/debug/TestLinkifyActivity.kt b/vector/src/debug/java/im/vector/riotx/features/debug/TestLinkifyActivity.kt index b91f5db728..6af4317094 100644 --- a/vector/src/debug/java/im/vector/riotx/features/debug/TestLinkifyActivity.kt +++ b/vector/src/debug/java/im/vector/riotx/features/debug/TestLinkifyActivity.kt @@ -27,7 +27,6 @@ import butterknife.BindView import butterknife.ButterKnife import im.vector.riotx.R - class TestLinkifyActivity : AppCompatActivity() { @BindView(R.id.test_linkify_content_view) @@ -36,7 +35,6 @@ class TestLinkifyActivity : AppCompatActivity() { @BindView(R.id.test_linkify_coordinator) lateinit var coordinatorLayout: CoordinatorLayout - override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_test_linkify) diff --git a/vector/src/fdroid/java/im/vector/riotx/fdroid/features/settings/troubleshoot/TestAutoStartBoot.kt b/vector/src/fdroid/java/im/vector/riotx/fdroid/features/settings/troubleshoot/TestAutoStartBoot.kt index fa4b8aa375..3cbd6699fd 100644 --- a/vector/src/fdroid/java/im/vector/riotx/fdroid/features/settings/troubleshoot/TestAutoStartBoot.kt +++ b/vector/src/fdroid/java/im/vector/riotx/fdroid/features/settings/troubleshoot/TestAutoStartBoot.kt @@ -44,4 +44,4 @@ class TestAutoStartBoot @Inject constructor(private val vectorPreferences: Vecto status = TestStatus.FAILED } } -} \ No newline at end of file +} diff --git a/vector/src/fdroid/java/im/vector/riotx/fdroid/features/settings/troubleshoot/TestBackgroundRestrictions.kt b/vector/src/fdroid/java/im/vector/riotx/fdroid/features/settings/troubleshoot/TestBackgroundRestrictions.kt index ee6c00993b..67ca2627bc 100644 --- a/vector/src/fdroid/java/im/vector/riotx/fdroid/features/settings/troubleshoot/TestBackgroundRestrictions.kt +++ b/vector/src/fdroid/java/im/vector/riotx/fdroid/features/settings/troubleshoot/TestBackgroundRestrictions.kt @@ -58,9 +58,7 @@ class TestBackgroundRestrictions @Inject constructor(private val context: AppCom status = TestStatus.SUCCESS quickFix = null } - } - } else { // The device is not on a metered network. // Use data as required to perform syncs, downloads, and updates. @@ -70,5 +68,4 @@ class TestBackgroundRestrictions @Inject constructor(private val context: AppCom } } } - -} \ No newline at end of file +} diff --git a/vector/src/fdroid/java/im/vector/riotx/fdroid/features/settings/troubleshoot/TestBatteryOptimization.kt b/vector/src/fdroid/java/im/vector/riotx/fdroid/features/settings/troubleshoot/TestBatteryOptimization.kt index 041f392c46..c8ec24e05e 100644 --- a/vector/src/fdroid/java/im/vector/riotx/fdroid/features/settings/troubleshoot/TestBatteryOptimization.kt +++ b/vector/src/fdroid/java/im/vector/riotx/fdroid/features/settings/troubleshoot/TestBatteryOptimization.kt @@ -43,5 +43,4 @@ class TestBatteryOptimization(val fragment: Fragment) : TroubleshootTest(R.strin status = TestStatus.FAILED } } - -} \ No newline at end of file +} diff --git a/vector/src/fdroid/java/im/vector/riotx/fdroid/package-info.kt b/vector/src/fdroid/java/im/vector/riotx/fdroid/package-info.kt index 7e0e112312..cd72d705e0 100644 --- a/vector/src/fdroid/java/im/vector/riotx/fdroid/package-info.kt +++ b/vector/src/fdroid/java/im/vector/riotx/fdroid/package-info.kt @@ -17,4 +17,4 @@ /** * Code exclusively used by the FDroid build and not referenced on the main source code */ -package im.vector.riotx.fdroid \ No newline at end of file +package im.vector.riotx.fdroid diff --git a/vector/src/fdroid/java/im/vector/riotx/fdroid/receiver/AlarmSyncBroadcastReceiver.kt b/vector/src/fdroid/java/im/vector/riotx/fdroid/receiver/AlarmSyncBroadcastReceiver.kt index 2c0738c2df..daf5a6b0c5 100644 --- a/vector/src/fdroid/java/im/vector/riotx/fdroid/receiver/AlarmSyncBroadcastReceiver.kt +++ b/vector/src/fdroid/java/im/vector/riotx/fdroid/receiver/AlarmSyncBroadcastReceiver.kt @@ -30,10 +30,9 @@ import timber.log.Timber class AlarmSyncBroadcastReceiver : BroadcastReceiver() { - override fun onReceive(context: Context, intent: Intent) { - //Aquire a lock to give enough time for the sync :/ + // Aquire a lock to give enough time for the sync :/ (context.getSystemService(Context.POWER_SERVICE) as PowerManager).run { newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "riotx:fdroidSynclock").apply { acquire((10_000).toLong()) @@ -52,7 +51,7 @@ class AlarmSyncBroadcastReceiver : BroadcastReceiver() { context.startService(it) } } catch (ex: Throwable) { - //TODO + // TODO Timber.e(ex) } } @@ -66,7 +65,7 @@ class AlarmSyncBroadcastReceiver : BroadcastReceiver() { private const val REQUEST_CODE = 0 fun scheduleAlarm(context: Context, userId: String, delay: Long) { - //Reschedule + // Reschedule val intent = Intent(context, AlarmSyncBroadcastReceiver::class.java).apply { putExtra(SyncService.EXTRA_USER_ID, userId) } diff --git a/vector/src/fdroid/java/im/vector/riotx/fdroid/service/VectorSyncService.kt b/vector/src/fdroid/java/im/vector/riotx/fdroid/service/VectorSyncService.kt index b2a45eff81..fbf9c1a031 100644 --- a/vector/src/fdroid/java/im/vector/riotx/fdroid/service/VectorSyncService.kt +++ b/vector/src/fdroid/java/im/vector/riotx/fdroid/service/VectorSyncService.kt @@ -56,5 +56,4 @@ class VectorSyncService : SyncService() { } return super.onStartCommand(intent, flags, startId) } - -} \ No newline at end of file +} diff --git a/vector/src/fdroid/java/im/vector/riotx/push/fcm/FcmHelper.kt b/vector/src/fdroid/java/im/vector/riotx/push/fcm/FcmHelper.kt index 3fc79d1876..bfd8850d00 100755 --- a/vector/src/fdroid/java/im/vector/riotx/push/fcm/FcmHelper.kt +++ b/vector/src/fdroid/java/im/vector/riotx/push/fcm/FcmHelper.kt @@ -66,7 +66,7 @@ object FcmHelper { } fun onEnterBackground(context: Context, vectorPreferences: VectorPreferences, activeSessionHolder: ActiveSessionHolder) { - //We need to use alarm in this mode + // We need to use alarm in this mode if (vectorPreferences.areNotificationEnabledForDevice() && activeSessionHolder.hasActiveSession()) { val currentSession = activeSessionHolder.getActiveSession() AlarmSyncBroadcastReceiver.scheduleAlarm(context, currentSession.myUserId, 4_000L) diff --git a/vector/src/fdroid/java/im/vector/riotx/push/fcm/NotificationTroubleshootTestManagerFactory.kt b/vector/src/fdroid/java/im/vector/riotx/push/fcm/NotificationTroubleshootTestManagerFactory.kt index e90ef5aa7d..25c06d5b6f 100644 --- a/vector/src/fdroid/java/im/vector/riotx/push/fcm/NotificationTroubleshootTestManagerFactory.kt +++ b/vector/src/fdroid/java/im/vector/riotx/push/fcm/NotificationTroubleshootTestManagerFactory.kt @@ -38,5 +38,4 @@ class NotificationTroubleshootTestManagerFactory @Inject constructor(private val mgr.addTest(testBackgroundRestrictions) return mgr } - -} \ No newline at end of file +} diff --git a/vector/src/gplay/java/im/vector/riotx/gplay/features/settings/troubleshoot/TestFirebaseToken.kt b/vector/src/gplay/java/im/vector/riotx/gplay/features/settings/troubleshoot/TestFirebaseToken.kt index 4d35c90464..3806893d98 100644 --- a/vector/src/gplay/java/im/vector/riotx/gplay/features/settings/troubleshoot/TestFirebaseToken.kt +++ b/vector/src/gplay/java/im/vector/riotx/gplay/features/settings/troubleshoot/TestFirebaseToken.kt @@ -39,7 +39,7 @@ class TestFirebaseToken @Inject constructor(private val context: AppCompatActivi .addOnCompleteListener(context) { task -> if (!task.isSuccessful) { val errorMsg = if (task.exception == null) "Unknown" else task.exception!!.localizedMessage - //Can't find where this constant is (not documented -or deprecated in docs- and all obfuscated) + // Can't find where this constant is (not documented -or deprecated in docs- and all obfuscated) if ("SERVICE_NOT_AVAILABLE".equals(errorMsg)) { description = stringProvider.getString(R.string.settings_troubleshoot_test_fcm_failed_service_not_available, errorMsg) } else if ("TOO_MANY_REGISTRATIONS".equals(errorMsg)) { @@ -56,7 +56,7 @@ class TestFirebaseToken @Inject constructor(private val context: AppCompatActivi } status = TestStatus.FAILED } else { - task.result?.token?.let {token -> + task.result?.token?.let { token -> val tok = token.substring(0, Math.min(8, token.length)) + "********************" description = stringProvider.getString(R.string.settings_troubleshoot_test_fcm_success, tok) Timber.e("Retrieved FCM token success [$tok].") @@ -71,5 +71,4 @@ class TestFirebaseToken @Inject constructor(private val context: AppCompatActivi status = TestStatus.FAILED } } - -} \ No newline at end of file +} diff --git a/vector/src/gplay/java/im/vector/riotx/gplay/features/settings/troubleshoot/TestPlayServices.kt b/vector/src/gplay/java/im/vector/riotx/gplay/features/settings/troubleshoot/TestPlayServices.kt index 2aaa0d2e83..c28a02d350 100644 --- a/vector/src/gplay/java/im/vector/riotx/gplay/features/settings/troubleshoot/TestPlayServices.kt +++ b/vector/src/gplay/java/im/vector/riotx/gplay/features/settings/troubleshoot/TestPlayServices.kt @@ -52,6 +52,4 @@ class TestPlayServices @Inject constructor(private val context: AppCompatActivit status = TestStatus.FAILED } } - } - diff --git a/vector/src/gplay/java/im/vector/riotx/gplay/features/settings/troubleshoot/TestTokenRegistration.kt b/vector/src/gplay/java/im/vector/riotx/gplay/features/settings/troubleshoot/TestTokenRegistration.kt index fe47715158..5468217527 100644 --- a/vector/src/gplay/java/im/vector/riotx/gplay/features/settings/troubleshoot/TestTokenRegistration.kt +++ b/vector/src/gplay/java/im/vector/riotx/gplay/features/settings/troubleshoot/TestTokenRegistration.kt @@ -38,7 +38,7 @@ class TestTokenRegistration @Inject constructor(private val context: AppCompatAc : TroubleshootTest(R.string.settings_troubleshoot_test_token_registration_title) { override fun perform() { - //Check if we have a registered pusher for this token + // Check if we have a registered pusher for this token val fcmToken = FcmHelper.getFcmToken(context) ?: run { status = TestStatus.FAILED return @@ -66,16 +66,12 @@ class TestTokenRegistration @Inject constructor(private val context: AppCompatAc } }) } - } status = TestStatus.FAILED - } else { description = stringProvider.getString(R.string.settings_troubleshoot_test_token_registration_success) status = TestStatus.SUCCESS } - } - -} \ No newline at end of file +} diff --git a/vector/src/gplay/java/im/vector/riotx/gplay/package-info.kt b/vector/src/gplay/java/im/vector/riotx/gplay/package-info.kt index 177fb56fd8..02e0382503 100644 --- a/vector/src/gplay/java/im/vector/riotx/gplay/package-info.kt +++ b/vector/src/gplay/java/im/vector/riotx/gplay/package-info.kt @@ -18,4 +18,3 @@ * Code exclusively used by the GPlay build and not referenced on the main source code */ package im.vector.riotx.gplay - diff --git a/vector/src/gplay/java/im/vector/riotx/gplay/push/fcm/VectorFirebaseMessagingService.kt b/vector/src/gplay/java/im/vector/riotx/gplay/push/fcm/VectorFirebaseMessagingService.kt index 17a4bacb19..765706d8ff 100755 --- a/vector/src/gplay/java/im/vector/riotx/gplay/push/fcm/VectorFirebaseMessagingService.kt +++ b/vector/src/gplay/java/im/vector/riotx/gplay/push/fcm/VectorFirebaseMessagingService.kt @@ -85,7 +85,7 @@ class VectorFirebaseMessagingService : FirebaseMessagingService() { } mUIHandler.post { if (ProcessLifecycleOwner.get().lifecycle.currentState.isAtLeast(Lifecycle.State.STARTED)) { - //we are in foreground, let the sync do the things? + // we are in foreground, let the sync do the things? Timber.v("PUSH received in a foreground state, ignore") } else { onMessageReceivedInternal(message.data) @@ -153,7 +153,6 @@ class VectorFirebaseMessagingService : FirebaseMessagingService() { session.requireBackgroundSync() } } - } catch (e: Exception) { Timber.e(e, "## onMessageReceivedInternal() failed") } @@ -170,7 +169,6 @@ class VectorFirebaseMessagingService : FirebaseMessagingService() { } catch (e: Exception) { Timber.e(e, "## isEventAlreadyKnown() : failed to check if the event was already defined") } - } return false } @@ -186,16 +184,16 @@ class VectorFirebaseMessagingService : FirebaseMessagingService() { // This is required if the notification is about a particular Matrix event. // It may be omitted for notifications that only contain updated badge counts. // This ID can and should be used to detect duplicate notification requests. - val eventId = data["event_id"] ?: return //Just ignore + val eventId = data["event_id"] ?: return // Just ignore val eventType = data["type"] if (eventType == null) { - //Just add a generic unknown event + // Just add a generic unknown event val simpleNotifiableEvent = SimpleNotifiableEvent( session.myUserId, eventId, null, - true, //It's an issue in this case, all event will bing even if expected to be silent. + true, // It's an issue in this case, all event will bing even if expected to be silent. title = getString(R.string.notification_unknown_new_event), description = "", type = null, @@ -211,9 +209,9 @@ class VectorFirebaseMessagingService : FirebaseMessagingService() { val notifiableEvent = notifiableEventResolver.resolveEvent(event, session) if (notifiableEvent == null) { - Timber.e("Unsupported notifiable event ${eventId}") + Timber.e("Unsupported notifiable event $eventId") if (BuildConfig.LOW_PRIVACY_LOG_ENABLE) { - Timber.e("--> ${event}") + Timber.e("--> $event") } } else { if (notifiableEvent is NotifiableMessageEvent) { diff --git a/vector/src/gplay/java/im/vector/riotx/push/fcm/FcmHelper.kt b/vector/src/gplay/java/im/vector/riotx/push/fcm/FcmHelper.kt index e87bfb7492..9f8dc6d7fc 100755 --- a/vector/src/gplay/java/im/vector/riotx/push/fcm/FcmHelper.kt +++ b/vector/src/gplay/java/im/vector/riotx/push/fcm/FcmHelper.kt @@ -37,7 +37,6 @@ import timber.log.Timber object FcmHelper { private val PREFS_KEY_FCM_TOKEN = "FCM_TOKEN" - fun isPushSupported(): Boolean = true /** @@ -62,7 +61,6 @@ object FcmHelper { .edit() .putString(PREFS_KEY_FCM_TOKEN, token) .apply() - } /** @@ -72,7 +70,7 @@ object FcmHelper { */ fun ensureFcmTokenIsRetrieved(activity: Activity, pushersManager: PushersManager) { // if (TextUtils.isEmpty(getFcmToken(activity))) { - //'app should always check the device for a compatible Google Play services APK before accessing Google Play services features' + // 'app should always check the device for a compatible Google Play services APK before accessing Google Play services features' if (checkPlayServices(activity)) { try { FirebaseInstanceId.getInstance().instanceId @@ -84,7 +82,6 @@ object FcmHelper { } catch (e: Throwable) { Timber.e(e, "## ensureFcmTokenIsRetrieved() : failed") } - } else { Toast.makeText(activity, R.string.no_valid_google_play_services_apk, Toast.LENGTH_SHORT).show() Timber.e("No valid Google Play Services found. Cannot use FCM.") diff --git a/vector/src/gplay/java/im/vector/riotx/push/fcm/NotificationTroubleshootTestManagerFactory.kt b/vector/src/gplay/java/im/vector/riotx/push/fcm/NotificationTroubleshootTestManagerFactory.kt index 3d2e45fed1..6f980197dd 100644 --- a/vector/src/gplay/java/im/vector/riotx/push/fcm/NotificationTroubleshootTestManagerFactory.kt +++ b/vector/src/gplay/java/im/vector/riotx/push/fcm/NotificationTroubleshootTestManagerFactory.kt @@ -45,5 +45,4 @@ class NotificationTroubleshootTestManagerFactory @Inject constructor(private val mgr.addTest(testTokenRegistration) return mgr } - -} \ No newline at end of file +} diff --git a/vector/src/main/java/im/vector/riotx/EmojiCompatFontProvider.kt b/vector/src/main/java/im/vector/riotx/EmojiCompatFontProvider.kt index 24e7e6d287..0a338ce042 100644 --- a/vector/src/main/java/im/vector/riotx/EmojiCompatFontProvider.kt +++ b/vector/src/main/java/im/vector/riotx/EmojiCompatFontProvider.kt @@ -59,8 +59,7 @@ class EmojiCompatFontProvider @Inject constructor(): FontsContractCompat.FontReq listeners.remove(listener) } - interface FontProviderListener { fun compatibilityFontUpdate(typeface: Typeface?) } -} \ No newline at end of file +} diff --git a/vector/src/main/java/im/vector/riotx/EmojiCompatWrapper.kt b/vector/src/main/java/im/vector/riotx/EmojiCompatWrapper.kt index b183284084..1d13b87a28 100644 --- a/vector/src/main/java/im/vector/riotx/EmojiCompatWrapper.kt +++ b/vector/src/main/java/im/vector/riotx/EmojiCompatWrapper.kt @@ -16,7 +16,6 @@ package im.vector.riotx import android.content.Context -import androidx.appcompat.app.AppCompatActivity import androidx.core.provider.FontRequest import androidx.emoji.text.EmojiCompat import androidx.emoji.text.FontRequestEmojiCompatConfig @@ -31,11 +30,11 @@ class EmojiCompatWrapper @Inject constructor(private val context: Context) { fun init(fontRequest: FontRequest) { - //Use emoji compat for the benefit of emoji spans + // Use emoji compat for the benefit of emoji spans val config = FontRequestEmojiCompatConfig(context, fontRequest) // we want to replace all emojis with selected font .setReplaceAll(true) - //Debug options + // Debug options // .setEmojiSpanIndicatorEnabled(true) // .setEmojiSpanIndicatorColor(Color.GREEN) EmojiCompat.init(config) @@ -56,7 +55,7 @@ class EmojiCompatWrapper @Inject constructor(private val context: Context) { try { return EmojiCompat.get().process(sequence) } catch (throwable: Throwable) { - //Defensive coding against error (should not happend as it is initialized) + // Defensive coding against error (should not happend as it is initialized) Timber.e(throwable, "Failed to init EmojiCompat") return sequence } @@ -64,4 +63,4 @@ class EmojiCompatWrapper @Inject constructor(private val context: Context) { return sequence } } -} \ No newline at end of file +} diff --git a/vector/src/main/java/im/vector/riotx/VectorApplication.kt b/vector/src/main/java/im/vector/riotx/VectorApplication.kt index 594257f46e..f353293c23 100644 --- a/vector/src/main/java/im/vector/riotx/VectorApplication.kt +++ b/vector/src/main/java/im/vector/riotx/VectorApplication.kt @@ -60,9 +60,8 @@ import javax.inject.Inject class VectorApplication : Application(), HasVectorInjector, MatrixConfiguration.Provider, androidx.work.Configuration.Provider { - lateinit var appContext: Context - //font thread handler + // font thread handler @Inject lateinit var authenticator: Authenticator @Inject lateinit var vectorConfiguration: VectorConfiguration @Inject lateinit var emojiCompatFontProvider: EmojiCompatFontProvider @@ -78,10 +77,8 @@ class VectorApplication : Application(), HasVectorInjector, MatrixConfiguration. lateinit var vectorComponent: VectorComponent private var fontThreadHandler: Handler? = null - // var slowMode = false - override fun onCreate() { super.onCreate() appContext = this @@ -138,7 +135,7 @@ class VectorApplication : Application(), HasVectorInjector, MatrixConfiguration. FcmHelper.onEnterBackground(appContext, vectorPreferences, activeSessionHolder) } }) - //This should be done as early as possible + // This should be done as early as possible initKnownEmojiHashSet(appContext) } @@ -185,5 +182,4 @@ class VectorApplication : Application(), HasVectorInjector, MatrixConfiguration. handlerThread.start() return Handler(handlerThread.looper) } - -} \ No newline at end of file +} diff --git a/vector/src/main/java/im/vector/riotx/core/animations/SimpleAnimatorListener.kt b/vector/src/main/java/im/vector/riotx/core/animations/SimpleAnimatorListener.kt index 5968ee19c4..1819e003f9 100644 --- a/vector/src/main/java/im/vector/riotx/core/animations/SimpleAnimatorListener.kt +++ b/vector/src/main/java/im/vector/riotx/core/animations/SimpleAnimatorListener.kt @@ -34,4 +34,4 @@ open class SimpleAnimatorListener : Animator.AnimatorListener { override fun onAnimationStart(animation: Animator?) { // No op } -} \ No newline at end of file +} diff --git a/vector/src/main/java/im/vector/riotx/core/animations/SimpleTransitionListener.kt b/vector/src/main/java/im/vector/riotx/core/animations/SimpleTransitionListener.kt index a83b0cffe5..728127b374 100644 --- a/vector/src/main/java/im/vector/riotx/core/animations/SimpleTransitionListener.kt +++ b/vector/src/main/java/im/vector/riotx/core/animations/SimpleTransitionListener.kt @@ -38,4 +38,4 @@ open class SimpleTransitionListener : Transition.TransitionListener { override fun onTransitionStart(transition: Transition) { // No op } -} \ No newline at end of file +} diff --git a/vector/src/main/java/im/vector/riotx/core/animations/VectorFullTransitionSet.kt b/vector/src/main/java/im/vector/riotx/core/animations/VectorFullTransitionSet.kt index d2d9a224c4..83bc6f0d01 100644 --- a/vector/src/main/java/im/vector/riotx/core/animations/VectorFullTransitionSet.kt +++ b/vector/src/main/java/im/vector/riotx/core/animations/VectorFullTransitionSet.kt @@ -40,5 +40,4 @@ class VectorFullTransitionSet : TransitionSet { .addTransition(ChangeTransform()) .addTransition(Fade(Fade.IN)) } - } diff --git a/vector/src/main/java/im/vector/riotx/core/date/VectorDateFormatter.kt b/vector/src/main/java/im/vector/riotx/core/date/VectorDateFormatter.kt index f8e8d61220..367615d765 100644 --- a/vector/src/main/java/im/vector/riotx/core/date/VectorDateFormatter.kt +++ b/vector/src/main/java/im/vector/riotx/core/date/VectorDateFormatter.kt @@ -23,7 +23,6 @@ import org.threeten.bp.LocalDateTime import org.threeten.bp.format.DateTimeFormatter import javax.inject.Inject - class VectorDateFormatter @Inject constructor(private val context: Context, private val localeProvider: LocaleProvider) { @@ -53,5 +52,4 @@ class VectorDateFormatter @Inject constructor(private val context: Context, DateUtils.FORMAT_SHOW_WEEKDAY ).toString() } - -} \ No newline at end of file +} diff --git a/vector/src/main/java/im/vector/riotx/core/di/ActiveSessionHolder.kt b/vector/src/main/java/im/vector/riotx/core/di/ActiveSessionHolder.kt index 5f29a76f10..60255dbbdd 100644 --- a/vector/src/main/java/im/vector/riotx/core/di/ActiveSessionHolder.kt +++ b/vector/src/main/java/im/vector/riotx/core/di/ActiveSessionHolder.kt @@ -57,10 +57,9 @@ class ActiveSessionHolder @Inject constructor(private val authenticator: Authent ?: throw IllegalStateException("You should authenticate before using this") } - //TODO: Stop sync ? + // TODO: Stop sync ? // fun switchToSession(sessionParams: SessionParams) { // val newActiveSession = authenticator.getSession(sessionParams) // activeSession.set(newActiveSession) // } - -} \ No newline at end of file +} diff --git a/vector/src/main/java/im/vector/riotx/core/di/AssistedInjectModule.kt b/vector/src/main/java/im/vector/riotx/core/di/AssistedInjectModule.kt index 915780dba2..17e0bd71e5 100644 --- a/vector/src/main/java/im/vector/riotx/core/di/AssistedInjectModule.kt +++ b/vector/src/main/java/im/vector/riotx/core/di/AssistedInjectModule.kt @@ -21,4 +21,4 @@ import dagger.Module @AssistedModule @Module(includes = [AssistedInject_AssistedInjectModule::class]) -interface AssistedInjectModule \ No newline at end of file +interface AssistedInjectModule diff --git a/vector/src/main/java/im/vector/riotx/core/di/HasScreenInjector.kt b/vector/src/main/java/im/vector/riotx/core/di/HasScreenInjector.kt index 44594971a0..62e359c0ae 100644 --- a/vector/src/main/java/im/vector/riotx/core/di/HasScreenInjector.kt +++ b/vector/src/main/java/im/vector/riotx/core/di/HasScreenInjector.kt @@ -19,5 +19,4 @@ package im.vector.riotx.core.di interface HasScreenInjector { fun injector(): ScreenComponent - -} \ No newline at end of file +} diff --git a/vector/src/main/java/im/vector/riotx/core/di/HasVectorInjector.kt b/vector/src/main/java/im/vector/riotx/core/di/HasVectorInjector.kt index 2058133b68..c141f0e9e1 100644 --- a/vector/src/main/java/im/vector/riotx/core/di/HasVectorInjector.kt +++ b/vector/src/main/java/im/vector/riotx/core/di/HasVectorInjector.kt @@ -19,5 +19,4 @@ package im.vector.riotx.core.di interface HasVectorInjector { fun injector(): VectorComponent - -} \ No newline at end of file +} diff --git a/vector/src/main/java/im/vector/riotx/core/di/ScreenModule.kt b/vector/src/main/java/im/vector/riotx/core/di/ScreenModule.kt index 64c0f34ce8..1073a59f7c 100644 --- a/vector/src/main/java/im/vector/riotx/core/di/ScreenModule.kt +++ b/vector/src/main/java/im/vector/riotx/core/di/ScreenModule.kt @@ -27,5 +27,4 @@ object ScreenModule { @Provides @JvmStatic fun providesGlideRequests(context: AppCompatActivity) = GlideApp.with(context) - -} \ No newline at end of file +} diff --git a/vector/src/main/java/im/vector/riotx/core/di/VectorComponent.kt b/vector/src/main/java/im/vector/riotx/core/di/VectorComponent.kt index a3d8281b7d..a59620aacb 100644 --- a/vector/src/main/java/im/vector/riotx/core/di/VectorComponent.kt +++ b/vector/src/main/java/im/vector/riotx/core/di/VectorComponent.kt @@ -113,5 +113,4 @@ interface VectorComponent { interface Factory { fun create(@BindsInstance context: Context): VectorComponent } - -} \ No newline at end of file +} diff --git a/vector/src/main/java/im/vector/riotx/core/di/VectorModule.kt b/vector/src/main/java/im/vector/riotx/core/di/VectorModule.kt index e4532bada0..e3df0eb635 100644 --- a/vector/src/main/java/im/vector/riotx/core/di/VectorModule.kt +++ b/vector/src/main/java/im/vector/riotx/core/di/VectorModule.kt @@ -58,7 +58,7 @@ abstract class VectorModule { @Provides @JvmStatic fun providesCurrentSession(activeSessionHolder: ActiveSessionHolder): Session { - //TODO: handle session injection better + // TODO: handle session injection better return activeSessionHolder.getActiveSession() } @@ -74,5 +74,4 @@ abstract class VectorModule { @Binds abstract fun bindUiStateRepository(uiStateRepository: SharedPreferencesUiStateRepository): UiStateRepository - -} \ No newline at end of file +} diff --git a/vector/src/main/java/im/vector/riotx/core/di/ViewModelKey.kt b/vector/src/main/java/im/vector/riotx/core/di/ViewModelKey.kt index 09be563398..09c8aadb51 100644 --- a/vector/src/main/java/im/vector/riotx/core/di/ViewModelKey.kt +++ b/vector/src/main/java/im/vector/riotx/core/di/ViewModelKey.kt @@ -23,4 +23,4 @@ import kotlin.reflect.KClass @Target(AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER) @Retention(AnnotationRetention.RUNTIME) @MapKey -annotation class ViewModelKey(val value: KClass) \ No newline at end of file +annotation class ViewModelKey(val value: KClass) diff --git a/vector/src/main/java/im/vector/riotx/core/di/ViewModelModule.kt b/vector/src/main/java/im/vector/riotx/core/di/ViewModelModule.kt index 954b067d20..98c89c421a 100644 --- a/vector/src/main/java/im/vector/riotx/core/di/ViewModelModule.kt +++ b/vector/src/main/java/im/vector/riotx/core/di/ViewModelModule.kt @@ -100,5 +100,4 @@ interface ViewModelModule { @IntoMap @ViewModelKey(CreateDirectRoomNavigationViewModel::class) fun bindCreateDirectRoomNavigationViewModel(viewModel: CreateDirectRoomNavigationViewModel): ViewModel - -} \ No newline at end of file +} diff --git a/vector/src/main/java/im/vector/riotx/core/dialogs/DialogLocker.kt b/vector/src/main/java/im/vector/riotx/core/dialogs/DialogLocker.kt index 60397fb6b6..a6c1558948 100644 --- a/vector/src/main/java/im/vector/riotx/core/dialogs/DialogLocker.kt +++ b/vector/src/main/java/im/vector/riotx/core/dialogs/DialogLocker.kt @@ -62,5 +62,4 @@ class DialogLocker(savedInstanceState: Bundle?) : Restorable { override fun onRestoreInstanceState(savedInstanceState: Bundle?) { isDialogDisplayed = savedInstanceState?.getBoolean(KEY_DIALOG_IS_DISPLAYED, false) == true } - -} \ No newline at end of file +} diff --git a/vector/src/main/java/im/vector/riotx/core/dialogs/ExportKeysDialog.kt b/vector/src/main/java/im/vector/riotx/core/dialogs/ExportKeysDialog.kt index 25b2bb1004..dc88dec406 100644 --- a/vector/src/main/java/im/vector/riotx/core/dialogs/ExportKeysDialog.kt +++ b/vector/src/main/java/im/vector/riotx/core/dialogs/ExportKeysDialog.kt @@ -81,8 +81,7 @@ class ExportKeysDialog { } } - interface ExportKeyDialogListener { fun onPassphrase(passphrase: String) } -} \ No newline at end of file +} diff --git a/vector/src/main/java/im/vector/riotx/core/epoxy/EmptyItem.kt b/vector/src/main/java/im/vector/riotx/core/epoxy/EmptyItem.kt index 32d7183c1d..c0eb007952 100644 --- a/vector/src/main/java/im/vector/riotx/core/epoxy/EmptyItem.kt +++ b/vector/src/main/java/im/vector/riotx/core/epoxy/EmptyItem.kt @@ -22,4 +22,4 @@ import im.vector.riotx.R @EpoxyModelClass(layout = R.layout.item_empty) abstract class EmptyItem : VectorEpoxyModel() { class Holder : VectorEpoxyHolder() -} \ No newline at end of file +} diff --git a/vector/src/main/java/im/vector/riotx/core/epoxy/ErrorWithRetryItem.kt b/vector/src/main/java/im/vector/riotx/core/epoxy/ErrorWithRetryItem.kt index 857de071e2..e6336e5753 100644 --- a/vector/src/main/java/im/vector/riotx/core/epoxy/ErrorWithRetryItem.kt +++ b/vector/src/main/java/im/vector/riotx/core/epoxy/ErrorWithRetryItem.kt @@ -36,9 +36,8 @@ abstract class ErrorWithRetryItem : VectorEpoxyModel( holder.buttonView.setOnClickListener { listener?.invoke() } } - class Holder : VectorEpoxyHolder() { val textView by bind(R.id.itemErrorRetryText) val buttonView by bind