Skip to content
This repository has been archived by the owner on Aug 8, 2023. It is now read-only.

Fix dialog fragment setup, add regression test #14036

Merged
merged 1 commit into from
Mar 6, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
package com.mapbox.mapboxsdk.testapp.fragment

import android.support.test.espresso.Espresso
import android.support.test.espresso.Espresso.onView
import android.support.test.espresso.action.ViewActions.click
import android.support.test.espresso.matcher.ViewMatchers.withId
import android.support.test.filters.LargeTest
import android.support.test.rule.ActivityTestRule
import android.support.test.runner.AndroidJUnit4
import com.mapbox.mapboxsdk.testapp.R
import com.mapbox.mapboxsdk.testapp.action.WaitAction
import com.mapbox.mapboxsdk.testapp.activity.maplayout.MapInDialogActivity
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith

/**
* Regression test that validates that a map inside a DialogFragment can be opened and closed.
*/
@RunWith(AndroidJUnit4::class)
@LargeTest
class MapDialogFragmentTest {

@get:Rule
var activityRule: ActivityTestRule<MapInDialogActivity> = ActivityTestRule(MapInDialogActivity::class.java)

@Test
fun openCloseDialog() {
onView(withId(R.id.button_open_dialog)).perform(click())
onView(withId(R.id.mapView)).perform(WaitAction(2500))
Espresso.pressBack()
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -52,14 +52,13 @@ public static MapDialogFragment newInstance(String title) {
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_dialog_map, container);
}

@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);

mapView = view.findViewById(R.id.mapView);
mapView.onCreate(savedInstanceState);
mapView.getMapAsync(mapboxMap -> mapboxMap.setStyle(Style.OUTDOORS));
Expand All @@ -75,6 +74,7 @@ public void dismiss() {
mapView.onPause();
mapView.onStop();
mapView.onDestroy();
mapView = null;
}
super.dismiss();
}
Expand All @@ -96,31 +96,41 @@ public void onResume() {
@Override
public void onPause() {
super.onPause();
mapView.onPause();
if (mapView != null) {
mapView.onPause();
}
}

@Override
public void onStop() {
super.onStop();
mapView.onStop();
if (mapView != null) {
mapView.onStop();
}
}

@Override
public void onDestroyView() {
super.onDestroyView();
mapView.onDestroy();
if (mapView != null) {
mapView.onDestroy();
}
}

@Override
public void onLowMemory() {
super.onLowMemory();
mapView.onLowMemory();
if (mapView != null) {
mapView.onLowMemory();
}
}

@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
mapView.onSaveInstanceState(outState);
if (mapView != null) {
mapView.onSaveInstanceState(outState);
}
}
}
}
}