[android] Include "must-revalidate" in putResourceWithURL

This commit is contained in:
Chris Loer
2018-10-17 11:06:40 -07:00
committed by Chris Loer
parent aab55cfbcd
commit 44f79031b7
3 changed files with 8 additions and 3 deletions

View File

@@ -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);
}

View File

@@ -207,13 +207,15 @@ void OfflineManager::putResourceWithUrl(jni::JNIEnv& env,
const jni::Array<jni::jbyte>& arr,
jlong modified,
jlong expires,
const jni::String& eTag_) {
const jni::String& eTag_,
jboolean mustRevalidate) {
auto url = jni::Make<std::string>(env, url_);
auto data = std::make_shared<std::string>(arr.Length(env), char());
jni::GetArrayRegion(env, *arr, 0, data->size(), reinterpret_cast<jbyte*>(&(*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<std::string>(env, eTag_);
}

View File

@@ -80,7 +80,8 @@ public:
const jni::Array<jni::jbyte>& data,
jlong modified,
jlong expires,
const jni::String& eTag);
const jni::String& eTag,
jboolean mustRevalidate);
private: