diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/discovery/GBScanEventProcessor.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/discovery/GBScanEventProcessor.java index 4153c8cc21..63553f570c 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/discovery/GBScanEventProcessor.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/discovery/GBScanEventProcessor.java @@ -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 a, @Nullable SparseArray b) { + private boolean mfgDataEqual(@NonNull SparseArray a, @Nullable SparseArray 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); diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btle/profiles/weightScale/WeightScaleProfile.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btle/profiles/weightScale/WeightScaleProfile.java index 15dcea3deb..4d7a207e93 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btle/profiles/weightScale/WeightScaleProfile.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btle/profiles/weightScale/WeightScaleProfile.java @@ -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; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/garmin/http/interceptors/AgpsInterceptor.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/garmin/http/interceptors/AgpsInterceptor.java index da63d7f500..45618eb2de 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/garmin/http/interceptors/AgpsInterceptor.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/garmin/http/interceptors/AgpsInterceptor.java @@ -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 { diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/garmin/http/interceptors/ContactsInterceptor.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/garmin/http/interceptors/ContactsInterceptor.java index b75183308c..21f5b20720 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/garmin/http/interceptors/ContactsInterceptor.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/garmin/http/interceptors/ContactsInterceptor.java @@ -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; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/garmin/http/interceptors/FirewallInterceptor.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/garmin/http/interceptors/FirewallInterceptor.java index 4305b28547..202e3a355e 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/garmin/http/interceptors/FirewallInterceptor.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/garmin/http/interceptors/FirewallInterceptor.java @@ -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() diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/garmin/http/interceptors/ImageServiceInterceptor.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/garmin/http/interceptors/ImageServiceInterceptor.java index a7b6a1602c..4e67f56a67 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/garmin/http/interceptors/ImageServiceInterceptor.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/garmin/http/interceptors/ImageServiceInterceptor.java @@ -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; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/garmin/http/interceptors/OauthInterceptor.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/garmin/http/interceptors/OauthInterceptor.java index 5268ffefd7..649d372ce7 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/garmin/http/interceptors/OauthInterceptor.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/garmin/http/interceptors/OauthInterceptor.java @@ -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; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/garmin/http/interceptors/WeatherInterceptor.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/garmin/http/interceptors/WeatherInterceptor.java index 8174f7e344..a5ed95cac0 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/garmin/http/interceptors/WeatherInterceptor.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/garmin/http/interceptors/WeatherInterceptor.java @@ -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 query = request.getQuery(); diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/webview/GBWebClient.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/webview/GBWebClient.java index 16628b86a2..d73b17ce0a 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/webview/GBWebClient.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/webview/GBWebClient.java @@ -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> 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); }