From 8c5c66fa9a2a11418bbc2a0078c48aa30b8626a9 Mon Sep 17 00:00:00 2001 From: akwizgran <michael@briarproject.org> Date: Thu, 2 Aug 2018 15:06:17 +0100 Subject: [PATCH] Add null-safety and thread-safety annotations. --- .../bramble/network/AndroidNetworkManager.java | 9 +++++++-- .../briarproject/bramble/api/network/NetworkManager.java | 3 +++ .../briarproject/bramble/api/network/NetworkStatus.java | 6 ++++++ .../bramble/api/network/event/NetworkStatusEvent.java | 5 +++++ 4 files changed, 21 insertions(+), 2 deletions(-) diff --git a/bramble-android/src/main/java/org/briarproject/bramble/network/AndroidNetworkManager.java b/bramble-android/src/main/java/org/briarproject/bramble/network/AndroidNetworkManager.java index f8e52e965a..490f8b4ec3 100644 --- a/bramble-android/src/main/java/org/briarproject/bramble/network/AndroidNetworkManager.java +++ b/bramble-android/src/main/java/org/briarproject/bramble/network/AndroidNetworkManager.java @@ -13,6 +13,8 @@ import org.briarproject.bramble.api.lifecycle.Service; import org.briarproject.bramble.api.network.NetworkManager; import org.briarproject.bramble.api.network.NetworkStatus; import org.briarproject.bramble.api.network.event.NetworkStatusEvent; +import org.briarproject.bramble.api.nullsafety.MethodsNotNullByDefault; +import org.briarproject.bramble.api.nullsafety.ParametersNotNullByDefault; import org.briarproject.bramble.api.system.Scheduler; import java.util.concurrent.Future; @@ -22,6 +24,7 @@ import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicReference; import java.util.logging.Logger; +import javax.annotation.Nullable; import javax.inject.Inject; import static android.content.Context.CONNECTIVITY_SERVICE; @@ -35,6 +38,8 @@ import static java.util.concurrent.TimeUnit.MINUTES; import static java.util.concurrent.TimeUnit.SECONDS; import static java.util.logging.Level.INFO; +@MethodsNotNullByDefault +@ParametersNotNullByDefault class AndroidNetworkManager implements NetworkManager, Service { private static final Logger LOG = @@ -122,7 +127,7 @@ class AndroidNetworkManager implements NetworkManager, Service { } } - private boolean isSleepOrDozeEvent(String action) { + private boolean isSleepOrDozeEvent(@Nullable String action) { boolean isSleep = ACTION_SCREEN_ON.equals(action) || ACTION_SCREEN_OFF.equals(action); boolean isDoze = SDK_INT >= 23 && @@ -130,7 +135,7 @@ class AndroidNetworkManager implements NetworkManager, Service { return isSleep || isDoze; } - private boolean isApEvent(String action) { + private boolean isApEvent(@Nullable String action) { return WIFI_AP_STATE_CHANGED_ACTION.equals(action); } } diff --git a/bramble-api/src/main/java/org/briarproject/bramble/api/network/NetworkManager.java b/bramble-api/src/main/java/org/briarproject/bramble/api/network/NetworkManager.java index 5299c81267..f95eddc7d7 100644 --- a/bramble-api/src/main/java/org/briarproject/bramble/api/network/NetworkManager.java +++ b/bramble-api/src/main/java/org/briarproject/bramble/api/network/NetworkManager.java @@ -1,5 +1,8 @@ package org.briarproject.bramble.api.network; +import org.briarproject.bramble.api.nullsafety.NotNullByDefault; + +@NotNullByDefault public interface NetworkManager { NetworkStatus getNetworkStatus(); diff --git a/bramble-api/src/main/java/org/briarproject/bramble/api/network/NetworkStatus.java b/bramble-api/src/main/java/org/briarproject/bramble/api/network/NetworkStatus.java index af3f7f94d6..2cdb22e768 100644 --- a/bramble-api/src/main/java/org/briarproject/bramble/api/network/NetworkStatus.java +++ b/bramble-api/src/main/java/org/briarproject/bramble/api/network/NetworkStatus.java @@ -1,5 +1,11 @@ package org.briarproject.bramble.api.network; +import org.briarproject.bramble.api.nullsafety.NotNullByDefault; + +import javax.annotation.concurrent.Immutable; + +@Immutable +@NotNullByDefault public class NetworkStatus { private final boolean connected, wifi; diff --git a/bramble-api/src/main/java/org/briarproject/bramble/api/network/event/NetworkStatusEvent.java b/bramble-api/src/main/java/org/briarproject/bramble/api/network/event/NetworkStatusEvent.java index 8ecf08ada1..f37bff94dc 100644 --- a/bramble-api/src/main/java/org/briarproject/bramble/api/network/event/NetworkStatusEvent.java +++ b/bramble-api/src/main/java/org/briarproject/bramble/api/network/event/NetworkStatusEvent.java @@ -2,7 +2,12 @@ package org.briarproject.bramble.api.network.event; import org.briarproject.bramble.api.event.Event; import org.briarproject.bramble.api.network.NetworkStatus; +import org.briarproject.bramble.api.nullsafety.NotNullByDefault; +import javax.annotation.concurrent.Immutable; + +@Immutable +@NotNullByDefault public class NetworkStatusEvent extends Event { private final NetworkStatus status; -- GitLab