diff --git a/OsmAnd/src/net/osmand/core/android/GLActivity.java b/OsmAnd/src/net/osmand/core/android/GLActivity.java index e58b7c8dd5..c084602cbf 100644 --- a/OsmAnd/src/net/osmand/core/android/GLActivity.java +++ b/OsmAnd/src/net/osmand/core/android/GLActivity.java @@ -14,7 +14,7 @@ import net.osmand.data.RotatedTileBox; import net.osmand.plus.OsmandApplication; import net.osmand.plus.OsmandSettings; import net.osmand.plus.R; -import net.osmand.plus.helpers.SimpleTwoFingerTapDetector; +import net.osmand.plus.helpers.TwoFingerTapDetector; import net.osmand.plus.render.NativeOsmandLibrary; import android.app.Activity; import android.content.Context; @@ -75,7 +75,7 @@ public class GLActivity extends Activity { } private boolean afterTwoFingerTap = false; - SimpleTwoFingerTapDetector twoFingerTapDetector = new SimpleTwoFingerTapDetector() { + TwoFingerTapDetector twoFingerTapDetector = new TwoFingerTapDetector() { @Override public void onTwoFingerTap() { afterTwoFingerTap = true; diff --git a/OsmAnd/src/net/osmand/plus/helpers/SimpleTwoFingerTapDetector.java b/OsmAnd/src/net/osmand/plus/helpers/TwoFingerTapDetector.java similarity index 96% rename from OsmAnd/src/net/osmand/plus/helpers/SimpleTwoFingerTapDetector.java rename to OsmAnd/src/net/osmand/plus/helpers/TwoFingerTapDetector.java index b5a7cfec73..f31fb4d8f9 100644 --- a/OsmAnd/src/net/osmand/plus/helpers/SimpleTwoFingerTapDetector.java +++ b/OsmAnd/src/net/osmand/plus/helpers/TwoFingerTapDetector.java @@ -6,7 +6,7 @@ import android.view.ViewConfiguration; /** * Created by Barsik on 24.06.2014. */ -public abstract class SimpleTwoFingerTapDetector { +public abstract class TwoFingerTapDetector { private static final int TIMEOUT = ViewConfiguration.getTapTimeout() + 100; private long mFirstDownTime = 0; private byte mTwoFingerTapCount = 0; diff --git a/OsmAnd/src/net/osmand/plus/render/NativeCppLibrary.java b/OsmAnd/src/net/osmand/plus/render/NativeCppLibrary.java new file mode 100644 index 0000000000..20cbb7662d --- /dev/null +++ b/OsmAnd/src/net/osmand/plus/render/NativeCppLibrary.java @@ -0,0 +1,23 @@ +package net.osmand.plus.render; + +import net.osmand.NativeLibrary; + +/** + * Created by Denis on 02.10.2014. + */ +public class NativeCppLibrary extends NativeLibrary { + + public NativeCppLibrary(boolean newLibrary) { + super(newLibrary); + } + + public static void loadLibrary(String name) { + try { + System.out.println("Loading " + name); + System.loadLibrary(name); + } catch( UnsatisfiedLinkError e ) { + System.err.println("Failed to load '"+name + "':" + e); + throw e; + } + } +} diff --git a/OsmAnd/src/net/osmand/plus/views/OsmandMapTileView.java b/OsmAnd/src/net/osmand/plus/views/OsmandMapTileView.java index adf8a9176d..e093344e93 100644 --- a/OsmAnd/src/net/osmand/plus/views/OsmandMapTileView.java +++ b/OsmAnd/src/net/osmand/plus/views/OsmandMapTileView.java @@ -23,7 +23,7 @@ import net.osmand.plus.OsmAndFormatter; import net.osmand.plus.OsmandApplication; import net.osmand.plus.OsmandSettings; import net.osmand.plus.R; -import net.osmand.plus.helpers.SimpleTwoFingerTapDetector; +import net.osmand.plus.helpers.TwoFingerTapDetector; import net.osmand.plus.views.MultiTouchSupport.MultiTouchZoomListener; import net.osmand.plus.views.OsmandMapLayer.DrawSettings; import net.osmand.plus.views.controllers.JavaViewController; @@ -81,9 +81,6 @@ public class OsmandMapTileView extends SurfaceView implements IMapDownloaderCall protected static final int emptyTileDivisor = 16; - - - public interface OnLongClickListener { public boolean onLongPressEvent(PointF point); } @@ -148,7 +145,7 @@ public class OsmandMapTileView extends SurfaceView implements IMapDownloaderCall private Paint paintImg; private boolean afterTwoFingerTap = false; - SimpleTwoFingerTapDetector twoFingerTapDetector = new SimpleTwoFingerTapDetector() { + TwoFingerTapDetector twoFingerTapDetector = new TwoFingerTapDetector() { @Override public void onTwoFingerTap() { afterTwoFingerTap = true; diff --git a/OsmAnd/src/net/osmand/plus/views/controllers/JavaViewController.java b/OsmAnd/src/net/osmand/plus/views/controllers/JavaViewController.java index 191b4217e2..d21e61674c 100644 --- a/OsmAnd/src/net/osmand/plus/views/controllers/JavaViewController.java +++ b/OsmAnd/src/net/osmand/plus/views/controllers/JavaViewController.java @@ -24,7 +24,6 @@ import java.util.List; * Created by Натали on 29.09.2014. */ public class JavaViewController extends MapViewBaseController { - private GLSurfaceView glSurfaceView; private OsmandMapTileView mapTileView; private OsmandSettings settings; private MapActivity mapActivity; diff --git a/OsmAnd/src/net/osmand/plus/views/controllers/NativeViewController.java b/OsmAnd/src/net/osmand/plus/views/controllers/NativeViewController.java index 708c5e6c2d..e4e5fdf807 100644 --- a/OsmAnd/src/net/osmand/plus/views/controllers/NativeViewController.java +++ b/OsmAnd/src/net/osmand/plus/views/controllers/NativeViewController.java @@ -22,7 +22,8 @@ import net.osmand.plus.OsmandSettings; import net.osmand.plus.activities.MapActivity; import net.osmand.plus.activities.MapActivityLayers; import net.osmand.plus.base.MapViewTrackingUtilities; -import net.osmand.plus.helpers.SimpleTwoFingerTapDetector; +import net.osmand.plus.helpers.TwoFingerTapDetector; +import net.osmand.plus.render.NativeCppLibrary; import net.osmand.plus.render.NativeOsmandLibrary; import net.osmand.plus.views.OsmandMapLayer; import net.osmand.plus.views.OsmandMapTileView; @@ -36,14 +37,6 @@ import java.util.List; */ public class NativeViewController extends MapViewBaseController { - static { - NativeOsmandLibrary.loadLibrary("gnustl_shared"); - NativeOsmandLibrary.loadLibrary("Qt5Core"); - NativeOsmandLibrary.loadLibrary("Qt5Network"); - NativeOsmandLibrary.loadLibrary("Qt5Sql"); - NativeOsmandLibrary.loadLibrary("OsmAndCoreWithJNI"); - } - private GLSurfaceView glSurfaceView; private OsmandSettings settings; private MapActivity mapActivity; @@ -74,7 +67,7 @@ public class NativeViewController extends MapViewBaseController { public static final String NATIVE_TAG = "NativeRender"; private CoreResourcesFromAndroidAssets coreResources; - SimpleTwoFingerTapDetector twoFingerTapDetector = new SimpleTwoFingerTapDetector() { + TwoFingerTapDetector twoFingerTapDetector = new TwoFingerTapDetector() { @Override public void onTwoFingerTap() { currentViewport.setZoom(currentViewport.getZoom() - 1); @@ -87,9 +80,18 @@ public class NativeViewController extends MapViewBaseController { this.glSurfaceView = surfaceView; this.settings = activity.getMyApplication().getSettings(); this.mapActivity = activity; + loadLibraries(); setupView(); } + private void loadLibraries() { + NativeCppLibrary.loadLibrary("gnustl_shared"); + NativeCppLibrary.loadLibrary("Qt5Core"); + NativeCppLibrary.loadLibrary("Qt5Network"); + NativeCppLibrary.loadLibrary("Qt5Sql"); + NativeCppLibrary.loadLibrary("OsmAndCoreWithJNI"); + } + private void setupView() { WindowManager mgr = (WindowManager)mapActivity.getSystemService(Context.WINDOW_SERVICE); DisplayMetrics dm = new DisplayMetrics();