diff options
Diffstat (limited to 'platform/android/MapboxGLAndroidModuleBase/src/main/java/com/mapbox/mapboxsdk/http/HttpRequest.java')
-rw-r--r-- | platform/android/MapboxGLAndroidModuleBase/src/main/java/com/mapbox/mapboxsdk/http/HttpRequest.java | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/platform/android/MapboxGLAndroidModuleBase/src/main/java/com/mapbox/mapboxsdk/http/HttpRequest.java b/platform/android/MapboxGLAndroidModuleBase/src/main/java/com/mapbox/mapboxsdk/http/HttpRequest.java new file mode 100644 index 0000000000..072a45b0de --- /dev/null +++ b/platform/android/MapboxGLAndroidModuleBase/src/main/java/com/mapbox/mapboxsdk/http/HttpRequest.java @@ -0,0 +1,57 @@ +package com.mapbox.mapboxsdk.http; + +import android.content.Context; +import android.content.pm.PackageInfo; +import android.support.annotation.NonNull; +import com.mapbox.mapboxsdk.utils.ApplicationContextWrapper; + +public abstract class HttpRequest { + + static final int CONNECTION_ERROR = 0; + static final int TEMPORARY_ERROR = 1; + static final int PERMANENT_ERROR = 2; + + public abstract void executeRequest(HttpRequestResponder httpRequest, long nativePtr, String resourceUrl, + String etag, String modified); + + public abstract void cancelRequest(); + + // + // Utility methods + // + + static String getApplicationIdentifier() { + ApplicationContextWrapper contextWrapper = ApplicationContextWrapper.getInstance(null); + Context context = contextWrapper.getBaseContext(); + if(context == null){ + throw new RuntimeException("Mapbox.java not correctly initialized"); + } + return getApplicationIdentifier(context); + } + + private static String getApplicationIdentifier(@NonNull Context context){ + try { + PackageInfo packageInfo = context.getPackageManager().getPackageInfo(context.getPackageName(), 0); + return String.format("%s/%s (%s)", context.getPackageName(), packageInfo.versionName, packageInfo.versionCode); + } catch (Exception exception) { + return ""; + } + } + + String buildResourceUrl(String host, String resourceUrl, int querySize) { + if (isValidMapboxEndpoint(host)) { + if (querySize == 0) { + resourceUrl = resourceUrl + "?"; + } else { + resourceUrl = resourceUrl + "&"; + } + resourceUrl = resourceUrl + "events=true"; + } + return resourceUrl; + } + + private boolean isValidMapboxEndpoint(String host) { + return host.equals("mapbox.com") || host.endsWith(".mapbox.com") || host.equals("mapbox.cn") + || host.endsWith(".mapbox.cn"); + } +} |