summaryrefslogtreecommitdiff
path: root/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/utils/OnMapReadyIdlingResource.java
diff options
context:
space:
mode:
authorTobrun <tobrun.van.nuland@gmail.com>2018-09-20 14:40:20 +0200
committerTobrun <tobrun@mapbox.com>2018-09-24 10:32:50 +0200
commit515fcf394f1e93d16b0f86e3db4c10e579fd0f1a (patch)
tree33c3aad24356c4d9ee780d912a18361352fd1d72 /platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/utils/OnMapReadyIdlingResource.java
parentd92eace224d4c1b6f3d6f0dd3281ec0d995bdc20 (diff)
downloadqtlocation-mapboxgl-515fcf394f1e93d16b0f86e3db4c10e579fd0f1a.tar.gz
[android] - replace reflection setup with a findViewById, improves stability of the instrumentation tests on cCI
Diffstat (limited to 'platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/utils/OnMapReadyIdlingResource.java')
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/utils/OnMapReadyIdlingResource.java21
1 files changed, 11 insertions, 10 deletions
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/utils/OnMapReadyIdlingResource.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/utils/OnMapReadyIdlingResource.java
index 4e4c69620a..16959ed5b5 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/utils/OnMapReadyIdlingResource.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/utils/OnMapReadyIdlingResource.java
@@ -2,29 +2,30 @@ package com.mapbox.mapboxsdk.testapp.utils;
import android.app.Activity;
import android.os.Handler;
+import android.os.Looper;
import android.support.annotation.WorkerThread;
import android.support.test.espresso.IdlingResource;
import com.mapbox.mapboxsdk.maps.MapView;
import com.mapbox.mapboxsdk.maps.MapboxMap;
import com.mapbox.mapboxsdk.maps.OnMapReadyCallback;
-
-import java.lang.reflect.Field;
+import com.mapbox.mapboxsdk.testapp.R;
public class OnMapReadyIdlingResource implements IdlingResource, OnMapReadyCallback {
private MapboxMap mapboxMap;
private IdlingResource.ResourceCallback resourceCallback;
+ private final Handler handler = new Handler(Looper.getMainLooper());
@WorkerThread
- public OnMapReadyIdlingResource(Activity activity) {
- new Handler(activity.getMainLooper()).post(() -> {
- try {
- Field field = activity.getClass().getDeclaredField("mapView");
- field.setAccessible(true);
- ((MapView) field.get(activity)).getMapAsync(OnMapReadyIdlingResource.this);
- } catch (Exception err) {
- throw new RuntimeException(err);
+ public OnMapReadyIdlingResource(final Activity activity) {
+ handler.post(new Runnable() {
+ @Override
+ public void run() {
+ MapView mapView = (MapView) activity.findViewById(R.id.mapView);
+ if (mapView != null) {
+ mapView.getMapAsync(OnMapReadyIdlingResource.this);
+ }
}
});
}