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

Add OnDidFailLoadingTileListener. #704

Merged
merged 5 commits into from
Sep 26, 2021
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ class MapChangeReceiver implements NativeMapView.StateCallback {
= new CopyOnWriteArrayList<>();
private final List<MapView.OnDidFailLoadingMapListener> onDidFailLoadingMapListenerList
= new CopyOnWriteArrayList<>();
private final List<MapView.OnDidFailLoadingTileListener> onDidFailLoadingTileListenerList
= new CopyOnWriteArrayList<>();
private final List<MapView.OnWillStartRenderingFrameListener> onWillStartRenderingFrameList
= new CopyOnWriteArrayList<>();
private final List<MapView.OnDidFinishRenderingFrameListener> onDidFinishRenderingFrameList
Expand Down Expand Up @@ -120,6 +122,20 @@ public void onDidFailLoadingMap(String error) {
}
}

@Override
public void onDidFailLoadingTile(String error) {
try {
if (!onDidFailLoadingTileListenerList.isEmpty()) {
for (MapView.OnDidFailLoadingTileListener onDidFailLoadingTileListener : onDidFailLoadingTileListenerList) {
onDidFailLoadingTileListener.onDidFailLoadingTile(error);
}
}
} catch (Throwable err) {
Logger.e(TAG, "Exception in onDidFailLoadingTile", err);
throw err;
}
}

@Override
public void onWillStartRenderingFrame() {
try {
Expand Down Expand Up @@ -303,6 +319,14 @@ void removeOnDidFailLoadingMapListener(MapView.OnDidFailLoadingMapListener liste
onDidFailLoadingMapListenerList.remove(listener);
}

void addOnDidFailLoadingTileListener(MapView.OnDidFailLoadingTileListener listener) {
onDidFailLoadingTileListenerList.add(listener);
}

void removeOnDidFailLoadingTileListener(MapView.OnDidFailLoadingTileListener listener) {
onDidFailLoadingTileListenerList.remove(listener);
}

void addOnWillStartRenderingFrameListener(MapView.OnWillStartRenderingFrameListener listener) {
onWillStartRenderingFrameList.add(listener);
}
Expand Down Expand Up @@ -382,6 +406,7 @@ void clear() {
onWillStartLoadingMapListenerList.clear();
onDidFinishLoadingMapListenerList.clear();
onDidFailLoadingMapListenerList.clear();
onDidFailLoadingTileListenerList.clear();
onWillStartRenderingFrameList.clear();
onDidFinishRenderingFrameList.clear();
onWillStartRenderingMapListenerList.clear();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -767,6 +767,24 @@ public void removeOnDidFailLoadingMapListener(@NonNull OnDidFailLoadingMapListen
mapChangeReceiver.removeOnDidFailLoadingMapListener(listener);
}

/**
* Set a callback that's invoked when the tile failed to load.
*
* @param listener The callback that's invoked when the tile failed to load
*/
public void addOnDidFailLoadingTileListener(@NonNull OnDidFailLoadingTileListener listener) {
mapChangeReceiver.addOnDidFailLoadingTileListener(listener);
}

/**
* Set a callback that's invoked when the tile failed to load.
*
* @param listener The callback that's invoked when the tile failed to load
*/
public void removeOnDidFailLoadingTileListener(@NonNull OnDidFailLoadingTileListener listener) {
mapChangeReceiver.removeOnDidFailLoadingTileListener(listener);
}

/**
* Set a callback that's invoked when the map will start rendering a frame.
*
Expand Down Expand Up @@ -1022,6 +1040,21 @@ public interface OnDidFailLoadingMapListener {
void onDidFailLoadingMap(String errorMessage);
}

/**
* Interface definition for a callback to be invoked when the tile failed to load.
* <p>
* {@link MapView#addOnDidFailLoadingTileListener(OnDidFailLoadingTileListener)}
* </p>
*/
public interface OnDidFailLoadingTileListener {
/**
* Called when the tile failed to load.
*
* @param errorMessage The reason why the tile failed to load
*/
void onDidFailLoadingTile(String errorMessage);
}

/**
* Interface definition for a callback to be invoked when the map will start rendering a frame.
* <p>
Expand Down Expand Up @@ -1053,7 +1086,7 @@ public interface OnDidFinishRenderingFrameListener {
/**
* Interface definition for a callback to be invoked when the map will start rendering the map.
* <p>
* {@link MapView#addOnDidFailLoadingMapListener(OnDidFailLoadingMapListener)}
* {@link MapView#addOnWillStartRenderingMapListener(OnWillStartRenderingMapListener)}
* </p>
*/
public interface OnWillStartRenderingMapListener {
Expand Down Expand Up @@ -1098,7 +1131,7 @@ public interface OnDidBecomeIdleListener {
/**
* Interface definition for a callback to be invoked when the map has loaded the style.
* <p>
* {@link MapView#addOnDidFailLoadingMapListener(OnDidFailLoadingMapListener)}
* {@link MapView#addOnDidFinishLoadingStyleListener(OnDidFinishLoadingStyleListener)}
* </p>
*/
public interface OnDidFinishLoadingStyleListener {
Expand All @@ -1111,7 +1144,7 @@ public interface OnDidFinishLoadingStyleListener {
/**
* Interface definition for a callback to be invoked when a map source has changed.
* <p>
* {@link MapView#addOnDidFailLoadingMapListener(OnDidFailLoadingMapListener)}
* {@link MapView#addOnSourceChangedListener(OnSourceChangedListener)}
* </p>
*/
public interface OnSourceChangedListener {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1125,6 +1125,13 @@ private void onDidFailLoadingMap(String error) {
}
}

@Keep
private void onDidFailLoadingTile(String error) {
if (stateCallback != null) {
stateCallback.onDidFailLoadingTile(error);
}
}

@Keep
private void onWillStartRenderingFrame() {
if (stateCallback != null) {
Expand Down Expand Up @@ -1645,6 +1652,8 @@ interface StateCallback extends StyleCallback {

void onDidFailLoadingMap(String error);

void onDidFailLoadingTile(String error);

void onWillStartRenderingFrame();

void onDidFinishRenderingFrame(boolean fully);
Expand Down