diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/input_bar/InputBarButton.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/input_bar/InputBarButton.kt index cf95a7c4eb..bcb753b416 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/input_bar/InputBarButton.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/input_bar/InputBarButton.kt @@ -63,6 +63,9 @@ class InputBarButton : RelativeLayout { result.layoutParams = LayoutParams(size, size) result.setBackgroundResource(R.drawable.input_bar_button_background) result.mainColor = resources.getColorWithID(colorID, context.theme) + if (hasOpaqueBackground) { + result.strokeColor = resources.getColorWithID(R.color.input_bar_button_background_opaque_border, context.theme) + } result } diff --git a/app/src/main/java/org/thoughtcrime/securesms/loki/views/GlowView.kt b/app/src/main/java/org/thoughtcrime/securesms/loki/views/GlowView.kt index e99e6f601a..c2619a6044 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/loki/views/GlowView.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/loki/views/GlowView.kt @@ -6,16 +6,14 @@ import android.content.Context import android.graphics.* import android.util.AttributeSet import android.view.View -import android.view.ViewOutlineProvider -import android.widget.ImageView import android.widget.LinearLayout import android.widget.RelativeLayout import androidx.annotation.ColorInt import androidx.annotation.ColorRes -import androidx.appcompat.widget.AppCompatImageView import network.loki.messenger.R import org.thoughtcrime.securesms.loki.utilities.getColorWithID import org.thoughtcrime.securesms.loki.utilities.toPx +import kotlin.math.roundToInt interface GlowView { var mainColor: Int @@ -162,16 +160,27 @@ class PathDotView : View, GlowView { class InputBarButtonImageViewContainer : RelativeLayout, GlowView { @ColorInt override var mainColor: Int = 0 - set(newValue) { field = newValue; paint.color = newValue } + set(newValue) { field = newValue; fillPaint.color = newValue } + @ColorInt var strokeColor: Int = 0 + set(newValue) { field = newValue; strokePaint.color = newValue } @ColorInt override var sessionShadowColor: Int = 0 // Unused - private val paint: Paint by lazy { + private val fillPaint: Paint by lazy { val result = Paint() result.style = Paint.Style.FILL result.isAntiAlias = true result } + private val strokePaint: Paint by lazy { + val result = Paint() + result.style = Paint.Style.STROKE + result.isAntiAlias = true + result.strokeWidth = 1.0f + result.alpha = (255 * 0.2f).roundToInt() + result + } + // region Lifecycle constructor(context: Context) : super(context) { } constructor(context: Context, attrs: AttributeSet) : super(context, attrs) { } @@ -186,7 +195,10 @@ class InputBarButtonImageViewContainer : RelativeLayout, GlowView { override fun onDraw(c: Canvas) { val w = width.toFloat() val h = height.toFloat() - c.drawCircle(w / 2, h / 2, w / 2, paint) + c.drawCircle(w / 2, h / 2, w / 2, fillPaint) + if (strokeColor != 0) { + c.drawCircle(w / 2, h / 2, w / 2, strokePaint) + } super.onDraw(c) } // endregion diff --git a/app/src/main/res/values-notnight-v21/colors.xml b/app/src/main/res/values-notnight-v21/colors.xml index 235a24ae0a..29ccfd2318 100644 --- a/app/src/main/res/values-notnight-v21/colors.xml +++ b/app/src/main/res/values-notnight-v21/colors.xml @@ -23,6 +23,7 @@ #FCFCFC #0D000000 #EFEFEF + #33000000 #FCFCFC #66000000 diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 45d1eb8454..57d076c8ea 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -30,6 +30,7 @@ #171717 #0DFFFFFF #232323 + #33FFFFFF #171717 #66FFFFFF