add ktlint plugin to project and apply default code style (#2209)
* add ktlint plugin to project and apply default code style * some manual adjustments, fix wildcard imports * update CONTRIBUTING.md * fix formatting
This commit is contained in:
parent
955267199e
commit
16ffcca748
227 changed files with 3933 additions and 3371 deletions
|
|
@ -18,17 +18,16 @@ package com.keylesspalace.tusky.util
|
|||
|
||||
import android.graphics.Canvas
|
||||
import android.graphics.Paint
|
||||
import android.graphics.drawable.*
|
||||
import android.graphics.drawable.Animatable
|
||||
import android.graphics.drawable.Drawable
|
||||
import android.text.SpannableStringBuilder
|
||||
import android.text.style.ReplacementSpan
|
||||
import android.view.View
|
||||
|
||||
import com.bumptech.glide.Glide
|
||||
import com.bumptech.glide.request.target.CustomTarget
|
||||
import com.bumptech.glide.request.target.Target
|
||||
import com.bumptech.glide.request.transition.Transition
|
||||
import com.keylesspalace.tusky.entity.Emoji
|
||||
|
||||
import java.lang.ref.WeakReference
|
||||
import java.util.regex.Pattern
|
||||
|
||||
|
|
@ -39,8 +38,8 @@ import java.util.regex.Pattern
|
|||
* @param view a reference to the a view the emojis will be shown in (should be the TextView, but parents of the TextView are also acceptable)
|
||||
* @return the text with the shortcodes replaced by EmojiSpans
|
||||
*/
|
||||
fun CharSequence.emojify(emojis: List<Emoji>?, view: View, animate: Boolean) : CharSequence {
|
||||
if(emojis.isNullOrEmpty())
|
||||
fun CharSequence.emojify(emojis: List<Emoji>?, view: View, animate: Boolean): CharSequence {
|
||||
if (emojis.isNullOrEmpty())
|
||||
return this
|
||||
|
||||
val builder = SpannableStringBuilder.valueOf(this)
|
||||
|
|
@ -49,7 +48,7 @@ fun CharSequence.emojify(emojis: List<Emoji>?, view: View, animate: Boolean) : C
|
|||
val matcher = Pattern.compile(":$shortcode:", Pattern.LITERAL)
|
||||
.matcher(this)
|
||||
|
||||
while(matcher.find()) {
|
||||
while (matcher.find()) {
|
||||
val span = EmojiSpan(WeakReference(view))
|
||||
|
||||
builder.setSpan(span, matcher.start(), matcher.end(), 0)
|
||||
|
|
@ -64,8 +63,8 @@ fun CharSequence.emojify(emojis: List<Emoji>?, view: View, animate: Boolean) : C
|
|||
|
||||
class EmojiSpan(val viewWeakReference: WeakReference<View>) : ReplacementSpan() {
|
||||
var imageDrawable: Drawable? = null
|
||||
|
||||
override fun getSize(paint: Paint, text: CharSequence, start: Int, end: Int, fm: Paint.FontMetricsInt?) : Int {
|
||||
|
||||
override fun getSize(paint: Paint, text: CharSequence, start: Int, end: Int, fm: Paint.FontMetricsInt?): Int {
|
||||
if (fm != null) {
|
||||
/* update FontMetricsInt or otherwise span does not get drawn when
|
||||
* it covers the whole text */
|
||||
|
|
@ -75,10 +74,10 @@ class EmojiSpan(val viewWeakReference: WeakReference<View>) : ReplacementSpan()
|
|||
fm.descent = metrics.descent
|
||||
fm.bottom = metrics.bottom
|
||||
}
|
||||
|
||||
|
||||
return (paint.textSize * 1.2).toInt()
|
||||
}
|
||||
|
||||
|
||||
override fun draw(canvas: Canvas, text: CharSequence, start: Int, end: Int, x: Float, top: Int, y: Int, bottom: Int, paint: Paint) {
|
||||
imageDrawable?.let { drawable ->
|
||||
canvas.save()
|
||||
|
|
@ -94,15 +93,15 @@ class EmojiSpan(val viewWeakReference: WeakReference<View>) : ReplacementSpan()
|
|||
canvas.restore()
|
||||
}
|
||||
}
|
||||
|
||||
fun getTarget(animate : Boolean): Target<Drawable> {
|
||||
|
||||
fun getTarget(animate: Boolean): Target<Drawable> {
|
||||
return object : CustomTarget<Drawable>() {
|
||||
override fun onResourceReady(resource: Drawable, transition: Transition<in Drawable>?) {
|
||||
viewWeakReference.get()?.let { view ->
|
||||
if(animate && resource is Animatable) {
|
||||
if (animate && resource is Animatable) {
|
||||
val callback = resource.callback
|
||||
|
||||
resource.callback = object: Drawable.Callback {
|
||||
resource.callback = object : Drawable.Callback {
|
||||
override fun unscheduleDrawable(p0: Drawable, p1: Runnable) {
|
||||
callback?.unscheduleDrawable(p0, p1)
|
||||
}
|
||||
|
|
@ -121,7 +120,7 @@ class EmojiSpan(val viewWeakReference: WeakReference<View>) : ReplacementSpan()
|
|||
view.invalidate()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
override fun onLoadCleared(placeholder: Drawable?) {}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue