mirror of
https://codeberg.org/Freeyourgadget/Gadgetbridge.git
synced 2026-07-31 07:44:24 +02:00
Maps: Do not crash when map loading fails
This commit is contained in:
@@ -36,7 +36,6 @@ import org.slf4j.Logger;
|
|||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
import java.io.FileInputStream;
|
import java.io.FileInputStream;
|
||||||
import java.io.FileNotFoundException;
|
|
||||||
|
|
||||||
import nodomain.freeyourgadget.gadgetbridge.GBApplication;
|
import nodomain.freeyourgadget.gadgetbridge.GBApplication;
|
||||||
import nodomain.freeyourgadget.gadgetbridge.util.GBPrefs;
|
import nodomain.freeyourgadget.gadgetbridge.util.GBPrefs;
|
||||||
@@ -88,20 +87,19 @@ public final class MapsManager {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
FileInputStream inputStream = (FileInputStream) mContext.getContentResolver().openInputStream(documentFile.getUri());
|
FileInputStream inputStream = (FileInputStream) mContext.getContentResolver().openInputStream(documentFile.getUri());
|
||||||
assert inputStream != null;
|
final MapFile mapFile = new MapFile(inputStream, 0, null);
|
||||||
MapFile mapFile = new MapFile(inputStream, 0, null);
|
|
||||||
multiMapDataStore.addMapDataStore(mapFile, true, true);
|
multiMapDataStore.addMapDataStore(mapFile, true, true);
|
||||||
isMapLoaded = true;
|
isMapLoaded = true;
|
||||||
} catch (FileNotFoundException e) {
|
} catch (final Exception e) {
|
||||||
throw new RuntimeException(e);
|
LOG.error("Failed to load map file", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
TileCache tileCache = AndroidUtil.createTileCache(mContext, "mapcache",
|
final TileCache tileCache = AndroidUtil.createTileCache(mContext, "mapcache",
|
||||||
mapView.getModel().displayModel.getTileSize(), 1f,
|
mapView.getModel().displayModel.getTileSize(), 1f,
|
||||||
mapView.getModel().frameBufferModel.getOverdrawFactor());
|
mapView.getModel().frameBufferModel.getOverdrawFactor());
|
||||||
|
|
||||||
TileRendererLayer tileRendererLayer = new TileRendererLayer(
|
final TileRendererLayer tileRendererLayer = new TileRendererLayer(
|
||||||
tileCache, multiMapDataStore,
|
tileCache, multiMapDataStore,
|
||||||
mapView.getModel().mapViewPosition, true, false, false, AndroidGraphicFactory.INSTANCE) {
|
mapView.getModel().mapViewPosition, true, false, false, AndroidGraphicFactory.INSTANCE) {
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user