diff options
author | Tobrun <tobrun.van.nuland@gmail.com> | 2018-09-20 14:40:20 +0200 |
---|---|---|
committer | Tobrun <tobrun@mapbox.com> | 2018-09-24 10:32:50 +0200 |
commit | 515fcf394f1e93d16b0f86e3db4c10e579fd0f1a (patch) | |
tree | 33c3aad24356c4d9ee780d912a18361352fd1d72 /platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/utils/OnMapReadyIdlingResource.java | |
parent | d92eace224d4c1b6f3d6f0dd3281ec0d995bdc20 (diff) | |
download | qtlocation-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.java | 21 |
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); + } } }); } |