Remove client context interface

This commit is contained in:
vshcherb 2014-04-11 18:23:11 +02:00
parent e316c81d6f
commit 607ddc17b7
8 changed files with 22 additions and 45 deletions

View file

@ -6,6 +6,9 @@ import org.apache.commons.logging.Log;
import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException; import org.xmlpull.v1.XmlPullParserException;
import org.xmlpull.v1.XmlPullParserFactory; import org.xmlpull.v1.XmlPullParserFactory;
import org.xmlpull.v1.XmlSerializer;
import android.util.Xml;
/** /**
* That class is replacing of standard LogFactory due to * That class is replacing of standard LogFactory due to
@ -22,7 +25,6 @@ import org.xmlpull.v1.XmlPullParserFactory;
*/ */
public class PlatformUtil { public class PlatformUtil {
public static String TAG = "net.osmand"; //$NON-NLS-1$ public static String TAG = "net.osmand"; //$NON-NLS-1$
public static boolean AVIAN_LIBRARY = false;
private static class OsmandLogImplementation implements Log { private static class OsmandLogImplementation implements Log {
private final String fullName; private final String fullName;
@ -159,7 +161,12 @@ public class PlatformUtil {
} }
public static XmlPullParser newXMLPullParser() throws XmlPullParserException { public static XmlPullParser newXMLPullParser() throws XmlPullParserException {
return XmlPullParserFactory.newInstance().newPullParser(); // return XmlPullParserFactory.newInstance().newPullParser();
return Xml.newPullParser();
}
public static XmlSerializer newSerializer() {
return Xml.newSerializer();
} }
public static net.osmand.Collator primaryCollator(){ public static net.osmand.Collator primaryCollator(){

View file

@ -32,6 +32,8 @@ import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException; import org.xmlpull.v1.XmlPullParserException;
import org.xmlpull.v1.XmlSerializer; import org.xmlpull.v1.XmlSerializer;
import android.content.Context;
public class GPXUtilities { public class GPXUtilities {
public final static Log log = PlatformUtil.getLog(GPXUtilities.class); public final static Log log = PlatformUtil.getLog(GPXUtilities.class);
@ -179,7 +181,7 @@ public class GPXUtilities {
SimpleDateFormat format = new SimpleDateFormat(GPX_TIME_FORMAT); SimpleDateFormat format = new SimpleDateFormat(GPX_TIME_FORMAT);
format.setTimeZone(TimeZone.getTimeZone("UTC")); format.setTimeZone(TimeZone.getTimeZone("UTC"));
output = new FileOutputStream(fout); output = new FileOutputStream(fout);
XmlSerializer serializer = ctx.getInternalAPI().newSerializer(); XmlSerializer serializer = PlatformUtil.newSerializer();
serializer.setOutput(output, "UTF-8"); //$NON-NLS-1$ serializer.setOutput(output, "UTF-8"); //$NON-NLS-1$
serializer.setFeature("http://xmlpull.org/v1/doc/features.html#indent-output", true); //$NON-NLS-1$ serializer.setFeature("http://xmlpull.org/v1/doc/features.html#indent-output", true); //$NON-NLS-1$
serializer.startDocument("UTF-8", true); //$NON-NLS-1$ serializer.startDocument("UTF-8", true); //$NON-NLS-1$
@ -332,7 +334,7 @@ public class GPXUtilities {
return text; return text;
} }
public static GPXFile loadGPXFile(ClientContext ctx, File f) { public static GPXFile loadGPXFile(Context ctx, File f) {
FileInputStream fis = null; FileInputStream fis = null;
try { try {
fis = new FileInputStream(f); fis = new FileInputStream(f);
@ -355,12 +357,12 @@ public class GPXUtilities {
} }
} }
public static GPXFile loadGPXFile(ClientContext ctx, InputStream f) { public static GPXFile loadGPXFile(Context ctx, InputStream f) {
GPXFile res = new GPXFile(); GPXFile res = new GPXFile();
SimpleDateFormat format = new SimpleDateFormat(GPX_TIME_FORMAT); SimpleDateFormat format = new SimpleDateFormat(GPX_TIME_FORMAT);
format.setTimeZone(TimeZone.getTimeZone("UTC")); format.setTimeZone(TimeZone.getTimeZone("UTC"));
try { try {
XmlPullParser parser = ctx.getInternalAPI().newPullParser(); XmlPullParser parser = PlatformUtil.newXMLPullParser();
parser.setInput(getUTF8Reader(f)); //$NON-NLS-1$ parser.setInput(getUTF8Reader(f)); //$NON-NLS-1$
Stack<GPXExtensions> parserState = new Stack<GPXExtensions>(); Stack<GPXExtensions> parserState = new Stack<GPXExtensions>();
boolean extensionReadMode = false; boolean extensionReadMode = false;

View file

@ -64,7 +64,7 @@ public class NameFinderPoiFilter extends PoiFilter {
log.info(urlq); log.info(urlq);
URL url = new URL(urlq); //$NON-NLS-1$ URL url = new URL(urlq); //$NON-NLS-1$
InputStream stream = url.openStream(); InputStream stream = url.openStream();
XmlPullParser parser = application.getInternalAPI().newPullParser(); XmlPullParser parser = PlatformUtil.newXMLPullParser();
parser.setInput(stream, "UTF-8"); //$NON-NLS-1$ parser.setInput(stream, "UTF-8"); //$NON-NLS-1$
int eventType; int eventType;
int namedDepth= 0; int namedDepth= 0;

View file

@ -50,7 +50,7 @@ public class SpecialPhrases {
* @param lang the language to use * @param lang the language to use
* @throws IOException when reading the text file failed * @throws IOException when reading the text file failed
*/ */
public static void setLanguage(ClientContext ctx, OsmandSettings settings) throws IOException { public static void setLanguage(OsmandApplication ctx, OsmandSettings settings) throws IOException {
String lang = getPreferredLanguage(settings).getLanguage(); String lang = getPreferredLanguage(settings).getLanguage();
m = new HashMap<String, String>(); m = new HashMap<String, String>();
// The InputStream opens the resourceId and sends it to the buffer // The InputStream opens the resourceId and sends it to the buffer
@ -58,10 +58,10 @@ public class SpecialPhrases {
BufferedReader br = null; BufferedReader br = null;
try { try {
try { try {
is = ctx.getInternalAPI().openAsset("specialphrases/specialphrases_" + lang + ".txt"); is = ctx.getAssets().open("specialphrases/specialphrases_" + lang + ".txt");
} catch (IOException ex) { } catch (IOException ex) {
// second try: default to English, if this fails, the error is thrown outside // second try: default to English, if this fails, the error is thrown outside
is = ctx.getInternalAPI().openAsset("specialphrases/specialphrases_en.txt"); is = ctx.getAssets().open("specialphrases/specialphrases_en.txt");
} }
br = new BufferedReader(new InputStreamReader(is)); br = new BufferedReader(new InputStreamReader(is));
String readLine = null; String readLine = null;

View file

@ -1,5 +1,6 @@
package net.osmand.plus.access; package net.osmand.plus.access;
import android.content.Context;
import net.osmand.plus.ClientContext; import net.osmand.plus.ClientContext;
import net.osmand.plus.R; import net.osmand.plus.R;
@ -14,7 +15,7 @@ public enum RelativeDirectionStyle {
this.key = key; this.key = key;
} }
public String toHumanString(ClientContext ctx) { public String toHumanString(Context ctx) {
return ctx.getString(key); return ctx.getString(key);
} }

View file

@ -1,25 +1,13 @@
package net.osmand.plus.api; package net.osmand.plus.api;
import java.io.IOException;
import java.io.InputStream;
import java.util.List; import java.util.List;
import net.osmand.ResultMatcher; import net.osmand.ResultMatcher;
import net.osmand.data.Amenity; import net.osmand.data.Amenity;
import net.osmand.plus.PoiFilter; import net.osmand.plus.PoiFilter;
import net.osmand.plus.TargetPointsHelper;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlSerializer;
public interface InternalOsmAndAPI { public interface InternalOsmAndAPI {
public XmlSerializer newSerializer();
public XmlPullParser newPullParser();
public InputStream openAsset(String name) throws IOException;
public List<Amenity> searchAmenities(PoiFilter filter, public List<Amenity> searchAmenities(PoiFilter filter,
double topLatitude, double leftLongitude, double bottomLatitude, double rightLongitude, double topLatitude, double leftLongitude, double bottomLatitude, double rightLongitude,
double lat, double lon, ResultMatcher<Amenity> matcher); double lat, double lon, ResultMatcher<Amenity> matcher);

View file

@ -4,22 +4,16 @@ import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.util.List; import java.util.List;
import net.osmand.NativeLibrary;
import net.osmand.ResultMatcher; import net.osmand.ResultMatcher;
import net.osmand.data.Amenity; import net.osmand.data.Amenity;
import net.osmand.plus.NavigationService; import net.osmand.plus.NavigationService;
import net.osmand.plus.OsmandApplication; import net.osmand.plus.OsmandApplication;
import net.osmand.plus.PoiFilter; import net.osmand.plus.PoiFilter;
import net.osmand.plus.TargetPointsHelper;
import net.osmand.plus.render.NativeOsmandLibrary;
import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlSerializer; import org.xmlpull.v1.XmlSerializer;
import android.content.Intent; import android.content.Intent;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager.NameNotFoundException;
import android.os.Build;
import android.util.Xml; import android.util.Xml;
public class InternalOsmAndAPIImpl implements InternalOsmAndAPI { public class InternalOsmAndAPIImpl implements InternalOsmAndAPI {
@ -30,21 +24,6 @@ public class InternalOsmAndAPIImpl implements InternalOsmAndAPI {
this.app = app; this.app = app;
} }
@Override
public XmlSerializer newSerializer() {
return Xml.newSerializer();
}
@Override
public XmlPullParser newPullParser() {
return Xml.newPullParser();
}
@Override
public InputStream openAsset(String name) throws IOException {
return app.getAssets().open(name);
}
@Override @Override
public List<Amenity> searchAmenities(PoiFilter filter, double topLatitude, double leftLongitude, double bottomLatitude, public List<Amenity> searchAmenities(PoiFilter filter, double topLatitude, double leftLongitude, double bottomLatitude,

View file

@ -385,7 +385,7 @@ public class GpxUiHelper {
GPXFile r = currentFile; GPXFile r = currentFile;
for(String fname : filename) { for(String fname : filename) {
final File f = new File(dir, fname); final File f = new File(dir, fname);
GPXFile res = GPXUtilities.loadGPXFile((ClientContext) activity.getApplication(), f); GPXFile res = GPXUtilities.loadGPXFile(activity.getApplication(), f);
GPXUtilities.mergeGPXFileInto(res, r); GPXUtilities.mergeGPXFileInto(res, r);
r = res; r = res;
} }