Skip to content

Commit 1c8b108

Browse files
authored
Merge pull request #4020 from nextcloud/chore/2064/removeJCenter
remove jCenter
2 parents 9f6de3a + 8f3ddca commit 1c8b108

11 files changed

Lines changed: 425 additions & 299 deletions

File tree

app/build.gradle

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,7 @@ dependencies {
226226

227227
implementation "com.squareup.retrofit2:retrofit:${retrofit2Version}"
228228
implementation "com.squareup.retrofit2:adapter-rxjava2:${retrofit2Version}"
229-
implementation 'com.github.aurae.retrofit2:converter-logansquare:1.4.1'
229+
implementation 'de.mannodermaus.retrofit2:converter-logansquare:1.4.1'
230230

231231
implementation "com.google.dagger:dagger:${daggerVersion}"
232232
kapt "com.google.dagger:dagger-compiler:${daggerVersion}"
@@ -243,8 +243,8 @@ dependencies {
243243
implementation "androidx.room:room-ktx:${roomVersion}"
244244

245245
implementation "org.parceler:parceler-api:$parcelerVersion"
246-
implementation 'eu.davidea:flexible-adapter:5.1.0'
247-
implementation 'eu.davidea:flexible-adapter-ui:1.0.0'
246+
implementation 'com.github.ddB0515.FlexibleAdapter:flexible-adapter:5.1.1'
247+
implementation 'com.github.ddB0515.FlexibleAdapter:flexible-adapter-ui:5.1.1'
248248
implementation 'org.apache.commons:commons-lang3:3.14.0'
249249
implementation 'com.github.wooplr:Spotlight:1.3'
250250
implementation 'com.google.code.findbugs:jsr305:3.0.2'
@@ -258,10 +258,7 @@ dependencies {
258258
implementation "com.github.nextcloud-deps.hwsecurity:hwsecurity-fido:${fidoVersion}"
259259
implementation "com.github.nextcloud-deps.hwsecurity:hwsecurity-fido2:${fidoVersion}"
260260

261-
implementation 'com.novoda:merlin:1.2.1'
262-
263261
implementation 'com.github.nextcloud:PopupBubble:2.0.0'
264-
implementation 'com.amulyakhare:com.amulyakhare.textdrawable:1.0.1'
265262

266263
implementation "com.afollestad.material-dialogs:core:${materialDialogsVersion}"
267264
implementation "com.afollestad.material-dialogs:datetime:${materialDialogsVersion}"
@@ -301,7 +298,7 @@ dependencies {
301298
debugImplementation("androidx.compose.ui:ui-tooling")
302299

303300
//tests
304-
androidTestImplementation("androidx.compose.ui:ui-test-junit4")
301+
androidTestImplementation("androidx.compose.ui:ui-test-junit4:1.6.8")
305302
debugImplementation("androidx.compose.ui:ui-test-manifest")
306303

307304
testImplementation 'junit:junit:4.13.2'

app/src/main/AndroidManifest.xml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -298,10 +298,6 @@
298298
android:resource="@xml/auth" />
299299
</service>
300300

301-
<service
302-
android:name="com.novoda.merlin.MerlinService"
303-
android:exported="false" />
304-
305301
<provider
306302
android:name="androidx.core.content.FileProvider"
307303
android:authorities="${applicationId}"

app/src/main/java/com/nextcloud/talk/adapters/messages/IncomingVoiceMessageViewHolder.kt

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -16,17 +16,16 @@ import android.util.Log
1616
import android.view.View
1717
import android.widget.SeekBar
1818
import androidx.core.content.ContextCompat
19-
import androidx.core.content.res.ResourcesCompat
2019
import androidx.work.WorkInfo
2120
import androidx.work.WorkManager
2221
import autodagger.AutoInjector
2322
import coil.load
24-
import com.amulyakhare.textdrawable.TextDrawable
2523
import com.nextcloud.android.common.ui.theme.utils.ColorRole
2624
import com.nextcloud.talk.R
2725
import com.nextcloud.talk.application.NextcloudTalkApplication
2826
import com.nextcloud.talk.application.NextcloudTalkApplication.Companion.sharedApplication
2927
import com.nextcloud.talk.databinding.ItemCustomIncomingVoiceMessageBinding
28+
import com.nextcloud.talk.extensions.loadBotsAvatar
3029
import com.nextcloud.talk.extensions.loadChangelogBotAvatar
3130
import com.nextcloud.talk.extensions.loadFederatedUserAvatar
3231
import com.nextcloud.talk.models.json.chat.ChatMessage
@@ -259,16 +258,7 @@ class IncomingVoiceMessageViewHolder(incomingView: View, payload: Any) :
259258
} else if (message.actorType == "bots" && message.actorId == "changelog") {
260259
binding.messageUserAvatar.loadChangelogBotAvatar()
261260
} else if (message.actorType == "bots") {
262-
val drawable = TextDrawable.builder()
263-
.beginConfig()
264-
.bold()
265-
.endConfig()
266-
.buildRound(
267-
">",
268-
ResourcesCompat.getColor(context!!.resources, R.color.black, null)
269-
)
270-
binding.messageUserAvatar.visibility = View.VISIBLE
271-
binding.messageUserAvatar.setImageDrawable(drawable)
261+
binding.messageUserAvatar.loadBotsAvatar()
272262
} else if (message.actorType == "federated_users") {
273263
binding.messageUserAvatar.loadFederatedUserAvatar(message)
274264
}

app/src/main/java/com/nextcloud/talk/extensions/ImageViewExtensions.kt

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,13 @@
1010

1111
package com.nextcloud.talk.extensions
1212

13+
import android.graphics.drawable.ColorDrawable
1314
import android.graphics.drawable.Drawable
1415
import android.graphics.drawable.LayerDrawable
1516
import android.os.Build
1617
import android.util.Log
1718
import android.widget.ImageView
1819
import androidx.core.content.ContextCompat
19-
import androidx.core.content.res.ResourcesCompat
2020
import coil.annotation.ExperimentalCoilApi
2121
import coil.imageLoader
2222
import coil.load
@@ -26,7 +26,6 @@ import coil.request.SuccessResult
2626
import coil.result
2727
import coil.transform.CircleCropTransformation
2828
import coil.transform.RoundedCornersTransformation
29-
import com.amulyakhare.textdrawable.TextDrawable
3029
import com.nextcloud.talk.R
3130
import com.nextcloud.talk.data.user.model.User
3231
import com.nextcloud.talk.models.domain.ConversationModel
@@ -36,6 +35,7 @@ import com.nextcloud.talk.models.json.conversations.Conversation
3635
import com.nextcloud.talk.ui.theme.ViewThemeUtils
3736
import com.nextcloud.talk.utils.ApiUtils
3837
import com.nextcloud.talk.utils.DisplayUtils
38+
import com.nextcloud.talk.utils.TextDrawable
3939

4040
private const val ROUNDING_PIXEL = 16f
4141
private const val TAG = "ImageViewExtensions"
@@ -315,15 +315,20 @@ fun ImageView.loadChangelogBotAvatar(): io.reactivex.disposables.Disposable {
315315
}
316316

317317
fun ImageView.loadBotsAvatar(): io.reactivex.disposables.Disposable {
318-
return loadUserAvatar(
319-
TextDrawable.builder()
320-
.beginConfig()
321-
.bold()
322-
.endConfig()
323-
.buildRound(
324-
">",
325-
ResourcesCompat.getColor(context.resources, R.color.black, null)
326-
)
318+
val data: Any = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
319+
val layers = arrayOfNulls<Drawable>(2)
320+
layers[0] = ColorDrawable(context.getColor(R.color.black))
321+
layers[1] = TextDrawable(context, ">")
322+
val layerDrawable = LayerDrawable(layers)
323+
layerDrawable
324+
} else {
325+
R.mipmap.ic_launcher
326+
}
327+
328+
return DisposableWrapper(
329+
load(data) {
330+
transformations(CircleCropTransformation())
331+
}
327332
)
328333
}
329334

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
/*
2+
* Nextcloud Talk - Android Client
3+
*
4+
* SPDX-FileCopyrightText: 2024 Marcel Hibbe <dev@mhibbe.de>
5+
* SPDX-License-Identifier: GPL-3.0-or-later
6+
*/
7+
8+
package com.nextcloud.talk.utils
9+
10+
import android.content.Context
11+
import android.graphics.Canvas
12+
import android.graphics.ColorFilter
13+
import android.graphics.Paint
14+
import android.graphics.PixelFormat
15+
import android.graphics.Rect
16+
import android.graphics.drawable.Drawable
17+
import com.nextcloud.talk.R
18+
19+
class TextDrawable(val context: Context, private var text: String) : Drawable() {
20+
private val paint = Paint()
21+
private val bounds: Rect
22+
23+
init {
24+
paint.color = context.getColor(R.color.textColorOnPrimaryBackground)
25+
paint.isAntiAlias = true
26+
paint.textSize = TEXT_SIZE
27+
bounds = Rect()
28+
}
29+
30+
override fun draw(canvas: Canvas) {
31+
if (text.isNotEmpty()) {
32+
paint.getTextBounds(
33+
text,
34+
0,
35+
text.length,
36+
bounds
37+
)
38+
val x: Int = (getBounds().width() - bounds.width()) / 2
39+
val y: Int = ((getBounds().height() + bounds.height()) / 2) + Y_OFFSET
40+
canvas.drawText(text, x.toFloat(), y.toFloat(), paint)
41+
}
42+
}
43+
44+
override fun setColorFilter(colorFilter: ColorFilter?) {
45+
paint.setColorFilter(colorFilter)
46+
}
47+
48+
override fun setAlpha(alpha: Int) {
49+
paint.alpha = alpha
50+
}
51+
52+
@Deprecated("Deprecated in Java", ReplaceWith("PixelFormat.OPAQUE", "android.graphics.PixelFormat"))
53+
override fun getOpacity(): Int {
54+
return PixelFormat.OPAQUE
55+
}
56+
57+
companion object {
58+
private const val Y_OFFSET = 5
59+
private const val TEXT_SIZE = 50f
60+
}
61+
}

app/src/main/res/values/colors.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@
4949
<color name="chat_separator">#E8E8E8</color>
5050
<color name="grey_600">#757575</color>
5151
<color name="nc_grey">#D5D5D5</color>
52+
<color name="black">#000000</color>
5253
<color name="call_incomingCallTextView">#E9FFFFFF</color>
5354
<color name="grey950">#111111</color>
5455
<color name="textColorMaxContrast">#767676</color>

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
* Nextcloud Talk - Android Client
33
*
44
* SPDX-FileCopyrightText: 2017-2024 Nextcloud GmbH and Nextcloud contributors
5+
* SPDX-FileCopyrightText: 2024 Marcel Hibbe <dev@mhibbe.de>
56
* SPDX-FileCopyrightText: 2021 Andy Scherzinger <info@andy-scherzinger.de>
67
* SPDX-FileCopyrightText: 2017-2019 Mario Danic <mario@lovelyhq.com>
78
* SPDX-License-Identifier: GPL-3.0-or-later
@@ -47,7 +48,6 @@ allprojects {
4748
google()
4849
mavenCentral()
4950
maven { url 'https://jitpack.io' }
50-
gradlePluginPortal() // for jcenter mirroring, remove ASAP
5151
}
5252
}
5353

detekt.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# SPDX-FileCopyrightText: 2017-2024 Nextcloud GmbH and Nextcloud contributors
22
# SPDX-License-Identifier: GPL-3.0-or-later
33
build:
4-
maxIssues: 129
4+
maxIssues: 138
55
weights:
66
# complexity: 2
77
# LongParameterList: 1

gradle.properties

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,14 @@
1717

1818
# Specifies the JVM arguments used for the daemon process.
1919
# The setting is particularly useful for tweaking memory settings.
20-
org.gradle.jvmargs=-XX:MaxHeapSize\=2048m -Xmx2048m
20+
org.gradle.jvmargs=-XX:MaxHeapSize\=4096m -Xmx4096m
2121
org.gradle.dependency.verification.console=verbose
2222

2323
android.useAndroidX=true
2424
android.enableJetifier=true
2525
android.nonTransitiveRClass=false
2626
android.nonFinalResIds=false
2727

28-
# org.gradle.parallel=true
2928
org.gradle.daemon=true
3029
org.gradle.configureondemand=true
3130
org.gradle.caching=true

0 commit comments

Comments
 (0)