From 1aa5f24e114eb98093e1db26f5e7fe3af96198ab Mon Sep 17 00:00:00 2001 From: Emux Date: Sun, 29 Oct 2017 17:21:22 +0200 Subject: [PATCH] vtm-android-gdx module, fix #435 --- README.md | 15 ++++---- deploy.gradle | 2 -- docs/Changelog.md | 1 + vtm-android-example/AndroidManifest.xml | 3 ++ vtm-android-example/build.gradle | 7 ++++ .../oscim/android/test/GdxMapActivity.java | 7 ++-- .../src/org/oscim/android/test/Samples.java | 1 + vtm-android-gdx/AndroidManifest.xml | 28 ++------------- vtm-android-gdx/build.gradle | 34 ++---------------- vtm-android-gdx/res/drawable/ic_launcher.png | Bin 42193 -> 0 bytes vtm-android-gdx/res/layout/main.xml | 7 ---- vtm-android-gdx/res/values/strings.xml | 4 --- vtm-android-gdx/src/android-logger.properties | 1 - vtm-android/build.gradle | 4 +-- 14 files changed, 31 insertions(+), 83 deletions(-) rename vtm-android-gdx/src/org/oscim/gdx/MainActivity.java => vtm-android-example/src/org/oscim/android/test/GdxMapActivity.java (92%) delete mode 100644 vtm-android-gdx/res/drawable/ic_launcher.png delete mode 100644 vtm-android-gdx/res/layout/main.xml delete mode 100644 vtm-android-gdx/res/values/strings.xml delete mode 100644 vtm-android-gdx/src/android-logger.properties diff --git a/README.md b/README.md index 8c6698bf..fba53ffc 100644 --- a/README.md +++ b/README.md @@ -29,15 +29,16 @@ If you have any questions or problems, don't hesitate to ask our public [mailing - HTML5/WebGL (using libGDX/GWT, [instructions](docs/web.md)) ### Projects -- **vtm** contains the core library +- **vtm** core library - **vtm-android** Android backend -- **vtm-android-example** provides examples using vtm-android +- **vtm-android-example** Android examples - **vtm-gdx** common libGDX backend -- **vtm-android-gdx** Android backend (with libGDX) -- **vtm-desktop** Desktop backend -- **vtm-ios** iOS backend -- **vtm-ios-example** provides examples using vtm-ios -- **vtm-web** HTML5/GWT backend +- **vtm-android-gdx** Android libGDX backend +- **vtm-desktop** Desktop libGDX backend +- **vtm-playground** Desktop examples +- **vtm-ios** iOS libGDX backend +- **vtm-ios-example** iOS examples +- **vtm-web** HTML5/GWT libGDX backend - **vtm-web-app** HTML5/GWT application ## WebGL Demo diff --git a/deploy.gradle b/deploy.gradle index 571ac85e..d2d66530 100644 --- a/deploy.gradle +++ b/deploy.gradle @@ -4,13 +4,11 @@ if (project.hasProperty("android")) { task sourcesJar(type: Jar) { classifier = 'sources' from android.sourceSets.main.java.srcDirs - exclude 'android-logger.properties' } task javadoc(type: Javadoc) { source = android.sourceSets.main.java.srcDirs classpath += project.files(android.getBootClasspath().join(File.pathSeparator)) - exclude 'android-logger.properties' } } else { task sourcesJar(type: Jar) { diff --git a/docs/Changelog.md b/docs/Changelog.md index 180f1504..85d3b2de 100644 --- a/docs/Changelog.md +++ b/docs/Changelog.md @@ -21,6 +21,7 @@ - PolyLabel default disabled [#402](https://github.com/mapsforge/vtm/issues/402) - vtm-theme-comparator module [#387](https://github.com/mapsforge/vtm/issues/387) - Feature parameters [#403](https://github.com/mapsforge/vtm/issues/403) +- vtm-android-gdx module enhancements [#435](https://github.com/mapsforge/vtm/issues/435) - Gradle 4 / Android plugin 3 support [#433](https://github.com/mapsforge/vtm/issues/433) - libGDX 1.9.7 [#434](https://github.com/mapsforge/vtm/issues/434) - Internal render themes various improvements [#41](https://github.com/mapsforge/vtm/issues/41) diff --git a/vtm-android-example/AndroidManifest.xml b/vtm-android-example/AndroidManifest.xml index d1447096..15f21ff2 100644 --- a/vtm-android-example/AndroidManifest.xml +++ b/vtm-android-example/AndroidManifest.xml @@ -37,6 +37,9 @@ + diff --git a/vtm-android-example/build.gradle b/vtm-android-example/build.gradle index 1b9e3913..1a694fca 100644 --- a/vtm-android-example/build.gradle +++ b/vtm-android-example/build.gradle @@ -25,6 +25,10 @@ dependencies { } implementation 'com.android.support:support-v4:27.0.0' + implementation project(':vtm-android-gdx') + implementation project(':vtm-gdx') + implementation "com.badlogicgames.gdx:gdx-backend-android:$gdxVersion" + implementation 'org.mapsforge:mapsforge-core:master-SNAPSHOT' implementation 'org.mapsforge:mapsforge-poi:master-SNAPSHOT' implementation 'org.mapsforge:mapsforge-poi-android:master-SNAPSHOT' @@ -60,6 +64,9 @@ android { file("${rootDir}/vtm-android/natives").eachDir() { dir -> jniLibs.srcDirs += "${dir.path}/lib" } + file("${rootDir}/vtm-android-gdx/natives").eachDir() { dir -> + jniLibs.srcDirs += "${dir.path}/lib" + } } debug.setRoot('build-types/debug') release.setRoot('build-types/release') diff --git a/vtm-android-gdx/src/org/oscim/gdx/MainActivity.java b/vtm-android-example/src/org/oscim/android/test/GdxMapActivity.java similarity index 92% rename from vtm-android-gdx/src/org/oscim/gdx/MainActivity.java rename to vtm-android-example/src/org/oscim/android/test/GdxMapActivity.java index 2d7e4161..ddc99f22 100644 --- a/vtm-android-gdx/src/org/oscim/gdx/MainActivity.java +++ b/vtm-android-example/src/org/oscim/android/test/GdxMapActivity.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU Lesser General Public License along with * this program. If not, see . */ -package org.oscim.gdx; +package org.oscim.android.test; import android.os.Bundle; import android.util.DisplayMetrics; @@ -28,10 +28,13 @@ import org.oscim.android.canvas.AndroidGraphics; import org.oscim.backend.CanvasAdapter; import org.oscim.backend.GLAdapter; import org.oscim.core.Tile; +import org.oscim.gdx.AndroidGL; +import org.oscim.gdx.GdxAssets; +import org.oscim.gdx.GdxMap; import org.oscim.tiling.TileSource; import org.oscim.tiling.source.oscimap4.OSciMap4TileSource; -public class MainActivity extends AndroidApplication { +public class GdxMapActivity extends AndroidApplication { @Override public void onCreate(Bundle savedInstanceState) { diff --git a/vtm-android-example/src/org/oscim/android/test/Samples.java b/vtm-android-example/src/org/oscim/android/test/Samples.java index b47f57d2..39affab9 100644 --- a/vtm-android-example/src/org/oscim/android/test/Samples.java +++ b/vtm-android-example/src/org/oscim/android/test/Samples.java @@ -84,6 +84,7 @@ public class Samples extends Activity { linearLayout.addView(createButton(MapzenMvtMapActivity.class)); linearLayout.addView(createButton(MapzenGeojsonMapActivity.class)); linearLayout.addView(createButton(OpenMapTilesGeojsonMapActivity.class)); + linearLayout.addView(createButton(GdxMapActivity.class)); linearLayout.addView(createLabel("Features")); linearLayout.addView(createButton(null, "GraphHopper Routing", new View.OnClickListener() { diff --git a/vtm-android-gdx/AndroidManifest.xml b/vtm-android-gdx/AndroidManifest.xml index 9dfb7774..ee2523f8 100644 --- a/vtm-android-gdx/AndroidManifest.xml +++ b/vtm-android-gdx/AndroidManifest.xml @@ -1,26 +1,2 @@ - - - - - - - - - - - - - - - - - + + diff --git a/vtm-android-gdx/build.gradle b/vtm-android-gdx/build.gradle index 3fdb143e..a6f46fa1 100644 --- a/vtm-android-gdx/build.gradle +++ b/vtm-android-gdx/build.gradle @@ -1,11 +1,8 @@ -apply plugin: 'com.android.application' +apply plugin: 'com.android.library' apply plugin: 'com.github.dcendents.android-maven' dependencies { - api project(':vtm-android') - api project(':vtm-gdx') - implementation "com.badlogicgames.gdx:gdx-backend-android:$gdxVersion" - runtimeOnly 'com.noveogroup.android:android-logger:1.3.6' + api project(':vtm') } android { @@ -29,14 +26,6 @@ android { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] resources.srcDirs = ['src'] - aidl.srcDirs = ['src', 'assets'] - renderscript.srcDirs = ['src', 'assets'] - res.srcDirs = ['res'] - assets.srcDirs = ['assets'] - file('natives').eachDir() { dir -> - jniLibs.srcDirs += "${dir.path}/lib" - jniLibs.srcDirs += "${rootDir}/vtm-android/natives/${dir.name}/lib" - } } debug.setRoot('build-types/debug') release.setRoot('build-types/release') @@ -45,7 +34,7 @@ android { lintOptions { abortOnError false } } -android.applicationVariants.all { variant -> +android.libraryVariants.all { variant -> def name = variant.buildType.name if (name == "debug") return @@ -53,7 +42,6 @@ android.applicationVariants.all { variant -> def jar = project.tasks.create "jar${name.capitalize()}", Jar jar.dependsOn variant.javaCompiler jar.from variant.javaCompiler.destinationDir - jar.exclude 'android-logger.properties' artifacts.add('archives', jar) file('natives').eachDir() { dir -> @@ -64,22 +52,6 @@ android.applicationVariants.all { variant -> } } -afterEvaluate { - configurations.archives.artifacts.removeAll { it.file =~ 'apk' } -} - -task run(dependsOn: 'installDebug') { - doFirst { - println(">> adb run...") - String adb = System.getenv()['ANDROID_HOME'] + '/platform-tools/adb' - String cmd = "${adb} shell am start -n org.oscim.gdx/.MainActivity" - def proc = cmd.execute() - proc.in.eachLine { line -> println line } - proc.err.eachLine { line -> System.err.println('ERROR: ' + line) } - proc.waitFor() - } -} - if (project.hasProperty("SONATYPE_USERNAME")) { afterEvaluate { project.apply from: "${rootProject.projectDir}/deploy.gradle" diff --git a/vtm-android-gdx/res/drawable/ic_launcher.png b/vtm-android-gdx/res/drawable/ic_launcher.png deleted file mode 100644 index 6496c5adfe925704de11b80a821346331a02dd91..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42193 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 - - - \ No newline at end of file diff --git a/vtm-android-gdx/res/values/strings.xml b/vtm-android-gdx/res/values/strings.xml deleted file mode 100644 index 7eca5512..00000000 --- a/vtm-android-gdx/res/values/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - VTM GDX - diff --git a/vtm-android-gdx/src/android-logger.properties b/vtm-android-gdx/src/android-logger.properties deleted file mode 100644 index 47f60ed5..00000000 --- a/vtm-android-gdx/src/android-logger.properties +++ /dev/null @@ -1 +0,0 @@ -root=DEBUG:%logger \ No newline at end of file diff --git a/vtm-android/build.gradle b/vtm-android/build.gradle index 5f9687d4..cb2964f5 100644 --- a/vtm-android/build.gradle +++ b/vtm-android/build.gradle @@ -9,7 +9,7 @@ dependencies { android { compileSdkVersion androidCompileSdk() - buildToolsVersion = "$androidBuildVersionTools" + buildToolsVersion "$androidBuildVersionTools" compileOptions { sourceCompatibility JavaVersion.VERSION_1_7 @@ -28,8 +28,6 @@ android { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] resources.srcDirs = ['src'] - res.srcDirs = ['res'] - assets.srcDirs = ['assets'] } debug.setRoot('build-types/debug') release.setRoot('build-types/release')