From 656cbc59fc2449ab5f910f87b0ba599894927b6e Mon Sep 17 00:00:00 2001 From: max-klaus Date: Fri, 12 Jun 2020 16:22:24 +0300 Subject: [PATCH 1/2] Fix indexTerrainFiles crash --- .../osmand/plus/srtmplugin/TerrainLayer.java | 33 +++++++++++-------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/OsmAnd/src/net/osmand/plus/srtmplugin/TerrainLayer.java b/OsmAnd/src/net/osmand/plus/srtmplugin/TerrainLayer.java index bdfe5e4772..8f75c68259 100644 --- a/OsmAnd/src/net/osmand/plus/srtmplugin/TerrainLayer.java +++ b/OsmAnd/src/net/osmand/plus/srtmplugin/TerrainLayer.java @@ -82,21 +82,28 @@ public class TerrainLayer extends MapTileLayer { File tilesDir = app.getAppPath(IndexConstants.TILES_INDEX_DIR); File cacheDir = app.getCacheDir(); // fix http://stackoverflow.com/questions/26937152/workaround-for-nexus-9-sqlite-file-write-operations-on-external-dirs - sqliteDb = SQLiteDatabase.openDatabase( - new File(cacheDir, mode == HILLSHADE ? HILLSHADE_CACHE : SLOPE_CACHE).getPath(), - null, SQLiteDatabase.ENABLE_WRITE_AHEAD_LOGGING - | SQLiteDatabase.CREATE_IF_NECESSARY ); - if (sqliteDb.getVersion() == 0) { - sqliteDb.setVersion(1); + try { + sqliteDb = SQLiteDatabase.openDatabase( + new File(cacheDir, mode == HILLSHADE ? HILLSHADE_CACHE : SLOPE_CACHE).getPath(), + null, SQLiteDatabase.ENABLE_WRITE_AHEAD_LOGGING + | SQLiteDatabase.CREATE_IF_NECESSARY); + } catch (RuntimeException e) { + log.error(e.getMessage(), e); + sqliteDb = null; } - sqliteDb.execSQL("CREATE TABLE IF NOT EXISTS TILE_SOURCES(filename varchar2(256), date_modified int, left int, right int, top int, bottom int)"); + if (sqliteDb != null) { + if (sqliteDb.getVersion() == 0) { + sqliteDb.setVersion(1); + } + sqliteDb.execSQL("CREATE TABLE IF NOT EXISTS TILE_SOURCES(filename varchar2(256), date_modified int, left int, right int, top int, bottom int)"); - Map fileModified = new HashMap(); - Map rs = readFiles(app, tilesDir, fileModified); - indexCachedResources(fileModified, rs); - indexNonCachedResources(fileModified, rs); - sqliteDb.close(); - resources = rs; + Map fileModified = new HashMap(); + Map rs = readFiles(app, tilesDir, fileModified); + indexCachedResources(fileModified, rs); + indexNonCachedResources(fileModified, rs); + sqliteDb.close(); + resources = rs; + } return null; } From 5acd3c0a395949365db47d489fecfa983ff47eaf Mon Sep 17 00:00:00 2001 From: Vitaliy Date: Fri, 12 Jun 2020 16:30:34 +0300 Subject: [PATCH 2/2] Fix #9219 --- .../plus/views/mapwidgets/MapInfoWidgetsFactory.java | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/OsmAnd/src/net/osmand/plus/views/mapwidgets/MapInfoWidgetsFactory.java b/OsmAnd/src/net/osmand/plus/views/mapwidgets/MapInfoWidgetsFactory.java index 5eef90a95d..978525ac5f 100644 --- a/OsmAnd/src/net/osmand/plus/views/mapwidgets/MapInfoWidgetsFactory.java +++ b/OsmAnd/src/net/osmand/plus/views/mapwidgets/MapInfoWidgetsFactory.java @@ -48,8 +48,6 @@ import net.osmand.plus.OsmAndFormatter; import net.osmand.plus.OsmAndLocationProvider; import net.osmand.plus.OsmAndLocationProvider.GPSInfo; import net.osmand.plus.OsmandApplication; -import net.osmand.plus.settings.backend.OsmandSettings; -import net.osmand.plus.settings.backend.OsmandSettings.RulerMode; import net.osmand.plus.R; import net.osmand.plus.UiUtilities; import net.osmand.plus.activities.MapActivity; @@ -65,6 +63,8 @@ import net.osmand.plus.routepreparationmenu.ShowAlongTheRouteBottomSheet; import net.osmand.plus.routing.RouteCalculationResult; import net.osmand.plus.routing.RouteDirectionInfo; import net.osmand.plus.routing.RoutingHelper; +import net.osmand.plus.settings.backend.OsmandSettings; +import net.osmand.plus.settings.backend.OsmandSettings.RulerMode; import net.osmand.plus.views.OsmandMapLayer.DrawSettings; import net.osmand.plus.views.OsmandMapTileView; import net.osmand.plus.views.RulerControlLayer; @@ -72,8 +72,6 @@ import net.osmand.plus.views.mapwidgets.MapWidgetRegistry.WidgetState; import net.osmand.plus.views.mapwidgets.NextTurnInfoWidget.TurnDrawable; import net.osmand.render.RenderingRuleSearchRequest; import net.osmand.render.RenderingRulesStorage; -import net.osmand.router.ExitInfo; -import net.osmand.router.TurnType; import net.osmand.util.Algorithms; import net.osmand.util.MapUtils; @@ -1036,7 +1034,8 @@ public class MapInfoWidgetsFactory { AndroidUiHelper.updateVisibility(addressText, true); AndroidUiHelper.updateVisibility(addressTextShadow, shadowRad > 0); - if (streetName.shieldObject != null && setRoadShield(shieldIcon, streetName.shieldObject)) { + if (streetName.shieldObject != null && streetName.shieldObject.nameIds != null + && setRoadShield(shieldIcon, streetName.shieldObject)) { AndroidUiHelper.updateVisibility(shieldIcon, true); } else { AndroidUiHelper.updateVisibility(shieldIcon, false);