diff options
author | Stefan Wildemann <metalstrolch@users.noreply.github.com> | 2019-08-16 21:32:39 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-08-16 21:32:39 +0200 |
commit | 352b84220834ea937f4bd8b64ab69ed6d1639bda (patch) | |
tree | 36334433cfe861b973f9ea8435cd8e6a8c71585e | |
parent | 16d118f35262304553eba6978994426c9b18c6a5 (diff) | |
parent | c2f9838f07a52cc64cb05e9cf95bb378261946d9 (diff) | |
download | navit-352b84220834ea937f4bd8b64ab69ed6d1639bda.tar.gz |
Merge branch 'trunk' into multipolygon
-rw-r--r-- | .circleci/config.yml | 11 | ||||
-rw-r--r-- | build.gradle | 2 | ||||
-rw-r--r-- | gradle/wrapper/gradle-wrapper.properties | 2 | ||||
-rw-r--r-- | navit/CMakeLists.txt | 11 | ||||
-rw-r--r-- | navit/android/build.gradle | 14 | ||||
-rw-r--r-- | navit/android/src/org/navitproject/navit/Navit.java | 2 | ||||
-rw-r--r-- | navit/main.c | 4 | ||||
-rw-r--r-- | navit/main.h | 1 | ||||
-rw-r--r-- | navit/navit.c | 22 | ||||
-rw-r--r-- | navit/start_real.c | 1 | ||||
-rwxr-xr-x | scripts/build_android.sh | 9 |
11 files changed, 52 insertions, 27 deletions
diff --git a/.circleci/config.yml b/.circleci/config.yml index 823ca54d0..273406c54 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -68,7 +68,7 @@ jobs: build_android: working_directory: ~/code docker: - - image: circleci/android:api-28-ndk + - image: circleci/android:api-29 environment: JVM_OPTS: -Xmx3200m GRADLE_OPTS: '-Dorg.gradle.jvmargs="-Xmx2048m -XX:+HeapDumpOnOutOfMemoryError"' @@ -78,14 +78,19 @@ jobs: name: Id command: cat /etc/*release - run: - name: Install cmake gettext libsaxonb-java librsvg2-bin pkg-config libprotobuf-c-dev protobuf-c-compiler + name: Install cmake gettext libsaxonb-java librsvg2-bin pkg-config rename command: | sudo apt-get update - sudo apt-get install -y cmake gettext libsaxonb-java librsvg2-bin pkg-config libprotobuf-c-dev protobuf-c-compiler + sudo apt-get install -y cmake gettext libsaxonb-java librsvg2-bin pkg-config rename - run: name: Install Android SDK components command: sdkmanager "cmake;3.6.4111459" - run: + name: Install ndk + command: | + echo y | sdkmanager --licenses + echo y | sdkmanager ndk-bundle + - run: name: Build for Android command: bash scripts/build_android.sh - run: diff --git a/build.gradle b/build.gradle index 5d598ab8b..8fe92d2f1 100644 --- a/build.gradle +++ b/build.gradle @@ -10,7 +10,7 @@ buildscript { } } dependencies { - classpath 'com.android.tools.build:gradle:3.1.2' + classpath 'com.android.tools.build:gradle:3.4.2' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 73bb13d55..25f587d12 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.7-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.6-all.zip diff --git a/navit/CMakeLists.txt b/navit/CMakeLists.txt index 0c4d4243d..1234bd0cb 100644 --- a/navit/CMakeLists.txt +++ b/navit/CMakeLists.txt @@ -95,13 +95,12 @@ if(NOT ANDROID) endif() endif() -#if (SHARED_LIBNAVIT) -# add_library (${NAVIT_LIBNAME} SHARED ${NAVIT_SRC} ) -#else(SHARED_LIBNAVIT) -# add_library (${NAVIT_LIBNAME} STATIC ${NAVIT_SRC} ) -#endif(SHARED_LIBNAVIT) +if (SHARED_LIBNAVIT) + add_library (${NAVIT_LIBNAME} SHARED ${NAVIT_SRC} ) +else(SHARED_LIBNAVIT) + add_library (${NAVIT_LIBNAME} STATIC ${NAVIT_SRC} ) +endif(SHARED_LIBNAVIT) -add_library (${NAVIT_LIBNAME} ${NAVIT_SRC} ) if(NOT MSVC) SET(NAVIT_LIBS ${NAVIT_LIBS} m) endif(NOT MSVC) diff --git a/navit/android/build.gradle b/navit/android/build.gradle index 1385336bf..faf5acc03 100644 --- a/navit/android/build.gradle +++ b/navit/android/build.gradle @@ -3,17 +3,17 @@ apply from: "$project.rootDir/gradle/scripts/git-scm-version.gradle" apply plugin: 'checkstyle' android { - compileSdkVersion 27 - buildToolsVersion "27.0.3" + compileSdkVersion 28 + buildToolsVersion "29.0.1" defaultConfig { applicationId "org.navitproject.navit" minSdkVersion 9 - targetSdkVersion 27 + targetSdkVersion 28 versionCode gitVersionCode versionName gitVersionName testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" - ndk { // need for now for 'x86_64' and , 'armeabi' and , 'arm64-v8a' - abiFilters 'x86', 'armeabi-v7a' + ndk { // need for now for 'x86_64' and 'armeabi' + abiFilters 'x86', 'armeabi-v7a', 'arm64-v8a' } externalNativeBuild { cmake { @@ -61,10 +61,10 @@ android { xml.enabled = true html.enabled = true xml { - destination "checkstyle/checkstyleMain.xml" + destination file("checkstyle/checkstyleMain.xml") } html { - destination "checkstyle/checkstyleMain.html" + destination file("checkstyle/checkstyleMain.html") } } diff --git a/navit/android/src/org/navitproject/navit/Navit.java b/navit/android/src/org/navitproject/navit/Navit.java index bc2af1632..a2c1a4ff1 100644 --- a/navit/android/src/org/navitproject/navit/Navit.java +++ b/navit/android/src/org/navitproject/navit/Navit.java @@ -444,7 +444,7 @@ public class Navit extends Activity { ActivityResults = new NavitActivityResult[16]; setVolumeControlStream(AudioManager.STREAM_MUSIC); PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE); - wl = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK | PowerManager.ON_AFTER_RELEASE,"NavitDoNotDimScreen"); + wl = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK | PowerManager.ON_AFTER_RELEASE,"navit:DoNotDimScreen"); if (!extractRes(langc, NAVIT_DATA_DIR + "/locale/" + langc + "/LC_MESSAGES/navit.mo")) { Log.e(TAG, "Failed to extract language resource " + langc); diff --git a/navit/main.c b/navit/main.c index 986947f0d..f4a59970d 100644 --- a/navit/main.c +++ b/navit/main.c @@ -328,10 +328,6 @@ static void win_set_nls(void) { } #endif -void main_update_default_layout(struct navit *navit) { - navit_update_current_layout(navit, NULL); -} - void main_init(const char *program) { char *s; #ifdef _UNICODE /* currently for wince */ diff --git a/navit/main.h b/navit/main.h index 910d56200..47f275c09 100644 --- a/navit/main.h +++ b/navit/main.h @@ -35,7 +35,6 @@ void main_add_navit(struct navit *nav); void main_remove_navit(struct navit *nav); int main_add_attr(struct attr *attr); int main_remove_attr(struct attr *attr); -void main_update_default_layout(struct navit *navit); void main_init(const char *program); void main_init_nls(void); int main(int argc, char **argv); diff --git a/navit/navit.c b/navit/navit.c index 1d1b8e664..ae39aca59 100644 --- a/navit/navit.c +++ b/navit/navit.c @@ -2551,6 +2551,7 @@ static int navit_set_attr_do(struct navit *this_, struct attr *attr, int init) { case attr_layout: if(!attr->u.layout) return 0; + dbg(lvl_debug,"setting attr_layout to %s", attr->u.layout->name); if(this_->layout_current!=attr->u.layout) { navit_update_current_layout(this_, attr->u.layout); graphics_font_destroy_all(this_->gra); @@ -2563,6 +2564,7 @@ static int navit_set_attr_do(struct navit *this_, struct attr *attr, int init) { case attr_layout_name: if(!attr->u.str) return 0; + dbg(lvl_debug,"setting attr_layout_name to %s", attr->u.str); l=this_->layouts; while (l) { lay=l->data; @@ -3000,9 +3002,27 @@ static int navit_add_log(struct navit *this_, struct log *log) { static int navit_add_layout(struct navit *this_, struct layout *layout) { struct attr active; + int is_default=0; + int is_active=0; this_->layouts = g_list_append(this_->layouts, layout); + /** check if we want to immediately activate this layout. + * Unfortunately we have concurring conditions about when to activate + * a layout: + * - A layout could bear the "active" property + * - A layout's name could match this_->default_layout_name + * This cannot be fully resolved, as we cannot predict the future, so + * lets set the last parsed layout active, which either matches default_layout_name or + * bears the "active" tag, or is the first layout ever parsed. + */ + if((layout->name != NULL) && (this_->default_layout_name != NULL)) { + if (strcmp(layout->name, this_->default_layout_name) == 0) + is_default = 1; + } layout_get_attr(layout, attr_active, &active, NULL); - if(active.u.num || !this_->layout_current) { + if(active.u.num) + is_active = 1; + dbg(lvl_debug, "add layout '%s' is_default %d, is_active %d", layout->name, is_default, is_active); + if(is_default || is_active || !this_->layout_current) { this_->layout_current=layout; return 1; } diff --git a/navit/start_real.c b/navit/start_real.c index ad990d874..a29d558bf 100644 --- a/navit/start_real.c +++ b/navit/start_real.c @@ -207,7 +207,6 @@ int main_real(int argc, char * const* argv) { dbg(lvl_error, "%s", _("Internal initialization failed, exiting. Check previous error messages.")); exit(5); } - main_update_default_layout(navit.u.navit); conf.type=attr_config; conf.u.config=config; if (startup_file) { diff --git a/scripts/build_android.sh b/scripts/build_android.sh index 4b915f35e..3f2738451 100755 --- a/scripts/build_android.sh +++ b/scripts/build_android.sh @@ -22,8 +22,13 @@ export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/tools/bin export JVM_OPTS="-Xmx3200m" export GRADLE_OPTS='-Dorg.gradle.jvmargs="-Xmx2048m -XX:+HeapDumpOnOutOfMemoryError"' +# processing xml is messed up a bit after the original introduction of gradle +# so a useless install of ant here even if using gradle/ninja + +sudo apt-get install -y ant + echo Run CMake -cmake ./ -Dvehicle/gpsd_dbus:BOOL=FALSE -Dsvg2png_scaling:STRING=-1,24,32,48,64,96,128,192,256 -Dsvg2png_scaling_nav:STRING=-1,24,32,48,64,96,128,192,256 -Dsvg2png_scaling_flag:STRING=-1,24,32,64,96 -DUSE_PLUGINS=n -DBUILD_MAPTOOL=n -DXSL_PROCESSING=y -DXSLTS=android -DANDROID=y -DSAMPLE_MAP=n || exit 1 +cmake ./ -Dvehicle/gpsd_dbus:BOOL=FALSE -Dsvg2png_scaling:STRING=-1,24,32,48,64,96,128,192,256 -Dsvg2png_scaling_nav:STRING=-1,24,32,48,64,96,128,192,256 -Dsvg2png_scaling_flag:STRING=-1,24,32,64,96 -DXSL_PROCESSING=y -DXSLTS=android -DANDROID=y || exit 1 echo Process icons pushd navit/icons @@ -45,6 +50,8 @@ rename 'y/A-Z/a-z/' ./*.mo popd popd + + echo Process xml config files make navit_config_xml || exit 96 pushd navit |