diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2020-08-27 22:46:06 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2020-09-01 09:53:48 +0000 |
| commit | fc48d2496e66a464c91c7d041792423a9d780562 (patch) | |
| tree | 41cf31155c23537839dc8aa8ed6e7e8d6fd8ba2b /android/src/main | |
| parent | 4e3f0c8584de8cfcc97c18b21d25f4bee3d4f25e (diff) | |
| download | mullvadvpn-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.kt | 50 |
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) } } |
