Selaa lähdekoodia

Merge pull request #3709 from nextcloud/renovate/com.github.nextcloud.android-common-ui-0.x

fix(deps): update dependency com.github.nextcloud.android-common:ui to v0.18.0
Andy Scherzinger 1 vuosi sitten
vanhempi
commit
9882d94ac3

+ 1 - 1
app/build.gradle

@@ -312,7 +312,7 @@ dependencies {
 
      implementation 'androidx.activity:activity-ktx:1.8.2'
 
-    implementation 'com.github.nextcloud.android-common:ui:0.17.0'
+    implementation 'com.github.nextcloud.android-common:ui:0.18.0'
 
     implementation 'com.github.nextcloud-deps:android-talk-webrtc:121.6167.0'
 }

+ 1 - 0
app/src/main/java/com/nextcloud/talk/conversationinfo/ConversationInfoActivity.kt

@@ -1198,6 +1198,7 @@ class ConversationInfoActivity :
                     cornerRadius(res = R.dimen.corner_radius)
 
                     title(text = participant.displayName)
+                    viewThemeUtils.material.colorBottomSheetBackground(this.view)
                     listItemsWithImage(items = items) { _, index, _ ->
                         if (index == 0) {
                             removeAttendeeFromConversation(apiVersion, participant)

+ 1 - 1
app/src/main/java/com/nextcloud/talk/ui/bottom/sheet/ProfileBottomSheet.kt

@@ -90,7 +90,7 @@ class ProfileBottomSheet(val ncApi: NcApi, val userModel: User, val viewThemeUti
 
         MaterialDialog(context, BottomSheet(LayoutMode.WRAP_CONTENT)).show {
             cornerRadius(res = R.dimen.corner_radius)
-            viewThemeUtils.platform.themeDialog(this.view)
+            viewThemeUtils.material.colorBottomSheetBackground(this.view)
 
             title(text = displayName)
             listItemsWithImage(items = items) { _, index, _ ->

+ 2 - 1
app/src/main/java/com/nextcloud/talk/ui/dialog/AttachmentDialog.kt

@@ -55,7 +55,8 @@ class AttachmentDialog(val activity: Activity, var chatActivity: ChatActivity) :
         setContentView(dialogAttachmentBinding.root)
         window?.setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT)
 
-        viewThemeUtils.platform.themeDialog(dialogAttachmentBinding.root)
+        viewThemeUtils.material.colorBottomSheetBackground(dialogAttachmentBinding.root)
+        viewThemeUtils.material.colorBottomSheetDragHandle(dialogAttachmentBinding.bottomSheetDragHandle)
         initItemsStrings()
         initItemsVisibility()
         initItemsClickListeners()

+ 2 - 1
app/src/main/java/com/nextcloud/talk/ui/dialog/ConversationsListBottomDialog.kt

@@ -82,7 +82,8 @@ class ConversationsListBottomDialog(
         setContentView(binding.root)
         window?.setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT)
 
-        viewThemeUtils.platform.themeDialog(binding.root)
+        viewThemeUtils.material.colorBottomSheetBackground(binding.root)
+        viewThemeUtils.material.colorBottomSheetDragHandle(binding.bottomSheetDragHandle)
         initHeaderDescription()
         initItemsVisibility()
         initClickListeners()

+ 2 - 1
app/src/main/java/com/nextcloud/talk/ui/dialog/MessageActionsDialog.kt

@@ -117,7 +117,8 @@ class MessageActionsDialog(
         setContentView(dialogMessageActionsBinding.root)
         window?.setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT)
 
-        viewThemeUtils.platform.themeDialog(dialogMessageActionsBinding.root)
+        viewThemeUtils.material.colorBottomSheetBackground(dialogMessageActionsBinding.root)
+        viewThemeUtils.material.colorBottomSheetDragHandle(dialogMessageActionsBinding.bottomSheetDragHandle)
         initEmojiBar(hasChatPermission)
         initMenuItemCopy(!message.isDeleted)
         val apiVersion = ApiUtils.getConversationApiVersion(user!!, intArrayOf(ApiUtils.API_V4, ApiUtils.API_V3, 1))

+ 2 - 1
app/src/main/java/com/nextcloud/talk/ui/dialog/ShowReactionsDialog.kt

@@ -81,7 +81,8 @@ class ShowReactionsDialog(
         binding = DialogMessageReactionsBinding.inflate(layoutInflater)
         setContentView(binding.root)
         window?.setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT)
-        viewThemeUtils.platform.themeDialog(binding.root)
+        viewThemeUtils.material.colorBottomSheetBackground(binding.root)
+        viewThemeUtils.material.colorBottomSheetDragHandle(binding.bottomSheetDragHandle)
         adapter = ReactionsAdapter(this, user)
         binding.reactionsList.adapter = adapter
         binding.reactionsList.layoutManager = LinearLayoutManager(context)

+ 45 - 35
app/src/main/java/com/nextcloud/talk/ui/theme/TalkSpecificViewThemeUtils.kt

@@ -64,6 +64,7 @@ import com.nextcloud.talk.utils.DrawableUtils
 import com.nextcloud.talk.utils.message.MessageUtils
 import com.vanniktech.emoji.EmojiTextView
 import com.wooplr.spotlight.SpotlightView
+import dynamiccolor.MaterialDynamicColors
 import eu.davidea.flexibleadapter.utils.FlexibleUtils
 import javax.inject.Inject
 import kotlin.math.roundToInt
@@ -78,6 +79,7 @@ class TalkSpecificViewThemeUtils @Inject constructor(
     private val appcompat: AndroidXViewThemeUtils
 ) :
     ViewThemeUtilsBase(schemes) {
+    private val dynamicColor = MaterialDynamicColors()
     fun themeIncomingMessageBubble(bubble: View, grouped: Boolean, deleted: Boolean) {
         val resources = bubble.resources
 
@@ -104,9 +106,9 @@ class TalkSpecificViewThemeUtils @Inject constructor(
     fun themeOutgoingMessageBubble(bubble: View, grouped: Boolean, deleted: Boolean) {
         withScheme(bubble) { scheme ->
             val bgBubbleColor = if (deleted) {
-                ColorUtils.setAlphaComponent(scheme.surfaceVariant, HALF_ALPHA_INT)
+                ColorUtils.setAlphaComponent(dynamicColor.surfaceVariant().getArgb(scheme), HALF_ALPHA_INT)
             } else {
-                scheme.surfaceVariant
+                dynamicColor.surfaceVariant().getArgb(scheme)
             }
 
             val layout = if (grouped) {
@@ -126,31 +128,31 @@ class TalkSpecificViewThemeUtils @Inject constructor(
 
     fun colorOutgoingQuoteText(textView: TextView) {
         withScheme(textView) { scheme ->
-            textView.setTextColor(scheme.onSurfaceVariant)
+            textView.setTextColor(dynamicColor.onSurfaceVariant().getArgb(scheme))
         }
     }
 
     fun colorOutgoingQuoteAuthorText(textView: TextView) {
         withScheme(textView) { scheme ->
-            ColorUtils.setAlphaComponent(scheme.onSurfaceVariant, ALPHA_80_INT)
+            ColorUtils.setAlphaComponent(dynamicColor.onSurfaceVariant().getArgb(scheme), ALPHA_80_INT)
         }
     }
 
     fun colorOutgoingQuoteBackground(view: View) {
         withScheme(view) { scheme ->
-            view.setBackgroundColor(scheme.onSurfaceVariant)
+            view.setBackgroundColor(dynamicColor.onSurfaceVariant().getArgb(scheme))
         }
     }
 
     fun colorContactChatItemName(contactName: androidx.emoji2.widget.EmojiTextView) {
         withScheme(contactName) { scheme ->
-            contactName.setTextColor(scheme.onPrimaryContainer)
+            contactName.setTextColor(dynamicColor.onPrimaryContainer().getArgb(scheme))
         }
     }
 
     fun colorContactChatItemBackground(card: MaterialCardView) {
         withScheme(card) { scheme ->
-            card.setCardBackgroundColor(scheme.primaryContainer)
+            card.setCardBackgroundColor(dynamicColor.primaryContainer().getArgb(scheme))
         }
     }
 
@@ -166,7 +168,7 @@ class TalkSpecificViewThemeUtils @Inject constructor(
                 .mutate()
             DrawableCompat.setTintList(
                 drawable,
-                ColorStateList.valueOf(scheme.primary)
+                ColorStateList.valueOf(dynamicColor.primary().getArgb(scheme))
             )
             emoji.background = drawable
         }
@@ -178,7 +180,7 @@ class TalkSpecificViewThemeUtils @Inject constructor(
                 .getDrawable(linearLayout.context, R.drawable.reaction_self_background)!!
                 .mutate()
             val backgroundColor = if (incoming) {
-                scheme.primaryContainer
+                dynamicColor.primaryContainer().getArgb(scheme)
             } else {
                 ContextCompat.getColor(
                     linearLayout.context,
@@ -207,7 +209,7 @@ class TalkSpecificViewThemeUtils @Inject constructor(
 
     private fun colorDrawable(context: Context, drawable: Drawable) {
         withScheme(context) { scheme ->
-            drawable.setTint(scheme.primary)
+            drawable.setTint(dynamicColor.primary().getArgb(scheme))
         }
     }
 
@@ -217,9 +219,9 @@ class TalkSpecificViewThemeUtils @Inject constructor(
         withScheme(avatar) { scheme ->
             val layers = arrayOfNulls<Drawable>(2)
             layers[0] = ContextCompat.getDrawable(avatar.context, R.drawable.ic_avatar_background)
-            layers[0]?.setTint(scheme.surfaceVariant)
+            layers[0]?.setTint(dynamicColor.surfaceVariant().getArgb(scheme))
             layers[1] = ContextCompat.getDrawable(avatar.context, foreground)
-            layers[1]?.setTint(scheme.onSurfaceVariant)
+            layers[1]?.setTint(dynamicColor.onSurfaceVariant().getArgb(scheme))
             drawable = LayerDrawable(layers)
         }
 
@@ -231,10 +233,10 @@ class TalkSpecificViewThemeUtils @Inject constructor(
             // hacky as no default way is provided
             val editText = searchView.findViewById<SearchView.SearchAutoComplete>(R.id.search_src_text)
             val searchPlate = searchView.findViewById<LinearLayout>(R.id.search_plate)
-            editText.setHintTextColor(scheme.onSurfaceVariant)
-            editText.setTextColor(scheme.onSurface)
-            editText.setBackgroundColor(scheme.surface)
-            searchPlate.setBackgroundColor(scheme.surface)
+            editText.setHintTextColor(dynamicColor.onSurfaceVariant().getArgb(scheme))
+            editText.setTextColor(dynamicColor.onSurface().getArgb(scheme))
+            editText.setBackgroundColor(dynamicColor.surface().getArgb(scheme))
+            searchPlate.setBackgroundColor(dynamicColor.surface().getArgb(scheme))
         }
     }
 
@@ -248,7 +250,7 @@ class TalkSpecificViewThemeUtils @Inject constructor(
                         intArrayOf(-android.R.attr.state_checked)
                     ),
                     intArrayOf(
-                        scheme.secondaryContainer,
+                        dynamicColor.secondaryContainer().getArgb(scheme),
                         background
                     )
                 )
@@ -259,8 +261,8 @@ class TalkSpecificViewThemeUtils @Inject constructor(
                         intArrayOf(-android.R.attr.state_checked)
                     ),
                     intArrayOf(
-                        scheme.onSecondaryContainer,
-                        scheme.surface
+                        dynamicColor.onSecondaryContainer().getArgb(scheme),
+                        dynamicColor.surface().getArgb(scheme)
                     )
                 )
             )
@@ -269,29 +271,33 @@ class TalkSpecificViewThemeUtils @Inject constructor(
 
     fun themeMicInputCloud(micInputCloud: MicInputCloud) {
         withScheme(micInputCloud) { scheme ->
-            micInputCloud.setColor(scheme.primary)
+            micInputCloud.setColor(dynamicColor.primary().getArgb(scheme))
         }
     }
 
     fun themeWaveFormSeekBar(waveformSeekBar: WaveformSeekBar) {
         withScheme(waveformSeekBar) { scheme ->
             waveformSeekBar.thumb.colorFilter =
-                PorterDuffColorFilter(scheme.inversePrimary, PorterDuff.Mode.SRC_IN)
-            waveformSeekBar.setColors(scheme.inversePrimary, scheme.onPrimaryContainer)
+                PorterDuffColorFilter(dynamicColor.inversePrimary().getArgb(scheme), PorterDuff.Mode.SRC_IN)
+            waveformSeekBar.setColors(
+                dynamicColor.inversePrimary().getArgb(scheme),
+                dynamicColor.onPrimaryContainer().getArgb(scheme)
+            )
             waveformSeekBar.progressDrawable?.colorFilter =
-                PorterDuffColorFilter(scheme.primary, PorterDuff.Mode.SRC_IN)
+                PorterDuffColorFilter(dynamicColor.primary().getArgb(scheme), PorterDuff.Mode.SRC_IN)
         }
     }
 
     fun themeForegroundColorSpan(context: Context): ForegroundColorSpan {
         return withScheme(context) { scheme ->
-            return@withScheme ForegroundColorSpan(scheme.primary)
+            return@withScheme ForegroundColorSpan(dynamicColor.primary().getArgb(scheme))
         }
     }
 
     fun themeSpotlightView(context: Context, builder: SpotlightView.Builder): SpotlightView.Builder {
         return withScheme(context) { scheme ->
-            return@withScheme builder.headingTvColor(scheme.primary).lineAndArcColor(scheme.primary)
+            return@withScheme builder.headingTvColor(dynamicColor.primary().getArgb(scheme))
+                .lineAndArcColor(dynamicColor.primary().getArgb(scheme))
         }
     }
 
@@ -305,7 +311,7 @@ class TalkSpecificViewThemeUtils @Inject constructor(
                 do {
                     val end = start + constraint.length
                     spanText.setSpan(
-                        ForegroundColorSpan(scheme.primary),
+                        ForegroundColorSpan(dynamicColor.primary().getArgb(scheme)),
                         start,
                         end,
                         Spannable.SPAN_EXCLUSIVE_EXCLUSIVE
@@ -323,34 +329,34 @@ class TalkSpecificViewThemeUtils @Inject constructor(
 
     fun themeSortButton(sortButton: MaterialButton) {
         withScheme(sortButton) { scheme ->
-            sortButton.iconTint = ColorStateList.valueOf(scheme.onSurface)
-            sortButton.setTextColor(scheme.onSurface)
+            sortButton.iconTint = ColorStateList.valueOf(dynamicColor.onSurface().getArgb(scheme))
+            sortButton.setTextColor(dynamicColor.onSurface().getArgb(scheme))
         }
     }
 
     fun themePathNavigationButton(navigationBtn: MaterialButton) {
         withScheme(navigationBtn) { scheme ->
-            navigationBtn.iconTint = ColorStateList.valueOf(scheme.onSurface)
-            navigationBtn.setTextColor(scheme.onSurface)
+            navigationBtn.iconTint = ColorStateList.valueOf(dynamicColor.onSurface().getArgb(scheme))
+            navigationBtn.setTextColor(dynamicColor.onSurface().getArgb(scheme))
         }
     }
 
     fun themeSortListButtonGroup(relativeLayout: RelativeLayout) {
         withScheme(relativeLayout) { scheme ->
-            relativeLayout.setBackgroundColor(scheme.surface)
+            relativeLayout.setBackgroundColor(dynamicColor.surface().getArgb(scheme))
         }
     }
 
     fun themeStatusDrawable(context: Context, statusDrawable: StatusDrawable) {
         withScheme(context) { scheme ->
-            statusDrawable.colorStatusDrawable(scheme.surface)
+            statusDrawable.colorStatusDrawable(dynamicColor.surface().getArgb(scheme))
         }
     }
 
     fun themeMessageCheckMark(imageView: ImageView) {
         withScheme(imageView) { scheme ->
             imageView.setColorFilter(
-                scheme.onSurfaceVariant,
+                dynamicColor.onSurfaceVariant().getArgb(scheme),
                 PorterDuff.Mode.SRC_ATOP
             )
         }
@@ -365,7 +371,11 @@ class TalkSpecificViewThemeUtils @Inject constructor(
                     context.getColor(R.color.nc_incoming_text_default)
                 )
             } else {
-                MessageUtils(context).getRenderedMarkdownText(context, message, scheme.onSurfaceVariant)
+                MessageUtils(context).getRenderedMarkdownText(
+                    context,
+                    message,
+                    dynamicColor.onSurfaceVariant().getArgb(scheme)
+                )
             }
         }
     }
@@ -375,7 +385,7 @@ class TalkSpecificViewThemeUtils @Inject constructor(
             return@withScheme if (!isOutgoingMessage || isSelfReaction) {
                 ContextCompat.getColor(binding.root.context, R.color.high_emphasis_text)
             } else {
-                scheme.onSurfaceVariant
+                dynamicColor.onSurfaceVariant().getArgb(scheme)
             }
         }
     }

+ 20 - 87
gradle/verification-metadata.xml

@@ -454,6 +454,11 @@
             <sha256 value="a1fd8a9bd0a80c9f203065d01b76616d6675a3874c6b8bd1e87736dbfb318005" origin="Generated by Gradle" reason="Artifact is not signed"/>
          </artifact>
       </component>
+      <component group="androidx.compose" name="compose-bom" version="2024.02.02">
+         <artifact name="compose-bom-2024.02.02.pom">
+            <sha256 value="9bfe92a8fa26491d64fc4c94621a8bdd0f61375fb815515236204503ec7cae6b" origin="Generated by Gradle"/>
+         </artifact>
+      </component>
       <component group="androidx.concurrent" name="concurrent-futures" version="1.0.0">
          <artifact name="concurrent-futures-1.0.0.pom">
             <sha256 value="4505b9a5e30a9418b59a9ad6702c3e4193aea6e691a3d03cf220c7640ad083e2" origin="Generated by Gradle" reason="Artifact is not signed"/>
@@ -2475,100 +2480,28 @@
             <sha256 value="8567749803d3d0a5c63fc5186992017f2dd3dff66ffd4140bd2b58ce0a176ef0" origin="Generated by Gradle" reason="Artifact is not signed"/>
          </artifact>
       </component>
-      <component group="com.github.nextcloud.android-common" name="core" version="0.14.0">
-         <artifact name="core-0.14.0.aar">
-            <sha256 value="d370010eeae5928f525f31c09e33f9c78ed5e610af4b9f84b1ba68ce0727267b" origin="Generated by Gradle" reason="Artifact is not signed"/>
-         </artifact>
-         <artifact name="core-0.14.0.module">
-            <sha256 value="89c21ebe5a3aedd8c910bbe0f7c0c6ea6f30dc9dba58d68b39bee3759a7dc52f" origin="Generated by Gradle" reason="Artifact is not signed"/>
-         </artifact>
-      </component>
-      <component group="com.github.nextcloud.android-common" name="core" version="0.15.0">
-         <artifact name="core-0.15.0.aar">
-            <sha256 value="d370010eeae5928f525f31c09e33f9c78ed5e610af4b9f84b1ba68ce0727267b" origin="Generated by Gradle" reason="Artifact is not signed"/>
-         </artifact>
-         <artifact name="core-0.15.0.module">
-            <sha256 value="609090237e7d6c9745dcb883819e53bb4c9337b89740aa88fd1c56d73ecfa56b" origin="Generated by Gradle" reason="Artifact is not signed"/>
-         </artifact>
-      </component>
-      <component group="com.github.nextcloud.android-common" name="core" version="0.16.0">
-         <artifact name="core-0.16.0.aar">
-            <sha256 value="d370010eeae5928f525f31c09e33f9c78ed5e610af4b9f84b1ba68ce0727267b" origin="Generated by Gradle" reason="Artifact is not signed"/>
-         </artifact>
-         <artifact name="core-0.16.0.module">
-            <sha256 value="2b9fe04f11de743212d44d35aeb084996637cf9dcc7a25bcf7b76b4af23e8479" origin="Generated by Gradle" reason="Artifact is not signed"/>
-         </artifact>
-      </component>
-      <component group="com.github.nextcloud.android-common" name="core" version="0.17.0">
-         <artifact name="core-0.17.0.aar">
-            <sha256 value="65d89207886467066072a394c07cc8d58bb80f115704a427306c27c08c6e8344" origin="Generated by Gradle" reason="Artifact is not signed"/>
-         </artifact>
-         <artifact name="core-0.17.0.module">
-            <sha256 value="c566a8a9d41b8e804c52539975cfc017d105e9fe2730e74f936ed948f55bc6dc" origin="Generated by Gradle" reason="Artifact is not signed"/>
-         </artifact>
-      </component>
-      <component group="com.github.nextcloud.android-common" name="material-color-utilities" version="0.14.0">
-         <artifact name="material-color-utilities-0.14.0.jar">
-            <sha256 value="bfcd5205b056b948bc6ff9a556898188f4a4e92179c723906e10f1164b776eed" origin="Generated by Gradle" reason="Artifact is not signed"/>
-         </artifact>
-         <artifact name="material-color-utilities-0.14.0.module">
-            <sha256 value="b12eadfbfe39b7fb6e62a13c9aca93b468e66a0cf0a2d841b849fe86ebc2d605" origin="Generated by Gradle" reason="Artifact is not signed"/>
-         </artifact>
-      </component>
-      <component group="com.github.nextcloud.android-common" name="material-color-utilities" version="0.15.0">
-         <artifact name="material-color-utilities-0.15.0.jar">
-            <sha256 value="ced5cd660ebfa6aa7461a2157f67a8e76ae12830f759adec0b51631de4ac5434" origin="Generated by Gradle" reason="Artifact is not signed"/>
-         </artifact>
-         <artifact name="material-color-utilities-0.15.0.module">
-            <sha256 value="edc221870d47808e96595f11d58dc6f45e50a9d8979658f024ae9a816778ecfb" origin="Generated by Gradle" reason="Artifact is not signed"/>
-         </artifact>
-      </component>
-      <component group="com.github.nextcloud.android-common" name="material-color-utilities" version="0.16.0">
-         <artifact name="material-color-utilities-0.16.0.jar">
-            <sha256 value="f402b2986f1a524dcb90d004e066541f16a3cb792b281482f623bd973a0adcd0" origin="Generated by Gradle" reason="Artifact is not signed"/>
-         </artifact>
-         <artifact name="material-color-utilities-0.16.0.module">
-            <sha256 value="9f78238c228e06485c0f9409b0825064a2bbd8f381db964b129b76587b03277c" origin="Generated by Gradle" reason="Artifact is not signed"/>
-         </artifact>
-      </component>
-      <component group="com.github.nextcloud.android-common" name="material-color-utilities" version="0.17.0">
-         <artifact name="material-color-utilities-0.17.0.jar">
-            <sha256 value="188a63e6c1d0d7f4c999e2f4a7476a16f6da0ee8969cc5b489449baf3477619d" origin="Generated by Gradle" reason="Artifact is not signed"/>
-         </artifact>
-         <artifact name="material-color-utilities-0.17.0.module">
-            <sha256 value="c6239f76c0d68b7126c4233e84fd3de9063b86e76084c602f296010192536a74" origin="Generated by Gradle" reason="Artifact is not signed"/>
-         </artifact>
-      </component>
-      <component group="com.github.nextcloud.android-common" name="ui" version="0.14.0">
-         <artifact name="ui-0.14.0.aar">
-            <sha256 value="2ff1b8ca1ce4d4151ce967c4704a4def19a128d3f710491872e007217f3ac84f" origin="Generated by Gradle" reason="Artifact is not signed"/>
-         </artifact>
-         <artifact name="ui-0.14.0.module">
-            <sha256 value="a600ef42a3ffe9a5900893f7f68052272ed8749ae2c5c44471f792f9d1d9d01f" origin="Generated by Gradle" reason="Artifact is not signed"/>
-         </artifact>
-      </component>
-      <component group="com.github.nextcloud.android-common" name="ui" version="0.15.0">
-         <artifact name="ui-0.15.0.aar">
-            <sha256 value="7e520034d730a11f5089548a8f15fbdd5d5054f8f0465f711664235b3939b78d" origin="Generated by Gradle" reason="Artifact is not signed"/>
+      <component group="com.github.nextcloud.android-common" name="core" version="0.18.0">
+         <artifact name="core-0.18.0.aar">
+            <sha256 value="6df9110e5ab50846414102cc75d541fcb488d36a10b7c8b6c12908c344ad3a82" origin="Generated by Gradle" reason="Artifact is not signed"/>
          </artifact>
-         <artifact name="ui-0.15.0.module">
-            <sha256 value="ac04b3a93aae2e9e8585d01447210fe0c5c85dec13e241b5e7c8956a3ed8a962" origin="Generated by Gradle" reason="Artifact is not signed"/>
+         <artifact name="core-0.18.0.module">
+            <sha256 value="1e92c76d638cb275a3f9432641a0c5664b1eaabcc2da67bd809e787c3371fca5" origin="Generated by Gradle" reason="Artifact is not signed"/>
          </artifact>
       </component>
-      <component group="com.github.nextcloud.android-common" name="ui" version="0.16.0">
-         <artifact name="ui-0.16.0.aar">
-            <sha256 value="1c9ed8fed68e46c0aa9c63aefda3f18349ff590b1069fd286fa322bfc66c6307" origin="Generated by Gradle" reason="Artifact is not signed"/>
+      <component group="com.github.nextcloud.android-common" name="material-color-utilities" version="0.18.0">
+         <artifact name="material-color-utilities-0.18.0.jar">
+            <sha256 value="e04a3f4a3caff6e4b2ce3f14f91f0485ab1f012af652102eba61ab6bcf3d8240" origin="Generated by Gradle" reason="Artifact is not signed"/>
          </artifact>
-         <artifact name="ui-0.16.0.module">
-            <sha256 value="c588c69cd8540cb9bd57899df0b833eb9bb3787e10ac9ea3476b2005c98d9543" origin="Generated by Gradle" reason="Artifact is not signed"/>
+         <artifact name="material-color-utilities-0.18.0.module">
+            <sha256 value="708823ec85484322da28afa177689bc2adadf0d88f766407328353e0c755e63b" origin="Generated by Gradle" reason="Artifact is not signed"/>
          </artifact>
       </component>
-      <component group="com.github.nextcloud.android-common" name="ui" version="0.17.0">
-         <artifact name="ui-0.17.0.aar">
-            <sha256 value="179a48b24d5e0b9f4bfdd567d2ec8a66f6816689d745aab9b528b022932fb9fe" origin="Generated by Gradle" reason="Artifact is not signed"/>
+      <component group="com.github.nextcloud.android-common" name="ui" version="0.18.0">
+         <artifact name="ui-0.18.0.aar">
+            <sha256 value="7d900a930d7ad1f7de91177b8b661abef13deef032493cee99fe9842f85bcf16" origin="Generated by Gradle" reason="Artifact is not signed"/>
          </artifact>
-         <artifact name="ui-0.17.0.module">
-            <sha256 value="2ac34079e37123543bfc0fa78271424978b81baa5866d21884ec4084d6157573" origin="Generated by Gradle" reason="Artifact is not signed"/>
+         <artifact name="ui-0.18.0.module">
+            <sha256 value="abbece3fec4a3a1b706401b26e10d0290ac394d04d89343d32da682527579846" origin="Generated by Gradle" reason="Artifact is not signed"/>
          </artifact>
       </component>
       <component group="com.github.wooplr" name="Spotlight" version="1.3">