From 96a397b01da596204e3e9d1ff2dd2c176f76e5b3 Mon Sep 17 00:00:00 2001 From: cyBerta Date: Mon, 15 Nov 2021 20:42:58 +0100 Subject: improve location status indicator, adapt according to desktop --- .../base/views/LocationIndicator.java | 51 ++++-- .../res/layout/v_location_status_indicator.xml | 196 ++++++++++++++++++--- 2 files changed, 203 insertions(+), 44 deletions(-) diff --git a/app/src/main/java/se/leap/bitmaskclient/base/views/LocationIndicator.java b/app/src/main/java/se/leap/bitmaskclient/base/views/LocationIndicator.java index f5e3dbe2..8245893d 100644 --- a/app/src/main/java/se/leap/bitmaskclient/base/views/LocationIndicator.java +++ b/app/src/main/java/se/leap/bitmaskclient/base/views/LocationIndicator.java @@ -7,15 +7,21 @@ import android.view.View; import android.widget.LinearLayout; import androidx.annotation.Nullable; +import androidx.core.content.ContextCompat; import se.leap.bitmaskclient.R; import se.leap.bitmaskclient.eip.GatewaysManager; +import static androidx.core.content.ContextCompat.getColor; + public class LocationIndicator extends LinearLayout { private View level1; + private View level1_2; private View level2; + private View level2_2; private View level3; + private View level3_2; public LocationIndicator(Context context) { super(context); @@ -39,37 +45,46 @@ public class LocationIndicator extends LinearLayout { .getSystemService(Context.LAYOUT_INFLATER_SERVICE); View rootview = inflater.inflate(R.layout.v_location_status_indicator, this, true); level1 = rootview.findViewById(R.id.level1); + level1_2 = rootview.findViewById(R.id.level1_2); level2 = rootview.findViewById(R.id.level2); + level2_2 = rootview.findViewById(R.id.level2_2); level3 = rootview.findViewById(R.id.level3); + level3_2 = rootview.findViewById(R.id.level3_2); } public void setLoad(GatewaysManager.Load load) { switch (load) { case GOOD: - level1.setBackgroundColor(getResources().getColor(R.color.green200)); - level2.setBackgroundColor(getResources().getColor(R.color.green200)); - level3.setBackgroundColor(getResources().getColor(R.color.green200)); - level1.setVisibility(VISIBLE); - level2.setVisibility(VISIBLE); - level3.setVisibility(VISIBLE); + level1.setBackgroundColor(getColor(getContext(), R.color.green200)); + level1_2.setBackgroundColor(getColor(getContext(), R.color.green200)); + level2.setBackgroundColor(getColor(getContext(), R.color.green200)); + level2_2.setBackgroundColor(getColor(getContext(), R.color.green200)); + level3.setBackgroundColor(getColor(getContext(), R.color.green200)); + level3_2.setBackgroundColor(getColor(getContext(), R.color.green200)); break; case AVERAGE: - level1.setBackgroundColor(getResources().getColor(R.color.yellow200)); - level2.setBackgroundColor(getResources().getColor(R.color.yellow200)); - level1.setVisibility(VISIBLE); - level2.setVisibility(VISIBLE); - level3.setVisibility(INVISIBLE); + level1.setBackgroundColor(getColor(getContext(), R.color.yellow200)); + level1_2.setBackgroundColor(getColor(getContext(), R.color.yellow200)); + level2.setBackgroundColor(getColor(getContext(), R.color.yellow200)); + level2_2.setBackgroundColor(getColor(getContext(), R.color.yellow200)); + level3.setBackgroundColor(getColor(getContext(), R.color.black800_high_transparent)); + level3_2.setBackgroundColor(getColor(getContext(), R.color.black800_high_transparent)); break; case CRITICAL: - level1.setBackgroundColor(getResources().getColor(R.color.red200)); - level1.setVisibility(VISIBLE); - level2.setVisibility(INVISIBLE); - level3.setVisibility(INVISIBLE); + level1.setBackgroundColor(getColor(getContext(), R.color.red200)); + level1_2.setBackgroundColor(getColor(getContext(), R.color.red200)); + level2.setBackgroundColor(getColor(getContext(), R.color.black800_high_transparent)); + level2_2.setBackgroundColor(getColor(getContext(), R.color.black800_high_transparent)); + level3.setBackgroundColor(getColor(getContext(), R.color.black800_high_transparent)); + level3_2.setBackgroundColor(getColor(getContext(), R.color.black800_high_transparent)); break; default: - level1.setVisibility(INVISIBLE); - level2.setVisibility(INVISIBLE); - level3.setVisibility(INVISIBLE); + level1.setBackgroundColor(getColor(getContext(), R.color.black800_high_transparent)); + level1_2.setBackgroundColor(getColor(getContext(), R.color.black800_high_transparent)); + level2.setBackgroundColor(getColor(getContext(), R.color.black800_high_transparent)); + level2_2.setBackgroundColor(getColor(getContext(), R.color.black800_high_transparent)); + level3.setBackgroundColor(getColor(getContext(), R.color.black800_high_transparent)); + level3_2.setBackgroundColor(getColor(getContext(), R.color.black800_high_transparent));; break; } } diff --git a/app/src/main/res/layout/v_location_status_indicator.xml b/app/src/main/res/layout/v_location_status_indicator.xml index 97b55917..22453167 100644 --- a/app/src/main/res/layout/v_location_status_indicator.xml +++ b/app/src/main/res/layout/v_location_status_indicator.xml @@ -1,49 +1,193 @@ - + android:layout_margin="8dp"> + + + + + + + + + + + + + + + + + - - + + + android:visibility="visible" + app:layout_constraintRight_toRightOf="parent" + app:layout_constraintLeft_toLeftOf="@id/guideline_vertical_fifth" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintTop_toTopOf="parent" + android:layout_marginLeft="1dp" + android:layout_marginRight="1dp" + android:layout_marginStart="1dp" + android:layout_marginEnd="1dp" + /> - \ No newline at end of file + \ No newline at end of file -- cgit v1.2.3