Skip to content

Commit c1d9e25

Browse files
authoredMay 6, 2024
Fix #189: Delay auto-zoom to after layout (#193)
1 parent 1bc1ebd commit c1d9e25

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed
 

‎android/feature/range/src/main/java/net/twisterrob/blt/android/ui/activity/RangeMapActivity.java

+13-1
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import android.view.Menu;
2424
import android.view.View;
2525
import android.view.View.OnClickListener;
26+
import android.view.ViewTreeObserver;
2627
import android.widget.Toast;
2728

2829
import com.google.android.gms.common.api.Status;
@@ -228,7 +229,18 @@ private void setupSearch(Fragment searchFragment) {
228229
@Override public void onMapReady(@NonNull GoogleMap map) {
229230
RangeMapActivity.this.map = map;
230231
MapUtils.setMyLocationEnabledIfPossible(RangeMapActivity.this, map);
231-
zoomFullLondon();
232+
View view = mapFragment.requireView();
233+
if (view.isLaidOut()) {
234+
zoomFullLondon();
235+
} else {
236+
view.getViewTreeObserver()
237+
.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
238+
@Override public void onGlobalLayout() {
239+
view.getViewTreeObserver().removeOnGlobalLayoutListener(this);
240+
zoomFullLondon();
241+
}
242+
});
243+
}
232244
updateToolbarVisibility();
233245
class MapInteractorListener implements OnMapClickListener, OnMarkerClickListener, OnMapLongClickListener {
234246
private Marker currentMarker;

0 commit comments

Comments
 (0)
Please sign in to comment.