Update native interface
This commit is contained in:
parent
dc9d7d2501
commit
61433f961a
4 changed files with 37 additions and 32 deletions
|
@ -28,6 +28,12 @@ import net.osmand.router.RoutingConfiguration;
|
|||
|
||||
public class NativeLibrary {
|
||||
|
||||
protected final boolean newLibrary;
|
||||
|
||||
public NativeLibrary(boolean newLibrary) {
|
||||
this.newLibrary = newLibrary;
|
||||
}
|
||||
|
||||
public static class RenderingGenerationResult {
|
||||
public RenderingGenerationResult(ByteBuffer bitmap) {
|
||||
bitmapBuffer = bitmap;
|
||||
|
@ -84,7 +90,7 @@ public class NativeLibrary {
|
|||
}
|
||||
|
||||
/**
|
||||
* @param searchResultHandle
|
||||
* @param
|
||||
* - must be null if there is no need to append to previous results returns native handle to results
|
||||
*/
|
||||
public NativeSearchResult searchObjectsForRendering(int sleft, int sright, int stop, int sbottom, int zoom,
|
||||
|
@ -106,7 +112,12 @@ public class NativeLibrary {
|
|||
}
|
||||
|
||||
public boolean initMapFile(String filePath) {
|
||||
if(newLibrary) {
|
||||
// TODO
|
||||
return initBinaryMapFile(filePath);
|
||||
} else {
|
||||
return initBinaryMapFile(filePath);
|
||||
}
|
||||
}
|
||||
|
||||
public boolean initCacheMapFile(String filePath) {
|
||||
|
@ -221,13 +232,10 @@ public class NativeLibrary {
|
|||
*/
|
||||
|
||||
private static final Log log = PlatformUtil.getLog(NativeLibrary.class);
|
||||
public static boolean loadAllLibs(String path) {
|
||||
boolean b = true;
|
||||
b &= load("Qt5Core", path);
|
||||
b &= load("OsmAndCore", path);
|
||||
b &= load("OsmAndCoreUtils", path);
|
||||
b &= load("OsmAndJNI", path);
|
||||
return b;
|
||||
|
||||
|
||||
public static boolean loadNewLib(String path) {
|
||||
return load("OsmAndJNI", path);
|
||||
}
|
||||
|
||||
public static boolean loadOldLib(String path) {
|
||||
|
@ -289,4 +297,5 @@ public class NativeLibrary {
|
|||
} // fall through
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -2,9 +2,6 @@ package net.osmand.binary;
|
|||
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.Collections;
|
||||
|
||||
import net.osmand.NativeLibrary;
|
||||
|
||||
public class BinaryInspectorNative {
|
||||
|
||||
|
@ -18,10 +15,6 @@ public class BinaryInspectorNative {
|
|||
}
|
||||
args = new String[]{"-vmap", "-bbox=11.3,47.1,11.6,47", "/home/victor/projects/OsmAnd/data/osm-gen/Austria_2.obf"};
|
||||
// test cases show info
|
||||
NativeLibrary.loadAllLibs(null);
|
||||
// StringVector vector = new StringVector();
|
||||
// Collections.addAll(vector, args);
|
||||
// ObfInspector.inspector(vector);
|
||||
}
|
||||
|
||||
public static void printUsage(String warning) {
|
||||
|
|
|
@ -44,7 +44,6 @@ public class SettingsGeneralActivity extends SettingsBaseActivity {
|
|||
private Preference applicationDir;
|
||||
private ListPreference applicationModePreference;
|
||||
private ListPreference drivingRegionPreference;
|
||||
private ListPreference metricsAndConstantsPreference;
|
||||
|
||||
|
||||
@Override
|
||||
|
@ -211,7 +210,6 @@ public class SettingsGeneralActivity extends SettingsBaseActivity {
|
|||
applicationModePreference = (ListPreference) screen.findPreference(settings.APPLICATION_MODE.getId());
|
||||
applicationModePreference.setOnPreferenceChangeListener(this);
|
||||
drivingRegionPreference = (ListPreference) screen.findPreference(settings.DRIVING_REGION.getId());
|
||||
metricsAndConstantsPreference = (ListPreference) screen.findPreference(settings.METRIC_SYSTEM.getId());
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -18,12 +18,17 @@ public class NativeOsmandLibrary extends NativeLibrary {
|
|||
private static NativeOsmandLibrary library;
|
||||
private static Boolean isNativeSupported = null;
|
||||
|
||||
public NativeOsmandLibrary(boolean newLibrary) {
|
||||
super(newLibrary);
|
||||
}
|
||||
|
||||
public static NativeOsmandLibrary getLoadedLibrary(){
|
||||
synchronized (NativeOsmandLibrary.class) {
|
||||
return library;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public static NativeOsmandLibrary getLibrary(RenderingRulesStorage storage, ClientContext ctx) {
|
||||
if (!isLoaded()) {
|
||||
synchronized (NativeOsmandLibrary.class) {
|
||||
|
@ -43,7 +48,7 @@ public class NativeOsmandLibrary extends NativeLibrary {
|
|||
try {
|
||||
loadNewCore(libCpuSuffix);
|
||||
log.debug("Creating NativeOsmandLibrary instance..."); //$NON-NLS-1$
|
||||
library = new NativeOsmandLibrary();
|
||||
library = new NativeOsmandLibrary(true);
|
||||
isNativeSupported = true;
|
||||
} catch(Throwable e) {
|
||||
log.error("Failed to load new native library", e); //$NON-NLS-1$
|
||||
|
@ -51,7 +56,7 @@ public class NativeOsmandLibrary extends NativeLibrary {
|
|||
if(!isNativeSupported) {
|
||||
loadOldCore(libCpuSuffix);
|
||||
log.debug("Creating NativeOsmandLibrary instance..."); //$NON-NLS-1$
|
||||
library = new NativeOsmandLibrary();
|
||||
library = new NativeOsmandLibrary(false);
|
||||
log.debug("Initializing rendering rules storage..."); //$NON-NLS-1$
|
||||
NativeOsmandLibrary.initRenderingRulesStorage(storage);
|
||||
isNativeSupported = true;
|
||||
|
@ -70,13 +75,13 @@ public class NativeOsmandLibrary extends NativeLibrary {
|
|||
}
|
||||
|
||||
private static void loadNewCore(final String libCpuSuffix) {
|
||||
System.loadLibrary("Qt5Core" + libCpuSuffix);
|
||||
System.loadLibrary("Qt5Network" + libCpuSuffix);
|
||||
System.loadLibrary("Qt5Concurrent" + libCpuSuffix);
|
||||
System.loadLibrary("Qt5Sql" + libCpuSuffix);
|
||||
System.loadLibrary("Qt5Xml" + libCpuSuffix);
|
||||
System.loadLibrary("OsmAndCore" + libCpuSuffix);
|
||||
System.loadLibrary("OsmAndCoreUtils" + libCpuSuffix);
|
||||
// System.loadLibrary("Qt5Core" + libCpuSuffix);
|
||||
// System.loadLibrary("Qt5Network" + libCpuSuffix);
|
||||
// System.loadLibrary("Qt5Concurrent" + libCpuSuffix);
|
||||
// System.loadLibrary("Qt5Sql" + libCpuSuffix);
|
||||
// System.loadLibrary("Qt5Xml" + libCpuSuffix);
|
||||
// System.loadLibrary("OsmAndCore" + libCpuSuffix);
|
||||
// System.loadLibrary("OsmAndCoreUtils" + libCpuSuffix);
|
||||
System.loadLibrary("OsmAndJNI" + libCpuSuffix);
|
||||
}
|
||||
|
||||
|
@ -103,7 +108,7 @@ public class NativeOsmandLibrary extends NativeLibrary {
|
|||
public RenderingGenerationResult generateRendering(RenderingContext rc, NativeSearchResult searchResultHandler,
|
||||
Bitmap bitmap, boolean isTransparent, RenderingRuleSearchRequest render) {
|
||||
if (searchResultHandler == null) {
|
||||
log.error("Error searchresult = null"); //$NON-NLS-1$
|
||||
log.error("Error search result = null"); //$NON-NLS-1$
|
||||
return new RenderingGenerationResult(null);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue