summaryrefslogtreecommitdiff
path: root/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/utils/OnMapReadyIdlingResource.java
diff options
context:
space:
mode:
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);
+ }
}
});
}