diff --git a/.idea/dictionaries/bmarty.xml b/.idea/dictionaries/bmarty.xml
index 4585842153..8299f1c4de 100644
--- a/.idea/dictionaries/bmarty.xml
+++ b/.idea/dictionaries/bmarty.xml
@@ -37,6 +37,7 @@
threepid
unpublish
unwedging
+ vctr
\ No newline at end of file
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 4b61777d3f..7e1758077b 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -26,7 +26,7 @@ To install the template (to be done only once):
To create a new screen:
- First create a new package in your code.
-- Then right click on the package, and select `New/New Vector/RiotX Feature`.
+- Then right click on the package, and select `New/New Vector/Element Feature`.
- Follow the Wizard, especially replace `Main` by something more relevant to your feature.
- Click on `Finish`.
- Remaining steps are described as TODO in the generated files, or will be pointed out by the compiler, or at runtime :)
diff --git a/docs/color_migration_guide.md b/docs/color_migration_guide.md
new file mode 100644
index 0000000000..31a531d124
--- /dev/null
+++ b/docs/color_migration_guide.md
@@ -0,0 +1,85 @@
+# Color migration
+
+### Changes
+
+- use colors defined in https://www.figma.com/file/X4XTH9iS2KGJ2wFKDqkyed/Compound?node-id=557%3A0
+- remove unused resources and code (ex: PercentView)
+- split some resource files into smaller file
+- rework the theme files
+- ensure material theme is used everywhere in the theme and in the layout
+- add default style for some views in the theme (ex: Toolbar, etc.)
+- add some debug screen in the debug menu, to test the themes and the button style
+- rework the button style to use `materialThemeOverlay` attribute
+- custom tint icon for menu management has been removed
+- comment with `riotx` has been updated
+
+### Main change for developers
+
+- Read migration guide: https://github.com/vector-im/element-android/pull/3459/files#diff-f0e52729d5e4f6eccbcf72246807aa34ed19c4ef5625ca669df998cd1022874b
+- Use MaterialAlertDialogBuilder instead of AlertDialog.Builder
+- some Epoxy Item included a divider. This has been removed. Use a `dividerItem` or `bottomSheetDividerItem` Epoxy items to add a divider
+- RecyclerView.configureWith now take a divider drawable instead of a divider color
+
+### Remaining work
+
+- Cleanup some vector drawables and ensure a tint is always used instead of hard coded color.
+
+### Migration guide
+
+Some colors and color attribute has been removed, here is the list and what has to be used now.
+
+It can help Element Android forks maintainers to migrate their code.
+
+- riotx_text_primary -> ?vctr_content_primary
+- riotx_text_secondary -> ?vctr_content_secondary
+- riotx_text_tertiary -> ?vctr_content_tertiary
+
+- ?riotx_background -> ?android:colorBackground
+- riotx_background_light -> element_background_light
+- riotx_background_dark -> element_background_dark
+- riotx_background_black -> element_background_black
+
+- riotx_accent -> ?colorPrimary
+- riotx_positive_accent -> ?colorPrimary
+- riotx_accent_alpha25 -> color_primary_alpha25
+- riotx_notice -> ?colorError
+- riotx_destructive_accent -> ?colorError
+- vector_error_color -> ?colorError
+- vector_warning_color -> ?colorError
+
+- riotx_bottom_sheet_background -> ?colorSurface
+- riotx_alerter_background -> ?colorSurface
+
+- riotx_username_1 -> element_name_01
+- riotx_username_2 -> element_name_02
+- riotx_username_3 -> element_name_03
+- riotx_username_4 -> element_name_04
+- riotx_username_5 -> element_name_05
+- riotx_username_6 -> element_name_06
+- riotx_username_7 -> element_name_07
+- riotx_username_8 -> element_name_08
+
+- riotx_avatar_fill_1 -> element_room_01
+- riotx_avatar_fill_2 -> element_room_02
+- riotx_avatar_fill_3 -> element_room_03
+
+- white -> @android:color/white
+- black -> @android:color/black or emoji_color
+
+- riotx_list_header_background_color -> ?vctr_header_background
+- riotx_header_panel_background -> ?vctr_header_background
+- riotx_list_bottom_sheet_divider_color -> ?vctr_list_separator_on_surface
+- riotx_list_divider_color -> ?vctr_list_separator
+- list_divider_color -> ?vctr_list_separator
+- riotx_header_panel_border_mobile -> ?vctr_list_separator
+- riotx_bottom_nav_background_border_color -> ?vctr_list_separator
+- riotx_header_panel_text_secondary -> ?vctr_content_primary
+
+- link_color_light -> element_link_light
+- link_color_dark -> element_link_dark
+
+- riotx_toolbar_primary_text_color -> vctr_content_primary
+- riotx_toolbar_secondary_text_color -> vctr_content_primary
+- riot_primary_text_color -> vctr_content_primary
+
+- riotx_android_secondary -> vctr_content_secondary
diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/identity/IdentityService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/identity/IdentityService.kt
index 8f8967e8fb..ae546b6cec 100644
--- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/identity/IdentityService.kt
+++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/identity/IdentityService.kt
@@ -35,7 +35,7 @@ interface IdentityService {
/**
* Check if the identity server is valid
* See https://matrix.org/docs/spec/identity_service/latest#status-check
- * RiotX SDK only supports identity server API v2
+ * Matrix Android SDK2 only supports identity server API v2
*/
suspend fun isValidIdentityServer(url: String)
diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/DefaultCryptoService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/DefaultCryptoService.kt
index 7f5cfe8df1..cbd1ee00a9 100755
--- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/DefaultCryptoService.kt
+++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/DefaultCryptoService.kt
@@ -388,7 +388,7 @@ internal class DefaultCryptoService @Inject constructor(
cryptoStore.close()
}
- // Aways enabled on RiotX
+ // Always enabled on Matrix Android SDK2
override fun isCryptoEnabled() = true
/**
diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/algorithms/megolm/MXMegolmDecryption.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/algorithms/megolm/MXMegolmDecryption.kt
index a29ac457fb..70d2022299 100644
--- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/algorithms/megolm/MXMegolmDecryption.kt
+++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/algorithms/megolm/MXMegolmDecryption.kt
@@ -155,7 +155,7 @@ internal class MXMegolmDecryption(private val userId: String,
withHeldInfo.code?.value ?: "",
withHeldInfo.reason)
} else {
- // This is un-used in riotX SDK, not sure if needed
+ // This is un-used in Matrix Android SDK2, not sure if needed
// addEventToPendingList(event, timeline)
if (requestKeysOnFail) {
requestKeysForEvent(event, false)
diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/legacy/DefaultLegacySessionImporter.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/legacy/DefaultLegacySessionImporter.kt
index e0e2f96fa9..4586cfea1e 100644
--- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/legacy/DefaultLegacySessionImporter.kt
+++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/legacy/DefaultLegacySessionImporter.kt
@@ -153,7 +153,7 @@ internal class DefaultLegacySessionImporter @Inject constructor(
}
private fun importCryptoDb(legacyConfig: LegacyHomeServerConnectionConfig) {
- // Here we migrate the DB, we copy the crypto DB to the location specific to RiotX, and we encrypt it.
+ // Here we migrate the DB, we copy the crypto DB to the location specific to Matrix SDK2, and we encrypt it.
val userMd5 = legacyConfig.credentials.userId.md5()
val sessionId = legacyConfig.credentials.let { (if (it.deviceId.isNullOrBlank()) it.userId else "${it.userId}|${it.deviceId}").md5() }
@@ -177,12 +177,12 @@ internal class DefaultLegacySessionImporter @Inject constructor(
Timber.d("Migration: copy DB to encrypted DB")
Realm.getInstance(realmConfiguration).use {
- // Move the DB to the new location, handled by RiotX
+ // Move the DB to the new location, handled by Matrix SDK2
it.writeEncryptedCopyTo(File(newLocation, realmConfiguration.realmFileName), realmKeysUtils.getRealmEncryptionKey(keyAlias))
}
}
- // Delete all the files created by Riot Android which will not be used anymore by RiotX
+ // Delete all the files created by Riot Android which will not be used anymore by Element
private fun clearFileSystem(legacyConfig: LegacyHomeServerConnectionConfig) {
val cryptoFolder = legacyConfig.credentials.userId.md5()
diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/UserAgentHolder.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/UserAgentHolder.kt
index 973c120f59..1a88404128 100644
--- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/UserAgentHolder.kt
+++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/network/UserAgentHolder.kt
@@ -36,7 +36,7 @@ internal class UserAgentHolder @Inject constructor(private val context: Context,
/**
* 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)
+ * Ex: Element/1.0.0 (Linux; U; Android 6.0.1; SM-A510F Build/MMB29; Flavour GPlay; MatrixAndroidSDK_X 1.0)
*
* @param flavorDescription the flavor description
*/
diff --git a/newsfragment/3459.feature b/newsfragment/3459.feature
new file mode 100644
index 0000000000..eedec1dfda
--- /dev/null
+++ b/newsfragment/3459.feature
@@ -0,0 +1,2 @@
+Migrate to new colors and cleanup the style and theme
+Ref: https://material.io/blog/migrate-android-material-components
\ No newline at end of file
diff --git a/tools/check/forbidden_strings_in_code.txt b/tools/check/forbidden_strings_in_code.txt
index 9770ed0d4d..e0645e00b3 100644
--- a/tools/check/forbidden_strings_in_code.txt
+++ b/tools/check/forbidden_strings_in_code.txt
@@ -136,8 +136,9 @@ android\.R\.id\.home===2
### Kotlin conversion tools introduce this, but is can be replace by trim()
trim \{ it \<\= \' \' \}
-### Use AlertDialog form v7 compat lib
+### Use MaterialAlertDialogBuilder
android\.app\.AlertDialog
+androidx\.appcompat\.app\.AlertDialog===4
### Put the operator at the beginning of next line
&&$
diff --git a/tools/check/forbidden_strings_in_resources.txt b/tools/check/forbidden_strings_in_resources.txt
index cefeeb6351..92eec6cdfd 100644
--- a/tools/check/forbidden_strings_in_resources.txt
+++ b/tools/check/forbidden_strings_in_resources.txt
@@ -84,3 +84,22 @@ layout_constraintLeft_
### Use androidx.recyclerview.widget.RecyclerView because EpoxyRecyclerViews add behavior we do not want to
+
+
+
+
+
diff --git a/vector/src/debug/java/im/vector/app/features/debug/DebugBottomSheet.kt b/vector/src/debug/java/im/vector/app/features/debug/DebugBottomSheet.kt
new file mode 100644
index 0000000000..0ac9a894ae
--- /dev/null
+++ b/vector/src/debug/java/im/vector/app/features/debug/DebugBottomSheet.kt
@@ -0,0 +1,32 @@
+/*
+ * Copyright (c) 2021 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.app.features.debug
+
+import android.os.Bundle
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import com.google.android.material.bottomsheet.BottomSheetDialogFragment
+import im.vector.app.databinding.ActivityTestMaterialThemeBinding
+
+class DebugBottomSheet : BottomSheetDialogFragment() {
+ override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View {
+ // Reuse tha Activity layout
+ val binding = ActivityTestMaterialThemeBinding.inflate(inflater, container, false)
+ return binding.root
+ }
+}
diff --git a/vector/src/debug/java/im/vector/app/features/debug/DebugMaterialThemeActivity.kt b/vector/src/debug/java/im/vector/app/features/debug/DebugMaterialThemeActivity.kt
index 8df1feab1e..de6b981c02 100644
--- a/vector/src/debug/java/im/vector/app/features/debug/DebugMaterialThemeActivity.kt
+++ b/vector/src/debug/java/im/vector/app/features/debug/DebugMaterialThemeActivity.kt
@@ -18,9 +18,8 @@ package im.vector.app.features.debug
import android.os.Bundle
import android.view.Menu
-import androidx.appcompat.app.AlertDialog
import androidx.appcompat.app.AppCompatActivity
-import com.google.android.material.bottomsheet.BottomSheetDialogFragment
+import com.google.android.material.dialog.MaterialAlertDialogBuilder
import com.google.android.material.snackbar.Snackbar
import im.vector.app.R
import im.vector.app.core.utils.toast
@@ -45,7 +44,8 @@ abstract class DebugMaterialThemeActivity : AppCompatActivity() {
}
views.debugShowDialog.setOnClickListener {
- AlertDialog.Builder(this)
+ MaterialAlertDialogBuilder(this)
+ .setTitle("Dialog title")
.setMessage("Dialog content")
.setIcon(R.drawable.ic_settings_x)
.setPositiveButton("Positive", null)
@@ -55,7 +55,7 @@ abstract class DebugMaterialThemeActivity : AppCompatActivity() {
}
views.debugShowBottomSheet.setOnClickListener {
- BottomSheetDialogFragment().show(supportFragmentManager, "TAG")
+ DebugBottomSheet().show(supportFragmentManager, "TAG")
}
}
diff --git a/vector/src/debug/java/im/vector/app/features/debug/DebugMaterialThemeDarkDefaultActivity.kt b/vector/src/debug/java/im/vector/app/features/debug/DebugMaterialThemeDarkDefaultActivity.kt
new file mode 100644
index 0000000000..7e014577de
--- /dev/null
+++ b/vector/src/debug/java/im/vector/app/features/debug/DebugMaterialThemeDarkDefaultActivity.kt
@@ -0,0 +1,19 @@
+/*
+ * 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.app.features.debug
+
+class DebugMaterialThemeDarkDefaultActivity : DebugMaterialThemeActivity()
diff --git a/vector/src/debug/java/im/vector/app/features/debug/DebugMaterialThemeDarkActivity.kt b/vector/src/debug/java/im/vector/app/features/debug/DebugMaterialThemeDarkTestActivity.kt
similarity index 89%
rename from vector/src/debug/java/im/vector/app/features/debug/DebugMaterialThemeDarkActivity.kt
rename to vector/src/debug/java/im/vector/app/features/debug/DebugMaterialThemeDarkTestActivity.kt
index e6e1bf04ee..4a1ed04f6a 100644
--- a/vector/src/debug/java/im/vector/app/features/debug/DebugMaterialThemeDarkActivity.kt
+++ b/vector/src/debug/java/im/vector/app/features/debug/DebugMaterialThemeDarkTestActivity.kt
@@ -16,4 +16,4 @@
package im.vector.app.features.debug
-class DebugMaterialThemeDarkActivity : DebugMaterialThemeActivity()
+class DebugMaterialThemeDarkTestActivity : DebugMaterialThemeActivity()
diff --git a/vector/src/debug/java/im/vector/app/features/debug/DebugMaterialThemeDarkVectorActivity.kt b/vector/src/debug/java/im/vector/app/features/debug/DebugMaterialThemeDarkVectorActivity.kt
new file mode 100644
index 0000000000..6ac27aed45
--- /dev/null
+++ b/vector/src/debug/java/im/vector/app/features/debug/DebugMaterialThemeDarkVectorActivity.kt
@@ -0,0 +1,19 @@
+/*
+ * 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.app.features.debug
+
+class DebugMaterialThemeDarkVectorActivity : DebugMaterialThemeActivity()
diff --git a/vector/src/debug/java/im/vector/app/features/debug/DebugMaterialThemeLightDefaultActivity.kt b/vector/src/debug/java/im/vector/app/features/debug/DebugMaterialThemeLightDefaultActivity.kt
new file mode 100644
index 0000000000..f6327e363b
--- /dev/null
+++ b/vector/src/debug/java/im/vector/app/features/debug/DebugMaterialThemeLightDefaultActivity.kt
@@ -0,0 +1,19 @@
+/*
+ * 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.app.features.debug
+
+class DebugMaterialThemeLightDefaultActivity : DebugMaterialThemeActivity()
diff --git a/vector/src/debug/java/im/vector/app/features/debug/DebugMaterialThemeLightActivity.kt b/vector/src/debug/java/im/vector/app/features/debug/DebugMaterialThemeLightTestActivity.kt
similarity index 89%
rename from vector/src/debug/java/im/vector/app/features/debug/DebugMaterialThemeLightActivity.kt
rename to vector/src/debug/java/im/vector/app/features/debug/DebugMaterialThemeLightTestActivity.kt
index d1d3061cad..ae6c1dd68c 100644
--- a/vector/src/debug/java/im/vector/app/features/debug/DebugMaterialThemeLightActivity.kt
+++ b/vector/src/debug/java/im/vector/app/features/debug/DebugMaterialThemeLightTestActivity.kt
@@ -16,4 +16,4 @@
package im.vector.app.features.debug
-class DebugMaterialThemeLightActivity : DebugMaterialThemeActivity()
+class DebugMaterialThemeLightTestActivity : DebugMaterialThemeActivity()
diff --git a/vector/src/debug/java/im/vector/app/features/debug/DebugMaterialThemeLightVectorActivity.kt b/vector/src/debug/java/im/vector/app/features/debug/DebugMaterialThemeLightVectorActivity.kt
new file mode 100644
index 0000000000..b4fb3c1cc8
--- /dev/null
+++ b/vector/src/debug/java/im/vector/app/features/debug/DebugMaterialThemeLightVectorActivity.kt
@@ -0,0 +1,19 @@
+/*
+ * 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.app.features.debug
+
+class DebugMaterialThemeLightVectorActivity : DebugMaterialThemeActivity()
diff --git a/vector/src/debug/java/im/vector/app/features/debug/DebugMenuActivity.kt b/vector/src/debug/java/im/vector/app/features/debug/DebugMenuActivity.kt
index 8699b238ec..65a24c9aeb 100644
--- a/vector/src/debug/java/im/vector/app/features/debug/DebugMenuActivity.kt
+++ b/vector/src/debug/java/im/vector/app/features/debug/DebugMenuActivity.kt
@@ -71,10 +71,29 @@ class DebugMenuActivity : VectorBaseActivity() {
private fun setupViews() {
views.debugTestTextViewLink.setOnClickListener { testTextViewLink() }
+ views.debugOpenButtonStyles.setOnClickListener {
+ startActivity(Intent(this, DebugVectorButtonStylesActivity::class.java))
+ }
views.debugShowSasEmoji.setOnClickListener { showSasEmoji() }
views.debugTestNotification.setOnClickListener { testNotification() }
- views.debugTestMaterialThemeLight.setOnClickListener { testMaterialThemeLight() }
- views.debugTestMaterialThemeDark.setOnClickListener { testMaterialThemeDark() }
+ views.debugTestMaterialThemeLightDefault.setOnClickListener {
+ startActivity(Intent(this, DebugMaterialThemeLightDefaultActivity::class.java))
+ }
+ views.debugTestMaterialThemeLightTest.setOnClickListener {
+ startActivity(Intent(this, DebugMaterialThemeLightTestActivity::class.java))
+ }
+ views.debugTestMaterialThemeLightVector.setOnClickListener {
+ startActivity(Intent(this, DebugMaterialThemeLightVectorActivity::class.java))
+ }
+ views.debugTestMaterialThemeDarkDefault.setOnClickListener {
+ startActivity(Intent(this, DebugMaterialThemeDarkDefaultActivity::class.java))
+ }
+ views.debugTestMaterialThemeDarkTest.setOnClickListener {
+ startActivity(Intent(this, DebugMaterialThemeDarkTestActivity::class.java))
+ }
+ views.debugTestMaterialThemeDarkVector.setOnClickListener {
+ startActivity(Intent(this, DebugMaterialThemeDarkVectorActivity::class.java))
+ }
views.debugTestCrash.setOnClickListener { testCrash() }
views.debugScanQrCode.setOnClickListener { scanQRCode() }
}
@@ -174,14 +193,6 @@ class DebugMenuActivity : VectorBaseActivity() {
)
}
- private fun testMaterialThemeLight() {
- startActivity(Intent(this, DebugMaterialThemeLightActivity::class.java))
- }
-
- private fun testMaterialThemeDark() {
- startActivity(Intent(this, DebugMaterialThemeDarkActivity::class.java))
- }
-
private fun testCrash() {
throw RuntimeException("Application crashed from user demand")
}
diff --git a/vector/src/debug/java/im/vector/app/features/debug/DebugVectorButtonStylesActivity.kt b/vector/src/debug/java/im/vector/app/features/debug/DebugVectorButtonStylesActivity.kt
new file mode 100644
index 0000000000..783a2a3eb5
--- /dev/null
+++ b/vector/src/debug/java/im/vector/app/features/debug/DebugVectorButtonStylesActivity.kt
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2021 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.app.features.debug
+
+import im.vector.app.core.platform.VectorBaseActivity
+import im.vector.app.databinding.ActivityDebugButtonStylesBinding
+
+class DebugVectorButtonStylesActivity : VectorBaseActivity() {
+ override fun getBinding() = ActivityDebugButtonStylesBinding.inflate(layoutInflater)
+}
diff --git a/vector/src/debug/res/layout/activity_debug_button_styles.xml b/vector/src/debug/res/layout/activity_debug_button_styles.xml
new file mode 100644
index 0000000000..3973f7cbb6
--- /dev/null
+++ b/vector/src/debug/res/layout/activity_debug_button_styles.xml
@@ -0,0 +1,131 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/vector/src/debug/res/layout/activity_debug_menu.xml b/vector/src/debug/res/layout/activity_debug_menu.xml
index 6a41488987..454d8992fd 100644
--- a/vector/src/debug/res/layout/activity_debug_menu.xml
+++ b/vector/src/debug/res/layout/activity_debug_menu.xml
@@ -20,51 +20,106 @@
android:padding="@dimen/layout_horizontal_margin"
android:showDividers="middle">
-
-
-
+ android:text="Light theme" />
-
+
+
+
+
+
+
+
+
+
+ android:text="Dark theme" />
-
+
+
+
+
+
+
+
+
+
+
+
-
-
diff --git a/vector/src/debug/res/layout/activity_test_material_theme.xml b/vector/src/debug/res/layout/activity_test_material_theme.xml
index 21a2d3fbf5..2ec23a4b31 100644
--- a/vector/src/debug/res/layout/activity_test_material_theme.xml
+++ b/vector/src/debug/res/layout/activity_test_material_theme.xml
@@ -5,7 +5,6 @@
android:id="@+id/coordinatorLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:orientation="vertical"
tools:context=".features.debug.DebugMaterialThemeActivity"
tools:ignore="HardcodedText">
@@ -28,6 +27,229 @@
app:subtitle="Toolbar Subtitle"
app:title="Toolbar Title" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
-
+
+
-
+
+
-
+
+
+
+
-
-
-
-
@@ -146,7 +413,8 @@
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_horizontal">
+
+
diff --git a/vector/src/debug/res/layout/demo_themes.xml b/vector/src/debug/res/layout/demo_themes.xml
index ba970d699c..7cd4a77066 100644
--- a/vector/src/debug/res/layout/demo_themes.xml
+++ b/vector/src/debug/res/layout/demo_themes.xml
@@ -8,8 +8,7 @@
+ android:orientation="vertical">
diff --git a/vector/src/debug/res/layout/item_test_linkify.xml b/vector/src/debug/res/layout/item_test_linkify.xml
index 89d1dade0d..a6062256a3 100644
--- a/vector/src/debug/res/layout/item_test_linkify.xml
+++ b/vector/src/debug/res/layout/item_test_linkify.xml
@@ -1,5 +1,5 @@
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/vector/src/debug/res/values/styles.xml b/vector/src/debug/res/values/styles.xml
index 063f652d08..090de4dd4b 100644
--- a/vector/src/debug/res/values/styles.xml
+++ b/vector/src/debug/res/values/styles.xml
@@ -7,6 +7,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vector/src/main/java/im/vector/app/core/animations/behavior/PercentViewBehavior.kt b/vector/src/main/java/im/vector/app/core/animations/behavior/PercentViewBehavior.kt
deleted file mode 100644
index 8b42485cb6..0000000000
--- a/vector/src/main/java/im/vector/app/core/animations/behavior/PercentViewBehavior.kt
+++ /dev/null
@@ -1,222 +0,0 @@
-/*
- * Copyright 2020 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.app.core.animations.behavior
-
-import android.animation.ArgbEvaluator
-import android.content.Context
-import android.graphics.drawable.ColorDrawable
-import android.util.AttributeSet
-import android.view.View
-import androidx.coordinatorlayout.widget.CoordinatorLayout
-import androidx.core.content.withStyledAttributes
-
-import im.vector.app.R
-import kotlin.math.abs
-
-private const val UNSPECIFIED_INT = Integer.MAX_VALUE
-private val UNSPECIFIED_FLOAT = Float.MAX_VALUE
-private const val DEPEND_TYPE_HEIGHT = 0
-private const val DEPEND_TYPE_WIDTH = 1
-private const val DEPEND_TYPE_X = 2
-private const val DEPEND_TYPE_Y = 3
-
-class PercentViewBehavior(context: Context, attrs: AttributeSet) : CoordinatorLayout.Behavior(context, attrs) {
-
- private var dependType: Int = 0
- private var dependViewId: Int = 0
- private var dependTarget: Int = 0
- private var dependStartX: Int = 0
- private var dependStartY: Int = 0
- private var dependStartWidth: Int = 0
- private var dependStartHeight: Int = 0
-
- private var startX: Int = 0
- private var startY: Int = 0
- private var startWidth: Int = 0
- private var startHeight: Int = 0
- private var startBackgroundColor: Int = 0
- private var startAlpha: Float = 0f
- private var startRotateX: Float = 0f
- private var startRotateY: Float = 0f
-
- private var targetX: Int = 0
- private var targetY: Int = 0
- private var targetWidth: Int = 0
- private var targetHeight: Int = 0
- private var targetBackgroundColor: Int = 0
- private var targetAlpha: Float = 0f
- private var targetRotateX: Float = 0f
- private var targetRotateY: Float = 0f
-
- /**
- * Is the values prepared to be use
- */
- private var isPrepared: Boolean = false
-
- init {
- context.withStyledAttributes(attrs, R.styleable.PercentViewBehavior) {
- dependViewId = getResourceId(R.styleable.PercentViewBehavior_behavior_dependsOn, 0)
- dependType = getInt(R.styleable.PercentViewBehavior_behavior_dependType, DEPEND_TYPE_WIDTH)
- dependTarget = getDimensionPixelOffset(R.styleable.PercentViewBehavior_behavior_dependTarget, UNSPECIFIED_INT)
- targetX = getDimensionPixelOffset(R.styleable.PercentViewBehavior_behavior_targetX, UNSPECIFIED_INT)
- targetY = getDimensionPixelOffset(R.styleable.PercentViewBehavior_behavior_targetY, UNSPECIFIED_INT)
- targetWidth = getDimensionPixelOffset(R.styleable.PercentViewBehavior_behavior_targetWidth, UNSPECIFIED_INT)
- targetHeight = getDimensionPixelOffset(R.styleable.PercentViewBehavior_behavior_targetHeight, UNSPECIFIED_INT)
- targetBackgroundColor = getColor(R.styleable.PercentViewBehavior_behavior_targetBackgroundColor, UNSPECIFIED_INT)
- targetAlpha = getFloat(R.styleable.PercentViewBehavior_behavior_targetAlpha, UNSPECIFIED_FLOAT)
- targetRotateX = getFloat(R.styleable.PercentViewBehavior_behavior_targetRotateX, UNSPECIFIED_FLOAT)
- targetRotateY = getFloat(R.styleable.PercentViewBehavior_behavior_targetRotateY, UNSPECIFIED_FLOAT)
- }
- }
-
- private fun prepare(parent: CoordinatorLayout, child: View, dependency: View) {
- dependStartX = dependency.x.toInt()
- dependStartY = dependency.y.toInt()
- dependStartWidth = dependency.width
- dependStartHeight = dependency.height
- startX = child.x.toInt()
- startY = child.y.toInt()
- startWidth = child.width
- startHeight = child.height
- startAlpha = child.alpha
- startRotateX = child.rotationX
- startRotateY = child.rotationY
-
- // only set the start background color when the background is color drawable
- val background = child.background
- if (background is ColorDrawable) {
- startBackgroundColor = background.color
- }
-
- // if parent fitsSystemWindows is true, add status bar height to target y if specified
- if (parent.fitsSystemWindows && targetY != UNSPECIFIED_INT) {
- var result = 0
- val resources = parent.context.resources
- val resourceId = resources.getIdentifier("status_bar_height", "dimen", "android")
- if (resourceId > 0) {
- result = resources.getDimensionPixelSize(resourceId)
- }
- targetY += result
- }
- isPrepared = true
- }
-
- override fun layoutDependsOn(parent: CoordinatorLayout, child: V, dependency: View): Boolean {
- return dependency.id == dependViewId
- }
-
- override fun onDependentViewChanged(parent: CoordinatorLayout, child: V, dependency: View): Boolean {
- // first time, prepare values before continue
- if (!isPrepared) {
- prepare(parent, child, dependency)
- }
- updateView(child, dependency)
- return false
- }
-
- override fun onLayoutChild(parent: CoordinatorLayout, child: V, layoutDirection: Int): Boolean {
- val bool = super.onLayoutChild(parent, child, layoutDirection)
- if (isPrepared) {
- updateView(child, parent.getDependencies(child)[0])
- }
- return bool
- }
-
- /**
- * Update the child view from the dependency states
- *
- * @param child child view
- * @param dependency dependency view
- */
- private fun updateView(child: V, dependency: View) {
- var percent = 0f
- var start = 0f
- var current = 0f
- var end = UNSPECIFIED_INT.toFloat()
- when (dependType) {
- DEPEND_TYPE_WIDTH -> {
- start = dependStartWidth.toFloat()
- current = dependency.width.toFloat()
- end = dependTarget.toFloat()
- }
- DEPEND_TYPE_HEIGHT -> {
- start = dependStartHeight.toFloat()
- current = dependency.height.toFloat()
- end = dependTarget.toFloat()
- }
- DEPEND_TYPE_X -> {
- start = dependStartX.toFloat()
- current = dependency.x
- end = dependTarget.toFloat()
- }
- DEPEND_TYPE_Y -> {
- start = dependStartY.toFloat()
- current = dependency.y
- end = dependTarget.toFloat()
- }
- }
-
- // need to define target value according to the depend type, if not then skip
- if (end != UNSPECIFIED_INT.toFloat()) {
- percent = abs(current - start) / abs(end - start)
- }
- updateViewWithPercent(child, if (percent > 1f) 1f else percent)
- }
-
- private fun updateViewWithPercent(child: View, percent: Float) {
- var newX = if (targetX == UNSPECIFIED_INT) 0f else (targetX - startX) * percent
- var newY = if (targetY == UNSPECIFIED_INT) 0f else (targetY - startY) * percent
-
- // set scale
- if (targetWidth != UNSPECIFIED_INT) {
- val newWidth = startWidth + (targetWidth - startWidth) * percent
- child.scaleX = newWidth / startWidth
- newX -= (startWidth - newWidth) / 2
- }
- if (targetHeight != UNSPECIFIED_INT) {
- val newHeight = startHeight + (targetHeight - startHeight) * percent
- child.scaleY = newHeight / startHeight
- newY -= (startHeight - newHeight) / 2
- }
-
- // set new position
- child.translationX = newX
- child.translationY = newY
-
- // set alpha
- if (targetAlpha != UNSPECIFIED_FLOAT) {
- child.alpha = startAlpha + (targetAlpha - startAlpha) * percent
- }
-
- // set background color
- if (targetBackgroundColor != UNSPECIFIED_INT && startBackgroundColor != 0) {
- val evaluator = ArgbEvaluator()
- val color = evaluator.evaluate(percent, startBackgroundColor, targetBackgroundColor) as Int
- child.setBackgroundColor(color)
- }
-
- // set rotation
- if (targetRotateX != UNSPECIFIED_FLOAT) {
- child.rotationX = startRotateX + (targetRotateX - startRotateX) * percent
- }
- if (targetRotateY != UNSPECIFIED_FLOAT) {
- child.rotationY = startRotateY + (targetRotateY - startRotateY) * percent
- }
-
- child.requestLayout()
- }
-}
diff --git a/vector/src/main/java/im/vector/app/core/dialogs/ConfirmationDialogBuilder.kt b/vector/src/main/java/im/vector/app/core/dialogs/ConfirmationDialogBuilder.kt
index ed429b30c6..d2d0967939 100644
--- a/vector/src/main/java/im/vector/app/core/dialogs/ConfirmationDialogBuilder.kt
+++ b/vector/src/main/java/im/vector/app/core/dialogs/ConfirmationDialogBuilder.kt
@@ -18,8 +18,8 @@ package im.vector.app.core.dialogs
import android.app.Activity
import androidx.annotation.StringRes
-import androidx.appcompat.app.AlertDialog
import androidx.core.view.isVisible
+import com.google.android.material.dialog.MaterialAlertDialogBuilder
import im.vector.app.R
import im.vector.app.databinding.DialogConfirmationWithReasonBinding
@@ -46,7 +46,7 @@ object ConfirmationDialogBuilder {
views.dialogReasonInput.setHint(reasonHintRes)
}
- AlertDialog.Builder(activity)
+ MaterialAlertDialogBuilder(activity)
.setTitle(titleRes)
.setView(layout)
.setPositiveButton(positiveRes) { _, _ ->
diff --git a/vector/src/main/java/im/vector/app/core/dialogs/DialogLocker.kt b/vector/src/main/java/im/vector/app/core/dialogs/DialogLocker.kt
index caad06c959..51a513e11e 100644
--- a/vector/src/main/java/im/vector/app/core/dialogs/DialogLocker.kt
+++ b/vector/src/main/java/im/vector/app/core/dialogs/DialogLocker.kt
@@ -18,6 +18,7 @@ package im.vector.app.core.dialogs
import android.os.Bundle
import androidx.appcompat.app.AlertDialog
+import com.google.android.material.dialog.MaterialAlertDialogBuilder
import im.vector.app.core.platform.Restorable
import timber.log.Timber
@@ -38,7 +39,7 @@ class DialogLocker(savedInstanceState: Bundle?) : Restorable {
isDialogDisplayed = true
}
- fun displayDialog(builder: () -> AlertDialog.Builder): AlertDialog? {
+ fun displayDialog(builder: () -> MaterialAlertDialogBuilder): AlertDialog? {
return if (isDialogDisplayed) {
Timber.w("Filtered dialog request")
null
diff --git a/vector/src/main/java/im/vector/app/core/dialogs/ExportKeysDialog.kt b/vector/src/main/java/im/vector/app/core/dialogs/ExportKeysDialog.kt
index 23018fe758..afa50de9b6 100644
--- a/vector/src/main/java/im/vector/app/core/dialogs/ExportKeysDialog.kt
+++ b/vector/src/main/java/im/vector/app/core/dialogs/ExportKeysDialog.kt
@@ -18,7 +18,7 @@ package im.vector.app.core.dialogs
import android.app.Activity
import android.text.Editable
-import androidx.appcompat.app.AlertDialog
+import com.google.android.material.dialog.MaterialAlertDialogBuilder
import im.vector.app.R
import im.vector.app.core.extensions.showPassword
import im.vector.app.core.platform.SimpleTextWatcher
@@ -31,7 +31,7 @@ class ExportKeysDialog {
fun show(activity: Activity, exportKeyDialogListener: ExportKeyDialogListener) {
val dialogLayout = activity.layoutInflater.inflate(R.layout.dialog_export_e2e_keys, null)
val views = DialogExportE2eKeysBinding.bind(dialogLayout)
- val builder = AlertDialog.Builder(activity)
+ val builder = MaterialAlertDialogBuilder(activity)
.setTitle(R.string.encryption_export_room_keys)
.setView(dialogLayout)
diff --git a/vector/src/main/java/im/vector/app/core/dialogs/Extensions.kt b/vector/src/main/java/im/vector/app/core/dialogs/Extensions.kt
index f444fca221..56544f929e 100644
--- a/vector/src/main/java/im/vector/app/core/dialogs/Extensions.kt
+++ b/vector/src/main/java/im/vector/app/core/dialogs/Extensions.kt
@@ -16,12 +16,12 @@
package im.vector.app.core.dialogs
-import androidx.annotation.ColorRes
+import androidx.annotation.AttrRes
import androidx.appcompat.app.AlertDialog
-import androidx.core.content.ContextCompat
import im.vector.app.R
+import im.vector.app.features.themes.ThemeUtils
-fun AlertDialog.withColoredButton(whichButton: Int, @ColorRes color: Int = R.color.vector_error_color): AlertDialog {
- getButton(whichButton)?.setTextColor(ContextCompat.getColor(context, color))
+fun AlertDialog.withColoredButton(whichButton: Int, @AttrRes color: Int = R.attr.colorError): AlertDialog {
+ getButton(whichButton)?.setTextColor(ThemeUtils.getColor(context, color))
return this
}
diff --git a/vector/src/main/java/im/vector/app/core/dialogs/GalleryOrCameraDialogHelper.kt b/vector/src/main/java/im/vector/app/core/dialogs/GalleryOrCameraDialogHelper.kt
index 8cb122d5bb..3b25fd3f89 100644
--- a/vector/src/main/java/im/vector/app/core/dialogs/GalleryOrCameraDialogHelper.kt
+++ b/vector/src/main/java/im/vector/app/core/dialogs/GalleryOrCameraDialogHelper.kt
@@ -18,11 +18,12 @@ package im.vector.app.core.dialogs
import android.app.Activity
import android.net.Uri
-import androidx.appcompat.app.AlertDialog
import androidx.core.net.toUri
import androidx.fragment.app.Fragment
+import com.google.android.material.dialog.MaterialAlertDialogBuilder
import com.yalantis.ucrop.UCrop
import im.vector.app.R
+import im.vector.app.core.dialogs.GalleryOrCameraDialogHelper.Listener
import im.vector.app.core.extensions.insertBeforeLast
import im.vector.app.core.extensions.registerStartForActivityResult
import im.vector.app.core.resources.ColorProvider
@@ -101,7 +102,7 @@ class GalleryOrCameraDialogHelper(
}
fun show() {
- AlertDialog.Builder(activity)
+ MaterialAlertDialogBuilder(activity)
.setTitle(R.string.attachment_type_dialog_title)
.setItems(arrayOf(
fragment.getString(R.string.attachment_type_camera),
diff --git a/vector/src/main/java/im/vector/app/core/dialogs/ManuallyVerifyDialog.kt b/vector/src/main/java/im/vector/app/core/dialogs/ManuallyVerifyDialog.kt
index 91f16f371c..979558afd8 100644
--- a/vector/src/main/java/im/vector/app/core/dialogs/ManuallyVerifyDialog.kt
+++ b/vector/src/main/java/im/vector/app/core/dialogs/ManuallyVerifyDialog.kt
@@ -17,7 +17,7 @@
package im.vector.app.core.dialogs
import android.app.Activity
-import androidx.appcompat.app.AlertDialog
+import com.google.android.material.dialog.MaterialAlertDialogBuilder
import im.vector.app.R
import im.vector.app.databinding.DialogDeviceVerifyBinding
import org.matrix.android.sdk.api.extensions.getFingerprintHumanReadable
@@ -28,7 +28,7 @@ object ManuallyVerifyDialog {
fun show(activity: Activity, cryptoDeviceInfo: CryptoDeviceInfo, onVerified: (() -> Unit)) {
val dialogLayout = activity.layoutInflater.inflate(R.layout.dialog_device_verify, null)
val views = DialogDeviceVerifyBinding.bind(dialogLayout)
- val builder = AlertDialog.Builder(activity)
+ val builder = MaterialAlertDialogBuilder(activity)
.setTitle(R.string.cross_signing_verify_by_text)
.setView(dialogLayout)
.setPositiveButton(R.string.encryption_information_verify) { _, _ ->
diff --git a/vector/src/main/java/im/vector/app/core/dialogs/PhotoOrVideoDialog.kt b/vector/src/main/java/im/vector/app/core/dialogs/PhotoOrVideoDialog.kt
index d9188397d8..dad1fba600 100644
--- a/vector/src/main/java/im/vector/app/core/dialogs/PhotoOrVideoDialog.kt
+++ b/vector/src/main/java/im/vector/app/core/dialogs/PhotoOrVideoDialog.kt
@@ -17,8 +17,8 @@
package im.vector.app.core.dialogs
import android.app.Activity
-import androidx.appcompat.app.AlertDialog
import androidx.core.view.isVisible
+import com.google.android.material.dialog.MaterialAlertDialogBuilder
import im.vector.app.R
import im.vector.app.databinding.DialogPhotoOrVideoBinding
import im.vector.app.features.settings.VectorPreferences
@@ -51,7 +51,7 @@ class PhotoOrVideoDialog(
// Always default to photo
views.dialogPhotoOrVideoPhoto.isChecked = true
- AlertDialog.Builder(activity)
+ MaterialAlertDialogBuilder(activity)
.setTitle(R.string.option_take_photo_video)
.setView(dialogLayout)
.setPositiveButton(R.string._continue) { _, _ ->
@@ -95,7 +95,7 @@ class PhotoOrVideoDialog(
views.dialogPhotoOrVideoVideo.isChecked = currentMode == VectorPreferences.TAKE_PHOTO_VIDEO_MODE_VIDEO
views.dialogPhotoOrVideoAlwaysAsk.isChecked = currentMode == VectorPreferences.TAKE_PHOTO_VIDEO_MODE_ALWAYS_ASK
- AlertDialog.Builder(activity)
+ MaterialAlertDialogBuilder(activity)
.setTitle(R.string.option_take_photo_video)
.setView(dialogLayout)
.setPositiveButton(R.string.save) { _, _ ->
diff --git a/vector/src/main/java/im/vector/app/core/dialogs/PromptPasswordDialog.kt b/vector/src/main/java/im/vector/app/core/dialogs/PromptPasswordDialog.kt
index 1839a8b11c..500062376e 100644
--- a/vector/src/main/java/im/vector/app/core/dialogs/PromptPasswordDialog.kt
+++ b/vector/src/main/java/im/vector/app/core/dialogs/PromptPasswordDialog.kt
@@ -21,6 +21,7 @@ import android.content.DialogInterface
import android.text.Editable
import android.view.KeyEvent
import androidx.appcompat.app.AlertDialog
+import com.google.android.material.dialog.MaterialAlertDialogBuilder
import im.vector.app.R
import im.vector.app.core.extensions.hideKeyboard
import im.vector.app.core.extensions.showPassword
@@ -47,7 +48,7 @@ class PromptPasswordDialog {
views.promptPasswordPasswordReveal.render(passwordVisible)
}
- AlertDialog.Builder(activity)
+ MaterialAlertDialogBuilder(activity)
.setIcon(android.R.drawable.ic_dialog_alert)
.setTitle(R.string.devices_delete_dialog_title)
.setView(dialogLayout)
diff --git a/vector/src/main/java/im/vector/app/core/dialogs/UnrecognizedCertificateDialog.kt b/vector/src/main/java/im/vector/app/core/dialogs/UnrecognizedCertificateDialog.kt
index bf25275335..ca92e6aa75 100644
--- a/vector/src/main/java/im/vector/app/core/dialogs/UnrecognizedCertificateDialog.kt
+++ b/vector/src/main/java/im/vector/app/core/dialogs/UnrecognizedCertificateDialog.kt
@@ -16,7 +16,7 @@
package im.vector.app.core.dialogs
import android.app.Activity
-import androidx.appcompat.app.AlertDialog
+import com.google.android.material.dialog.MaterialAlertDialogBuilder
import im.vector.app.R
import im.vector.app.core.di.ActiveSessionHolder
import im.vector.app.core.resources.StringProvider
@@ -92,7 +92,7 @@ class UnrecognizedCertificateDialog @Inject constructor(
}
}
- val builder = AlertDialog.Builder(activity)
+ val builder = MaterialAlertDialogBuilder(activity)
val inflater = activity.layoutInflater
val layout = inflater.inflate(R.layout.dialog_ssl_fingerprint, null)
val views = DialogSslFingerprintBinding.bind(layout)
diff --git a/vector/src/main/java/im/vector/app/core/epoxy/BottomSheetDividerItem.kt b/vector/src/main/java/im/vector/app/core/epoxy/BottomSheetDividerItem.kt
new file mode 100644
index 0000000000..2d65f0ce0c
--- /dev/null
+++ b/vector/src/main/java/im/vector/app/core/epoxy/BottomSheetDividerItem.kt
@@ -0,0 +1,24 @@
+/*
+ * 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.app.core.epoxy
+
+import com.airbnb.epoxy.EpoxyModelClass
+import im.vector.app.R
+
+@EpoxyModelClass(layout = R.layout.item_divider_on_surface)
+abstract class BottomSheetDividerItem : VectorEpoxyModel() {
+ class Holder : VectorEpoxyHolder()
+}
diff --git a/vector/src/main/java/im/vector/app/core/epoxy/DividerItem.kt b/vector/src/main/java/im/vector/app/core/epoxy/DividerItem.kt
index a08b7d7e0c..73568444b6 100644
--- a/vector/src/main/java/im/vector/app/core/epoxy/DividerItem.kt
+++ b/vector/src/main/java/im/vector/app/core/epoxy/DividerItem.kt
@@ -15,25 +15,10 @@
*/
package im.vector.app.core.epoxy
-import com.airbnb.epoxy.EpoxyAttribute
import com.airbnb.epoxy.EpoxyModelClass
import im.vector.app.R
-/**
- * Default background color is for the bottom sheets (R.attr.vctr_list_bottom_sheet_divider_color).
- * To use in fragment, set color using R.attr.riotx_list_divider_color
- */
@EpoxyModelClass(layout = R.layout.item_divider)
abstract class DividerItem : VectorEpoxyModel() {
-
- @EpoxyAttribute var color: Int = -1
-
- override fun bind(holder: Holder) {
- super.bind(holder)
- if (color != -1) {
- holder.view.setBackgroundColor(color)
- }
- }
-
class Holder : VectorEpoxyHolder()
}
diff --git a/vector/src/main/java/im/vector/app/core/epoxy/bottomsheet/BottomSheetActionItem.kt b/vector/src/main/java/im/vector/app/core/epoxy/bottomsheet/BottomSheetActionItem.kt
index c3aaede109..854a5d3419 100644
--- a/vector/src/main/java/im/vector/app/core/epoxy/bottomsheet/BottomSheetActionItem.kt
+++ b/vector/src/main/java/im/vector/app/core/epoxy/bottomsheet/BottomSheetActionItem.kt
@@ -79,9 +79,9 @@ abstract class BottomSheetActionItem : VectorEpoxyModel()
}
holder.title.text = title
val titleTintColor = if (destructive) {
- ContextCompat.getColor(holder.view.context, R.color.riotx_notice)
+ ThemeUtils.getColor(holder.view.context, R.attr.colorError)
} else {
- ThemeUtils.getColor(holder.view.context, R.attr.riotx_text_primary)
+ ThemeUtils.getColor(holder.view.context, R.attr.vctr_content_primary)
}
val iconTintColor = if (destructive) {
- ContextCompat.getColor(holder.view.context, R.color.riotx_notice)
+ ThemeUtils.getColor(holder.view.context, R.attr.colorError)
} else {
- ThemeUtils.getColor(holder.view.context, R.attr.riotx_text_secondary)
+ ThemeUtils.getColor(holder.view.context, R.attr.vctr_content_secondary)
}
holder.title.setTextColor(titleTintColor)
holder.subtitle.setTextOrHide(subtitle)
@@ -119,7 +118,7 @@ abstract class ProfileActionItem : VectorEpoxyModel()
val tintColorSecondary = if (destructive) {
titleTintColor
} else {
- ThemeUtils.getColor(holder.view.context, R.attr.riotx_text_secondary)
+ ThemeUtils.getColor(holder.view.context, R.attr.vctr_content_secondary)
}
holder.editable.setImageResource(editableRes)
ImageViewCompat.setImageTintList(holder.editable, ColorStateList.valueOf(tintColorSecondary))
diff --git a/vector/src/main/java/im/vector/app/core/epoxy/profiles/ProfileItemExtensions.kt b/vector/src/main/java/im/vector/app/core/epoxy/profiles/ProfileItemExtensions.kt
index 99acd6cb36..dd24dea1ed 100644
--- a/vector/src/main/java/im/vector/app/core/epoxy/profiles/ProfileItemExtensions.kt
+++ b/vector/src/main/java/im/vector/app/core/epoxy/profiles/ProfileItemExtensions.kt
@@ -34,7 +34,6 @@ fun EpoxyController.buildProfileSection(title: String) {
fun EpoxyController.buildProfileAction(
id: String,
title: String,
- dividerColor: Int,
subtitle: String? = null,
editable: Boolean = true,
@DrawableRes icon: Int = 0,
@@ -65,7 +64,6 @@ fun EpoxyController.buildProfileAction(
if (divider) {
dividerItem {
id("divider_$title")
- color(dividerColor)
}
}
}
diff --git a/vector/src/main/java/im/vector/app/core/extensions/RecyclerView.kt b/vector/src/main/java/im/vector/app/core/extensions/RecyclerView.kt
index 03ce44f33f..84cce10d92 100644
--- a/vector/src/main/java/im/vector/app/core/extensions/RecyclerView.kt
+++ b/vector/src/main/java/im/vector/app/core/extensions/RecyclerView.kt
@@ -16,13 +16,13 @@
package im.vector.app.core.extensions
+import androidx.annotation.DrawableRes
import androidx.core.content.ContextCompat
import androidx.recyclerview.widget.DividerItemDecoration
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.airbnb.epoxy.EpoxyController
import com.airbnb.epoxy.EpoxyVisibilityTracker
-import im.vector.app.R
/**
* Apply a Vertical LinearLayout Manager to the recyclerView and set the adapter from the epoxy controller
@@ -30,7 +30,8 @@ import im.vector.app.R
fun RecyclerView.configureWith(epoxyController: EpoxyController,
itemAnimator: RecyclerView.ItemAnimator? = null,
viewPool: RecyclerView.RecycledViewPool? = null,
- showDivider: Boolean = false,
+ @DrawableRes
+ dividerDrawable: Int? = null,
hasFixedSize: Boolean = true,
disableItemAnimation: Boolean = false) {
layoutManager = LinearLayoutManager(context, LinearLayoutManager.VERTICAL, false).apply {
@@ -42,10 +43,10 @@ fun RecyclerView.configureWith(epoxyController: EpoxyController,
} else {
itemAnimator?.let { this.itemAnimator = it }
}
- if (showDivider) {
+ dividerDrawable?.let { divider ->
addItemDecoration(
DividerItemDecoration(context, DividerItemDecoration.VERTICAL).apply {
- ContextCompat.getDrawable(context, R.drawable.divider_horizontal)?.let {
+ ContextCompat.getDrawable(context, divider)?.let {
setDrawable(it)
}
}
diff --git a/vector/src/main/java/im/vector/app/core/extensions/TextView.kt b/vector/src/main/java/im/vector/app/core/extensions/TextView.kt
index 6b3902deea..bb991ac32c 100644
--- a/vector/src/main/java/im/vector/app/core/extensions/TextView.kt
+++ b/vector/src/main/java/im/vector/app/core/extensions/TextView.kt
@@ -26,7 +26,6 @@ import android.text.style.UnderlineSpan
import android.view.View
import android.widget.TextView
import androidx.annotation.AttrRes
-import androidx.annotation.ColorRes
import androidx.annotation.DrawableRes
import androidx.annotation.StringRes
import androidx.core.content.ContextCompat
@@ -54,13 +53,13 @@ fun TextView.setTextOrHide(newText: CharSequence?, hideWhenBlank: Boolean = true
* Set text with a colored part
* @param fullTextRes the resource id of the full text. Value MUST contains a parameter for string, which will be replaced by the colored part
* @param coloredTextRes the resource id of the colored part of the text
- * @param colorAttribute attribute of the color. Default to colorAccent
+ * @param colorAttribute attribute of the color. Default to colorPrimary
* @param underline true to also underline the text. Default to false
* @param onClick attributes to handle click on the colored part if needed
*/
fun TextView.setTextWithColoredPart(@StringRes fullTextRes: Int,
@StringRes coloredTextRes: Int,
- @AttrRes colorAttribute: Int = R.attr.colorAccent,
+ @AttrRes colorAttribute: Int = R.attr.colorPrimary,
underline: Boolean = false,
onClick: (() -> Unit)? = null) {
val coloredPart = resources.getString(coloredTextRes)
@@ -95,9 +94,9 @@ fun TextView.setTextWithColoredPart(@StringRes fullTextRes: Int,
}
}
-fun TextView.setLeftDrawable(@DrawableRes iconRes: Int, @ColorRes tintColor: Int? = null) {
+fun TextView.setLeftDrawable(@DrawableRes iconRes: Int, @AttrRes tintColor: Int? = null) {
val icon = if (tintColor != null) {
- val tint = ContextCompat.getColor(context, tintColor)
+ val tint = ThemeUtils.getColor(context, tintColor)
ContextCompat.getDrawable(context, iconRes)?.also {
DrawableCompat.setTint(it.mutate(), tint)
}
diff --git a/vector/src/main/java/im/vector/app/core/platform/BadgeFloatingActionButton.kt b/vector/src/main/java/im/vector/app/core/platform/BadgeFloatingActionButton.kt
index 088a535435..e2adc0993a 100644
--- a/vector/src/main/java/im/vector/app/core/platform/BadgeFloatingActionButton.kt
+++ b/vector/src/main/java/im/vector/app/core/platform/BadgeFloatingActionButton.kt
@@ -122,6 +122,10 @@ class BadgeFloatingActionButton @JvmOverloads constructor(
}
init {
+ if (isInEditMode) {
+ count = 3
+ }
+
countStr = countStr(count)
textPaint.getTextBounds(countStr, 0, countStr.length, counterTextBounds)
countMaxStr = "$maxCount+"
diff --git a/vector/src/main/java/im/vector/app/core/platform/VectorBaseActivity.kt b/vector/src/main/java/im/vector/app/core/platform/VectorBaseActivity.kt
index b35d582a00..ddfb578e95 100644
--- a/vector/src/main/java/im/vector/app/core/platform/VectorBaseActivity.kt
+++ b/vector/src/main/java/im/vector/app/core/platform/VectorBaseActivity.kt
@@ -27,7 +27,6 @@ import android.view.View
import android.view.WindowInsetsController
import android.view.WindowManager
import android.widget.TextView
-import androidx.annotation.AttrRes
import androidx.annotation.CallSuper
import androidx.annotation.MainThread
import androidx.annotation.MenuRes
@@ -456,7 +455,6 @@ abstract class VectorBaseActivity : AppCompatActivity(), HasScr
if (menuRes != -1) {
menuInflater.inflate(menuRes, menu)
- ThemeUtils.tintMenuIcons(menu, ThemeUtils.getColor(this, getMenuTint()))
return true
}
@@ -584,9 +582,6 @@ abstract class VectorBaseActivity : AppCompatActivity(), HasScr
@MenuRes
open fun getMenuRes() = -1
- @AttrRes
- open fun getMenuTint() = R.attr.vctr_icon_tint_on_light_action_bar_color
-
/**
* Return a object containing other themes for this activity
*/
diff --git a/vector/src/main/java/im/vector/app/core/platform/VectorBaseFragment.kt b/vector/src/main/java/im/vector/app/core/platform/VectorBaseFragment.kt
index 258517aa39..b5b6937aad 100644
--- a/vector/src/main/java/im/vector/app/core/platform/VectorBaseFragment.kt
+++ b/vector/src/main/java/im/vector/app/core/platform/VectorBaseFragment.kt
@@ -29,12 +29,12 @@ import android.view.View
import android.view.ViewGroup
import androidx.annotation.CallSuper
import androidx.annotation.MainThread
-import androidx.appcompat.app.AlertDialog
import androidx.appcompat.widget.Toolbar
import androidx.lifecycle.ViewModelProvider
import androidx.viewbinding.ViewBinding
import com.airbnb.mvrx.BaseMvRxFragment
import com.bumptech.glide.util.Util.assertMainThread
+import com.google.android.material.dialog.MaterialAlertDialogBuilder
import com.jakewharton.rxbinding3.view.clicks
import im.vector.app.R
import im.vector.app.core.di.DaggerScreenComponent
@@ -290,7 +290,7 @@ abstract class VectorBaseFragment : BaseMvRxFragment(), HasScre
* ========================================================================================== */
protected fun displayErrorDialog(throwable: Throwable) {
- AlertDialog.Builder(requireActivity())
+ MaterialAlertDialogBuilder(requireActivity())
.setTitle(R.string.dialog_title_error)
.setMessage(errorFormatter.toHumanReadable(throwable))
.setPositiveButton(R.string.ok, null)
diff --git a/vector/src/main/java/im/vector/app/core/preference/VectorPreference.kt b/vector/src/main/java/im/vector/app/core/preference/VectorPreference.kt
index a40ddef6ab..22fc1758f1 100755
--- a/vector/src/main/java/im/vector/app/core/preference/VectorPreference.kt
+++ b/vector/src/main/java/im/vector/app/core/preference/VectorPreference.kt
@@ -107,7 +107,7 @@ open class VectorPreference : Preference {
val icon = holder.findViewById(android.R.id.icon) as? ImageView
icon?.let {
- val color = ThemeUtils.getColor(context, R.attr.riotx_header_panel_text_secondary)
+ val color = ThemeUtils.getColor(context, R.attr.vctr_content_secondary)
ImageViewCompat.setImageTintList(it, ColorStateList.valueOf(color))
}
}
@@ -116,7 +116,7 @@ open class VectorPreference : Preference {
currentHighlightAnimator?.cancel()
if (isHighlighted) {
val colorFrom = Color.TRANSPARENT
- val colorTo = ThemeUtils.getColor(itemView.context, R.attr.colorAccent)
+ val colorTo = ThemeUtils.getColor(itemView.context, R.attr.colorPrimary)
currentHighlightAnimator = ValueAnimator.ofObject(ArgbEvaluator(), colorFrom, colorTo).apply {
duration = 250 // milliseconds
addUpdateListener { animator ->
diff --git a/vector/src/main/java/im/vector/app/core/preference/VectorPreferenceCategory.kt b/vector/src/main/java/im/vector/app/core/preference/VectorPreferenceCategory.kt
index eb59da640d..d074f0afd9 100644
--- a/vector/src/main/java/im/vector/app/core/preference/VectorPreferenceCategory.kt
+++ b/vector/src/main/java/im/vector/app/core/preference/VectorPreferenceCategory.kt
@@ -48,7 +48,7 @@ class VectorPreferenceCategory : PreferenceCategory {
val titleTextView = holder.findViewById(android.R.id.title) as? TextView
titleTextView?.setTypeface(null, Typeface.BOLD)
- titleTextView?.setTextColor(ThemeUtils.getColor(context, R.attr.riotx_text_primary))
+ titleTextView?.setTextColor(ThemeUtils.getColor(context, R.attr.vctr_content_primary))
// "isIconSpaceReserved = false" does not work for preference category, so remove the padding
if (!isIconSpaceReserved) {
diff --git a/vector/src/main/java/im/vector/app/core/ui/bottomsheet/BottomSheetGenericController.kt b/vector/src/main/java/im/vector/app/core/ui/bottomsheet/BottomSheetGenericController.kt
index ab1480b635..f0715e6bba 100644
--- a/vector/src/main/java/im/vector/app/core/ui/bottomsheet/BottomSheetGenericController.kt
+++ b/vector/src/main/java/im/vector/app/core/ui/bottomsheet/BottomSheetGenericController.kt
@@ -42,7 +42,7 @@ abstract class BottomSheetGenericController()
override fun bind(holder: Holder) {
super.bind(holder)
holder.button.text = text
- val textColor = textColor ?: ThemeUtils.getColor(holder.view.context, R.attr.riotx_text_primary)
+ val textColor = textColor ?: ThemeUtils.getColor(holder.view.context, R.attr.vctr_content_primary)
holder.button.setTextColor(textColor)
if (iconRes != null) {
holder.button.setIconResource(iconRes!!)
diff --git a/vector/src/main/java/im/vector/app/core/ui/list/GenericFooterItem.kt b/vector/src/main/java/im/vector/app/core/ui/list/GenericFooterItem.kt
index 59de6d8b0e..8adad00a1a 100644
--- a/vector/src/main/java/im/vector/app/core/ui/list/GenericFooterItem.kt
+++ b/vector/src/main/java/im/vector/app/core/ui/list/GenericFooterItem.kt
@@ -64,7 +64,7 @@ abstract class GenericFooterItem : VectorEpoxyModel()
if (textColor != null) {
holder.text.setTextColor(textColor!!)
} else {
- holder.text.setTextColor(ThemeUtils.getColor(holder.view.context, R.attr.riotx_text_secondary))
+ holder.text.setTextColor(ThemeUtils.getColor(holder.view.context, R.attr.vctr_content_secondary))
}
holder.view.onClick(itemClickAction)
diff --git a/vector/src/main/java/im/vector/app/core/ui/list/GenericPillItem.kt b/vector/src/main/java/im/vector/app/core/ui/list/GenericPillItem.kt
index c522d53209..451b7f086f 100644
--- a/vector/src/main/java/im/vector/app/core/ui/list/GenericPillItem.kt
+++ b/vector/src/main/java/im/vector/app/core/ui/list/GenericPillItem.kt
@@ -72,7 +72,7 @@ abstract class GenericPillItem : VectorEpoxyModel() {
holder.imageView.isVisible = false
}
if (tintIcon) {
- val iconTintColor = ThemeUtils.getColor(holder.view.context, R.attr.riotx_text_secondary)
+ val iconTintColor = ThemeUtils.getColor(holder.view.context, R.attr.vctr_content_secondary)
ImageViewCompat.setImageTintList(holder.imageView, ColorStateList.valueOf(iconTintColor))
} else {
ImageViewCompat.setImageTintList(holder.imageView, null)
diff --git a/vector/src/main/java/im/vector/app/core/ui/list/GenericWithValueItem.kt b/vector/src/main/java/im/vector/app/core/ui/list/GenericWithValueItem.kt
index c7cd2a8a2f..4ba403fd9a 100644
--- a/vector/src/main/java/im/vector/app/core/ui/list/GenericWithValueItem.kt
+++ b/vector/src/main/java/im/vector/app/core/ui/list/GenericWithValueItem.kt
@@ -76,7 +76,7 @@ abstract class GenericWithValueItem : VectorEpoxyModel = emptyList()
@@ -83,7 +83,10 @@ class KnownCallsViewHolder {
}
}
- fun bind(activeCallPiP: SurfaceViewRenderer, activeCallView: CurrentCallsView, pipWrapper: CardView, interactionListener: CurrentCallsView.Callback) {
+ fun bind(activeCallPiP: SurfaceViewRenderer,
+ activeCallView: CurrentCallsView,
+ pipWrapper: MaterialCardView,
+ interactionListener: CurrentCallsView.Callback) {
this.activeCallPiP = activeCallPiP
this.currentCallsView = activeCallView
this.pipWrapper = pipWrapper
diff --git a/vector/src/main/java/im/vector/app/core/ui/views/NotificationAreaView.kt b/vector/src/main/java/im/vector/app/core/ui/views/NotificationAreaView.kt
index 8986bc813f..ad2a4b8e0c 100644
--- a/vector/src/main/java/im/vector/app/core/ui/views/NotificationAreaView.kt
+++ b/vector/src/main/java/im/vector/app/core/ui/views/NotificationAreaView.kt
@@ -102,7 +102,7 @@ class NotificationAreaView @JvmOverloads constructor(
}
}
views.roomNotificationMessage.text = message
- views.roomNotificationMessage.setTextColor(ThemeUtils.getColor(context, R.attr.riotx_text_secondary))
+ views.roomNotificationMessage.setTextColor(ThemeUtils.getColor(context, R.attr.vctr_content_secondary))
}
private fun renderResourceLimitExceededError(state: State.ResourceLimitExceededError) {
diff --git a/vector/src/main/java/im/vector/app/core/ui/views/SendStateImageView.kt b/vector/src/main/java/im/vector/app/core/ui/views/SendStateImageView.kt
index 308efe09b2..cb1d08d2e5 100644
--- a/vector/src/main/java/im/vector/app/core/ui/views/SendStateImageView.kt
+++ b/vector/src/main/java/im/vector/app/core/ui/views/SendStateImageView.kt
@@ -41,13 +41,13 @@ class SendStateImageView @JvmOverloads constructor(
isVisible = when (sendState) {
SendStateDecoration.SENDING_NON_MEDIA -> {
setImageResource(R.drawable.ic_sending_message)
- imageTintList = ColorStateList.valueOf(ThemeUtils.getColor(context, R.attr.riotx_text_tertiary))
+ imageTintList = ColorStateList.valueOf(ThemeUtils.getColor(context, R.attr.vctr_content_tertiary))
contentDescription = context.getString(R.string.event_status_a11y_sending)
true
}
SendStateDecoration.SENT -> {
setImageResource(R.drawable.ic_message_sent)
- imageTintList = ColorStateList.valueOf(ThemeUtils.getColor(context, R.attr.riotx_text_tertiary))
+ imageTintList = ColorStateList.valueOf(ThemeUtils.getColor(context, R.attr.vctr_content_tertiary))
contentDescription = context.getString(R.string.event_status_a11y_sent)
true
}
diff --git a/vector/src/main/java/im/vector/app/core/utils/Dialogs.kt b/vector/src/main/java/im/vector/app/core/utils/Dialogs.kt
index 7b5417c18a..7806f2603d 100644
--- a/vector/src/main/java/im/vector/app/core/utils/Dialogs.kt
+++ b/vector/src/main/java/im/vector/app/core/utils/Dialogs.kt
@@ -19,7 +19,7 @@ package im.vector.app.core.utils
import android.content.Context
import android.webkit.WebView
import android.webkit.WebViewClient
-import androidx.appcompat.app.AlertDialog
+import com.google.android.material.dialog.MaterialAlertDialogBuilder
/**
* Open a web view above the current activity.
@@ -33,7 +33,7 @@ fun Context.displayInWebView(url: String) {
wv.webViewClient = WebViewClient()
wv.loadUrl(url)
- AlertDialog.Builder(this)
+ MaterialAlertDialogBuilder(this)
.setView(wv)
.setPositiveButton(android.R.string.ok, null)
.show()
diff --git a/vector/src/main/java/im/vector/app/core/utils/ExternalApplicationsUtil.kt b/vector/src/main/java/im/vector/app/core/utils/ExternalApplicationsUtil.kt
index d82de1b4ed..d0535b667f 100644
--- a/vector/src/main/java/im/vector/app/core/utils/ExternalApplicationsUtil.kt
+++ b/vector/src/main/java/im/vector/app/core/utils/ExternalApplicationsUtil.kt
@@ -56,7 +56,6 @@ import timber.log.Timber
import java.io.File
import java.io.FileInputStream
import java.io.FileOutputStream
-import java.lang.IllegalStateException
import java.text.SimpleDateFormat
import java.util.Date
import java.util.Locale
@@ -100,8 +99,8 @@ fun openUrlInChromeCustomTab(context: Context,
CustomTabsIntent.Builder()
.setDefaultColorSchemeParams(
CustomTabColorSchemeParams.Builder()
- .setToolbarColor(ThemeUtils.getColor(context, R.attr.riotx_background))
- .setNavigationBarColor(ThemeUtils.getColor(context, R.attr.riotx_background))
+ .setToolbarColor(ThemeUtils.getColor(context, android.R.attr.colorBackground))
+ .setNavigationBarColor(ThemeUtils.getColor(context, android.R.attr.colorBackground))
.build()
)
.setColorScheme(
diff --git a/vector/src/main/java/im/vector/app/core/utils/JsonViewerStyler.kt b/vector/src/main/java/im/vector/app/core/utils/JsonViewerStyler.kt
index ab203e2fa0..070b382e99 100644
--- a/vector/src/main/java/im/vector/app/core/utils/JsonViewerStyler.kt
+++ b/vector/src/main/java/im/vector/app/core/utils/JsonViewerStyler.kt
@@ -22,10 +22,10 @@ import org.billcarsonfr.jsonviewer.JSonViewerStyleProvider
fun createJSonViewerStyleProvider(colorProvider: ColorProvider): JSonViewerStyleProvider {
return JSonViewerStyleProvider(
- keyColor = colorProvider.getColor(R.color.riotx_accent),
- secondaryColor = colorProvider.getColorFromAttribute(R.attr.riotx_text_secondary),
+ keyColor = colorProvider.getColorFromAttribute(R.attr.colorPrimary),
+ secondaryColor = colorProvider.getColorFromAttribute(R.attr.vctr_content_secondary),
stringColor = colorProvider.getColorFromAttribute(R.attr.vctr_notice_text_color),
- baseColor = colorProvider.getColorFromAttribute(R.attr.riotx_text_primary),
+ baseColor = colorProvider.getColorFromAttribute(R.attr.vctr_content_primary),
booleanColor = colorProvider.getColorFromAttribute(R.attr.vctr_notice_text_color),
numberColor = colorProvider.getColorFromAttribute(R.attr.vctr_notice_text_color)
)
diff --git a/vector/src/main/java/im/vector/app/core/utils/PermissionsTools.kt b/vector/src/main/java/im/vector/app/core/utils/PermissionsTools.kt
index 9760ec257f..b6566b4ce9 100644
--- a/vector/src/main/java/im/vector/app/core/utils/PermissionsTools.kt
+++ b/vector/src/main/java/im/vector/app/core/utils/PermissionsTools.kt
@@ -25,10 +25,10 @@ import android.widget.Toast
import androidx.activity.result.ActivityResultLauncher
import androidx.activity.result.contract.ActivityResultContracts
import androidx.annotation.StringRes
-import androidx.appcompat.app.AlertDialog
import androidx.core.app.ActivityCompat
import androidx.core.content.ContextCompat
import androidx.fragment.app.Fragment
+import com.google.android.material.dialog.MaterialAlertDialogBuilder
import im.vector.app.R
import im.vector.app.core.platform.VectorBaseActivity
import timber.log.Timber
@@ -222,7 +222,7 @@ private fun checkPermissions(permissionsToBeGrantedBitMap: Int,
// if some permissions were already denied: display a dialog to the user before asking again.
if (permissionListAlreadyDenied.isNotEmpty() && rationaleMessage != 0) {
// display the dialog with the info text
- AlertDialog.Builder(activity)
+ MaterialAlertDialogBuilder(activity)
.setTitle(R.string.permissions_rationale_popup_title)
.setMessage(rationaleMessage)
.setOnCancelListener { Toast.makeText(activity, R.string.missing_permissions_warning, Toast.LENGTH_SHORT).show() }
@@ -246,7 +246,7 @@ private fun checkPermissions(permissionsToBeGrantedBitMap: Int,
&& Build.VERSION.SDK_INT < Build.VERSION_CODES.M) {
TODO()
/*
- AlertDialog.Builder(activity)
+ MaterialAlertDialogBuilder(activity)
.setIcon(android.R.drawable.ic_dialog_info)
.setTitle(R.string.permissions_rationale_popup_title)
.setMessage(R.string.permissions_msg_contacts_warning_other_androids)
diff --git a/vector/src/main/java/im/vector/app/features/MainActivity.kt b/vector/src/main/java/im/vector/app/features/MainActivity.kt
index 054b1bcff1..583aae260b 100644
--- a/vector/src/main/java/im/vector/app/features/MainActivity.kt
+++ b/vector/src/main/java/im/vector/app/features/MainActivity.kt
@@ -20,10 +20,10 @@ import android.app.Activity
import android.content.Intent
import android.os.Bundle
import android.os.Parcelable
-import androidx.appcompat.app.AlertDialog
import androidx.lifecycle.Lifecycle
import androidx.lifecycle.lifecycleScope
import com.bumptech.glide.Glide
+import com.google.android.material.dialog.MaterialAlertDialogBuilder
import im.vector.app.R
import im.vector.app.core.di.ActiveSessionHolder
import im.vector.app.core.di.ScreenComponent
@@ -208,7 +208,7 @@ class MainActivity : VectorBaseActivity(), UnlockedActivity
private fun displayError(failure: Throwable) {
if (lifecycle.currentState.isAtLeast(Lifecycle.State.RESUMED)) {
- AlertDialog.Builder(this)
+ MaterialAlertDialogBuilder(this)
.setTitle(R.string.dialog_title_error)
.setMessage(errorFormatter.toHumanReadable(failure))
.setPositiveButton(R.string.global_retry) { _, _ -> doCleanUp() }
diff --git a/vector/src/main/java/im/vector/app/features/call/CallControlsBottomSheet.kt b/vector/src/main/java/im/vector/app/features/call/CallControlsBottomSheet.kt
index 84658a830c..f23b26883a 100644
--- a/vector/src/main/java/im/vector/app/features/call/CallControlsBottomSheet.kt
+++ b/vector/src/main/java/im/vector/app/features/call/CallControlsBottomSheet.kt
@@ -20,10 +20,10 @@ import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
-import androidx.appcompat.app.AlertDialog
import androidx.core.content.ContextCompat
import androidx.core.view.isVisible
import com.airbnb.mvrx.activityViewModel
+import com.google.android.material.dialog.MaterialAlertDialogBuilder
import im.vector.app.R
import im.vector.app.core.platform.VectorBaseBottomSheetDialogFragment
import im.vector.app.databinding.BottomSheetCallControlsBinding
@@ -105,7 +105,7 @@ class CallControlsBottomSheet : VectorBaseBottomSheetDialogFragment
d.cancel()
when (soundDevices[n].toString()) {
diff --git a/vector/src/main/java/im/vector/app/features/call/VectorCallActivity.kt b/vector/src/main/java/im/vector/app/features/call/VectorCallActivity.kt
index ad04e33414..11b3a51c6f 100644
--- a/vector/src/main/java/im/vector/app/features/call/VectorCallActivity.kt
+++ b/vector/src/main/java/im/vector/app/features/call/VectorCallActivity.kt
@@ -26,7 +26,6 @@ import android.os.Bundle
import android.os.Parcelable
import android.view.View
import android.view.WindowManager
-import androidx.appcompat.app.AlertDialog
import androidx.core.content.ContextCompat
import androidx.core.content.getSystemService
import androidx.core.view.isInvisible
@@ -35,6 +34,7 @@ import com.airbnb.mvrx.Fail
import com.airbnb.mvrx.MvRx
import com.airbnb.mvrx.viewModel
import com.airbnb.mvrx.withState
+import com.google.android.material.dialog.MaterialAlertDialogBuilder
import im.vector.app.R
import im.vector.app.core.di.ScreenComponent
import im.vector.app.core.platform.VectorBaseActivity
@@ -359,8 +359,7 @@ class VectorCallActivity : VectorBaseActivity(), CallContro
private fun onErrorTimoutConnect(turn: TurnServerResponse?) {
Timber.d("## VOIP onErrorTimoutConnect $turn")
// TODO ask to use default stun, etc...
- AlertDialog
- .Builder(this)
+ MaterialAlertDialogBuilder(this)
.setTitle(R.string.call_failed_no_connection)
.setMessage(getString(R.string.call_failed_no_connection_description))
.setNegativeButton(R.string.ok) { _, _ ->
diff --git a/vector/src/main/java/im/vector/app/features/call/conference/VectorJitsiActivity.kt b/vector/src/main/java/im/vector/app/features/call/conference/VectorJitsiActivity.kt
index 15346422a6..11b84f4f44 100644
--- a/vector/src/main/java/im/vector/app/features/call/conference/VectorJitsiActivity.kt
+++ b/vector/src/main/java/im/vector/app/features/call/conference/VectorJitsiActivity.kt
@@ -26,7 +26,6 @@ import android.os.Bundle
import android.os.Parcelable
import android.widget.FrameLayout
import android.widget.Toast
-import androidx.appcompat.app.AlertDialog
import androidx.core.view.isVisible
import androidx.localbroadcastmanager.content.LocalBroadcastManager
import com.airbnb.mvrx.Fail
@@ -34,6 +33,7 @@ import com.airbnb.mvrx.MvRx
import com.airbnb.mvrx.Success
import com.airbnb.mvrx.viewModel
import com.facebook.react.modules.core.PermissionListener
+import com.google.android.material.dialog.MaterialAlertDialogBuilder
import im.vector.app.R
import im.vector.app.core.di.ScreenComponent
import im.vector.app.core.extensions.exhaustive
@@ -103,7 +103,7 @@ class VectorJitsiActivity : VectorBaseActivity(), JitsiMee
}
private fun handleConfirmSwitching(action: JitsiCallViewEvents.ConfirmSwitchingConference) {
- AlertDialog.Builder(this)
+ MaterialAlertDialogBuilder(this)
.setTitle(R.string.dialog_title_warning)
.setMessage(R.string.jitsi_leave_conf_to_join_another_one_content)
.setPositiveButton(R.string.action_switch) { _, _ ->
diff --git a/vector/src/main/java/im/vector/app/features/call/dialpad/DialPadFragment.kt b/vector/src/main/java/im/vector/app/features/call/dialpad/DialPadFragment.kt
index 11c3af9394..fe0afc166d 100644
--- a/vector/src/main/java/im/vector/app/features/call/dialpad/DialPadFragment.kt
+++ b/vector/src/main/java/im/vector/app/features/call/dialpad/DialPadFragment.kt
@@ -57,7 +57,7 @@ class DialPadFragment : Fragment() {
dialpadView.findViewById(R.id.dialpad_key_voicemail).isVisible = false
digits = dialpadView.digits as? DigitsEditText
digits?.isCursorVisible = cursorVisible
- digits?.setTextColor(ThemeUtils.getColor(requireContext(), im.vector.app.R.attr.riotx_text_primary))
+ digits?.setTextColor(ThemeUtils.getColor(requireContext(), im.vector.app.R.attr.vctr_content_primary))
dialpadView.findViewById(R.id.zero).setOnClickListener { append('0') }
if (enablePlus) {
dialpadView.findViewById(R.id.zero).setOnLongClickListener {
@@ -91,7 +91,7 @@ class DialPadFragment : Fragment() {
clear()
true
}
- val tintColor = ThemeUtils.getColor(requireContext(), im.vector.app.R.attr.riotx_text_secondary)
+ val tintColor = ThemeUtils.getColor(requireContext(), im.vector.app.R.attr.vctr_content_secondary)
ImageViewCompat.setImageTintList(dialpadView.deleteButton, ColorStateList.valueOf(tintColor))
} else {
dialpadView.deleteButton.isVisible = false
diff --git a/vector/src/main/java/im/vector/app/features/consent/ConsentNotGivenHelper.kt b/vector/src/main/java/im/vector/app/features/consent/ConsentNotGivenHelper.kt
index dbcc2c1820..9f6aa8cdd8 100644
--- a/vector/src/main/java/im/vector/app/features/consent/ConsentNotGivenHelper.kt
+++ b/vector/src/main/java/im/vector/app/features/consent/ConsentNotGivenHelper.kt
@@ -17,7 +17,7 @@
package im.vector.app.features.consent
import android.app.Activity
-import androidx.appcompat.app.AlertDialog
+import com.google.android.material.dialog.MaterialAlertDialogBuilder
import im.vector.app.R
import im.vector.app.core.dialogs.DialogLocker
import im.vector.app.core.platform.Restorable
@@ -37,7 +37,7 @@ class ConsentNotGivenHelper(private val activity: Activity,
*/
fun displayDialog(consentUri: String, homeServerHost: String) {
dialogLocker.displayDialog {
- AlertDialog.Builder(activity)
+ MaterialAlertDialogBuilder(activity)
.setTitle(R.string.settings_app_term_conditions)
.setMessage(activity.getString(R.string.dialog_user_consent_content, homeServerHost))
.setPositiveButton(R.string.dialog_user_consent_submit) { _, _ ->
diff --git a/vector/src/main/java/im/vector/app/features/contactsbook/ContactsBookFragment.kt b/vector/src/main/java/im/vector/app/features/contactsbook/ContactsBookFragment.kt
index 68e169b8c5..9291352821 100644
--- a/vector/src/main/java/im/vector/app/features/contactsbook/ContactsBookFragment.kt
+++ b/vector/src/main/java/im/vector/app/features/contactsbook/ContactsBookFragment.kt
@@ -20,10 +20,10 @@ import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
-import androidx.appcompat.app.AlertDialog
import androidx.core.view.isVisible
import com.airbnb.mvrx.activityViewModel
import com.airbnb.mvrx.withState
+import com.google.android.material.dialog.MaterialAlertDialogBuilder
import com.jakewharton.rxbinding3.widget.checkedChanges
import com.jakewharton.rxbinding3.widget.textChanges
import im.vector.app.R
@@ -76,7 +76,7 @@ class ContactsBookFragment @Inject constructor(
private fun setupConsentView() {
views.phoneBookSearchForMatrixContacts.setOnClickListener {
withState(contactsBookViewModel) { state ->
- AlertDialog.Builder(requireActivity())
+ MaterialAlertDialogBuilder(requireActivity())
.setTitle(R.string.identity_server_consent_dialog_title)
.setMessage(getString(R.string.identity_server_consent_dialog_content, state.identityServerUrl ?: ""))
.setPositiveButton(R.string.yes) { _, _ ->
diff --git a/vector/src/main/java/im/vector/app/features/createdirect/CreateDirectRoomActivity.kt b/vector/src/main/java/im/vector/app/features/createdirect/CreateDirectRoomActivity.kt
index 4f81841b73..4aa5f023c4 100644
--- a/vector/src/main/java/im/vector/app/features/createdirect/CreateDirectRoomActivity.kt
+++ b/vector/src/main/java/im/vector/app/features/createdirect/CreateDirectRoomActivity.kt
@@ -22,12 +22,12 @@ import android.content.Context
import android.content.Intent
import android.os.Bundle
import android.view.View
-import androidx.appcompat.app.AlertDialog
import com.airbnb.mvrx.Async
import com.airbnb.mvrx.Fail
import com.airbnb.mvrx.Loading
import com.airbnb.mvrx.Success
import com.airbnb.mvrx.viewModel
+import com.google.android.material.dialog.MaterialAlertDialogBuilder
import im.vector.app.R
import im.vector.app.core.di.ScreenComponent
import im.vector.app.core.error.ErrorFormatter
@@ -171,7 +171,7 @@ class CreateDirectRoomActivity : SimpleFragmentActivity(), UserListViewModel.Fac
finish()
}
is CreateRoomFailure.CreatedWithFederationFailure -> {
- AlertDialog.Builder(this)
+ MaterialAlertDialogBuilder(this)
.setMessage(getString(R.string.create_room_federation_error, error.matrixError.message))
.setCancelable(false)
.setPositiveButton(R.string.ok) { _, _ -> finish() }
@@ -184,7 +184,7 @@ class CreateDirectRoomActivity : SimpleFragmentActivity(), UserListViewModel.Fac
} else {
errorFormatter.toHumanReadable(error)
}
- AlertDialog.Builder(this)
+ MaterialAlertDialogBuilder(this)
.setMessage(message)
.setPositiveButton(R.string.ok, null)
.show()
diff --git a/vector/src/main/java/im/vector/app/features/crypto/keysbackup/restore/KeysBackupRestoreActivity.kt b/vector/src/main/java/im/vector/app/features/crypto/keysbackup/restore/KeysBackupRestoreActivity.kt
index 20ecbb4e5a..e80853b035 100644
--- a/vector/src/main/java/im/vector/app/features/crypto/keysbackup/restore/KeysBackupRestoreActivity.kt
+++ b/vector/src/main/java/im/vector/app/features/crypto/keysbackup/restore/KeysBackupRestoreActivity.kt
@@ -18,7 +18,7 @@ package im.vector.app.features.crypto.keysbackup.restore
import android.app.Activity
import android.content.Context
import android.content.Intent
-import androidx.appcompat.app.AlertDialog
+import com.google.android.material.dialog.MaterialAlertDialogBuilder
import im.vector.app.R
import im.vector.app.core.extensions.addFragmentToBackstack
import im.vector.app.core.extensions.observeEvent
@@ -66,7 +66,7 @@ class KeysBackupRestoreActivity : SimpleFragmentActivity() {
}
viewModel.keyVersionResultError.observeEvent(this) { message ->
- AlertDialog.Builder(this)
+ MaterialAlertDialogBuilder(this)
.setTitle(R.string.unknown_error)
.setMessage(message)
.setCancelable(false)
@@ -97,7 +97,7 @@ class KeysBackupRestoreActivity : SimpleFragmentActivity() {
launch4SActivity()
}
KeysBackupRestoreSharedViewModel.NAVIGATE_FAILED_TO_LOAD_4S -> {
- AlertDialog.Builder(this)
+ MaterialAlertDialogBuilder(this)
.setTitle(R.string.unknown_error)
.setMessage(R.string.error_failed_to_import_keys)
.setCancelable(false)
diff --git a/vector/src/main/java/im/vector/app/features/crypto/keysbackup/settings/KeysBackupManageActivity.kt b/vector/src/main/java/im/vector/app/features/crypto/keysbackup/settings/KeysBackupManageActivity.kt
index c4a4e06fcf..d78fa37d62 100644
--- a/vector/src/main/java/im/vector/app/features/crypto/keysbackup/settings/KeysBackupManageActivity.kt
+++ b/vector/src/main/java/im/vector/app/features/crypto/keysbackup/settings/KeysBackupManageActivity.kt
@@ -17,10 +17,10 @@ package im.vector.app.features.crypto.keysbackup.settings
import android.content.Context
import android.content.Intent
-import androidx.appcompat.app.AlertDialog
import com.airbnb.mvrx.Fail
import com.airbnb.mvrx.Loading
import com.airbnb.mvrx.viewModel
+import com.google.android.material.dialog.MaterialAlertDialogBuilder
import im.vector.app.R
import im.vector.app.core.di.ScreenComponent
import im.vector.app.core.extensions.replaceFragment
@@ -60,7 +60,7 @@ class KeysBackupManageActivity : SimpleFragmentActivity() {
is Fail -> {
updateWaitingView(null)
- AlertDialog.Builder(this)
+ MaterialAlertDialogBuilder(this)
.setTitle(R.string.unknown_error)
.setMessage(getString(R.string.keys_backup_get_version_error, asyncDelete.error.localizedMessage))
.setCancelable(false)
diff --git a/vector/src/main/java/im/vector/app/features/crypto/keysbackup/settings/KeysBackupSettingsFragment.kt b/vector/src/main/java/im/vector/app/features/crypto/keysbackup/settings/KeysBackupSettingsFragment.kt
index 0d2fe1a45d..d2ee1bd637 100644
--- a/vector/src/main/java/im/vector/app/features/crypto/keysbackup/settings/KeysBackupSettingsFragment.kt
+++ b/vector/src/main/java/im/vector/app/features/crypto/keysbackup/settings/KeysBackupSettingsFragment.kt
@@ -19,9 +19,9 @@ import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
-import androidx.appcompat.app.AlertDialog
import com.airbnb.mvrx.activityViewModel
import com.airbnb.mvrx.withState
+import com.google.android.material.dialog.MaterialAlertDialogBuilder
import im.vector.app.R
import im.vector.app.core.extensions.cleanup
import im.vector.app.core.extensions.configureWith
@@ -72,7 +72,7 @@ class KeysBackupSettingsFragment @Inject constructor(private val keysBackupSetti
override fun didSelectDeleteSetupMessageRecovery() {
activity?.let {
- AlertDialog.Builder(it)
+ MaterialAlertDialogBuilder(it)
.setTitle(R.string.keys_backup_settings_delete_confirm_title)
.setMessage(R.string.keys_backup_settings_delete_confirm_message)
.setCancelable(false)
diff --git a/vector/src/main/java/im/vector/app/features/crypto/keysbackup/setup/KeysBackupSetupActivity.kt b/vector/src/main/java/im/vector/app/features/crypto/keysbackup/setup/KeysBackupSetupActivity.kt
index e042459437..586c461fac 100644
--- a/vector/src/main/java/im/vector/app/features/crypto/keysbackup/setup/KeysBackupSetupActivity.kt
+++ b/vector/src/main/java/im/vector/app/features/crypto/keysbackup/setup/KeysBackupSetupActivity.kt
@@ -18,9 +18,9 @@ package im.vector.app.features.crypto.keysbackup.setup
import android.app.Activity
import android.content.Context
import android.content.Intent
-import androidx.appcompat.app.AlertDialog
import androidx.core.view.isVisible
import androidx.fragment.app.FragmentManager
+import com.google.android.material.dialog.MaterialAlertDialogBuilder
import im.vector.app.R
import im.vector.app.core.dialogs.ExportKeysDialog
import im.vector.app.core.extensions.observeEvent
@@ -82,7 +82,7 @@ class KeysBackupSetupActivity : SimpleFragmentActivity() {
finish()
}
KeysBackupSetupSharedViewModel.NAVIGATE_PROMPT_REPLACE -> {
- AlertDialog.Builder(this)
+ MaterialAlertDialogBuilder(this)
.setTitle(R.string.keys_backup_setup_override_backup_prompt_tile)
.setMessage(R.string.keys_backup_setup_override_backup_prompt_description)
.setPositiveButton(R.string.keys_backup_setup_override_replace) { _, _ ->
@@ -100,7 +100,7 @@ class KeysBackupSetupActivity : SimpleFragmentActivity() {
viewModel.prepareRecoverFailError.observe(this) { error ->
if (error != null) {
- AlertDialog.Builder(this)
+ MaterialAlertDialogBuilder(this)
.setTitle(R.string.unknown_error)
.setMessage(error.localizedMessage)
.setPositiveButton(R.string.ok) { _, _ ->
@@ -113,7 +113,7 @@ class KeysBackupSetupActivity : SimpleFragmentActivity() {
viewModel.creatingBackupError.observe(this) { error ->
if (error != null) {
- AlertDialog.Builder(this)
+ MaterialAlertDialogBuilder(this)
.setTitle(R.string.unexpected_error)
.setMessage(error.localizedMessage)
.setPositiveButton(R.string.ok) { _, _ ->
@@ -170,7 +170,7 @@ class KeysBackupSetupActivity : SimpleFragmentActivity() {
if (waitingView?.isVisible == true) {
return
}
- AlertDialog.Builder(this)
+ MaterialAlertDialogBuilder(this)
.setTitle(R.string.keys_backup_setup_skip_title)
.setMessage(R.string.keys_backup_setup_skip_msg)
.setNegativeButton(R.string.cancel, null)
diff --git a/vector/src/main/java/im/vector/app/features/crypto/keysbackup/setup/KeysBackupSetupStep3Fragment.kt b/vector/src/main/java/im/vector/app/features/crypto/keysbackup/setup/KeysBackupSetupStep3Fragment.kt
index 8833702e35..5739da11bb 100644
--- a/vector/src/main/java/im/vector/app/features/crypto/keysbackup/setup/KeysBackupSetupStep3Fragment.kt
+++ b/vector/src/main/java/im/vector/app/features/crypto/keysbackup/setup/KeysBackupSetupStep3Fragment.kt
@@ -23,11 +23,11 @@ import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import android.widget.Toast
-import androidx.appcompat.app.AlertDialog
import androidx.core.view.isVisible
import androidx.lifecycle.lifecycleScope
import arrow.core.Try
import com.google.android.material.bottomsheet.BottomSheetDialog
+import com.google.android.material.dialog.MaterialAlertDialogBuilder
import im.vector.app.R
import im.vector.app.core.extensions.registerStartForActivityResult
import im.vector.app.core.platform.VectorBaseFragment
@@ -177,7 +177,7 @@ class KeysBackupSetupStep3Fragment @Inject constructor() : VectorBaseFragment
activity?.let {
- AlertDialog.Builder(it)
+ MaterialAlertDialogBuilder(it)
.setTitle(R.string.dialog_title_error)
.setMessage(errorFormatter.toHumanReadable(throwable))
}
@@ -185,7 +185,7 @@ class KeysBackupSetupStep3Fragment @Inject constructor() : VectorBaseFragment {
- AlertDialog.Builder(this)
+ MaterialAlertDialogBuilder(this)
.setTitle(getString(R.string.dialog_title_error))
.setMessage(it.message)
.setCancelable(false)
diff --git a/vector/src/main/java/im/vector/app/features/crypto/recover/BootstrapBottomSheet.kt b/vector/src/main/java/im/vector/app/features/crypto/recover/BootstrapBottomSheet.kt
index 5cc86fdf15..a42c3d2dda 100644
--- a/vector/src/main/java/im/vector/app/features/crypto/recover/BootstrapBottomSheet.kt
+++ b/vector/src/main/java/im/vector/app/features/crypto/recover/BootstrapBottomSheet.kt
@@ -26,13 +26,13 @@ import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.view.WindowManager
-import androidx.appcompat.app.AlertDialog
import androidx.core.content.ContextCompat
import androidx.core.view.isVisible
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentManager
import com.airbnb.mvrx.fragmentViewModel
import com.airbnb.mvrx.withState
+import com.google.android.material.dialog.MaterialAlertDialogBuilder
import im.vector.app.R
import im.vector.app.core.di.ScreenComponent
import im.vector.app.core.extensions.commitTransaction
@@ -96,7 +96,7 @@ class BootstrapBottomSheet : VectorBaseBottomSheetDialogFragment {
- AlertDialog.Builder(requireActivity())
+ MaterialAlertDialogBuilder(requireActivity())
.setTitle(R.string.dialog_title_error)
.setMessage(event.error)
.setPositiveButton(R.string.ok, null)
@@ -121,7 +121,7 @@ class BootstrapBottomSheet : VectorBaseBottomSheetDialogFragment {
return mutableListOf(
- // RiotX supports SAS verification
+ // Element supports SAS verification
VerificationMethod.SAS,
- // RiotX is able to show QR codes
+ // Element is able to show QR codes
VerificationMethod.QR_CODE_SHOW)
.apply {
if (hardwareInfo.hasBackCamera()) {
- // RiotX is able to scan QR codes, and a Camera is available
+ // Element is able to scan QR codes, and a Camera is available
add(VerificationMethod.QR_CODE_SCAN)
} else {
// This quite uncommon
diff --git a/vector/src/main/java/im/vector/app/features/crypto/verification/VerificationBottomSheet.kt b/vector/src/main/java/im/vector/app/features/crypto/verification/VerificationBottomSheet.kt
index 8d15249c11..47033199f4 100644
--- a/vector/src/main/java/im/vector/app/features/crypto/verification/VerificationBottomSheet.kt
+++ b/vector/src/main/java/im/vector/app/features/crypto/verification/VerificationBottomSheet.kt
@@ -23,11 +23,11 @@ import android.view.KeyEvent
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
-import androidx.appcompat.app.AlertDialog
import androidx.fragment.app.Fragment
import com.airbnb.mvrx.MvRx
import com.airbnb.mvrx.fragmentViewModel
import com.airbnb.mvrx.withState
+import com.google.android.material.dialog.MaterialAlertDialogBuilder
import im.vector.app.R
import im.vector.app.core.di.ScreenComponent
import im.vector.app.core.extensions.commitTransaction
@@ -109,7 +109,7 @@ class VerificationBottomSheet : VectorBaseBottomSheetDialogFragment {
- AlertDialog.Builder(requireContext())
+ MaterialAlertDialogBuilder(requireContext())
.setTitle(getString(R.string.dialog_title_error))
.setMessage(it.errorMessage)
.setCancelable(false)
diff --git a/vector/src/main/java/im/vector/app/features/crypto/verification/cancel/VerificationCancelController.kt b/vector/src/main/java/im/vector/app/features/crypto/verification/cancel/VerificationCancelController.kt
index b36b2e2baa..f10aa3421f 100644
--- a/vector/src/main/java/im/vector/app/features/crypto/verification/cancel/VerificationCancelController.kt
+++ b/vector/src/main/java/im/vector/app/features/crypto/verification/cancel/VerificationCancelController.kt
@@ -19,7 +19,7 @@ package im.vector.app.features.crypto.verification.cancel
import androidx.core.text.toSpannable
import com.airbnb.epoxy.EpoxyController
import im.vector.app.R
-import im.vector.app.core.epoxy.dividerItem
+import im.vector.app.core.epoxy.bottomSheetDividerItem
import im.vector.app.core.resources.ColorProvider
import im.vector.app.core.resources.StringProvider
import im.vector.app.core.utils.colorizeMatchingText
@@ -70,29 +70,29 @@ class VerificationCancelController @Inject constructor(
}
}
- dividerItem {
+ bottomSheetDividerItem {
id("sep0")
}
bottomSheetVerificationActionItem {
id("cancel")
title(host.stringProvider.getString(R.string.skip))
- titleColor(host.colorProvider.getColor(R.color.riotx_destructive_accent))
+ titleColor(host.colorProvider.getColorFromAttribute(R.attr.colorError))
iconRes(R.drawable.ic_arrow_right)
- iconColor(host.colorProvider.getColor(R.color.riotx_destructive_accent))
+ iconColor(host.colorProvider.getColorFromAttribute(R.attr.colorError))
listener { host.listener?.onTapCancel() }
}
- dividerItem {
+ bottomSheetDividerItem {
id("sep1")
}
bottomSheetVerificationActionItem {
id("continue")
title(host.stringProvider.getString(R.string._continue))
- titleColor(host.colorProvider.getColor(R.color.riotx_positive_accent))
+ titleColor(host.colorProvider.getColorFromAttribute(R.attr.colorPrimary))
iconRes(R.drawable.ic_arrow_right)
- iconColor(host.colorProvider.getColor(R.color.riotx_positive_accent))
+ iconColor(host.colorProvider.getColorFromAttribute(R.attr.colorPrimary))
listener { host.listener?.onTapContinue() }
}
}
diff --git a/vector/src/main/java/im/vector/app/features/crypto/verification/cancel/VerificationNotMeController.kt b/vector/src/main/java/im/vector/app/features/crypto/verification/cancel/VerificationNotMeController.kt
index 97ff79c933..d816f3d134 100644
--- a/vector/src/main/java/im/vector/app/features/crypto/verification/cancel/VerificationNotMeController.kt
+++ b/vector/src/main/java/im/vector/app/features/crypto/verification/cancel/VerificationNotMeController.kt
@@ -18,7 +18,7 @@ package im.vector.app.features.crypto.verification.cancel
import com.airbnb.epoxy.EpoxyController
import im.vector.app.R
-import im.vector.app.core.epoxy.dividerItem
+import im.vector.app.core.epoxy.bottomSheetDividerItem
import im.vector.app.core.resources.ColorProvider
import im.vector.app.core.resources.StringProvider
import im.vector.app.features.crypto.verification.VerificationBottomSheetViewState
@@ -49,29 +49,29 @@ class VerificationNotMeController @Inject constructor(
notice(host.eventHtmlRenderer.render(host.stringProvider.getString(R.string.verify_not_me_self_verification)))
}
- dividerItem {
+ bottomSheetDividerItem {
id("sep0")
}
bottomSheetVerificationActionItem {
id("skip")
title(host.stringProvider.getString(R.string.skip))
- titleColor(host.colorProvider.getColorFromAttribute(R.attr.riotx_text_primary))
+ titleColor(host.colorProvider.getColorFromAttribute(R.attr.vctr_content_primary))
iconRes(R.drawable.ic_arrow_right)
- iconColor(host.colorProvider.getColorFromAttribute(R.attr.riotx_text_primary))
+ iconColor(host.colorProvider.getColorFromAttribute(R.attr.vctr_content_primary))
listener { host.listener?.onTapSkip() }
}
- dividerItem {
+ bottomSheetDividerItem {
id("sep1")
}
bottomSheetVerificationActionItem {
id("settings")
title(host.stringProvider.getString(R.string.settings))
- titleColor(host.colorProvider.getColor(R.color.riotx_positive_accent))
+ titleColor(host.colorProvider.getColorFromAttribute(R.attr.colorPrimary))
iconRes(R.drawable.ic_arrow_right)
- iconColor(host.colorProvider.getColor(R.color.riotx_positive_accent))
+ iconColor(host.colorProvider.getColorFromAttribute(R.attr.colorPrimary))
listener { host.listener?.onTapSettings() }
}
}
diff --git a/vector/src/main/java/im/vector/app/features/crypto/verification/choose/VerificationChooseMethodController.kt b/vector/src/main/java/im/vector/app/features/crypto/verification/choose/VerificationChooseMethodController.kt
index be727a3243..1202a22042 100644
--- a/vector/src/main/java/im/vector/app/features/crypto/verification/choose/VerificationChooseMethodController.kt
+++ b/vector/src/main/java/im/vector/app/features/crypto/verification/choose/VerificationChooseMethodController.kt
@@ -18,7 +18,7 @@ package im.vector.app.features.crypto.verification.choose
import com.airbnb.epoxy.EpoxyController
import im.vector.app.R
-import im.vector.app.core.epoxy.dividerItem
+import im.vector.app.core.epoxy.bottomSheetDividerItem
import im.vector.app.core.resources.ColorProvider
import im.vector.app.core.resources.StringProvider
import im.vector.app.features.crypto.verification.epoxy.bottomSheetVerificationActionItem
@@ -56,7 +56,7 @@ class VerificationChooseMethodController @Inject constructor(
data(state.qrCodeText)
}
- dividerItem {
+ bottomSheetDividerItem {
id("sep0")
}
}
@@ -65,13 +65,13 @@ class VerificationChooseMethodController @Inject constructor(
bottomSheetVerificationActionItem {
id("openCamera")
title(host.stringProvider.getString(R.string.verification_scan_their_code))
- titleColor(host.colorProvider.getColor(R.color.riotx_accent))
+ titleColor(host.colorProvider.getColorFromAttribute(R.attr.colorPrimary))
iconRes(R.drawable.ic_camera)
- iconColor(host.colorProvider.getColor(R.color.riotx_accent))
+ iconColor(host.colorProvider.getColorFromAttribute(R.attr.colorPrimary))
listener { host.listener?.openCamera() }
}
- dividerItem {
+ bottomSheetDividerItem {
id("sep1")
}
}
@@ -79,35 +79,35 @@ class VerificationChooseMethodController @Inject constructor(
bottomSheetVerificationActionItem {
id("openEmoji")
title(host.stringProvider.getString(R.string.verification_scan_emoji_title))
- titleColor(host.colorProvider.getColorFromAttribute(R.attr.riotx_text_primary))
+ titleColor(host.colorProvider.getColorFromAttribute(R.attr.vctr_content_primary))
subTitle(host.stringProvider.getString(R.string.verification_scan_emoji_subtitle))
iconRes(R.drawable.ic_arrow_right)
- iconColor(host.colorProvider.getColorFromAttribute(R.attr.riotx_text_primary))
+ iconColor(host.colorProvider.getColorFromAttribute(R.attr.vctr_content_primary))
listener { host.listener?.doVerifyBySas() }
}
} else if (state.sasModeAvailable) {
bottomSheetVerificationActionItem {
id("openEmoji")
title(host.stringProvider.getString(R.string.verification_no_scan_emoji_title))
- titleColor(host.colorProvider.getColor(R.color.riotx_accent))
+ titleColor(host.colorProvider.getColorFromAttribute(R.attr.colorPrimary))
iconRes(R.drawable.ic_arrow_right)
- iconColor(host.colorProvider.getColorFromAttribute(R.attr.riotx_text_primary))
+ iconColor(host.colorProvider.getColorFromAttribute(R.attr.vctr_content_primary))
listener { host.listener?.doVerifyBySas() }
}
}
if (state.isMe && state.canCrossSign) {
- dividerItem {
+ bottomSheetDividerItem {
id("sep_notMe")
}
bottomSheetVerificationActionItem {
id("wasnote")
title(host.stringProvider.getString(R.string.verify_new_session_was_not_me))
- titleColor(host.colorProvider.getColor(R.color.riotx_destructive_accent))
+ titleColor(host.colorProvider.getColorFromAttribute(R.attr.colorError))
subTitle(host.stringProvider.getString(R.string.verify_new_session_compromized))
iconRes(R.drawable.ic_arrow_right)
- iconColor(host.colorProvider.getColorFromAttribute(R.attr.riotx_text_primary))
+ iconColor(host.colorProvider.getColorFromAttribute(R.attr.vctr_content_primary))
listener { host.listener?.onClickOnWasNotMe() }
}
}
diff --git a/vector/src/main/java/im/vector/app/features/crypto/verification/conclusion/VerificationConclusionController.kt b/vector/src/main/java/im/vector/app/features/crypto/verification/conclusion/VerificationConclusionController.kt
index 49b3c07e78..1984a70345 100644
--- a/vector/src/main/java/im/vector/app/features/crypto/verification/conclusion/VerificationConclusionController.kt
+++ b/vector/src/main/java/im/vector/app/features/crypto/verification/conclusion/VerificationConclusionController.kt
@@ -18,7 +18,7 @@ package im.vector.app.features.crypto.verification.conclusion
import com.airbnb.epoxy.EpoxyController
import im.vector.app.R
-import im.vector.app.core.epoxy.dividerItem
+import im.vector.app.core.epoxy.bottomSheetDividerItem
import im.vector.app.core.resources.ColorProvider
import im.vector.app.core.resources.StringProvider
import im.vector.app.features.crypto.verification.epoxy.bottomSheetVerificationActionItem
@@ -87,16 +87,16 @@ class VerificationConclusionController @Inject constructor(
notice(host.stringProvider.getString(R.string.verify_cancelled_notice))
}
- dividerItem {
+ bottomSheetDividerItem {
id("sep0")
}
bottomSheetVerificationActionItem {
id("got_it")
title(host.stringProvider.getString(R.string.sas_got_it))
- titleColor(host.colorProvider.getColor(R.color.riotx_accent))
+ titleColor(host.colorProvider.getColorFromAttribute(R.attr.colorPrimary))
iconRes(R.drawable.ic_arrow_right)
- iconColor(host.colorProvider.getColor(R.color.riotx_accent))
+ iconColor(host.colorProvider.getColorFromAttribute(R.attr.colorPrimary))
listener { host.listener?.onButtonTapped() }
}
}
@@ -105,16 +105,16 @@ class VerificationConclusionController @Inject constructor(
private fun bottomDone() {
val host = this
- dividerItem {
+ bottomSheetDividerItem {
id("sep0")
}
bottomSheetVerificationActionItem {
id("done")
title(host.stringProvider.getString(R.string.done))
- titleColor(host.colorProvider.getColorFromAttribute(R.attr.riotx_text_primary))
+ titleColor(host.colorProvider.getColorFromAttribute(R.attr.vctr_content_primary))
iconRes(R.drawable.ic_arrow_right)
- iconColor(host.colorProvider.getColorFromAttribute(R.attr.riotx_text_primary))
+ iconColor(host.colorProvider.getColorFromAttribute(R.attr.vctr_content_primary))
listener { host.listener?.onButtonTapped() }
}
}
diff --git a/vector/src/main/java/im/vector/app/features/crypto/verification/emoji/VerificationEmojiCodeController.kt b/vector/src/main/java/im/vector/app/features/crypto/verification/emoji/VerificationEmojiCodeController.kt
index fd939fe11f..5159a69090 100644
--- a/vector/src/main/java/im/vector/app/features/crypto/verification/emoji/VerificationEmojiCodeController.kt
+++ b/vector/src/main/java/im/vector/app/features/crypto/verification/emoji/VerificationEmojiCodeController.kt
@@ -20,7 +20,7 @@ import com.airbnb.epoxy.EpoxyController
import com.airbnb.mvrx.Fail
import com.airbnb.mvrx.Success
import im.vector.app.R
-import im.vector.app.core.epoxy.dividerItem
+import im.vector.app.core.epoxy.bottomSheetDividerItem
import im.vector.app.core.epoxy.errorWithRetryItem
import im.vector.app.core.error.ErrorFormatter
import im.vector.app.core.resources.ColorProvider
@@ -127,7 +127,7 @@ class VerificationEmojiCodeController @Inject constructor(
private fun buildActions(state: VerificationEmojiCodeViewState) {
val host = this
- dividerItem {
+ bottomSheetDividerItem {
id("sep0")
}
@@ -140,20 +140,20 @@ class VerificationEmojiCodeController @Inject constructor(
bottomSheetVerificationActionItem {
id("ko")
title(host.stringProvider.getString(R.string.verification_sas_do_not_match))
- titleColor(host.colorProvider.getColor(R.color.vector_error_color))
+ titleColor(host.colorProvider.getColorFromAttribute(R.attr.colorError))
iconRes(R.drawable.ic_check_off)
- iconColor(host.colorProvider.getColor(R.color.vector_error_color))
+ iconColor(host.colorProvider.getColorFromAttribute(R.attr.colorError))
listener { host.listener?.onDoNotMatchButtonTapped() }
}
- dividerItem {
+ bottomSheetDividerItem {
id("sep1")
}
bottomSheetVerificationActionItem {
id("ok")
title(host.stringProvider.getString(R.string.verification_sas_match))
- titleColor(host.colorProvider.getColor(R.color.riotx_accent))
+ titleColor(host.colorProvider.getColorFromAttribute(R.attr.colorPrimary))
iconRes(R.drawable.ic_check_on)
- iconColor(host.colorProvider.getColor(R.color.riotx_accent))
+ iconColor(host.colorProvider.getColorFromAttribute(R.attr.colorPrimary))
listener { host.listener?.onMatchButtonTapped() }
}
}
diff --git a/vector/src/main/java/im/vector/app/features/crypto/verification/qrconfirmation/VerificationQrScannedByOtherController.kt b/vector/src/main/java/im/vector/app/features/crypto/verification/qrconfirmation/VerificationQrScannedByOtherController.kt
index d617b70c67..01862a5ab4 100644
--- a/vector/src/main/java/im/vector/app/features/crypto/verification/qrconfirmation/VerificationQrScannedByOtherController.kt
+++ b/vector/src/main/java/im/vector/app/features/crypto/verification/qrconfirmation/VerificationQrScannedByOtherController.kt
@@ -18,7 +18,7 @@ package im.vector.app.features.crypto.verification.qrconfirmation
import com.airbnb.epoxy.EpoxyController
import im.vector.app.R
-import im.vector.app.core.epoxy.dividerItem
+import im.vector.app.core.epoxy.bottomSheetDividerItem
import im.vector.app.core.resources.ColorProvider
import im.vector.app.core.resources.StringProvider
import im.vector.app.features.crypto.verification.VerificationBottomSheetViewState
@@ -63,29 +63,29 @@ class VerificationQrScannedByOtherController @Inject constructor(
roomEncryptionTrustLevel(RoomEncryptionTrustLevel.Trusted)
}
- dividerItem {
+ bottomSheetDividerItem {
id("sep0")
}
bottomSheetVerificationActionItem {
id("deny")
title(host.stringProvider.getString(R.string.qr_code_scanned_by_other_no))
- titleColor(host.colorProvider.getColor(R.color.vector_error_color))
+ titleColor(host.colorProvider.getColorFromAttribute(R.attr.colorError))
iconRes(R.drawable.ic_check_off)
- iconColor(host.colorProvider.getColor(R.color.vector_error_color))
+ iconColor(host.colorProvider.getColorFromAttribute(R.attr.colorError))
listener { host.listener?.onUserDeniesQrCodeScanned() }
}
- dividerItem {
+ bottomSheetDividerItem {
id("sep1")
}
bottomSheetVerificationActionItem {
id("confirm")
title(host.stringProvider.getString(R.string.qr_code_scanned_by_other_yes))
- titleColor(host.colorProvider.getColor(R.color.riotx_accent))
+ titleColor(host.colorProvider.getColorFromAttribute(R.attr.colorPrimary))
iconRes(R.drawable.ic_check_on)
- iconColor(host.colorProvider.getColor(R.color.riotx_accent))
+ iconColor(host.colorProvider.getColorFromAttribute(R.attr.colorPrimary))
listener { host.listener?.onUserConfirmsQrCodeScanned() }
}
}
diff --git a/vector/src/main/java/im/vector/app/features/crypto/verification/request/VerificationRequestController.kt b/vector/src/main/java/im/vector/app/features/crypto/verification/request/VerificationRequestController.kt
index ac063f2545..260bcf597e 100644
--- a/vector/src/main/java/im/vector/app/features/crypto/verification/request/VerificationRequestController.kt
+++ b/vector/src/main/java/im/vector/app/features/crypto/verification/request/VerificationRequestController.kt
@@ -22,7 +22,7 @@ import com.airbnb.mvrx.Loading
import com.airbnb.mvrx.Success
import com.airbnb.mvrx.Uninitialized
import im.vector.app.R
-import im.vector.app.core.epoxy.dividerItem
+import im.vector.app.core.epoxy.bottomSheetDividerItem
import im.vector.app.core.resources.ColorProvider
import im.vector.app.core.resources.StringProvider
import im.vector.app.core.utils.colorizeMatchingText
@@ -63,7 +63,7 @@ class VerificationRequestController @Inject constructor(
id("waiting")
}
- dividerItem {
+ bottomSheetDividerItem {
id("sep")
}
}
@@ -77,24 +77,24 @@ class VerificationRequestController @Inject constructor(
bottomSheetVerificationActionItem {
id("passphrase")
title(host.stringProvider.getString(R.string.verification_cannot_access_other_session))
- titleColor(host.colorProvider.getColorFromAttribute(R.attr.riotx_text_primary))
+ titleColor(host.colorProvider.getColorFromAttribute(R.attr.vctr_content_primary))
subTitle(subtitle)
iconRes(R.drawable.ic_arrow_right)
- iconColor(host.colorProvider.getColorFromAttribute(R.attr.riotx_text_primary))
+ iconColor(host.colorProvider.getColorFromAttribute(R.attr.vctr_content_primary))
listener { host.listener?.onClickRecoverFromPassphrase() }
}
}
- dividerItem {
+ bottomSheetDividerItem {
id("sep1")
}
bottomSheetVerificationActionItem {
id("skip")
title(host.stringProvider.getString(R.string.skip))
- titleColor(host.colorProvider.getColor(R.color.riotx_destructive_accent))
+ titleColor(host.colorProvider.getColorFromAttribute(R.attr.colorError))
iconRes(R.drawable.ic_arrow_right)
- iconColor(host.colorProvider.getColor(R.color.riotx_destructive_accent))
+ iconColor(host.colorProvider.getColorFromAttribute(R.attr.colorError))
listener { host.listener?.onClickSkip() }
}
} else {
@@ -114,7 +114,7 @@ class VerificationRequestController @Inject constructor(
notice(styledText)
}
- dividerItem {
+ bottomSheetDividerItem {
id("sep")
}
@@ -123,10 +123,10 @@ class VerificationRequestController @Inject constructor(
bottomSheetVerificationActionItem {
id("start")
title(host.stringProvider.getString(R.string.start_verification))
- titleColor(host.colorProvider.getColor(R.color.riotx_accent))
+ titleColor(host.colorProvider.getColorFromAttribute(R.attr.colorPrimary))
subTitle(host.stringProvider.getString(R.string.verification_request_start_notice))
iconRes(R.drawable.ic_arrow_right)
- iconColor(host.colorProvider.getColorFromAttribute(R.attr.riotx_text_primary))
+ iconColor(host.colorProvider.getColorFromAttribute(R.attr.vctr_content_primary))
listener { host.listener?.onClickOnVerificationStart() }
}
}
@@ -155,17 +155,17 @@ class VerificationRequestController @Inject constructor(
}
if (state.isMe && state.currentDeviceCanCrossSign && !state.selfVerificationMode) {
- dividerItem {
+ bottomSheetDividerItem {
id("sep_notMe")
}
bottomSheetVerificationActionItem {
id("wasnote")
title(host.stringProvider.getString(R.string.verify_new_session_was_not_me))
- titleColor(host.colorProvider.getColor(R.color.riotx_destructive_accent))
+ titleColor(host.colorProvider.getColorFromAttribute(R.attr.colorError))
subTitle(host.stringProvider.getString(R.string.verify_new_session_compromized))
iconRes(R.drawable.ic_arrow_right)
- iconColor(host.colorProvider.getColorFromAttribute(R.attr.riotx_text_primary))
+ iconColor(host.colorProvider.getColorFromAttribute(R.attr.vctr_content_primary))
listener { host.listener?.onClickOnWasNotMe() }
}
}
diff --git a/vector/src/main/java/im/vector/app/features/devtools/RoomDevToolActivity.kt b/vector/src/main/java/im/vector/app/features/devtools/RoomDevToolActivity.kt
index 31b495a4d4..c502d92a4c 100644
--- a/vector/src/main/java/im/vector/app/features/devtools/RoomDevToolActivity.kt
+++ b/vector/src/main/java/im/vector/app/features/devtools/RoomDevToolActivity.kt
@@ -22,7 +22,6 @@ import android.os.Bundle
import android.os.Parcelable
import android.view.Menu
import android.view.MenuItem
-import androidx.appcompat.app.AlertDialog
import androidx.core.view.forEach
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentManager
@@ -33,6 +32,7 @@ import com.airbnb.mvrx.Success
import com.airbnb.mvrx.Uninitialized
import com.airbnb.mvrx.viewModel
import com.airbnb.mvrx.withState
+import com.google.android.material.dialog.MaterialAlertDialogBuilder
import im.vector.app.R
import im.vector.app.core.di.ScreenComponent
import im.vector.app.core.extensions.exhaustive
@@ -84,7 +84,7 @@ class RoomDevToolActivity : SimpleFragmentActivity(), RoomDevToolViewModel.Facto
when (it) {
DevToolsViewEvents.Dismiss -> finish()
is DevToolsViewEvents.ShowAlertMessage -> {
- AlertDialog.Builder(this)
+ MaterialAlertDialogBuilder(this)
.setMessage(it.message)
.setPositiveButton(R.string.ok, null)
.show()
diff --git a/vector/src/main/java/im/vector/app/features/devtools/RoomDevToolFragment.kt b/vector/src/main/java/im/vector/app/features/devtools/RoomDevToolFragment.kt
index 0cc2a69bcf..0e1a2418b8 100644
--- a/vector/src/main/java/im/vector/app/features/devtools/RoomDevToolFragment.kt
+++ b/vector/src/main/java/im/vector/app/features/devtools/RoomDevToolFragment.kt
@@ -21,6 +21,7 @@ import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import com.airbnb.mvrx.activityViewModel
+import im.vector.app.R
import im.vector.app.core.extensions.cleanup
import im.vector.app.core.extensions.configureWith
import im.vector.app.core.platform.VectorBaseFragment
@@ -40,7 +41,7 @@ class RoomDevToolFragment @Inject constructor(
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
- views.genericRecyclerView.configureWith(epoxyController, showDivider = true)
+ views.genericRecyclerView.configureWith(epoxyController, dividerDrawable = R.drawable.divider_horizontal)
epoxyController.interactionListener = this
// sharedViewModel.observeViewEvents {
diff --git a/vector/src/main/java/im/vector/app/features/devtools/RoomDevToolSendFormController.kt b/vector/src/main/java/im/vector/app/features/devtools/RoomDevToolSendFormController.kt
index 8f8b8257b1..75fcf43292 100644
--- a/vector/src/main/java/im/vector/app/features/devtools/RoomDevToolSendFormController.kt
+++ b/vector/src/main/java/im/vector/app/features/devtools/RoomDevToolSendFormController.kt
@@ -43,7 +43,6 @@ class RoomDevToolSendFormController @Inject constructor(
enabled(true)
value(data.sendEventDraft?.type)
hint(host.stringProvider.getString(R.string.dev_tools_form_hint_type))
- showBottomSeparator(false)
onTextChange { text ->
host.interactionListener?.processAction(RoomDevToolAction.CustomEventTypeChange(text))
}
@@ -55,7 +54,6 @@ class RoomDevToolSendFormController @Inject constructor(
enabled(true)
value(data.sendEventDraft?.stateKey)
hint(host.stringProvider.getString(R.string.dev_tools_form_hint_state_key))
- showBottomSeparator(false)
onTextChange { text ->
host.interactionListener?.processAction(RoomDevToolAction.CustomEventStateKeyChange(text))
}
@@ -67,7 +65,6 @@ class RoomDevToolSendFormController @Inject constructor(
enabled(true)
value(data.sendEventDraft?.content)
hint(host.stringProvider.getString(R.string.dev_tools_form_hint_event_content))
- showBottomSeparator(false)
onTextChange { text ->
host.interactionListener?.processAction(RoomDevToolAction.CustomEventContentChange(text))
}
diff --git a/vector/src/main/java/im/vector/app/features/devtools/RoomDevToolSendFormFragment.kt b/vector/src/main/java/im/vector/app/features/devtools/RoomDevToolSendFormFragment.kt
index abda6104cd..6b7dea7d53 100644
--- a/vector/src/main/java/im/vector/app/features/devtools/RoomDevToolSendFormFragment.kt
+++ b/vector/src/main/java/im/vector/app/features/devtools/RoomDevToolSendFormFragment.kt
@@ -40,7 +40,7 @@ class RoomDevToolSendFormFragment @Inject constructor(
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
- views.genericRecyclerView.configureWith(epoxyController, showDivider = false)
+ views.genericRecyclerView.configureWith(epoxyController)
epoxyController.interactionListener = this
}
diff --git a/vector/src/main/java/im/vector/app/features/devtools/RoomDevToolStateEventListFragment.kt b/vector/src/main/java/im/vector/app/features/devtools/RoomDevToolStateEventListFragment.kt
index 600464bb6d..728fb62d66 100644
--- a/vector/src/main/java/im/vector/app/features/devtools/RoomDevToolStateEventListFragment.kt
+++ b/vector/src/main/java/im/vector/app/features/devtools/RoomDevToolStateEventListFragment.kt
@@ -22,6 +22,7 @@ import android.view.View
import android.view.ViewGroup
import com.airbnb.mvrx.activityViewModel
import com.airbnb.mvrx.withState
+import im.vector.app.R
import im.vector.app.core.extensions.cleanup
import im.vector.app.core.extensions.configureWith
import im.vector.app.core.platform.VectorBaseFragment
@@ -40,7 +41,7 @@ class RoomDevToolStateEventListFragment @Inject constructor(
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
- views.genericRecyclerView.configureWith(epoxyController, showDivider = true)
+ views.genericRecyclerView.configureWith(epoxyController, dividerDrawable = R.drawable.divider_horizontal)
epoxyController.interactionListener = this
}
diff --git a/vector/src/main/java/im/vector/app/features/devtools/RoomStateListController.kt b/vector/src/main/java/im/vector/app/features/devtools/RoomStateListController.kt
index 324377bc57..08aa119a1e 100644
--- a/vector/src/main/java/im/vector/app/features/devtools/RoomStateListController.kt
+++ b/vector/src/main/java/im/vector/app/features/devtools/RoomStateListController.kt
@@ -78,13 +78,13 @@ class RoomStateListController @Inject constructor(
title(span {
+"Type: "
span {
- textColor = host.colorProvider.getColorFromAttribute(R.attr.riotx_text_secondary)
+ textColor = host.colorProvider.getColorFromAttribute(R.attr.vctr_content_secondary)
text = "\"${stateEvent.type}\""
textStyle = "normal"
}
+"\nState Key: "
span {
- textColor = host.colorProvider.getColorFromAttribute(R.attr.riotx_text_secondary)
+ textColor = host.colorProvider.getColorFromAttribute(R.attr.vctr_content_secondary)
text = stateEvent.stateKey.let { "\"$it\"" }
textStyle = "normal"
}
diff --git a/vector/src/main/java/im/vector/app/features/disclaimer/DisclaimerDialog.kt b/vector/src/main/java/im/vector/app/features/disclaimer/DisclaimerDialog.kt
index 8ea3365cf9..1c6afb30b2 100644
--- a/vector/src/main/java/im/vector/app/features/disclaimer/DisclaimerDialog.kt
+++ b/vector/src/main/java/im/vector/app/features/disclaimer/DisclaimerDialog.kt
@@ -18,8 +18,8 @@ package im.vector.app.features.disclaimer
import android.app.Activity
import android.content.Context
-import androidx.appcompat.app.AlertDialog
import androidx.core.content.edit
+import com.google.android.material.dialog.MaterialAlertDialogBuilder
import im.vector.app.R
import im.vector.app.core.di.DefaultSharedPreferences
import im.vector.app.core.utils.openUrlInChromeCustomTab
@@ -40,7 +40,7 @@ fun showDisclaimerDialog(activity: Activity) {
val dialogLayout = activity.layoutInflater.inflate(R.layout.dialog_disclaimer_content, null)
- AlertDialog.Builder(activity)
+ MaterialAlertDialogBuilder(activity)
.setView(dialogLayout)
.setCancelable(false)
.setNegativeButton(R.string.disclaimer_negative_button, null)
diff --git a/vector/src/main/java/im/vector/app/features/discovery/DiscoverySettingsController.kt b/vector/src/main/java/im/vector/app/features/discovery/DiscoverySettingsController.kt
index a35329d6aa..1e8db2571d 100644
--- a/vector/src/main/java/im/vector/app/features/discovery/DiscoverySettingsController.kt
+++ b/vector/src/main/java/im/vector/app/features/discovery/DiscoverySettingsController.kt
@@ -213,15 +213,14 @@ class DiscoverySettingsController @Inject constructor(
is Loading ->
settingsInformationItem {
id("info${pidInfo.threePid.value}")
- colorProvider(host.colorProvider)
message(host.stringProvider.getString(R.string.settings_discovery_confirm_mail, pidInfo.threePid.value))
+ textColor(host.colorProvider.getColor(R.color.vector_info_color))
}
is Fail ->
settingsInformationItem {
id("info${pidInfo.threePid.value}")
- colorProvider(host.colorProvider)
message(host.stringProvider.getString(R.string.settings_discovery_confirm_mail_not_clicked, pidInfo.threePid.value))
- textColorId(R.color.riotx_destructive_accent)
+ textColor(host.colorProvider.getColorFromAttribute(R.attr.colorError))
}
is Success -> Unit /* Cannot happen */
}
@@ -362,9 +361,8 @@ class DiscoverySettingsController @Inject constructor(
val host = this
settingsInformationItem {
id("info${pidInfo.threePid.value}")
- colorProvider(host.colorProvider)
- textColorId(R.color.vector_error_color)
message((pidInfo.isShared as? Fail)?.error?.message ?: "")
+ textColor(host.colorProvider.getColorFromAttribute(R.attr.colorError))
}
}
diff --git a/vector/src/main/java/im/vector/app/features/discovery/DiscoverySettingsFragment.kt b/vector/src/main/java/im/vector/app/features/discovery/DiscoverySettingsFragment.kt
index ca1132c584..0b8674ec6f 100644
--- a/vector/src/main/java/im/vector/app/features/discovery/DiscoverySettingsFragment.kt
+++ b/vector/src/main/java/im/vector/app/features/discovery/DiscoverySettingsFragment.kt
@@ -20,10 +20,10 @@ import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
-import androidx.appcompat.app.AlertDialog
import androidx.appcompat.app.AppCompatActivity
import com.airbnb.mvrx.fragmentViewModel
import com.airbnb.mvrx.withState
+import com.google.android.material.dialog.MaterialAlertDialogBuilder
import im.vector.app.R
import im.vector.app.core.extensions.cleanup
import im.vector.app.core.extensions.configureWith
@@ -143,7 +143,7 @@ class DiscoverySettingsFragment @Inject constructor(
if (hasBoundIds) {
// we should prompt
- AlertDialog.Builder(requireActivity())
+ MaterialAlertDialogBuilder(requireActivity())
.setTitle(R.string.change_identity_server)
.setMessage(getString(R.string.settings_discovery_disconnect_with_bound_pid, state.identityServer(), state.identityServer()))
.setPositiveButton(R.string._continue) { _, _ -> navigateToChangeIdentityServerFragment() }
@@ -167,7 +167,7 @@ class DiscoverySettingsFragment @Inject constructor(
getString(R.string.disconnect_identity_server_dialog_content, state.identityServer())
}
- AlertDialog.Builder(requireActivity())
+ MaterialAlertDialogBuilder(requireActivity())
.setTitle(R.string.disconnect_identity_server)
.setMessage(message)
.setPositiveButton(R.string.disconnect) { _, _ -> viewModel.handle(DiscoverySettingsAction.DisconnectIdentityServer) }
@@ -179,7 +179,7 @@ class DiscoverySettingsFragment @Inject constructor(
override fun onTapUpdateUserConsent(newValue: Boolean) {
if (newValue) {
withState(viewModel) { state ->
- AlertDialog.Builder(requireActivity())
+ MaterialAlertDialogBuilder(requireActivity())
.setTitle(R.string.identity_server_consent_dialog_title)
.setMessage(getString(R.string.identity_server_consent_dialog_content, state.identityServer.invoke()))
.setPositiveButton(R.string.yes) { _, _ ->
diff --git a/vector/src/main/java/im/vector/app/features/discovery/SettingsButtonItem.kt b/vector/src/main/java/im/vector/app/features/discovery/SettingsButtonItem.kt
index ed8ab8f768..5a32616c06 100644
--- a/vector/src/main/java/im/vector/app/features/discovery/SettingsButtonItem.kt
+++ b/vector/src/main/java/im/vector/app/features/discovery/SettingsButtonItem.kt
@@ -57,10 +57,10 @@ abstract class SettingsButtonItem : EpoxyModelWithHolder {
- holder.button.setTextColor(colorProvider.getColor(R.color.riotx_accent))
+ holder.button.setTextColor(colorProvider.getColorFromAttribute(R.attr.colorPrimary))
}
ButtonStyle.DESTRUCTIVE -> {
- holder.button.setTextColor(colorProvider.getColor(R.color.riotx_destructive_accent))
+ holder.button.setTextColor(colorProvider.getColorFromAttribute(R.attr.colorError))
}
}
diff --git a/vector/src/main/java/im/vector/app/features/discovery/SettingsInformationItem.kt b/vector/src/main/java/im/vector/app/features/discovery/SettingsInformationItem.kt
index 5748df711e..71eab5115e 100644
--- a/vector/src/main/java/im/vector/app/features/discovery/SettingsInformationItem.kt
+++ b/vector/src/main/java/im/vector/app/features/discovery/SettingsInformationItem.kt
@@ -16,32 +16,28 @@
package im.vector.app.features.discovery
import android.widget.TextView
-import androidx.annotation.ColorRes
+import androidx.annotation.ColorInt
import com.airbnb.epoxy.EpoxyAttribute
import com.airbnb.epoxy.EpoxyModelClass
import com.airbnb.epoxy.EpoxyModelWithHolder
import im.vector.app.R
import im.vector.app.core.epoxy.VectorEpoxyHolder
-import im.vector.app.core.resources.ColorProvider
@EpoxyModelClass(layout = R.layout.item_settings_information)
abstract class SettingsInformationItem : EpoxyModelWithHolder() {
- @EpoxyAttribute
- lateinit var colorProvider: ColorProvider
-
@EpoxyAttribute
lateinit var message: String
@EpoxyAttribute
- @ColorRes
- var textColorId: Int = R.color.vector_info_color
+ @ColorInt
+ var textColor: Int = 0
override fun bind(holder: Holder) {
super.bind(holder)
holder.textView.text = message
- holder.textView.setTextColor(colorProvider.getColor(textColorId))
+ holder.textView.setTextColor(textColor)
}
class Holder : VectorEpoxyHolder() {
diff --git a/vector/src/main/java/im/vector/app/features/discovery/SettingsTextButtonSingleLineItem.kt b/vector/src/main/java/im/vector/app/features/discovery/SettingsTextButtonSingleLineItem.kt
index ecf762144a..527d28dfad 100644
--- a/vector/src/main/java/im/vector/app/features/discovery/SettingsTextButtonSingleLineItem.kt
+++ b/vector/src/main/java/im/vector/app/features/discovery/SettingsTextButtonSingleLineItem.kt
@@ -117,10 +117,10 @@ abstract class SettingsTextButtonSingleLineItem : EpoxyModelWithHolder {
- holder.mainButton.setTextColor(colorProvider.getColorFromAttribute(R.attr.colorAccent))
+ holder.mainButton.setTextColor(colorProvider.getColorFromAttribute(R.attr.colorPrimary))
}
ButtonStyle.DESTRUCTIVE -> {
- holder.mainButton.setTextColor(colorProvider.getColor(R.color.vector_error_color))
+ holder.mainButton.setTextColor(colorProvider.getColorFromAttribute(R.attr.colorError))
}
}.exhaustive
holder.mainButton.onClick(buttonClickListener)
@@ -148,7 +148,7 @@ abstract class SettingsTextButtonSingleLineItem : EpoxyModelWithHolder {
- val errorColor = colorProvider.getColor(R.color.vector_error_color)
+ val errorColor = colorProvider.getColorFromAttribute(R.attr.colorError)
ContextCompat.getDrawable(holder.view.context, R.drawable.ic_notification_privacy_warning)?.apply {
ThemeUtils.tintDrawableWithColor(this, errorColor)
holder.textView.setCompoundDrawablesWithIntrinsicBounds(this, null, null, null)
diff --git a/vector/src/main/java/im/vector/app/features/discovery/change/SetIdentityServerFragment.kt b/vector/src/main/java/im/vector/app/features/discovery/change/SetIdentityServerFragment.kt
index 934c6fcaca..36e77fb6a0 100644
--- a/vector/src/main/java/im/vector/app/features/discovery/change/SetIdentityServerFragment.kt
+++ b/vector/src/main/java/im/vector/app/features/discovery/change/SetIdentityServerFragment.kt
@@ -21,12 +21,12 @@ import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.view.inputmethod.EditorInfo
-import androidx.appcompat.app.AlertDialog
import androidx.appcompat.app.AppCompatActivity
import androidx.core.text.toSpannable
import androidx.core.view.isVisible
import com.airbnb.mvrx.fragmentViewModel
import com.airbnb.mvrx.withState
+import com.google.android.material.dialog.MaterialAlertDialogBuilder
import com.jakewharton.rxbinding3.widget.textChanges
import im.vector.app.R
import im.vector.app.core.extensions.exhaustive
@@ -68,7 +68,7 @@ class SetIdentityServerFragment @Inject constructor(
)
.toSpannable()
.colorizeMatchingText(state.defaultIdentityServerUrl.toReducedUrl(),
- colorProvider.getColorFromAttribute(R.attr.riotx_text_primary_body_contrast))
+ colorProvider.getColorFromAttribute(R.attr.vctr_content_tertiary))
views.identityServerSetDefaultNotice.isVisible = true
views.identityServerSetDefaultSubmit.isVisible = true
@@ -112,7 +112,7 @@ class SetIdentityServerFragment @Inject constructor(
is SetIdentityServerViewEvents.Failure -> handleFailure(it)
is SetIdentityServerViewEvents.OtherFailure -> showFailure(it.failure)
is SetIdentityServerViewEvents.NoTerms -> {
- AlertDialog.Builder(requireActivity())
+ MaterialAlertDialogBuilder(requireActivity())
.setTitle(R.string.settings_discovery_no_terms_title)
.setMessage(R.string.settings_discovery_no_terms)
.setPositiveButton(R.string._continue) { _, _ ->
@@ -139,7 +139,7 @@ class SetIdentityServerFragment @Inject constructor(
val message = getString(failure.errorMessageId)
if (failure.forDefault) {
// Display the error in a dialog
- AlertDialog.Builder(requireActivity())
+ MaterialAlertDialogBuilder(requireActivity())
.setTitle(R.string.dialog_title_error)
.setMessage(message)
.setPositiveButton(R.string.ok, null)
diff --git a/vector/src/main/java/im/vector/app/features/form/FormAdvancedToggleItem.kt b/vector/src/main/java/im/vector/app/features/form/FormAdvancedToggleItem.kt
index 13d4cb4cf8..08ed29b4eb 100644
--- a/vector/src/main/java/im/vector/app/features/form/FormAdvancedToggleItem.kt
+++ b/vector/src/main/java/im/vector/app/features/form/FormAdvancedToggleItem.kt
@@ -37,8 +37,8 @@ abstract class FormAdvancedToggleItem : VectorEpoxyModel() {
@EpoxyAttribute
var value: String? = null
- @EpoxyAttribute
- var showBottomSeparator: Boolean = true
-
@EpoxyAttribute
var errorMessage: String? = null
@@ -91,7 +86,6 @@ abstract class FormEditTextItem : VectorEpoxyModel() {
holder.textInputEditText.addTextChangedListenerOnce(onTextChangeListener)
holder.textInputEditText.setOnEditorActionListener(editorActionListener)
- holder.bottomSeparator.isVisible = showBottomSeparator
}
override fun shouldSaveViewState(): Boolean {
@@ -106,6 +100,5 @@ abstract class FormEditTextItem : VectorEpoxyModel() {
class Holder : VectorEpoxyHolder() {
val textInputLayout by bind(R.id.formTextInputTextInputLayout)
val textInputEditText by bind(R.id.formTextInputTextInputEditText)
- val bottomSeparator by bind(R.id.formTextInputDivider)
}
}
diff --git a/vector/src/main/java/im/vector/app/features/form/FormEditTextWithButtonItem.kt b/vector/src/main/java/im/vector/app/features/form/FormEditTextWithButtonItem.kt
index 1578bb09e2..dd059ec658 100644
--- a/vector/src/main/java/im/vector/app/features/form/FormEditTextWithButtonItem.kt
+++ b/vector/src/main/java/im/vector/app/features/form/FormEditTextWithButtonItem.kt
@@ -17,7 +17,7 @@
package im.vector.app.features.form
import android.text.Editable
-import androidx.appcompat.widget.AppCompatButton
+import android.widget.Button
import com.airbnb.epoxy.EpoxyAttribute
import com.airbnb.epoxy.EpoxyModelClass
import com.google.android.material.textfield.TextInputEditText
@@ -86,6 +86,6 @@ abstract class FormEditTextWithButtonItem : VectorEpoxyModel(R.id.formTextInputTextInputLayout)
val textInputEditText by bind(R.id.formTextInputTextInputEditText)
- val textInputButton by bind(R.id.formTextInputButton)
+ val textInputButton by bind
@@ -93,7 +91,7 @@
android:layout_marginStart="10dp"
android:layout_marginEnd="10dp"
android:text="@string/send_bug_report_description_in_english"
- android:textColor="?riotx_text_secondary"
+ android:textColor="?vctr_content_secondary"
android:textSize="12sp" />
+ android:textColor="?vctr_content_primary" />
+ app:layout_constraintTop_toBottomOf="@id/callTransferTabLayout" />
+ app:layout_constraintStart_toStartOf="parent">
+ android:layout_centerVertical="true" />
@@ -69,10 +68,10 @@
android:id="@+id/callTransferConnectAction"
style="@style/VectorButtonStyleText"
android:layout_width="wrap_content"
- android:layout_centerVertical="true"
+ android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
- android:text="@string/call_transfer_connect_action"
- android:layout_height="wrap_content"/>
+ android:layout_centerVertical="true"
+ android:text="@string/call_transfer_connect_action" />
diff --git a/vector/src/main/res/layout/activity_emoji_reaction_picker.xml b/vector/src/main/res/layout/activity_emoji_reaction_picker.xml
index fff709ca76..1273a0f550 100644
--- a/vector/src/main/res/layout/activity_emoji_reaction_picker.xml
+++ b/vector/src/main/res/layout/activity_emoji_reaction_picker.xml
@@ -25,7 +25,6 @@
tools:visibility="visible" />
diff --git a/vector/src/main/res/layout/activity_filtered_rooms.xml b/vector/src/main/res/layout/activity_filtered_rooms.xml
index 21929e825c..310ad2bfa4 100644
--- a/vector/src/main/res/layout/activity_filtered_rooms.xml
+++ b/vector/src/main/res/layout/activity_filtered_rooms.xml
@@ -11,7 +11,6 @@
+ android:background="?vctr_waiting_background_color">
+ android:background="?android:colorBackground">
-
+ android:background="?android:colorBackground" />
@@ -29,7 +29,7 @@
android:id="@+id/vector_settings_spinner_views"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:background="?attr/riotx_waiting_background_color"
+ android:background="?vctr_waiting_background_color"
android:clickable="true"
android:visibility="gone">
diff --git a/vector/src/main/res/layout/activity_vector_web_view.xml b/vector/src/main/res/layout/activity_vector_web_view.xml
index 8a0275b721..f53f7d41e6 100644
--- a/vector/src/main/res/layout/activity_vector_web_view.xml
+++ b/vector/src/main/res/layout/activity_vector_web_view.xml
@@ -8,7 +8,6 @@
diff --git a/vector/src/main/res/layout/alerter_incoming_call_layout.xml b/vector/src/main/res/layout/alerter_incoming_call_layout.xml
index 77c1ab4b6c..d1d1812d0a 100644
--- a/vector/src/main/res/layout/alerter_incoming_call_layout.xml
+++ b/vector/src/main/res/layout/alerter_incoming_call_layout.xml
@@ -28,7 +28,7 @@
android:layout_marginEnd="12dp"
android:ellipsize="end"
android:maxLines="1"
- android:textColor="?riotx_text_primary"
+ android:textColor="?vctr_content_primary"
android:textSize="15sp"
android:textStyle="bold"
app:layout_constraintEnd_toStartOf="@+id/incomingCallRejectView"
@@ -45,9 +45,9 @@
android:drawablePadding="4dp"
android:ellipsize="end"
android:maxLines="1"
- android:textColor="?riotx_text_secondary"
+ android:textColor="?vctr_content_secondary"
android:textSize="15sp"
- app:drawableTint="?riotx_text_secondary"
+ app:drawableTint="?vctr_content_secondary"
app:layout_constraintEnd_toStartOf="@+id/incomingCallRejectView"
app:layout_constraintStart_toStartOf="@id/incomingCallNameView"
app:layout_constraintTop_toBottomOf="@id/incomingCallNameView"
@@ -59,7 +59,7 @@
android:layout_height="40dp"
android:layout_marginEnd="12dp"
android:background="@drawable/bg_rounded_button"
- android:backgroundTint="@color/riotx_accent"
+ android:backgroundTint="?colorPrimary"
android:clickable="true"
android:contentDescription="@string/call_notification_answer"
android:focusable="true"
@@ -67,8 +67,7 @@
android:src="@drawable/ic_call_answer"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- app:tint="@android:color/white" />
+ app:layout_constraintTop_toTopOf="parent" />
@@ -26,7 +26,7 @@
android:src="@drawable/ic_security_key_24dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
- app:tint="?riotx_text_primary"
+ app:tint="?vctr_content_primary"
tools:ignore="MissingPrefix" />
diff --git a/vector/src/main/res/layout/bottom_sheet_call_dial_pad.xml b/vector/src/main/res/layout/bottom_sheet_call_dial_pad.xml
index 9dd924a056..136f98c753 100644
--- a/vector/src/main/res/layout/bottom_sheet_call_dial_pad.xml
+++ b/vector/src/main/res/layout/bottom_sheet_call_dial_pad.xml
@@ -5,7 +5,7 @@
android:id="@+id/callDialPad"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:background="?riotx_bottom_sheet_background"
+ android:background="?colorSurface"
android:orientation="vertical">
diff --git a/vector/src/main/res/layout/bottom_sheet_call_dialer_choice.xml b/vector/src/main/res/layout/bottom_sheet_call_dialer_choice.xml
index bd717e54b2..f07e6fff8c 100644
--- a/vector/src/main/res/layout/bottom_sheet_call_dialer_choice.xml
+++ b/vector/src/main/res/layout/bottom_sheet_call_dialer_choice.xml
@@ -3,7 +3,7 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:background="?riotx_bottom_sheet_background"
+ android:background="?colorSurface"
android:orientation="vertical">
+ app:tint="?vctr_content_primary"
+ app:titleTextColor="?vctr_content_primary" />
+ app:tint="?vctr_content_primary"
+ app:titleTextColor="?vctr_content_primary" />
diff --git a/vector/src/main/res/layout/bottom_sheet_generic_list.xml b/vector/src/main/res/layout/bottom_sheet_generic_list.xml
index ac085a4b50..87a2cb54fc 100644
--- a/vector/src/main/res/layout/bottom_sheet_generic_list.xml
+++ b/vector/src/main/res/layout/bottom_sheet_generic_list.xml
@@ -4,7 +4,7 @@
android:id="@+id/bottomSheetRecyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:background="?riotx_bottom_sheet_background"
+ android:background="?colorSurface"
android:fadeScrollbars="false"
android:scrollbars="vertical"
tools:itemCount="5"
diff --git a/vector/src/main/res/layout/bottom_sheet_generic_list_with_title.xml b/vector/src/main/res/layout/bottom_sheet_generic_list_with_title.xml
index a405a386f0..cb211865b4 100644
--- a/vector/src/main/res/layout/bottom_sheet_generic_list_with_title.xml
+++ b/vector/src/main/res/layout/bottom_sheet_generic_list_with_title.xml
@@ -3,7 +3,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:background="?riotx_bottom_sheet_background"
+ android:background="?colorSurface"
android:orientation="vertical"
android:paddingTop="8dp">
@@ -13,7 +13,7 @@
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:padding="8dp"
- android:textColor="?riotx_text_primary"
+ android:textColor="?vctr_content_primary"
android:textSize="16sp"
tools:text="@string/reactions" />
diff --git a/vector/src/main/res/layout/bottom_sheet_invited_to_space.xml b/vector/src/main/res/layout/bottom_sheet_invited_to_space.xml
index d3e9009a0f..dffdfaf1ec 100644
--- a/vector/src/main/res/layout/bottom_sheet_invited_to_space.xml
+++ b/vector/src/main/res/layout/bottom_sheet_invited_to_space.xml
@@ -6,7 +6,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:animateLayoutChanges="true"
- android:background="?riotx_bottom_sheet_background"
+ android:background="?colorSurface"
android:fadeScrollbars="false"
android:scrollbars="vertical">
@@ -39,7 +39,7 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
- android:textColor="?riotx_text_primary"
+ android:textColor="?vctr_content_primary"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/inviterAvatarImage"
@@ -53,7 +53,7 @@
android:layout_marginStart="8dp"
android:ellipsize="end"
android:maxLines="1"
- android:textColor="?riotx_text_secondary"
+ android:textColor="?vctr_content_secondary"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/inviterAvatarImage"
app:layout_constraintTop_toBottomOf="@id/inviterText"
@@ -65,7 +65,7 @@
+ android:background="?vctr_list_separator" />
@@ -17,7 +17,7 @@
android:layout_marginEnd="@dimen/layout_horizontal_margin"
android:layout_marginBottom="8dp"
android:text="@string/action_sign_out"
- android:textColor="?riotx_text_primary"
+ android:textColor="?vctr_content_primary"
android:textSize="18sp"
android:textStyle="bold" />
@@ -28,7 +28,7 @@
android:layout_marginStart="@dimen/layout_horizontal_margin"
android:layout_marginEnd="@dimen/layout_horizontal_margin"
android:layout_marginBottom="8dp"
- android:textColor="?riotx_text_secondary"
+ android:textColor="?vctr_content_secondary"
tools:text="@string/sign_out_bottom_sheet_warning_no_backup" />
@@ -88,9 +88,9 @@
android:layout_height="wrap_content"
android:visibility="gone"
app:actionTitle="@string/secure_backup_setup"
- app:iconTint="?riotx_text_primary"
+ app:iconTint="?vctr_content_primary"
app:leftIcon="@drawable/ic_secure_backup"
- app:textColor="?riotx_text_secondary"
+ app:textColor="?vctr_content_secondary"
tools:visibility="visible" />
\ No newline at end of file
diff --git a/vector/src/main/res/layout/bottom_sheet_room_widget_permission.xml b/vector/src/main/res/layout/bottom_sheet_room_widget_permission.xml
index 68fc8653cf..ab61f10f5f 100644
--- a/vector/src/main/res/layout/bottom_sheet_room_widget_permission.xml
+++ b/vector/src/main/res/layout/bottom_sheet_room_widget_permission.xml
@@ -4,7 +4,7 @@
android:id="@+id/root_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:background="?riotx_bottom_sheet_background"
+ android:background="?colorSurface"
android:orientation="vertical"
android:paddingTop="8dp"
android:paddingBottom="8dp">
@@ -17,7 +17,7 @@
android:layout_marginEnd="@dimen/layout_horizontal_margin"
android:layout_marginBottom="8dp"
android:text="@string/room_widget_permission_title"
- android:textColor="?riotx_text_primary"
+ android:textColor="?vctr_content_primary"
android:textSize="20sp"
android:textStyle="bold" />
@@ -29,7 +29,7 @@
android:layout_marginEnd="@dimen/layout_horizontal_margin"
android:layout_marginBottom="8dp"
android:text="@string/room_widget_permission_added_by"
- android:textColor="?riotx_text_secondary"
+ android:textColor="?vctr_content_secondary"
android:textSize="16sp" />
@@ -70,7 +70,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAlignment="center"
- android:textColor="?riotx_text_secondary"
+ android:textColor="?vctr_content_secondary"
android:textSize="14sp"
tools:text="\@foo:matrix.org" />
@@ -84,7 +84,7 @@
android:layout_marginTop="@dimen/layout_vertical_margin_big"
android:layout_marginEnd="@dimen/layout_horizontal_margin"
android:layout_marginBottom="8dp"
- android:textColor="?riotx_text_secondary"
+ android:textColor="?vctr_content_secondary"
android:textSize="16sp"
tools:text="@string/room_widget_permission_shared_info_title" />
@@ -95,16 +95,20 @@
android:gravity="end"
android:orientation="horizontal">
-
-
@@ -48,7 +48,7 @@
android:layout_marginEnd="16dp"
android:importantForAccessibility="no"
android:src="@drawable/ic_material_share"
- app:tint="?colorAccent"
+ app:tint="?colorSecondary"
tools:ignore="MissingPrefix" />
@@ -16,7 +16,7 @@
android:layout_marginBottom="12dp"
android:gravity="center"
android:text="@string/invite_people_to_your_space"
- android:textColor="?riotx_text_primary"
+ android:textColor="?vctr_content_primary"
android:textSize="16sp"
android:textStyle="bold"
app:layout_constraintTop_toTopOf="parent" />
@@ -27,7 +27,7 @@
android:layout_height="wrap_content"
android:layout_marginBottom="20dp"
android:gravity="center"
- android:textColor="?riotx_text_secondary"
+ android:textColor="?vctr_content_secondary"
android:textSize="16sp"
app:layout_constraintBottom_toTopOf="@id/joinInfoHelpText"
app:layout_constraintTop_toBottomOf="@id/headerText"
@@ -40,7 +40,7 @@
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
app:icon="@drawable/ic_mail"
- app:iconTint="?riotx_text_secondary"
+ app:iconTint="?vctr_content_secondary"
app:title="@string/invite_by_email" />
-
+
@@ -69,6 +69,6 @@
-
+
diff --git a/vector/src/main/res/layout/bottom_sheet_space_invite_chooser.xml b/vector/src/main/res/layout/bottom_sheet_space_invite_chooser.xml
index 8fd3284574..5c504bd7c0 100644
--- a/vector/src/main/res/layout/bottom_sheet_space_invite_chooser.xml
+++ b/vector/src/main/res/layout/bottom_sheet_space_invite_chooser.xml
@@ -3,7 +3,7 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:background="?riotx_bottom_sheet_background"
+ android:background="?colorSurface"
android:orientation="vertical"
android:padding="16dp">
@@ -15,7 +15,7 @@
android:layout_marginBottom="16dp"
android:gravity="center"
android:text="@string/invite_people_menu"
- android:textColor="?riotx_text_primary"
+ android:textColor="?vctr_content_primary"
android:textSize="16sp"
android:textStyle="bold"
app:layout_constraintTop_toTopOf="parent" />
@@ -26,7 +26,7 @@
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
app:icon="@drawable/ic_invite_people"
- app:iconTint="?riotx_text_secondary"
+ app:iconTint="?vctr_content_secondary"
app:subTitle="@string/invite_to_space_with_name_desc"
app:title="@string/invite_to_space_with_name" />
@@ -36,7 +36,7 @@
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
app:icon="@drawable/ic_invite_people"
- app:iconTint="?riotx_text_secondary"
+ app:iconTint="?vctr_content_secondary"
app:subTitle="@string/invite_just_to_this_room_desc"
app:title="@string/invite_just_to_this_room" />
diff --git a/vector/src/main/res/layout/bottom_sheet_space_settings.xml b/vector/src/main/res/layout/bottom_sheet_space_settings.xml
index 1c0e959d25..c4f2bb924b 100644
--- a/vector/src/main/res/layout/bottom_sheet_space_settings.xml
+++ b/vector/src/main/res/layout/bottom_sheet_space_settings.xml
@@ -4,7 +4,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:background="?riotx_bottom_sheet_background"
+ android:background="?colorSurface"
android:orientation="vertical">
+ android:background="?vctr_list_separator_on_surface" />
+ app:tint="?vctr_content_primary"
+ app:titleTextColor="?vctr_content_primary" />
+ app:tint="?vctr_content_primary"
+ app:titleTextColor="?vctr_content_primary" />
+ app:tint="?vctr_content_primary"
+ app:titleTextColor="?vctr_content_primary" />
@@ -124,9 +124,9 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:actionTitle="@string/space_add_child_title"
- app:leftIcon="@drawable/ic_add_black"
- app:tint="?attr/riotx_text_primary"
- app:titleTextColor="?attr/riotx_text_primary"
+ app:leftIcon="@drawable/ic_fab_add"
+ app:tint="?vctr_content_primary"
+ app:titleTextColor="?vctr_content_primary"
tools:actionDescription="" />
@@ -136,7 +136,7 @@
android:layout_height="wrap_content"
app:actionTitle="@string/leave_space"
app:leftIcon="@drawable/ic_room_actions_leave"
- app:tint="@color/riotx_destructive_accent"
- app:titleTextColor="@color/riotx_destructive_accent" />
+ app:tint="?colorError"
+ app:titleTextColor="?colorError" />
diff --git a/vector/src/main/res/layout/bottom_sheet_verification.xml b/vector/src/main/res/layout/bottom_sheet_verification.xml
index e3c97d92dc..f0591c608d 100644
--- a/vector/src/main/res/layout/bottom_sheet_verification.xml
+++ b/vector/src/main/res/layout/bottom_sheet_verification.xml
@@ -1,5 +1,4 @@
-
@@ -45,7 +44,7 @@
android:layout_marginEnd="16dp"
android:ellipsize="end"
android:maxLines="2"
- android:textColor="?riotx_text_primary"
+ android:textColor="?vctr_content_primary"
android:textSize="20sp"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
diff --git a/vector/src/main/res/layout/bottom_sheet_with_fragments.xml b/vector/src/main/res/layout/bottom_sheet_with_fragments.xml
index 70c9872a09..bcdf0839a9 100644
--- a/vector/src/main/res/layout/bottom_sheet_with_fragments.xml
+++ b/vector/src/main/res/layout/bottom_sheet_with_fragments.xml
@@ -3,6 +3,6 @@
android:id="@+id/bottomSheetFragmentContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:background="?riotx_bottom_sheet_background" />
+ android:background="?colorSurface" />
diff --git a/vector/src/main/res/layout/composer_layout.xml b/vector/src/main/res/layout/composer_layout.xml
index 9de2053fc5..25347d1bf9 100644
--- a/vector/src/main/res/layout/composer_layout.xml
+++ b/vector/src/main/res/layout/composer_layout.xml
@@ -15,21 +15,21 @@
android:id="@+id/related_message_background"
android:layout_width="0dp"
android:layout_height="0dp"
- android:background="?riotx_bottom_nav_background_color"
+ android:background="?colorSurface"
tools:ignore="MissingConstraints" />
@@ -32,7 +32,7 @@
android:id="@+id/related_message_background_bottom_separator"
android:layout_width="0dp"
android:layout_height="1dp"
- android:background="?riotx_bottom_nav_background_border_color"
+ android:background="?vctr_list_separator"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
@@ -78,7 +78,7 @@
android:importantForAccessibility="no"
app:layout_constraintEnd_toStartOf="parent"
app:layout_constraintTop_toBottomOf="parent"
- app:tint="?riotx_text_primary"
+ app:tint="?vctr_content_primary"
tools:ignore="MissingConstraints,MissingPrefix"
tools:src="@drawable/ic_edit" />
@@ -102,7 +102,7 @@
android:visibility="invisible"
app:layout_constraintBottom_toTopOf="parent"
app:layout_constraintStart_toEndOf="parent"
- app:tint="@color/riotx_notice"
+ app:tint="?colorError"
tools:ignore="MissingPrefix"
tools:visibility="visible" />
diff --git a/vector/src/main/res/layout/composer_layout_constraint_set_expanded.xml b/vector/src/main/res/layout/composer_layout_constraint_set_expanded.xml
index b137689d9d..ff2a67f4f8 100644
--- a/vector/src/main/res/layout/composer_layout_constraint_set_expanded.xml
+++ b/vector/src/main/res/layout/composer_layout_constraint_set_expanded.xml
@@ -13,7 +13,7 @@
android:id="@+id/related_message_background"
android:layout_width="match_parent"
android:layout_height="0dp"
- android:background="?riotx_bottom_nav_background_color"
+ android:background="?colorSurface"
app:layout_constraintBottom_toBottomOf="@id/composer_preview_barrier"
app:layout_constraintTop_toTopOf="parent" />
@@ -21,7 +21,7 @@
android:id="@+id/related_message_background_top_separator"
android:layout_width="0dp"
android:layout_height="1dp"
- android:background="?riotx_bottom_nav_background_border_color"
+ android:background="?vctr_list_separator"
app:layout_constraintEnd_toEndOf="@id/related_message_background"
app:layout_constraintStart_toStartOf="@+id/related_message_background"
app:layout_constraintTop_toTopOf="@id/related_message_background" />
@@ -30,7 +30,7 @@
android:id="@+id/related_message_background_bottom_separator"
android:layout_width="0dp"
android:layout_height="1dp"
- android:background="?riotx_bottom_nav_background_border_color"
+ android:background="?vctr_list_separator"
app:layout_constraintBottom_toBottomOf="@id/related_message_background"
app:layout_constraintEnd_toEndOf="@id/related_message_background"
app:layout_constraintStart_toStartOf="@+id/related_message_background" />
@@ -99,7 +99,7 @@
app:layout_constraintEnd_toEndOf="@id/composerRelatedMessageAvatar"
app:layout_constraintStart_toStartOf="@id/composerRelatedMessageAvatar"
app:layout_constraintTop_toBottomOf="@id/composerRelatedMessageAvatar"
- app:tint="?riotx_text_primary"
+ app:tint="?vctr_content_primary"
tools:ignore="MissingPrefix"
tools:src="@drawable/ic_edit" />
@@ -113,7 +113,7 @@
app:layout_constraintBottom_toBottomOf="@id/composer_preview_barrier"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
- app:tint="@color/riotx_notice"
+ app:tint="?colorError"
tools:ignore="MissingPrefix" />
+ android:textColor="?vctr_content_secondary" />
@@ -44,7 +44,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/settings_background_fdroid_sync_mode_real_time"
- android:textColor="?riotx_text_primary"
+ android:textColor="?vctr_content_primary"
android:textStyle="bold" />
+ android:textColor="?vctr_content_secondary" />
@@ -68,7 +68,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/settings_background_fdroid_sync_mode_disabled"
- android:textColor="?riotx_text_primary"
+ android:textColor="?vctr_content_primary"
android:textStyle="bold" />
+ android:textColor="?vctr_content_secondary" />
diff --git a/vector/src/main/res/layout/dialog_change_password.xml b/vector/src/main/res/layout/dialog_change_password.xml
index 086819fa87..be58d46bec 100644
--- a/vector/src/main/res/layout/dialog_change_password.xml
+++ b/vector/src/main/res/layout/dialog_change_password.xml
@@ -28,13 +28,12 @@
android:layout_height="@dimen/layout_touch_size"
android:background="?attr/selectableItemBackground"
android:scaleType="center"
- app:tint="?attr/colorAccent" />
+ app:tint="?colorSecondary" />
@@ -49,7 +48,6 @@
-
+ android:textColor="?vctr_content_primary" />
+ android:textColor="?vctr_content_primary" />
+ android:textColor="?vctr_content_primary" />
+ android:textColor="?vctr_content_primary" />
diff --git a/vector/src/main/res/layout/dialog_export_e2e_keys.xml b/vector/src/main/res/layout/dialog_export_e2e_keys.xml
index eedaa81857..7a2dafd08e 100644
--- a/vector/src/main/res/layout/dialog_export_e2e_keys.xml
+++ b/vector/src/main/res/layout/dialog_export_e2e_keys.xml
@@ -15,7 +15,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/encryption_export_notice"
- android:textColor="?riotx_text_primary"
+ android:textColor="?vctr_content_primary"
android:textSize="16sp"
app:layout_constraintTop_toTopOf="parent" />
@@ -29,12 +29,11 @@
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/exportDialogTil"
app:layout_constraintTop_toTopOf="@id/exportDialogTil"
- app:tint="?attr/colorAccent" />
+ app:tint="?colorSecondary" />
+ android:inputType="textPassword" />
+ android:inputType="textPassword" />
-
+ android:inputType="textPassword" />
@@ -53,11 +51,10 @@
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/importDialogTil"
app:layout_constraintTop_toTopOf="@id/importDialogTil"
- app:tint="?attr/colorAccent" />
+ app:tint="?colorSecondary" />
-
-
-
-
-
+ app:tint="?colorSecondary" />
diff --git a/vector/src/main/res/layout/dialog_recovery_key_saved_info.xml b/vector/src/main/res/layout/dialog_recovery_key_saved_info.xml
index b131d45495..85feaf6587 100644
--- a/vector/src/main/res/layout/dialog_recovery_key_saved_info.xml
+++ b/vector/src/main/res/layout/dialog_recovery_key_saved_info.xml
@@ -29,7 +29,7 @@
android:importantForAccessibility="no"
android:scaleType="fitCenter"
android:src="@drawable/ic_security_key_24dp"
- app:tint="?riotx_text_primary"
+ app:tint="?vctr_content_primary"
tools:ignore="MissingPrefix" />
@@ -50,7 +50,7 @@
android:id="@+id/keepItSafeText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:textColor="?riotx_text_secondary"
+ android:textColor="?vctr_content_secondary"
android:textSize="16sp"
tools:text="@string/bootstrap_crosssigning_save_usb" />
diff --git a/vector/src/main/res/layout/dialog_report_content.xml b/vector/src/main/res/layout/dialog_report_content.xml
index c92394e8b5..e354918eaa 100644
--- a/vector/src/main/res/layout/dialog_report_content.xml
+++ b/vector/src/main/res/layout/dialog_report_content.xml
@@ -10,7 +10,6 @@
android:paddingEnd="?dialogPreferredPadding">
+ app:titleTextColor="@android:color/white"
+ tools:title="Title" />
-
-
+ android:paddingTop="16dp"
+ android:paddingBottom="16dp">
@@ -26,11 +26,10 @@
android:layout_height="0dp"
android:layout_weight="1" />
-
+ android:background="?vctr_list_separator_on_surface" />
+ app:tint="?colorSecondary" />
+ android:background="?vctr_list_separator_on_surface" />
diff --git a/vector/src/main/res/layout/fragment_bootstrap_enter_account_password.xml b/vector/src/main/res/layout/fragment_bootstrap_enter_account_password.xml
index d4f4e044ce..ec42481902 100644
--- a/vector/src/main/res/layout/fragment_bootstrap_enter_account_password.xml
+++ b/vector/src/main/res/layout/fragment_bootstrap_enter_account_password.xml
@@ -12,7 +12,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
- android:textColor="?riotx_text_primary"
+ android:textColor="?vctr_content_primary"
android:textSize="14sp"
app:layout_constraintBottom_toTopOf="@id/bootstrapAccountPasswordTil"
app:layout_constraintTop_toTopOf="parent"
@@ -20,7 +20,6 @@
@@ -55,12 +53,14 @@
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/bootstrapAccountPasswordTil"
app:layout_constraintTop_toTopOf="@+id/bootstrapAccountPasswordTil"
- app:tint="?colorAccent"
+ app:tint="?colorSecondary"
tools:ignore="MissingPrefix" />
-
@@ -59,7 +57,7 @@
android:text="@string/bootstrap_dont_reuse_pwd"
android:textSize="12sp"
app:drawableStartCompat="@drawable/ic_alert_triangle"
- app:drawableTint="@color/riotx_destructive_accent" />
+ app:drawableTint="?colorError" />
@@ -73,11 +71,13 @@
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/ssss_passphrase_enter_til"
app:layout_constraintTop_toTopOf="@+id/ssss_passphrase_enter_til"
- app:tint="?colorAccent" />
+ app:tint="?colorSecondary" />
-
-
-
+ app:tint="?colorSecondary" />
-
-
-
+ android:background="?vctr_list_separator_on_surface" />
+ app:tint="?colorSecondary" />
+ android:background="?vctr_list_separator_on_surface" />
+ app:tint="?colorSecondary" />
+ android:background="?vctr_list_separator_on_surface" />
+ app:tint="?colorSecondary" />
+ android:background="?vctr_list_separator_on_surface" />
diff --git a/vector/src/main/res/layout/fragment_bootstrap_setup_recovery.xml b/vector/src/main/res/layout/fragment_bootstrap_setup_recovery.xml
index 5c4590dc40..c05b5f8d1c 100644
--- a/vector/src/main/res/layout/fragment_bootstrap_setup_recovery.xml
+++ b/vector/src/main/res/layout/fragment_bootstrap_setup_recovery.xml
@@ -16,14 +16,14 @@
android:layout_marginTop="8dp"
android:layout_marginEnd="16dp"
android:text="@string/bottom_sheet_setup_secure_backup_subtitle"
- android:textColor="?riotx_text_primary"
+ android:textColor="?vctr_content_primary"
android:textSize="14sp" />
+ android:background="?vctr_list_separator_on_surface" />
+ app:tint="?colorSecondary" />
@@ -51,7 +51,7 @@
android:id="@+id/bootstrapSetupSecureUseSecurityPassphraseSeparator"
android:layout_width="match_parent"
android:layout_height="1dp"
- android:background="?attr/vctr_list_divider_color"
+ android:background="?vctr_list_separator_on_surface"
android:visibility="gone"
tools:visibility="visible" />
@@ -64,14 +64,14 @@
app:actionDescription="@string/bottom_sheet_setup_secure_backup_security_phrase_subtitle"
app:actionTitle="@string/bottom_sheet_setup_secure_backup_security_phrase_title"
app:leftIcon="@drawable/ic_security_phrase_24dp"
- app:tint="?attr/riotx_text_primary"
+ app:tint="?vctr_content_primary"
app:rightIcon="@drawable/ic_arrow_right"
tools:visibility="visible" />
+ android:background="?vctr_list_separator_on_surface" />
diff --git a/vector/src/main/res/layout/fragment_bootstrap_waiting.xml b/vector/src/main/res/layout/fragment_bootstrap_waiting.xml
index afd8faf4dc..0aad3b1a10 100644
--- a/vector/src/main/res/layout/fragment_bootstrap_waiting.xml
+++ b/vector/src/main/res/layout/fragment_bootstrap_waiting.xml
@@ -14,7 +14,7 @@
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:text="@string/bootstrap_loading_text"
- android:textColor="?riotx_text_primary"
+ android:textColor="?vctr_content_primary"
android:textSize="14sp"
app:layout_constraintTop_toTopOf="parent" />
@@ -32,7 +32,7 @@
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:gravity="center"
- android:textColor="?riotx_text_primary"
+ android:textColor="?vctr_content_primary"
android:textSize="14sp"
app:layout_constraintTop_toBottomOf="@id/bootstrapWaitingProgress"
tools:text="Bending the spoon..." />
diff --git a/vector/src/main/res/layout/fragment_breadcrumbs.xml b/vector/src/main/res/layout/fragment_breadcrumbs.xml
index 5cdd2e964a..efafc79386 100644
--- a/vector/src/main/res/layout/fragment_breadcrumbs.xml
+++ b/vector/src/main/res/layout/fragment_breadcrumbs.xml
@@ -4,5 +4,5 @@
android:id="@+id/breadcrumbsRecyclerView"
android:layout_width="wrap_content"
android:layout_height="match_parent"
- android:background="?riotx_background"
+ android:background="?android:colorBackground"
tools:listitem="@layout/item_breadcrumbs" />
diff --git a/vector/src/main/res/layout/fragment_contacts_book.xml b/vector/src/main/res/layout/fragment_contacts_book.xml
index 0ff64cf657..b4248514eb 100644
--- a/vector/src/main/res/layout/fragment_contacts_book.xml
+++ b/vector/src/main/res/layout/fragment_contacts_book.xml
@@ -12,7 +12,6 @@
-
-
diff --git a/vector/src/main/res/layout/fragment_create_direct_room_directory_users.xml b/vector/src/main/res/layout/fragment_create_direct_room_directory_users.xml
index 69e9e658cb..574a191e55 100644
--- a/vector/src/main/res/layout/fragment_create_direct_room_directory_users.xml
+++ b/vector/src/main/res/layout/fragment_create_direct_room_directory_users.xml
@@ -12,7 +12,6 @@
diff --git a/vector/src/main/res/layout/fragment_create_room.xml b/vector/src/main/res/layout/fragment_create_room.xml
index 89883fb8b4..6288273d8c 100644
--- a/vector/src/main/res/layout/fragment_create_room.xml
+++ b/vector/src/main/res/layout/fragment_create_room.xml
@@ -13,7 +13,6 @@
-