Merge pull request 'annotations: prefer androidx.annotation over org.jetbrains.annotations' (#6184)

Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/6184
This commit is contained in:
José Rebelo
2026-05-26 01:10:24 +02:00
9 changed files with 37 additions and 35 deletions
@@ -20,9 +20,9 @@ import android.os.Build;
import android.os.ParcelUuid;
import android.util.SparseArray;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import org.jetbrains.annotations.NotNull;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -189,7 +189,7 @@ public final class GBScanEventProcessor implements Runnable {
return deviceType.isSupported();
}
private boolean mfgDataEqual(@NotNull SparseArray<byte[]> a, @Nullable SparseArray<byte[]> b) {
private boolean mfgDataEqual(@NonNull SparseArray<byte[]> a, @Nullable SparseArray<byte[]> b) {
// Objects.equals does not do a full deep comparison of the objects, but it is the best
// option on older APIs.
return Build.VERSION.SDK_INT >= Build.VERSION_CODES.S ? a.contentEquals(b) : Objects.equals(a, b);
@@ -21,8 +21,8 @@ import android.bluetooth.BluetoothGattCharacteristic;
import android.content.Intent;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import org.jetbrains.annotations.Nullable;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -1,11 +1,9 @@
package nodomain.freeyourgadget.gadgetbridge.service.devices.garmin.http.interceptors;
import android.net.Uri;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.documentfile.provider.DocumentFile;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -41,14 +39,14 @@ public class AgpsInterceptor implements HttpInterceptor {
}
@Override
public boolean supports(@NotNull final GarminHttpRequest request) {
public boolean supports(@NonNull final GarminHttpRequest request) {
return "api.gcs.garmin.com".equals(request.getDomain()) &&
request.getPath().startsWith("/ephemeris/");
}
@Override
@Nullable
public GarminHttpResponse handle(@NotNull final GarminHttpRequest request) {
public GarminHttpResponse handle(@NonNull final GarminHttpRequest request) {
saveKnownUrl(request.getUrl());
try {
@@ -1,7 +1,8 @@
package nodomain.freeyourgadget.gadgetbridge.service.devices.garmin.http.interceptors;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -30,14 +31,14 @@ public class ContactsInterceptor implements HttpInterceptor {
}
@Override
public boolean supports(@NotNull final GarminHttpRequest request) {
public boolean supports(@NonNull final GarminHttpRequest request) {
return "connectapi.garmin.com".equals(request.getDomain()) &&
request.getPath().startsWith("/device-gateway/usercontact/");
}
@Override
@Nullable
public GarminHttpResponse handle(@NotNull final GarminHttpRequest request) {
public GarminHttpResponse handle(@NonNull final GarminHttpRequest request) {
if (!request.getPath().equals("/device-gateway/usercontact/contacts")) {
LOG.warn("Unknown contacts path {}", request.getPath());
return null;
@@ -2,8 +2,9 @@ package nodomain.freeyourgadget.gadgetbridge.service.devices.garmin.http.interce
import android.os.ParcelFileDescriptor;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -39,13 +40,13 @@ public class FirewallInterceptor implements HttpInterceptor {
}
@Override
public boolean supports(@NotNull final GarminHttpRequest request) {
public boolean supports(@NonNull final GarminHttpRequest request) {
return true;
}
@Override
@Nullable
public GarminHttpResponse handle(@NotNull final GarminHttpRequest request) {
public GarminHttpResponse handle(@NonNull final GarminHttpRequest request) {
if (!GBApplication.hasInternetAccess()) {
LOG.warn("Gb has no internet access");
return null;
@@ -114,7 +115,7 @@ public class FirewallInterceptor implements HttpInterceptor {
return garminHttpResponse;
}
private void handleHttpResponse(@NotNull final GarminHttpRequest request,
private void handleHttpResponse(@NonNull final GarminHttpRequest request,
final HttpResponse response) {
final GarminHttpResponse garminHttpResponse = new GarminHttpResponse();
garminHttpResponse.setStatus(response.getStatus());
@@ -136,13 +137,13 @@ public class FirewallInterceptor implements HttpInterceptor {
}
}
private void handleHttpException(@NotNull final GarminHttpRequest request) {
private void handleHttpException(@NonNull final GarminHttpRequest request) {
final GdiHttpService.HttpService errorResponse = HttpHandler.createErrorResponse(request);
sendHttpServiceRequest(request, errorResponse);
}
private void sendHttpServiceRequest(@NotNull final GarminHttpRequest request,
@NotNull final GdiHttpService.HttpService httpService) {
private void sendHttpServiceRequest(@NonNull final GarminHttpRequest request,
@NonNull final GdiHttpService.HttpService httpService) {
final GdiSmartProto.Smart smart = GdiSmartProto.Smart.newBuilder().setHttpService(httpService).build();
deviceSupport.evaluateGBDeviceEvent(new ProtobufResponseEvent(
smart, request.getMessageRequestId()
@@ -5,12 +5,11 @@ import android.graphics.Canvas;
import android.graphics.drawable.Drawable;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -43,14 +42,14 @@ public class ImageServiceInterceptor implements HttpInterceptor {
}
@Override
public boolean supports(@NotNull final GarminHttpRequest request) {
public boolean supports(@NonNull final GarminHttpRequest request) {
return "api.gcs.garmin.com".equals(request.getDomain()) &&
request.getPath().startsWith("/image-service/");
}
@Override
@Nullable
public GarminHttpResponse handle(@NotNull final GarminHttpRequest request) {
public GarminHttpResponse handle(@NonNull final GarminHttpRequest request) {
if (request.getRawRequest().getMethod() != GdiHttpService.HttpService.Method.GET) {
LOG.warn("Known image service requests should be GET");
return null;
@@ -1,10 +1,11 @@
package nodomain.freeyourgadget.gadgetbridge.service.devices.garmin.http.interceptors;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -35,13 +36,13 @@ public class OauthInterceptor implements HttpInterceptor {
}
@Override
public boolean supports(@NotNull final GarminHttpRequest request) {
public boolean supports(@NonNull final GarminHttpRequest request) {
return request.getPath().startsWith("/api/oauth") || request.getPath().startsWith("/oauthTokenExchangeService");
}
@Override
@Nullable
public GarminHttpResponse handle(@NotNull final GarminHttpRequest request) {
public GarminHttpResponse handle(@NonNull final GarminHttpRequest request) {
if (request.getRawRequest().getMethod() != GdiHttpService.HttpService.Method.POST) {
LOG.warn("Known OAuth requests should be POST");
return null;
@@ -2,6 +2,9 @@ package nodomain.freeyourgadget.gadgetbridge.service.devices.garmin.http.interce
import android.location.Location;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -9,8 +12,6 @@ import net.e175.klaus.solarpositioning.DeltaT;
import net.e175.klaus.solarpositioning.SPA;
import net.e175.klaus.solarpositioning.SunriseTransitSet;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -42,7 +43,7 @@ public class WeatherInterceptor implements HttpInterceptor {
.create();
@Override
public boolean supports(@NotNull final GarminHttpRequest request) {
public boolean supports(@NonNull final GarminHttpRequest request) {
return "api.gcs.garmin.com".equals(request.getDomain()) &&
request.getPath().startsWith("/weather/");
}
@@ -50,7 +51,7 @@ public class WeatherInterceptor implements HttpInterceptor {
/// These get requested on connection at most every 5 minutes
@Override
@Nullable
public GarminHttpResponse handle(@NotNull final GarminHttpRequest request) {
public GarminHttpResponse handle(@NonNull final GarminHttpRequest request) {
final String path = request.getPath();
final Map<String, String> query = request.getQuery();
@@ -26,12 +26,13 @@ import android.webkit.WebResourceResponse;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import androidx.annotation.NonNull;
import net.e175.klaus.solarpositioning.DeltaT;
import net.e175.klaus.solarpositioning.SPA;
import net.e175.klaus.solarpositioning.SunriseTransitSet;
import org.apache.commons.lang3.StringUtils;
import org.jetbrains.annotations.NotNull;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
@@ -72,7 +73,7 @@ public class GBWebClient extends WebViewClient {
private final Map<String, List<Entry>> postData = new HashMap<>();
private record Entry(long timestamp, String body) {}
public GBWebClient(final InternetRequestType type, @NotNull final GBDevice device) {
public GBWebClient(final InternetRequestType type, @NonNull final GBDevice device) {
super();
this.firewall = new InternetFirewall(type, device);
}