From 53f0b77fb0d68576c50720935916d93064eb9117 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 15 Jul 2020 14:32:15 +0200 Subject: [PATCH 01/58] Version++ --- CHANGES.md | 24 ++++++++++++++++++++++++ vector/build.gradle | 2 +- 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/CHANGES.md b/CHANGES.md index bf7d7b7f9e..e7bf3938ad 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,3 +1,27 @@ +Changes in Element 1.0.1 (2020-XX-XX) +=================================================== + +Features ✨: + - + +Improvements πŸ™Œ: + - + +Bugfix πŸ›: + - + +Translations πŸ—£: + - + +SDK API changes ⚠️: + - + +Build 🧱: + - + +Other changes: + - + Changes in Element 1.0.0 (2020-07-15) =================================================== diff --git a/vector/build.gradle b/vector/build.gradle index e4730b4be1..2b033790bc 100644 --- a/vector/build.gradle +++ b/vector/build.gradle @@ -17,7 +17,7 @@ androidExtensions { // Note: 2 digits max for each value ext.versionMajor = 1 ext.versionMinor = 0 -ext.versionPatch = 0 +ext.versionPatch = 1 static def getGitTimestamp() { def cmd = 'git show -s --format=%ct' From 0f9e26efc59ee06f8d0c9deea8f1face280fce65 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 13 Jul 2020 19:08:31 +0200 Subject: [PATCH 02/58] let instead of also --- .../android/internal/session/sync/SyncResponseHandler.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 0769895d38..d8b07586a9 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 @@ -116,11 +116,11 @@ internal class SyncResponseHandler @Inject constructor(@SessionDatabase private tokenStore.saveToken(realm, syncResponse.nextBatch) } // Everything else we need to do outside the transaction - syncResponse.rooms?.also { + syncResponse.rooms?.let { checkPushRules(it, isInitialSync) userAccountDataSyncHandler.synchronizeWithServerIfNeeded(it.invite) } - syncResponse.groups?.also { + syncResponse.groups?.let { scheduleGroupDataFetchingIfNeeded(it) } From 8f7aae498077f1421cbf3f01f3dde763641cdd07 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 14 Jul 2020 10:11:26 +0200 Subject: [PATCH 03/58] Tint the icon (#1613) --- vector/src/main/res/menu/menu_directory_server_picker.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/vector/src/main/res/menu/menu_directory_server_picker.xml b/vector/src/main/res/menu/menu_directory_server_picker.xml index 109ed5f368..9dd4232196 100644 --- a/vector/src/main/res/menu/menu_directory_server_picker.xml +++ b/vector/src/main/res/menu/menu_directory_server_picker.xml @@ -6,6 +6,7 @@ android:id="@+id/action_add_custom_hs" android:icon="@drawable/ic_add_black" android:title="@string/action_open" + app:iconTint="?colorAccent" app:showAsAction="always" /> \ No newline at end of file From 0159e6dc0008e5bb4f6abe051e2d65c4cba86b4d Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 14 Jul 2020 10:11:52 +0200 Subject: [PATCH 04/58] Hide the menu item, it's not implemented yet --- vector/src/main/res/menu/menu_directory_server_picker.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/vector/src/main/res/menu/menu_directory_server_picker.xml b/vector/src/main/res/menu/menu_directory_server_picker.xml index 9dd4232196..c544c80f8c 100644 --- a/vector/src/main/res/menu/menu_directory_server_picker.xml +++ b/vector/src/main/res/menu/menu_directory_server_picker.xml @@ -6,6 +6,7 @@ android:id="@+id/action_add_custom_hs" android:icon="@drawable/ic_add_black" android:title="@string/action_open" + android:visible="@bool/false_not_implemented" app:iconTint="?colorAccent" app:showAsAction="always" /> From 484b69165b1bd6f32230248ef9869e2fbd2288ad Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 14 Jul 2020 10:33:58 +0200 Subject: [PATCH 05/58] Add rounded light background to fix dark images on dark background issue (#1613) --- CHANGES.md | 2 +- .../riotx/features/roomdirectory/picker/RoomDirectoryItem.kt | 2 ++ vector/src/main/res/layout/item_room_directory.xml | 2 ++ 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGES.md b/CHANGES.md index e7bf3938ad..b45ad9dff8 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -8,7 +8,7 @@ Improvements πŸ™Œ: - Bugfix πŸ›: - - + - Fix theme issue on Room directory screen (#1613) Translations πŸ—£: - diff --git a/vector/src/main/java/im/vector/riotx/features/roomdirectory/picker/RoomDirectoryItem.kt b/vector/src/main/java/im/vector/riotx/features/roomdirectory/picker/RoomDirectoryItem.kt index 334def592a..c0f77aad74 100644 --- a/vector/src/main/java/im/vector/riotx/features/roomdirectory/picker/RoomDirectoryItem.kt +++ b/vector/src/main/java/im/vector/riotx/features/roomdirectory/picker/RoomDirectoryItem.kt @@ -19,6 +19,7 @@ package im.vector.riotx.features.roomdirectory.picker import android.view.ViewGroup import android.widget.ImageView import android.widget.TextView +import androidx.core.view.isInvisible import com.airbnb.epoxy.EpoxyAttribute import com.airbnb.epoxy.EpoxyModelClass import im.vector.riotx.R @@ -58,6 +59,7 @@ abstract class RoomDirectoryItem : VectorEpoxyModel() } } .into(holder.avatarView) + holder.avatarView.isInvisible = directoryAvatarUrl.isNullOrBlank() && includeAllNetworks holder.nameView.text = directoryName holder.descritionView.setTextOrHide(directoryDescription) diff --git a/vector/src/main/res/layout/item_room_directory.xml b/vector/src/main/res/layout/item_room_directory.xml index 64679f7b37..8869a22bea 100644 --- a/vector/src/main/res/layout/item_room_directory.xml +++ b/vector/src/main/res/layout/item_room_directory.xml @@ -19,6 +19,8 @@ android:layout_marginLeft="8dp" android:layout_marginTop="4dp" android:layout_marginBottom="4dp" + android:background="@drawable/circle" + android:padding="8dp" app:layout_constraintBottom_toTopOf="@+id/itemRoomDirectoryBottomSeparator" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" From d747d96e77d3176f8a56894400dc4eba5304015c Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 15 Jul 2020 14:49:26 +0200 Subject: [PATCH 06/58] Use correct title --- .../roomdirectory/picker/RoomDirectoryPickerFragment.kt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/vector/src/main/java/im/vector/riotx/features/roomdirectory/picker/RoomDirectoryPickerFragment.kt b/vector/src/main/java/im/vector/riotx/features/roomdirectory/picker/RoomDirectoryPickerFragment.kt index 1299919d2b..1d71035d99 100644 --- a/vector/src/main/java/im/vector/riotx/features/roomdirectory/picker/RoomDirectoryPickerFragment.kt +++ b/vector/src/main/java/im/vector/riotx/features/roomdirectory/picker/RoomDirectoryPickerFragment.kt @@ -26,6 +26,7 @@ import im.vector.matrix.android.api.session.room.model.thirdparty.RoomDirectoryD import im.vector.riotx.R import im.vector.riotx.core.extensions.cleanup import im.vector.riotx.core.extensions.configureWith +import im.vector.riotx.core.platform.VectorBaseActivity import im.vector.riotx.core.platform.VectorBaseFragment import im.vector.riotx.features.roomdirectory.RoomDirectoryAction import im.vector.riotx.features.roomdirectory.RoomDirectorySharedAction @@ -35,7 +36,6 @@ import kotlinx.android.synthetic.main.fragment_room_directory_picker.* import timber.log.Timber import javax.inject.Inject -// TODO Set title to R.string.select_room_directory // TODO Menu to add custom room directory (not done in RiotWeb so far...) class RoomDirectoryPickerFragment @Inject constructor(val roomDirectoryPickerViewModelFactory: RoomDirectoryPickerViewModel.Factory, private val roomDirectoryPickerController: RoomDirectoryPickerController @@ -91,6 +91,11 @@ class RoomDirectoryPickerFragment @Inject constructor(val roomDirectoryPickerVie sharedActionViewModel.post(RoomDirectorySharedAction.Back) } + override fun onResume() { + super.onResume() + (activity as? VectorBaseActivity)?.supportActionBar?.setTitle(R.string.select_room_directory) + } + override fun retry() { Timber.v("Retry") pickerViewModel.handle(RoomDirectoryPickerAction.Retry) From f6d2d05e70455a4a4169be751e2b85009f63b3ce Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 15 Jul 2020 15:08:46 +0200 Subject: [PATCH 07/58] Improve splash screen --- vector/src/main/res/values-v21/theme_common.xml | 7 +++++++ vector/src/main/res/values/theme_common.xml | 4 +++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/vector/src/main/res/values-v21/theme_common.xml b/vector/src/main/res/values-v21/theme_common.xml index dfd3007908..45df7c0ca2 100644 --- a/vector/src/main/res/values-v21/theme_common.xml +++ b/vector/src/main/res/values-v21/theme_common.xml @@ -1,6 +1,13 @@ + + + + + \ No newline at end of file From 3e429490e7e4f98cad33dbc8dd307d71d350d87d Mon Sep 17 00:00:00 2001 From: ganfra Date: Wed, 22 Jul 2020 17:04:48 +0200 Subject: [PATCH 29/58] Update CHANGES --- CHANGES.md | 3 ++- .../riotx/features/home/room/detail/RoomDetailViewModel.kt | 1 - 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index acc0a74055..b1e85e239d 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -5,7 +5,8 @@ Features ✨: - Improvements πŸ™Œ: - - + - Sending events is now retried only 3 times, so we avoid blocking the sending queue too long. + - Display warning when fail to send events in room list Bugfix πŸ›: - Fix theme issue on Room directory screen (#1613) 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 912eb90a0f..2bec8017f0 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 @@ -30,7 +30,6 @@ import com.squareup.inject.assisted.AssistedInject import im.vector.matrix.android.api.MatrixCallback import im.vector.matrix.android.api.MatrixPatterns import im.vector.matrix.android.api.NoOpMatrixCallback -import im.vector.matrix.android.api.extensions.orFalse import im.vector.matrix.android.api.query.QueryStringValue import im.vector.matrix.android.api.session.Session import im.vector.matrix.android.api.session.crypto.MXCryptoError From 4cc3e87d644d9ea4e38dcc7533dff6887e940a79 Mon Sep 17 00:00:00 2001 From: onurays Date: Thu, 23 Jul 2020 15:02:40 +0300 Subject: [PATCH 30/58] Fix rebranding assets on login screens. --- .../riotx/features/login/LoginActivity.kt | 9 ---- .../signout/soft/SoftLogoutController.kt | 4 -- .../signout/soft/epoxy/LoginHeaderItem.kt | 27 ------------ .../main/res/drawable/element_logotype.xml | 27 ------------ .../drawable/element_logotype_combined.xml | 43 +++++++++++++++++++ .../main/res/layout/activity_signed_out.xml | 5 --- vector/src/main/res/layout/fragment_login.xml | 5 --- .../res/layout/fragment_login_captcha.xml | 5 --- ...fragment_login_generic_text_input_form.xml | 5 --- .../layout/fragment_login_reset_password.xml | 5 --- ...login_reset_password_mail_confirmation.xml | 5 --- .../fragment_login_reset_password_success.xml | 5 --- .../fragment_login_server_selection.xml | 5 --- .../layout/fragment_login_server_url_form.xml | 5 --- ...fragment_login_signup_signin_selection.xml | 5 --- .../main/res/layout/fragment_login_splash.xml | 19 ++------ .../main/res/layout/fragment_login_terms.xml | 5 --- .../layout/fragment_login_wait_for_email.xml | 5 --- .../src/main/res/layout/item_login_header.xml | 9 ---- .../src/main/res/values-land/styles_login.xml | 15 ------- .../src/main/res/values-v21/styles_login.xml | 3 -- vector/src/main/res/values/styles_login.xml | 22 +--------- 22 files changed, 49 insertions(+), 189 deletions(-) delete mode 100644 vector/src/main/java/im/vector/riotx/features/signout/soft/epoxy/LoginHeaderItem.kt delete mode 100644 vector/src/main/res/drawable/element_logotype.xml create mode 100644 vector/src/main/res/drawable/element_logotype_combined.xml delete mode 100644 vector/src/main/res/layout/item_login_header.xml diff --git a/vector/src/main/java/im/vector/riotx/features/login/LoginActivity.kt b/vector/src/main/java/im/vector/riotx/features/login/LoginActivity.kt index 845e628bc6..aa32c75ea6 100644 --- a/vector/src/main/java/im/vector/riotx/features/login/LoginActivity.kt +++ b/vector/src/main/java/im/vector/riotx/features/login/LoginActivity.kt @@ -73,14 +73,6 @@ open class LoginActivity : VectorBaseActivity(), ToolbarConfigurable { get() = supportFragmentManager.findFragmentById(R.id.loginFragmentContainer) private val commonOption: (FragmentTransaction) -> Unit = { ft -> - // Find the loginLogo on the current Fragment, this should not return null - (topFragment?.view as? ViewGroup) - // Find findViewById does not work, I do not know why - // findViewById(R.id.loginLogo) - ?.children - ?.firstOrNull { it.id == R.id.loginLogo } - ?.let { ft.addSharedElement(it, ViewCompat.getTransitionName(it) ?: "") } - // TODO ft.setCustomAnimations(enterAnim, exitAnim, popEnterAnim, popExitAnim) } @@ -145,7 +137,6 @@ open class LoginActivity : VectorBaseActivity(), ToolbarConfigurable { addFragmentToBackstack(R.id.loginFragmentContainer, LoginServerSelectionFragment::class.java, option = { ft -> - findViewById(R.id.loginSplashLogo)?.let { ft.addSharedElement(it, ViewCompat.getTransitionName(it) ?: "") } findViewById(R.id.loginSplashTitle)?.let { ft.addSharedElement(it, ViewCompat.getTransitionName(it) ?: "") } findViewById(R.id.loginSplashSubmit)?.let { ft.addSharedElement(it, ViewCompat.getTransitionName(it) ?: "") } // TODO Disabled because it provokes a flickering diff --git a/vector/src/main/java/im/vector/riotx/features/signout/soft/SoftLogoutController.kt b/vector/src/main/java/im/vector/riotx/features/signout/soft/SoftLogoutController.kt index 4711726a7b..fc428cf0ac 100644 --- a/vector/src/main/java/im/vector/riotx/features/signout/soft/SoftLogoutController.kt +++ b/vector/src/main/java/im/vector/riotx/features/signout/soft/SoftLogoutController.kt @@ -28,7 +28,6 @@ import im.vector.riotx.core.resources.StringProvider import im.vector.riotx.features.login.LoginMode import im.vector.riotx.features.signout.soft.epoxy.loginCenterButtonItem import im.vector.riotx.features.signout.soft.epoxy.loginErrorWithRetryItem -import im.vector.riotx.features.signout.soft.epoxy.loginHeaderItem import im.vector.riotx.features.signout.soft.epoxy.loginPasswordFormItem import im.vector.riotx.features.signout.soft.epoxy.loginRedButtonItem import im.vector.riotx.features.signout.soft.epoxy.loginTextItem @@ -65,9 +64,6 @@ class SoftLogoutController @Inject constructor( } private fun buildHeader(state: SoftLogoutViewState) { - loginHeaderItem { - id("header") - } loginTitleItem { id("title") text(stringProvider.getString(R.string.soft_logout_title)) diff --git a/vector/src/main/java/im/vector/riotx/features/signout/soft/epoxy/LoginHeaderItem.kt b/vector/src/main/java/im/vector/riotx/features/signout/soft/epoxy/LoginHeaderItem.kt deleted file mode 100644 index b4433b01f2..0000000000 --- a/vector/src/main/java/im/vector/riotx/features/signout/soft/epoxy/LoginHeaderItem.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.features.signout.soft.epoxy - -import com.airbnb.epoxy.EpoxyModelClass -import im.vector.riotx.R -import im.vector.riotx.core.epoxy.VectorEpoxyHolder -import im.vector.riotx.core.epoxy.VectorEpoxyModel - -@EpoxyModelClass(layout = R.layout.item_login_header) -abstract class LoginHeaderItem : VectorEpoxyModel() { - class Holder : VectorEpoxyHolder() -} diff --git a/vector/src/main/res/drawable/element_logotype.xml b/vector/src/main/res/drawable/element_logotype.xml deleted file mode 100644 index 0419447b32..0000000000 --- a/vector/src/main/res/drawable/element_logotype.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - - - diff --git a/vector/src/main/res/drawable/element_logotype_combined.xml b/vector/src/main/res/drawable/element_logotype_combined.xml new file mode 100644 index 0000000000..7516bd63e1 --- /dev/null +++ b/vector/src/main/res/drawable/element_logotype_combined.xml @@ -0,0 +1,43 @@ + + + + + + + + + + + + + diff --git a/vector/src/main/res/layout/activity_signed_out.xml b/vector/src/main/res/layout/activity_signed_out.xml index cfe9316677..20b03a6a2c 100644 --- a/vector/src/main/res/layout/activity_signed_out.xml +++ b/vector/src/main/res/layout/activity_signed_out.xml @@ -6,11 +6,6 @@ android:layout_height="match_parent" android:background="?riotx_background"> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintVertical_chainStyle="packed" /> - - - - - - - diff --git a/vector/src/main/res/values-land/styles_login.xml b/vector/src/main/res/values-land/styles_login.xml index 29ddebedd2..d781ec5f1e 100644 --- a/vector/src/main/res/values-land/styles_login.xml +++ b/vector/src/main/res/values-land/styles_login.xml @@ -1,19 +1,4 @@ - - diff --git a/vector/src/main/res/values-v21/styles_login.xml b/vector/src/main/res/values-v21/styles_login.xml index 22eeec5528..78554f9ebb 100644 --- a/vector/src/main/res/values-v21/styles_login.xml +++ b/vector/src/main/res/values-v21/styles_login.xml @@ -1,8 +1,5 @@ - \ No newline at end of file diff --git a/vector/src/main/res/values/styles_login.xml b/vector/src/main/res/values/styles_login.xml index f1f067f623..c5180384a8 100644 --- a/vector/src/main/res/values/styles_login.xml +++ b/vector/src/main/res/values/styles_login.xml @@ -8,27 +8,9 @@ 36dp - - - - -