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 f8e52e965aa3ee473aa44932d9ee066999baf76b..490f8b4ec35213135bb9d8b4fc888d01461d9d6b 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 5299c81267e53b67664a1b265611c7b6c2bd7f4f..f95eddc7d77df9fa71a042fda440b7f4d2307aa8 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 af3f7f94d68f4e0cb7ebaada98c72740ad2180f9..2cdb22e76899f24bb27cef0b1c530fdeec3481c1 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 8ecf08ada1692bad75176cc435aeb5b782904bf7..f37bff94dc848584c70e032e47005d63da6ba9d5 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;