From 44f79031b78ac25052fac51e423fb014a3243c81 Mon Sep 17 00:00:00 2001 From: Chris Loer Date: Wed, 17 Oct 2018 11:06:40 -0700 Subject: [android] Include "must-revalidate" in putResourceWithURL --- .../src/main/java/com/mapbox/mapboxsdk/offline/OfflineManager.java | 4 +++- platform/android/src/offline/offline_manager.cpp | 4 +++- platform/android/src/offline/offline_manager.hpp | 3 ++- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline/OfflineManager.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline/OfflineManager.java index cf6233a805..a6926d1c9f 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline/OfflineManager.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/offline/OfflineManager.java @@ -480,7 +480,9 @@ public class OfflineManager { * @param modified Optional "modified" response header, in seconds since 1970, or 0 if not set * @param expires Optional "expires" response header, in seconds since 1970, or 0 if not set * @param etag Optional "entity tag" response header + * @param mustRevalidate Indicates whether response can be used after it's stale */ @Keep - public native void putResourceWithUrl(String url, byte[] data, long modified, long expires, String etag); + public native void putResourceWithUrl(String url, byte[] data, long modified, long expires, + String etag, boolean mustRevalidate); } diff --git a/platform/android/src/offline/offline_manager.cpp b/platform/android/src/offline/offline_manager.cpp index 07e10d4c81..968c33b644 100644 --- a/platform/android/src/offline/offline_manager.cpp +++ b/platform/android/src/offline/offline_manager.cpp @@ -207,13 +207,15 @@ void OfflineManager::putResourceWithUrl(jni::JNIEnv& env, const jni::Array& arr, jlong modified, jlong expires, - const jni::String& eTag_) { + const jni::String& eTag_, + jboolean mustRevalidate) { auto url = jni::Make(env, url_); auto data = std::make_shared(arr.Length(env), char()); jni::GetArrayRegion(env, *arr, 0, data->size(), reinterpret_cast(&(*data)[0])); mbgl::Resource resource(mbgl::Resource::Kind::Unknown, url); mbgl::Response response; response.data = data; + response.mustRevalidate = mustRevalidate; if (eTag_) { response.etag = jni::Make(env, eTag_); } diff --git a/platform/android/src/offline/offline_manager.hpp b/platform/android/src/offline/offline_manager.hpp index 52c9ab70a0..f8d57b88da 100644 --- a/platform/android/src/offline/offline_manager.hpp +++ b/platform/android/src/offline/offline_manager.hpp @@ -80,7 +80,8 @@ public: const jni::Array& data, jlong modified, jlong expires, - const jni::String& eTag); + const jni::String& eTag, + jboolean mustRevalidate); private: -- cgit v1.2.1