summaryrefslogtreecommitdiffhomepage
path: root/android/src/main
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-08-27 22:46:06 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-09-01 09:53:48 +0000
commitfc48d2496e66a464c91c7d041792423a9d780562 (patch)
tree41cf31155c23537839dc8aa8ed6e7e8d6fd8ba2b /android/src/main
parent4e3f0c8584de8cfcc97c18b21d25f4bee3d4f25e (diff)
downloadmullvadvpn-fc48d2496e66a464c91c7d041792423a9d780562.tar.xz
mullvadvpn-fc48d2496e66a464c91c7d041792423a9d780562.zip
Update border views
Diffstat (limited to 'android/src/main')
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/ui/AccountInputContainer.kt50
1 files changed, 38 insertions, 12 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/AccountInputContainer.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/AccountInputContainer.kt
index 3dadd91872..70a5719eea 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/AccountInputContainer.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/AccountInputContainer.kt
@@ -15,6 +15,30 @@ class AccountInputContainer : RelativeLayout {
ERROR
}
+ private class StateDrawables(
+ val corner: Drawable,
+ val horizontalBorder: Drawable,
+ val verticalBorder: Drawable
+ )
+
+ private val unfocusedDrawables = StateDrawables(
+ resources.getDrawable(R.drawable.account_input_corner, null),
+ resources.getDrawable(R.drawable.account_input_border, null),
+ resources.getDrawable(R.drawable.account_input_border, null)
+ )
+
+ private val focusedDrawables = StateDrawables(
+ resources.getDrawable(R.drawable.account_input_corner_focused, null),
+ resources.getDrawable(R.drawable.account_input_border_focused, null),
+ resources.getDrawable(R.drawable.account_input_border_focused, null)
+ )
+
+ private val errorDrawables = StateDrawables(
+ resources.getDrawable(R.drawable.account_input_corner_error, null),
+ resources.getDrawable(R.drawable.account_input_border_error, null),
+ resources.getDrawable(R.drawable.account_input_border_error, null)
+ )
+
private val container =
context.getSystemService(Context.LAYOUT_INFLATER_SERVICE).let { service ->
val inflater = service as LayoutInflater
@@ -22,10 +46,6 @@ class AccountInputContainer : RelativeLayout {
inflater.inflate(R.layout.account_input_container, this)
}
- private val errorCorner = resources.getDrawable(R.drawable.account_input_corner_error, null)
- private val focusedCorner = resources.getDrawable(R.drawable.account_input_corner_focused, null)
- private val unfocusedCorner = resources.getDrawable(R.drawable.account_input_corner, null)
-
private val topLeftCorner: ImageView = container.findViewById(R.id.top_left_corner)
private val topRightCorner: ImageView = container.findViewById(R.id.top_right_corner)
private val bottomLeftCorner: ImageView = container.findViewById(R.id.bottom_left_corner)
@@ -41,9 +61,9 @@ class AccountInputContainer : RelativeLayout {
field = value
when (value) {
- BorderState.UNFOCUSED -> setBorder(unfocusedCorner)
- BorderState.FOCUSED -> setBorder(focusedCorner)
- BorderState.ERROR -> setBorder(errorCorner)
+ BorderState.UNFOCUSED -> setBorder(unfocusedDrawables)
+ BorderState.FOCUSED -> setBorder(focusedDrawables)
+ BorderState.ERROR -> setBorder(errorDrawables)
}
}
@@ -76,10 +96,16 @@ class AccountInputContainer : RelativeLayout {
) : super(context, attributes, defaultStyleAttribute, defaultStyleResource) {
}
- private fun setBorder(corner: Drawable) {
- topLeftCorner.setImageDrawable(corner)
- topRightCorner.setImageDrawable(corner)
- bottomLeftCorner.setImageDrawable(corner)
- bottomRightCorner.setImageDrawable(corner)
+ private fun setBorder(drawables: StateDrawables) {
+ topLeftCorner.setImageDrawable(drawables.corner)
+ topRightCorner.setImageDrawable(drawables.corner)
+ bottomLeftCorner.setImageDrawable(drawables.corner)
+ bottomRightCorner.setImageDrawable(drawables.corner)
+
+ leftBorder.setImageDrawable(drawables.verticalBorder)
+ rightBorder.setImageDrawable(drawables.verticalBorder)
+
+ topBorder.setImageDrawable(drawables.horizontalBorder)
+ bottomBorder.setImageDrawable(drawables.horizontalBorder)
}
}