#include "offline_region_error.hpp" namespace mbgl { namespace android { jni::Local> OfflineRegionError::New(jni::JNIEnv& env, mbgl::Response::Error error) { // Handle the value of reason independently of the underlying int value std::string reason; switch(error.reason) { case mbgl::Response::Error::Reason::Success: reason = "REASON_SUCCESS"; break; case mbgl::Response::Error::Reason::NotFound: reason = "REASON_NOT_FOUND"; break; case mbgl::Response::Error::Reason::Server: reason = "REASON_SERVER"; break; case mbgl::Response::Error::Reason::Connection: reason = "REASON_CONNECTION"; break; case mbgl::Response::Error::Reason::RateLimit: reason = "REASON_RATE_LIMIT"; break; case mbgl::Response::Error::Reason::Other: reason = "REASON_OTHER"; break; } static auto& javaClass = jni::Class::Singleton(env); static auto constructor = javaClass.GetConstructor(env); return javaClass.New(env, constructor, jni::Make(env, reason), jni::Make(env, error.message)); } void OfflineRegionError::registerNative(jni::JNIEnv& env) { jni::Class::Singleton(env); } } // namespace android } // namespace mbgl