diff options
author | Tobrun <tobrun.van.nuland@gmail.com> | 2019-06-12 16:40:59 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-06-12 16:40:59 +0200 |
commit | c2fb3cc76f238908b8c469f47ca547565bcd0242 (patch) | |
tree | e2ef680bafa8de3c2240d8aa2341f4c4899993a1 /platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox | |
parent | 844299f1c3b22eed4bf07c37052b3c2ea35e2564 (diff) | |
download | qtlocation-mapboxgl-c2fb3cc76f238908b8c469f47ca547565bcd0242.tar.gz |
[android] - add resource usage to HttpRequest, add offline query parameter flag to http request (#14837)
Diffstat (limited to 'platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox')
4 files changed, 18 insertions, 12 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/http/HttpRequest.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/http/HttpRequest.java index fdbb589fef..1fd4f43cd4 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/http/HttpRequest.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/http/HttpRequest.java @@ -15,17 +15,18 @@ public interface HttpRequest { /** * Executes the request. * - * @param httpRequest callback to be invoked when we receive a response - * @param nativePtr the pointer associated to the request - * @param resourceUrl the resource url to download - * @param etag http header, identifier for a specific version of a resource - * @param modified http header, used to determine if a resource hasn't been modified since + * @param httpRequest callback to be invoked when we receive a response + * @param nativePtr the pointer associated to the request + * @param resourceUrl the resource url to download + * @param etag http header, identifier for a specific version of a resource + * @param modified http header, used to determine if a resource hasn't been modified since + * @param offlineUsage flag to indicate a resource will be used for offline, appends offline=true as a query parameter */ void executeRequest(HttpResponder httpRequest, long nativePtr, String resourceUrl, - String etag, String modified); + String etag, String modified, boolean offlineUsage); /** * Cancels the request. - */ + */ void cancelRequest(); } diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/http/HttpRequestUrl.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/http/HttpRequestUrl.java index 6a1b641d67..706f57ce9c 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/http/HttpRequestUrl.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/http/HttpRequestUrl.java @@ -15,9 +15,10 @@ public class HttpRequestUrl { * @param host the host used as endpoint * @param resourceUrl the resource to download * @param querySize the query size of the resource request + * @param offline the type of resource, either offline or online * @return the adapted resource url */ - public static String buildResourceUrl(@NonNull String host, String resourceUrl, int querySize) { + public static String buildResourceUrl(@NonNull String host, String resourceUrl, int querySize, boolean offline) { if (isValidMapboxEndpoint(host)) { if (querySize == 0) { resourceUrl = resourceUrl + "?"; @@ -25,6 +26,10 @@ public class HttpRequestUrl { resourceUrl = resourceUrl + "&"; } resourceUrl = resourceUrl + "sku=" + Mapbox.getSkuToken(); + + if (offline) { + resourceUrl = resourceUrl + "&offline=true"; + } } return resourceUrl; } diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/http/NativeHttpRequest.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/http/NativeHttpRequest.java index 156a91d810..e59b07dc1f 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/http/NativeHttpRequest.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/http/NativeHttpRequest.java @@ -18,7 +18,7 @@ public class NativeHttpRequest implements HttpResponder { private long nativePtr; @Keep - private NativeHttpRequest(long nativePtr, String resourceUrl, String etag, String modified) { + private NativeHttpRequest(long nativePtr, String resourceUrl, String etag, String modified, boolean offlineUsage) { this.nativePtr = nativePtr; if (resourceUrl.startsWith("local://")) { @@ -26,7 +26,7 @@ public class NativeHttpRequest implements HttpResponder { executeLocalRequest(resourceUrl); return; } - httpRequest.executeRequest(this, nativePtr, resourceUrl, etag, modified); + httpRequest.executeRequest(this, nativePtr, resourceUrl, etag, modified, offlineUsage); } public void cancel() { diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/module/http/HttpRequestImpl.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/module/http/HttpRequestImpl.java index 441db7e945..14b76e4fb7 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/module/http/HttpRequestImpl.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/module/http/HttpRequestImpl.java @@ -53,7 +53,7 @@ public class HttpRequestImpl implements HttpRequest { @Override public void executeRequest(HttpResponder httpRequest, long nativePtr, @NonNull String resourceUrl, - @NonNull String etag, @NonNull String modified) { + @NonNull String etag, @NonNull String modified, boolean offlineUsage) { OkHttpCallback callback = new OkHttpCallback(httpRequest); try { HttpUrl httpUrl = HttpUrl.parse(resourceUrl); @@ -63,7 +63,7 @@ public class HttpRequestImpl implements HttpRequest { } final String host = httpUrl.host().toLowerCase(MapboxConstants.MAPBOX_LOCALE); - resourceUrl = HttpRequestUrl.buildResourceUrl(host, resourceUrl, httpUrl.querySize()); + resourceUrl = HttpRequestUrl.buildResourceUrl(host, resourceUrl, httpUrl.querySize(), offlineUsage); final Request.Builder builder = new Request.Builder() .url(resourceUrl) |