summaryrefslogtreecommitdiff
path: root/platform/android/MapboxGLAndroidSDKTestApp/src
diff options
context:
space:
mode:
Diffstat (limited to 'platform/android/MapboxGLAndroidSDKTestApp/src')
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/MapboxApplication.java12
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/render/RenderTestActivity.java24
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/utils/IonHttpRequest.java53
3 files changed, 73 insertions, 16 deletions
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/MapboxApplication.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/MapboxApplication.java
index a06a489388..6313eddc5b 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/MapboxApplication.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/MapboxApplication.java
@@ -3,10 +3,13 @@ package com.mapbox.mapboxsdk.testapp;
import android.app.Application;
import android.os.StrictMode;
import android.text.TextUtils;
+
import com.mapbox.mapboxsdk.Mapbox;
-import com.mapbox.mapboxsdk.maps.Telemetry;
+import com.mapbox.mapboxsdk.http.HttpRequest;
+import com.mapbox.mapboxsdk.testapp.utils.IonHttpRequest;
import com.mapbox.mapboxsdk.testapp.utils.TokenUtils;
import com.squareup.leakcanary.LeakCanary;
+
import timber.log.Timber;
import static timber.log.Timber.DebugTree;
@@ -31,11 +34,16 @@ public class MapboxApplication extends Application {
if (!initializeLeakCanary()) {
return;
}
+ initializeHttpClient();
initializeLogger();
initializeStrictMode();
initializeMapbox();
}
+ private void initializeHttpClient() {
+ HttpRequest.setHttpRequest(new IonHttpRequest(this));
+ }
+
private boolean initializeLeakCanary() {
if (LeakCanary.isInAnalyzerProcess(this)) {
// This process is dedicated to LeakCanary for heap analysis.
@@ -70,7 +78,7 @@ public class MapboxApplication extends Application {
String accessToken = TokenUtils.getMapboxAccessToken(getApplicationContext());
validateAccessToken(accessToken);
Mapbox.getInstance(getApplicationContext(), accessToken);
- Telemetry.updateDebugLoggingEnabled(true);
+ //Telemetry.updateDebugLoggingEnabled(true);
}
private static void validateAccessToken(String accessToken) {
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/render/RenderTestActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/render/RenderTestActivity.java
index e3c5254805..6c37f3d5ea 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/render/RenderTestActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/render/RenderTestActivity.java
@@ -12,11 +12,8 @@ import android.view.ViewGroup;
import android.widget.FrameLayout;
import android.widget.ImageView;
import com.google.gson.Gson;
-import com.google.gson.JsonElement;
-import com.google.gson.JsonObject;
import com.mapbox.mapboxsdk.snapshotter.MapSnapshotter;
-import okio.BufferedSource;
-import okio.Okio;
+
import timber.log.Timber;
import java.io.File;
@@ -24,7 +21,6 @@ import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.lang.ref.WeakReference;
-import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -167,13 +163,13 @@ public class RenderTestActivity extends AppCompatActivity {
private static List<String> loadIgnoreList(AssetManager assets) {
List<String> ignores = new ArrayList<>();
try (InputStream input = assets.open(String.format("%s/ignores.json", TEST_BASE_PATH))) {
- BufferedSource source = Okio.buffer(Okio.source(input));
- String styleJson = source.readByteString().string(Charset.forName("utf-8"));
- JsonObject object = new Gson().fromJson(styleJson, JsonObject.class);
- for (Map.Entry<String, JsonElement> stringJsonElementEntry : object.entrySet()) {
- String[] parts = stringJsonElementEntry.getKey().split("/");
- ignores.add(String.format("%s,%s", parts[2], parts[1]));
- }
+ // BufferedSource source = Okio.buffer(Okio.source(input));
+ // String styleJson = source.readByteString().string(Charset.forName("utf-8"));
+ // JsonObject object = new Gson().fromJson(styleJson, JsonObject.class);
+ // for (Map.Entry<String, JsonElement> stringJsonElementEntry : object.entrySet()) {
+ // String[] parts = stringJsonElementEntry.getKey().split("/");
+ // ignores.add(String.format("%s,%s", parts[2], parts[1]));
+ // }
} catch (IOException exception) {
Timber.e(exception);
}
@@ -183,8 +179,8 @@ public class RenderTestActivity extends AppCompatActivity {
private static String loadStyleJson(AssetManager assets, String category, String test) {
String styleJson = null;
try (InputStream input = assets.open(String.format("%s/%s/%s/style.json", RENDER_TEST_BASE_PATH, category, test))) {
- BufferedSource source = Okio.buffer(Okio.source(input));
- styleJson = source.readByteString().string(Charset.forName("utf-8"));
+ // BufferedSource source = Okio.buffer(Okio.source(input));
+ // styleJson = source.readByteString().string(Charset.forName("utf-8"));
} catch (IOException exception) {
Timber.e(exception);
}
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/utils/IonHttpRequest.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/utils/IonHttpRequest.java
new file mode 100644
index 0000000000..d4fa8b547e
--- /dev/null
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/utils/IonHttpRequest.java
@@ -0,0 +1,53 @@
+package com.mapbox.mapboxsdk.testapp.utils;
+
+import android.content.Context;
+
+import com.koushikdutta.ion.Ion;
+import com.koushikdutta.ion.Response;
+import com.koushikdutta.ion.builder.Builders;
+import com.mapbox.mapboxsdk.http.HttpRequest;
+import com.mapbox.mapboxsdk.http.NativeHttpRequest;
+
+import java.lang.ref.WeakReference;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.Future;
+
+public class IonHttpRequest extends HttpRequest {
+
+ private WeakReference<Context> context;
+
+ public IonHttpRequest(Context context) {
+ this.context = new WeakReference<>(context);
+ }
+
+ @Override
+ public void executeRequest(NativeHttpRequest httpRequest, long nativePtr, String resourceUrl,
+ String etag, String modified) {
+ Context context = this.context.get();
+ if (context != null) {
+ Builders.Any.B loadBuilder = Ion.with(context).load(resourceUrl);
+ if (etag.length() > 0) {
+ loadBuilder.addHeader("If-None-Match", etag);
+ } else if (modified.length() > 0) {
+ loadBuilder.addHeader("If-Modified-Since", modified);
+ }
+ Future<Response<byte[]>> future = loadBuilder.asByteArray().withResponse();
+ try {
+ Response<byte[]> result = future.get();
+ int statusCode = result.getHeaders().code();
+ httpRequest.onResponse(statusCode, null, null, null, null, null, null, result.getResult());
+ } catch (InterruptedException interruptedException) {
+ interruptedException.printStackTrace();
+ } catch (ExecutionException executionException) {
+ executionException.printStackTrace();
+ }
+ }
+ }
+
+ @Override
+ public void cancelRequest(long nativePtr) {
+ // do nothing
+ // TODO manage Future objects and execute Future#cancel
+ }
+
+}