From 2bcbfb1d537fe8f616adc252fac7c3e8673ebaa7 Mon Sep 17 00:00:00 2001 From: cyBerta Date: Thu, 25 Jan 2024 23:20:35 +0100 Subject: improve TimezoneHelper, don't allow to set the TimezoneInterface outside of UnitTests --- .../main/java/se/leap/bitmaskclient/base/utils/TimezoneHelper.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/se/leap/bitmaskclient/base/utils/TimezoneHelper.java b/app/src/main/java/se/leap/bitmaskclient/base/utils/TimezoneHelper.java index c543368d..63b12fd3 100644 --- a/app/src/main/java/se/leap/bitmaskclient/base/utils/TimezoneHelper.java +++ b/app/src/main/java/se/leap/bitmaskclient/base/utils/TimezoneHelper.java @@ -4,6 +4,8 @@ import androidx.annotation.VisibleForTesting; import java.util.Calendar; +import de.blinkt.openvpn.core.NativeUtils; + public class TimezoneHelper { public interface TimezoneInterface { @@ -14,6 +16,9 @@ public class TimezoneHelper { @VisibleForTesting public TimezoneHelper(TimezoneInterface timezoneInterface) { + if (!NativeUtils.isUnitTest()) { + throw new IllegalStateException("TimezoneHelper injected with timezoneInterface outside of an unit test"); + } instance = timezoneInterface; } @@ -33,7 +38,7 @@ public class TimezoneHelper { return get().getCurrentTimezone(); } - public static class DefaultTimezoneHelper implements TimezoneInterface { + private static class DefaultTimezoneHelper implements TimezoneInterface { @Override public int getCurrentTimezone() { return Calendar.getInstance().get(Calendar.ZONE_OFFSET) / 3600000; -- cgit v1.2.3