From 2a6c5e7e4e7a5d521f5b2099ac2adf46caaa30cb Mon Sep 17 00:00:00 2001 From: bananeweizen Date: Sun, 21 Aug 2011 14:27:41 +0200 Subject: refactoring of GPX parser (preparation for LOC import), resolved some name shadowing conflicts --- src/cgeo/geocaching/FileParser.java | 52 +++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 src/cgeo/geocaching/FileParser.java (limited to 'src/cgeo/geocaching/FileParser.java') diff --git a/src/cgeo/geocaching/FileParser.java b/src/cgeo/geocaching/FileParser.java new file mode 100644 index 0000000..d67c888 --- /dev/null +++ b/src/cgeo/geocaching/FileParser.java @@ -0,0 +1,52 @@ +package cgeo.geocaching; + +import java.io.BufferedReader; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileReader; +import java.io.IOException; +import java.util.Date; + +import android.os.Handler; +import android.os.Message; + +public abstract class FileParser { + protected static StringBuilder readFile(File file) + throws FileNotFoundException, IOException { + StringBuilder buffer = new StringBuilder(); + BufferedReader input = new BufferedReader(new FileReader(file)); + try { + String line = null; + while (( line = input.readLine()) != null){ + buffer.append(line); + } + } + finally { + input.close(); + } + return buffer; + } + + static void showFinishedMessage(Handler handler, cgSearch search) { + if (handler != null) { + final Message msg = new Message(); + msg.obj = search.getCount(); + handler.sendMessage(msg); + } + } + + protected static void fixCache(cgCache cache) { + cache.latitudeString = cgBase.formatCoordinate(cache.latitude, "lat", true); + cache.longitudeString = cgBase.formatCoordinate(cache.longitude, "lon", true); + if (cache.inventory != null) { + cache.inventoryItems = cache.inventory.size(); + } else { + cache.inventoryItems = 0; + } + cache.updated = new Date().getTime(); + cache.detailedUpdate = new Date().getTime(); + } + + + +} -- cgit v1.1