Merge remote-tracking branch 'origin/master'

This commit is contained in:
Weblate 2017-10-26 17:21:45 +02:00
commit 8b52111ba5
3 changed files with 24 additions and 13 deletions

View file

@ -18,7 +18,7 @@ apply plugin: 'com.android.application'
android { android {
compileSdkVersion 26 compileSdkVersion 26
buildToolsVersion "26.0.1" buildToolsVersion "26.0.2"
signingConfigs { signingConfigs {
development { development {

View file

@ -344,8 +344,8 @@ public class GPXUtilities {
double totalSpeedSum = 0; double totalSpeedSum = 0;
points = 0; points = 0;
double channelThresMin = 5; // Minimum oscillation amplitude considered as noise for Up/Down analysis double channelThresMin = 10; // Minimum oscillation amplitude considered as relevant or as above noise for accumulated Ascent/Descent analysis
double channelThres = channelThresMin; // Actual oscillation amplitude considered as noise, try depedency on current hdop/getAccuracy double channelThres = channelThresMin; // Actual oscillation amplitude considered as above noise (accomodates depedency on current VDOP/getAccuracy if desired)
double channelBase; double channelBase;
double channelTop; double channelTop;
double channelBottom; double channelBottom;
@ -424,8 +424,11 @@ public class GPXUtilities {
hasSpeedInTrack = true; hasSpeedInTrack = true;
} }
// Trend channel approach for elevation gain/loss, Hardy 2015-09-22 // Trend channel analysis for elevation gain/loss, Hardy 2015-09-22:
// Self-adjusting turnarund threshold added for testing 2015-09-25: Current rule is now: "All up/down trends of amplitude <X are ignored to smooth the noise, where X is the maximum observed DOP value of any point which contributed to the current trend (but at least 5 m as the minimum noise threshold)". // - Detect consecutive trend channels: Only net elevation changes per each trend channel (i.e. between turnarounds) are used to accumulate the Ascent/Descent values.
// - Trend turnaround detection: Ignore oscillations of amplitude < channelThresMin, this sests the relevance threshold, and masks what is considered as noise
// - REMOVED for now: To supress marginal measurements, relax from channelThresMin to channelThres based on the maximum VDOP of any point which contributed to the current trend. Good assumption is VDOP=2*HSOP (accounts for invisibility of lower hemisphere satellites).
// - TODO: Perform the channel evaluation with Low Pass Filter (LPF) smoothed ele data instead of with the raw ele data
if (!Double.isNaN(point.ele)) { if (!Double.isNaN(point.ele)) {
// Init channel // Init channel
if (channelBase == 99999) { if (channelBase == 99999) {
@ -437,14 +440,14 @@ public class GPXUtilities {
// Channel maintenance // Channel maintenance
if (point.ele > channelTop) { if (point.ele > channelTop) {
channelTop = point.ele; channelTop = point.ele;
if (!Double.isNaN(point.hdop)) { //if (!Double.isNaN(point.hdop)) {
channelThres = Math.max(channelThres, 2.0 * point.hdop); //Use empirical 2*getAccuracy(vertical), this better serves very flat tracks or high dop tracks // channelThres = Math.max(channelThres, 2.0 * point.hdop); //Use empirical 2*getAccuracy(vertical), this better serves very flat tracks or high dop tracks
} //}
} else if (point.ele < channelBottom) { } else if (point.ele < channelBottom) {
channelBottom = point.ele; channelBottom = point.ele;
if (!Double.isNaN(point.hdop)) { //if (!Double.isNaN(point.hdop)) {
channelThres = Math.max(channelThres, 2.0 * point.hdop); // channelThres = Math.max(channelThres, 2.0 * point.hdop);
} //}
} }
// Turnaround (breakout) detection // Turnaround (breakout) detection
if ((point.ele <= (channelTop - channelThres)) && (climb == true)) { if ((point.ele <= (channelTop - channelThres)) && (climb == true)) {

View file

@ -2,7 +2,7 @@ apply plugin: 'com.android.application'
android { android {
compileSdkVersion 26 compileSdkVersion 26
buildToolsVersion "26.0.1" buildToolsVersion "26.0.2"
dexOptions { dexOptions {
jumboMode true jumboMode true
@ -38,28 +38,36 @@ android {
} }
} }
flavorDimensions "abi"
productFlavors { productFlavors {
x86 { x86 {
dimension "abi"
ndk { ndk {
abiFilter "x86" abiFilter "x86"
} }
} }
mips { mips {
dimension "abi"
ndk { ndk {
abiFilter "mips" abiFilter "mips"
} }
} }
armv7 { armv7 {
dimension "abi"
ndk { ndk {
abiFilter "armeabi-v7a" abiFilter "armeabi-v7a"
} }
} }
armv5 { armv5 {
dimension "abi"
ndk { ndk {
abiFilter "armeabi" abiFilter "armeabi"
} }
} }
fat fat {
dimension "abi"
}
} }
buildTypes { buildTypes {