From db77728d4ce7a3c33dc4d2c0cdb6a1029bc9d4ac Mon Sep 17 00:00:00 2001 From: Manuel Fuhr Date: Sun, 7 Nov 2021 11:12:48 +0100 Subject: [PATCH] Always fallback to CoordinateReaderInternal --- .../btools/routingapp/BRouterService.java | 16 +-- .../java/btools/routingapp/BRouterView.java | 10 +- .../btools/routingapp/CoordinateReader.java | 104 +++++++++--------- .../routingapp/CoordinateReaderNone.java | 32 ------ 4 files changed, 54 insertions(+), 108 deletions(-) delete mode 100644 brouter-routing-app/src/main/java/btools/routingapp/CoordinateReaderNone.java diff --git a/brouter-routing-app/src/main/java/btools/routingapp/BRouterService.java b/brouter-routing-app/src/main/java/btools/routingapp/BRouterService.java index 095beb4..52cade2 100644 --- a/brouter-routing-app/src/main/java/btools/routingapp/BRouterService.java +++ b/brouter-routing-app/src/main/java/btools/routingapp/BRouterService.java @@ -218,20 +218,10 @@ public class BRouterService extends Service canAccessSdCard = false; } AppLogger.log( "dev/target=" + deviceLevel + "/" + targetSdkVersion + " canAccessSdCard=" + canAccessSdCard ); - if ( canAccessSdCard ) - { - CoordinateReader cor = CoordinateReader.obtainValidReader( baseDir, worker.segmentDir, true ); - worker.nogoList = new ArrayList( cor.nogopoints ); - worker.nogoPolygonsList = new ArrayList(); - } - else { - CoordinateReader cor = new CoordinateReaderInternal( baseDir ); - cor.readFromTo(); - - worker.nogoList = new ArrayList( cor.nogopoints ); - worker.nogoPolygonsList = new ArrayList(); - } + CoordinateReader cor = CoordinateReader.obtainValidReader( baseDir, worker.segmentDir, canAccessSdCard, true ); + worker.nogoList = new ArrayList( cor.nogopoints ); + worker.nogoPolygonsList = new ArrayList(); } diff --git a/brouter-routing-app/src/main/java/btools/routingapp/BRouterView.java b/brouter-routing-app/src/main/java/btools/routingapp/BRouterView.java index 1bc0d44..ada010e 100644 --- a/brouter-routing-app/src/main/java/btools/routingapp/BRouterView.java +++ b/brouter-routing-app/src/main/java/btools/routingapp/BRouterView.java @@ -232,13 +232,7 @@ public class BRouterView extends View canAccessSdCard = false; } - if (canAccessSdCard) { - cor = CoordinateReader.obtainValidReader(basedir, segmentDir); - } - else { - cor = new CoordinateReaderInternal(basedir); - cor.readFromTo(); - } + cor = CoordinateReader.obtainValidReader(basedir, segmentDir, canAccessSdCard); wpList = cor.waypoints; nogoList = cor.nogopoints; @@ -586,7 +580,7 @@ public class BRouterView extends View for ( int i = 0; i < wpList.size(); i++ ) msg += ( i > 0 ? "->" : "" ) + wpList.get( i ).name; } - ( (BRouterActivity) getContext() ).showResultMessage( "Select Action", msg, cor instanceof CoordinateReaderNone ? -2 : wpList.size() ); + ( (BRouterActivity) getContext() ).showResultMessage( "Select Action", msg, wpList.size() ); return; } diff --git a/brouter-routing-app/src/main/java/btools/routingapp/CoordinateReader.java b/brouter-routing-app/src/main/java/btools/routingapp/CoordinateReader.java index 4926b70..a6b7942 100644 --- a/brouter-routing-app/src/main/java/btools/routingapp/CoordinateReader.java +++ b/brouter-routing-app/src/main/java/btools/routingapp/CoordinateReader.java @@ -149,76 +149,70 @@ public abstract class CoordinateReader protected abstract void readPointmap() throws Exception; - public static CoordinateReader obtainValidReader( String basedir, File segmentDir ) throws Exception + public static CoordinateReader obtainValidReader( String basedir, File segmentDir, boolean canAccessSdCard ) throws Exception { - return obtainValidReader( basedir, segmentDir, false ); + return obtainValidReader( basedir, segmentDir, canAccessSdCard, false ); } - public static CoordinateReader obtainValidReader( String basedir, File segmentDir, boolean nogosOnly ) throws Exception + public static CoordinateReader obtainValidReader( String basedir, File segmentDir, boolean canAccessSdCard, boolean nogosOnly ) throws Exception { CoordinateReader cor = null; ArrayList rl = new ArrayList(); - AppLogger.log( "adding standard maptool-base: " + basedir ); - rl.add( new CoordinateReaderOsmAnd( basedir ) ); - rl.add( new CoordinateReaderLocus( basedir ) ); - rl.add( new CoordinateReaderOrux( basedir ) ); + if (canAccessSdCard) { + AppLogger.log("adding standard maptool-base: " + basedir); + rl.add(new CoordinateReaderOsmAnd(basedir)); + rl.add(new CoordinateReaderLocus(basedir)); + rl.add(new CoordinateReaderOrux(basedir)); - // eventually add standard-sd - File standardbase = Environment.getExternalStorageDirectory(); - if ( standardbase != null ) - { - String base2 = standardbase.getAbsolutePath(); - if ( !base2.equals( basedir ) ) - { - AppLogger.log( "adding internal sd maptool-base: " + base2 ); - rl.add( new CoordinateReaderOsmAnd( base2 ) ); - rl.add( new CoordinateReaderLocus( base2 ) ); - rl.add( new CoordinateReaderOrux( base2 ) ); - } - } - - // eventually add explicit directory - File additional = RoutingHelper.getAdditionalMaptoolDir( segmentDir ); - if ( additional != null ) - { - String base3 = additional.getAbsolutePath(); - - AppLogger.log( "adding maptool-base from storage-config: " + base3 ); - - rl.add( new CoordinateReaderOsmAnd( base3 ) ); - rl.add( new CoordinateReaderOsmAnd( base3, true ) ); - rl.add( new CoordinateReaderLocus( base3 ) ); - rl.add( new CoordinateReaderOrux( base3 ) ); - } - - long tmax = 0; - for ( CoordinateReader r : rl ) - { - if ( AppLogger.isLogging() ) - { - AppLogger.log( "reading timestamp at systime " + new Date() ); - } - - long t = r.getTimeStamp(); - - if ( t != 0 ) - { - if ( AppLogger.isLogging() ) - { - AppLogger.log( "found coordinate source at " + r.basedir + r.rootdir + " with timestamp " + new Date( t ) ); + // eventually add standard-sd + File standardbase = Environment.getExternalStorageDirectory(); + if (standardbase != null) { + String base2 = standardbase.getAbsolutePath(); + if (!base2.equals(basedir)) { + AppLogger.log("adding internal sd maptool-base: " + base2); + rl.add(new CoordinateReaderOsmAnd(base2)); + rl.add(new CoordinateReaderLocus(base2)); + rl.add(new CoordinateReaderOrux(base2)); } } - if ( t > tmax ) - { - tmax = t; - cor = r; + // eventually add explicit directory + File additional = RoutingHelper.getAdditionalMaptoolDir(segmentDir); + if (additional != null) { + String base3 = additional.getAbsolutePath(); + + AppLogger.log("adding maptool-base from storage-config: " + base3); + + rl.add(new CoordinateReaderOsmAnd(base3)); + rl.add(new CoordinateReaderOsmAnd(base3, true)); + rl.add(new CoordinateReaderLocus(base3)); + rl.add(new CoordinateReaderOrux(base3)); + } + + long tmax = 0; + for (CoordinateReader r : rl) { + if (AppLogger.isLogging()) { + AppLogger.log("reading timestamp at systime " + new Date()); + } + + long t = r.getTimeStamp(); + + if (t != 0) { + if (AppLogger.isLogging()) { + AppLogger.log("found coordinate source at " + r.basedir + r.rootdir + " with timestamp " + new Date(t)); + } + } + + if (t > tmax) { + tmax = t; + cor = r; + } } } if ( cor == null ) { - cor = new CoordinateReaderNone(); + cor = new CoordinateReaderInternal(basedir); } cor.nogosOnly = nogosOnly; cor.readFromTo(); diff --git a/brouter-routing-app/src/main/java/btools/routingapp/CoordinateReaderNone.java b/brouter-routing-app/src/main/java/btools/routingapp/CoordinateReaderNone.java deleted file mode 100644 index 1b8d8be..0000000 --- a/brouter-routing-app/src/main/java/btools/routingapp/CoordinateReaderNone.java +++ /dev/null @@ -1,32 +0,0 @@ -package btools.routingapp; - - -/** - * Dummy coordinate reader if none found - */ -public class CoordinateReaderNone extends CoordinateReader -{ - public CoordinateReaderNone() - { - super( "" ); - rootdir = "none"; - } - - @Override - public long getTimeStamp() throws Exception - { - return 0L; - } - - @Override - public int getTurnInstructionMode() - { - return 0; // none - } - - @Override - public void readPointmap() throws Exception - { - } - -}