From 4c6f49fe5ec695541be06322a1cf227e2d6d083d Mon Sep 17 00:00:00 2001 From: cyberta Date: Tue, 6 Dec 2022 04:22:39 +0100 Subject: restrict transition animation to connected -> disconnected state change --- .../java/se/leap/bitmaskclient/base/fragments/EipFragment.java | 8 +++++++- app/src/main/java/se/leap/bitmaskclient/eip/EipStatus.java | 3 +-- 2 files changed, 8 insertions(+), 3 deletions(-) (limited to 'app/src/main/java/se/leap') diff --git a/app/src/main/java/se/leap/bitmaskclient/base/fragments/EipFragment.java b/app/src/main/java/se/leap/bitmaskclient/base/fragments/EipFragment.java index 69e3aca1..a5ccb81d 100644 --- a/app/src/main/java/se/leap/bitmaskclient/base/fragments/EipFragment.java +++ b/app/src/main/java/se/leap/bitmaskclient/base/fragments/EipFragment.java @@ -113,6 +113,7 @@ public class EipFragment extends Fragment implements Observer { AppCompatTextView mainDescription; AppCompatTextView subDescription; + private EipStatus.EipLevel previousEipLevel = EipStatus.EipLevel.UNKNOWN; private EipStatus eipStatus; private ProviderObservable providerObservable; private TorStatusObservable torStatusObservable; @@ -415,6 +416,7 @@ public class EipFragment extends Fragment implements Observer { @Override public void update(Observable observable, Object data) { if (observable instanceof EipStatus) { + previousEipLevel = eipStatus.getEipLevel(); eipStatus = (EipStatus) observable; handleNewStateOnMain(); @@ -537,7 +539,11 @@ public class EipFragment extends Fragment implements Observer { mainButton.updateState(false, false, false); mainDescription.setText(R.string.eip_status_unsecured); background.setImageResource(R.drawable.bg_disconnected); - animateState(R.drawable.state_transition_connected_disconnected); + if (previousEipLevel == EipStatus.EipLevel.CONNECTED) { + animateState(R.drawable.state_transition_connected_disconnected); + } else { + animateState(R.drawable.state_disconnected); + } setActivityBarColor(R.color.bg_disconnected_top, R.color.bg_disconnected_top_light_transparent); } else if (eipStatus.isBlocking()) { setMainButtonEnabled(true); diff --git a/app/src/main/java/se/leap/bitmaskclient/eip/EipStatus.java b/app/src/main/java/se/leap/bitmaskclient/eip/EipStatus.java index 003e396f..c9cf6041 100644 --- a/app/src/main/java/se/leap/bitmaskclient/eip/EipStatus.java +++ b/app/src/main/java/se/leap/bitmaskclient/eip/EipStatus.java @@ -129,8 +129,7 @@ public class EipStatus extends Observable implements VpnStatus.StateListener { } } - @VisibleForTesting - EipLevel getEipLevel() { + public EipLevel getEipLevel() { return currentEipLevel; } -- cgit v1.2.3