Build gradle refactoring
This commit is contained in:
parent
a8d92d7fa0
commit
01569a6f52
22 changed files with 195 additions and 515 deletions
|
@ -10,7 +10,7 @@
|
|||
android:value="fb792288460976727"/>
|
||||
<activity
|
||||
android:name="net.osmand.plus.activities.MapActivity"
|
||||
android:theme="@style/FirstSplashScreenFreeDev"
|
||||
android:theme="@style/FirstSplashScreenNightlyFree"
|
||||
tools:replace="android:theme"/>
|
||||
<service
|
||||
android:name="net.osmand.plus.NavigationService"
|
|
@ -1,6 +1,3 @@
|
|||
apply plugin: 'com.android.library'
|
||||
apply plugin: 'ivy-publish'
|
||||
|
||||
task printc {
|
||||
configurations.each { if(it.isCanBeResolved()) println it.name }
|
||||
}
|
||||
|
@ -11,21 +8,29 @@ android {
|
|||
// compileNdkVersion "android-ndk-r17b"
|
||||
|
||||
defaultConfig {
|
||||
minSdkVersion 15
|
||||
targetSdkVersion 29
|
||||
multiDexEnabled true
|
||||
vectorDrawables.useSupportLibrary = true
|
||||
}
|
||||
|
||||
lintOptions {
|
||||
tasks.lint.enabled = false
|
||||
abortOnError false
|
||||
}
|
||||
|
||||
// related to kuromoji
|
||||
//packagingOptions {
|
||||
// exclude '/META-INF/CONTRIBUTORS.md'
|
||||
// exclude '/META-INF/LICENSE.md'
|
||||
// exclude '/META-INF/NOTICE.md'
|
||||
//}
|
||||
|
||||
// This is from OsmAndCore_android.aar - for some reason it's not inherited
|
||||
aaptOptions {
|
||||
// Don't compress any embedded resources
|
||||
noCompress "qz"
|
||||
cruncherEnabled = false
|
||||
// Flag notifies aapt to keep the attribute IDs around
|
||||
// additionalParameters "--no-version-vectors"
|
||||
}
|
||||
|
||||
dexOptions {
|
||||
|
@ -34,11 +39,11 @@ android {
|
|||
|
||||
sourceSets {
|
||||
main {
|
||||
manifest.srcFile "AndroidManifest-library.xml"
|
||||
manifest.srcFile "AndroidManifest.xml"
|
||||
jni.srcDirs = []
|
||||
jniLibs.srcDirs = ["libs"]
|
||||
aidl.srcDirs = ["src"]
|
||||
java.srcDirs = ["src", "src-gms", "src-google"]
|
||||
java.srcDirs = ["src"]
|
||||
resources.srcDirs = ["src"]
|
||||
renderscript.srcDirs = ["src"]
|
||||
res.srcDirs = ["res"]
|
||||
|
@ -85,7 +90,7 @@ android {
|
|||
}
|
||||
|
||||
// CoreVersion
|
||||
// Build that doesn't include 3D OpenGL
|
||||
// Build that doesn't include 3D OpenGL
|
||||
legacy {
|
||||
dimension "coreversion"
|
||||
}
|
||||
|
@ -95,20 +100,12 @@ android {
|
|||
debug {
|
||||
debuggable true
|
||||
}
|
||||
|
||||
release {
|
||||
debuggable false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
def replaceNoTranslate(line) {
|
||||
if (line.contains("\"versionFeatures\"")) {
|
||||
return line.replaceAll(">[^<]*<", ">" + "" + "<")
|
||||
}
|
||||
return line;
|
||||
}
|
||||
|
||||
task updateNoTranslate(type: Copy) {
|
||||
from('.') {
|
||||
include 'no_translate.xml'
|
||||
|
@ -130,7 +127,7 @@ task validateTranslate {
|
|||
line.contains("1\$ ") || line.contains("2\$ ") || line.contains("3\$ ") ||
|
||||
line.contains("%1s") || line.contains(" 1\$s") ||
|
||||
(line.contains("% \$") || line.contains("% 1") || line.contains("% 2") ||
|
||||
line.contains("% 3") || line.contains("% s"))) {
|
||||
line.contains("% 3") || line.contains("% s"))) {
|
||||
throw new GradleException("Incorrect translation " + it.getAbsolutePath() + " " + line);
|
||||
}
|
||||
}
|
||||
|
@ -151,7 +148,7 @@ task collectVoiceAssets(type: Sync) {
|
|||
}
|
||||
|
||||
task cleanNoTranslate(type: Delete) {
|
||||
delete('res/values/no_translate.xml')
|
||||
delete('res/values/no_translate.xml')
|
||||
}
|
||||
|
||||
task collectFonts(type: Copy) {
|
||||
|
@ -180,7 +177,7 @@ task collectHelpContentsAssets(type: Copy) {
|
|||
include "*.html"
|
||||
}
|
||||
from("../../help/website/blog_articles") {
|
||||
include "osmand-3-8-released.html"
|
||||
include "osmand-3-9-released.html"
|
||||
}
|
||||
into "assets/feature_articles"
|
||||
}
|
||||
|
@ -277,8 +274,6 @@ task collectExternalResources {
|
|||
// Legacy core build
|
||||
import org.apache.tools.ant.taskdefs.condition.Os
|
||||
|
||||
import java.util.regex.Pattern
|
||||
|
||||
task buildOsmAndCore(type: Exec) {
|
||||
Gradle gradle = getGradle()
|
||||
String tskReqStr = gradle.getStartParameter().getTaskRequests().toString().toLowerCase()
|
||||
|
@ -297,7 +292,7 @@ task buildOsmAndCore(type: Exec) {
|
|||
flavour = flavour.length() == 0 ? "X86_ONLY" : ""
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
description "Build Legacy OsmAndCore"
|
||||
|
||||
if (!Os.isFamily(Os.FAMILY_WINDOWS)) {
|
||||
|
@ -325,38 +320,11 @@ task cleanupDuplicatesInCore() {
|
|||
}
|
||||
}
|
||||
|
||||
afterEvaluate {
|
||||
android.libraryVariants.all { variant ->
|
||||
variant.javaCompiler.dependsOn(collectExternalResources, buildOsmAndCore, cleanupDuplicatesInCore)
|
||||
}
|
||||
}
|
||||
|
||||
task appStart(type: Exec) {
|
||||
// linux
|
||||
// linux
|
||||
commandLine 'adb', 'shell', 'am', 'start', '-n', 'net.osmand.plus/net.osmand.plus.activities.MapActivity'
|
||||
// windows
|
||||
// commandLine 'cmd', '/c', 'adb', 'shell', 'am', 'start', '-n', 'net.osmand.plus/net.osmand.plus.activities.MapActivity'
|
||||
}
|
||||
|
||||
project.afterEvaluate {
|
||||
publishing {
|
||||
repositories {
|
||||
ivy {
|
||||
url = System.getenv("OSMAND_BINARIES_IVY_ROOT") ?: "./"
|
||||
version = "0.1-SNAPSHOT"
|
||||
}
|
||||
}
|
||||
publications {
|
||||
aar(IvyPublication) {
|
||||
artifact bundleLegacyFatDebugAar {
|
||||
classifier 'debug'
|
||||
}
|
||||
artifact bundleLegacyFatReleaseAar {
|
||||
classifier 'release'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// commandLine 'cmd', '/c', 'adb', 'shell', 'am', 'start', '-n', 'net.osmand.plus/net.osmand.plus.activities.MapActivity'
|
||||
}
|
||||
|
||||
dependencies {
|
||||
|
@ -369,7 +337,7 @@ dependencies {
|
|||
implementation 'com.google.android.material:material:1.2.1'
|
||||
implementation 'androidx.browser:browser:1.0.0'
|
||||
implementation 'androidx.preference:preference:1.1.0'
|
||||
implementation fileTree(include: ['gnu-trove-osmand.jar', 'icu4j-49_1_patched.jar'], dir: 'libs')
|
||||
implementation fileTree(include: ['gnu-trove-osmand.jar', 'icu4j-49_1_patched.jar'], dir: 'libs')
|
||||
|
||||
implementation group: 'commons-logging', name: 'commons-logging', version: '1.2'
|
||||
implementation 'commons-codec:commons-codec:1.11'
|
||||
|
@ -387,29 +355,21 @@ dependencies {
|
|||
// JS core
|
||||
implementation group: 'org.mozilla', name: 'rhino', version: '1.7.9'
|
||||
// size restrictions
|
||||
// implementation 'com.ibm.icu:icu4j:50.1'
|
||||
// implementation 'com.ibm.icu:icu4j:50.1'
|
||||
// implementation 'net.sf.trove4j:trove4j:3.0.3'
|
||||
|
||||
// qtcoreImplementation fileTree(include: ['QtAndroid.jar', 'QtAndroidBearer.jar'], dir: 'libs')
|
||||
// qtcoredebugImplementation fileTree(include: ['QtAndroid.jar', 'QtAndroidBearer.jar'], dir: 'libs')
|
||||
|
||||
legacyImplementation "net.osmand:OsmAndCore_android:0.1-SNAPSHOT@jar"
|
||||
// qtcoredebugImplementation "net.osmand:OsmAndCore_androidNativeDebug:0.1-SNAPSHOT@aar"
|
||||
// qtcoredebugImplementation "net.osmand:OsmAndCore_android:0.1-SNAPSHOT@aar"
|
||||
// qtcoreImplementation "net.osmand:OsmAndCore_androidNativeRelease:0.1-SNAPSHOT@aar"
|
||||
// qtcoreImplementation "net.osmand:OsmAndCore_android:0.1-SNAPSHOT@aar"
|
||||
implementation ("com.getkeepsafe.taptargetview:taptargetview:1.12.0"){
|
||||
|
||||
implementation("com.getkeepsafe.taptargetview:taptargetview:1.12.0") {
|
||||
exclude group: 'com.android.support'
|
||||
}
|
||||
implementation 'com.github.PhilJay:MPAndroidChart:v3.0.1'
|
||||
implementation ("com.github.HITGIF:TextFieldBoxes:1.4.5"){
|
||||
implementation("com.github.HITGIF:TextFieldBoxes:1.4.5") {
|
||||
exclude group: 'com.android.support'
|
||||
}
|
||||
implementation('com.github.scribejava:scribejava-apis:7.1.1'){
|
||||
implementation('com.github.scribejava:scribejava-apis:7.1.1') {
|
||||
exclude group: "com.fasterxml.jackson.core"
|
||||
}
|
||||
implementation 'com.jaredrummler:colorpicker:1.1.0'
|
||||
implementation 'org.bouncycastle:bcpkix-jdk15on:1.56'
|
||||
|
||||
implementation 'com.google.android.gms:play-services-location:17.1.0'
|
||||
}
|
||||
}
|
67
OsmAnd/build-library.gradle
Normal file
67
OsmAnd/build-library.gradle
Normal file
|
@ -0,0 +1,67 @@
|
|||
apply plugin: 'com.android.library'
|
||||
apply plugin: 'ivy-publish'
|
||||
apply from: 'build-common.gradle'
|
||||
|
||||
android {
|
||||
|
||||
defaultConfig {
|
||||
minSdkVersion 15
|
||||
}
|
||||
|
||||
lintOptions {
|
||||
tasks.lint.enabled = false
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
manifest.srcFile "AndroidManifest-library.xml"
|
||||
java.srcDirs = ["src", "src-gms", "src-google"]
|
||||
}
|
||||
}
|
||||
|
||||
productFlavors {
|
||||
// CoreVersion
|
||||
// Build that doesn't include 3D OpenGL
|
||||
legacy {
|
||||
dimension "coreversion"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
def replaceNoTranslate(line) {
|
||||
if (line.contains("\"versionFeatures\"")) {
|
||||
return line.replaceAll(">[^<]*<", ">" + "" + "<")
|
||||
}
|
||||
return line;
|
||||
}
|
||||
|
||||
afterEvaluate {
|
||||
android.libraryVariants.all { variant ->
|
||||
variant.javaCompiler.dependsOn(collectExternalResources, buildOsmAndCore, cleanupDuplicatesInCore)
|
||||
}
|
||||
}
|
||||
|
||||
project.afterEvaluate {
|
||||
publishing {
|
||||
repositories {
|
||||
ivy {
|
||||
url = System.getenv("OSMAND_BINARIES_IVY_ROOT") ?: "./"
|
||||
version = "0.1-SNAPSHOT"
|
||||
}
|
||||
}
|
||||
publications {
|
||||
aar(IvyPublication) {
|
||||
artifact bundleLegacyFatDebugAar {
|
||||
classifier 'debug'
|
||||
}
|
||||
artifact bundleLegacyFatReleaseAar {
|
||||
classifier 'release'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation 'com.google.android.gms:play-services-location:17.1.0'
|
||||
}
|
|
@ -1,12 +1,12 @@
|
|||
apply plugin: 'com.android.application'
|
||||
apply from: 'build-common.gradle'
|
||||
|
||||
// Global Parameters accepted
|
||||
// TARGET_APP_NAME - app name
|
||||
// APK_NUMBER_VERSION - version number of apk
|
||||
// APK_VERSION_SUFFIX - build number like #99999Z, appended (for dev builds) to Manifest's versionName as X.X.X#99999Z
|
||||
// Z means flavor: M=-master, D=-main-default, B=-Blackberry, Des=-design, MQA=-main-qt-arm, MQDA=-main-qt-default-arm, S=-sherpafy
|
||||
// Z means flavor: M=-master, D=-main-default, Des=-design, MQA=-main-qt-arm, MQDA=-main-qt-default-arm, S=-sherpafy
|
||||
// APP_EDITION - date stamp of builds
|
||||
// APP_FEATURES - features +play_market +gps_status -parking_plugin -blackberry -free_version -amazon
|
||||
|
||||
// 1. To be done Filter fonts
|
||||
// <unzip src="OsmAndCore_android.aar" dest=".">
|
||||
|
@ -17,15 +17,7 @@ apply plugin: 'com.android.application'
|
|||
// </unzip>
|
||||
// Less important
|
||||
|
||||
task printc {
|
||||
configurations.each { if(it.isCanBeResolved()) println it.name }
|
||||
}
|
||||
|
||||
android {
|
||||
compileSdkVersion 29
|
||||
buildToolsVersion "29.0.3"
|
||||
// compileNdkVersion "android-ndk-r17b"
|
||||
|
||||
signingConfigs {
|
||||
development {
|
||||
storeFile file("../keystores/debug.keystore")
|
||||
|
@ -44,21 +36,15 @@ android {
|
|||
|
||||
defaultConfig {
|
||||
minSdkVersion System.getenv("MIN_SDK_VERSION") ? System.getenv("MIN_SDK_VERSION").toInteger() : 15
|
||||
targetSdkVersion 29
|
||||
versionCode 390
|
||||
versionCode System.getenv("APK_NUMBER_VERSION") ? System.getenv("APK_NUMBER_VERSION").toInteger() : versionCode
|
||||
multiDexEnabled true
|
||||
versionName "3.9.0"
|
||||
versionName System.getenv("APK_VERSION")? System.getenv("APK_VERSION").toString(): versionName
|
||||
versionName System.getenv("APK_VERSION_SUFFIX")? versionName + System.getenv("APK_VERSION_SUFFIX").toString(): versionName
|
||||
// Stops the Gradle plugin’s automatic rasterization of vectors
|
||||
// vectorDrawables.generatedDensities = ['hdpi']
|
||||
vectorDrawables.useSupportLibrary = true
|
||||
}
|
||||
|
||||
lintOptions {
|
||||
lintConfig file("lint.xml")
|
||||
abortOnError false
|
||||
warningsAsErrors false
|
||||
}
|
||||
|
||||
|
@ -79,55 +65,33 @@ android {
|
|||
// exclude '/META-INF/NOTICE.md'
|
||||
//}
|
||||
|
||||
// This is from OsmAndCore_android.aar - for some reason it's not inherited
|
||||
aaptOptions {
|
||||
// Don't compress any embedded resources
|
||||
noCompress "qz"
|
||||
cruncherEnabled = false
|
||||
// Flag notifies aapt to keep the attribute IDs around
|
||||
// additionalParameters "--no-version-vectors"
|
||||
}
|
||||
|
||||
dexOptions {
|
||||
javaMaxHeapSize "4g"
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
manifest.srcFile "AndroidManifest.xml"
|
||||
jni.srcDirs = []
|
||||
jniLibs.srcDirs = ["libs"]
|
||||
aidl.srcDirs = ["src"]
|
||||
java.srcDirs = ["src"]
|
||||
resources.srcDirs = ["src"]
|
||||
renderscript.srcDirs = ["src"]
|
||||
res.srcDirs = ["res"]
|
||||
assets.srcDirs = ["assets"]
|
||||
}
|
||||
debug {
|
||||
manifest.srcFile "AndroidManifest-debug.xml"
|
||||
}
|
||||
full {
|
||||
androidFull {
|
||||
java.srcDirs = ["src-nogms", "src-google"]
|
||||
}
|
||||
fullGms {
|
||||
gplayFull {
|
||||
java.srcDirs = ["src-gms", "src-google"]
|
||||
}
|
||||
free {
|
||||
java.srcDirs = ["src-nogms", "src-google"]
|
||||
manifest.srcFile "AndroidManifest-free.xml"
|
||||
}
|
||||
freeGms {
|
||||
gplayFree {
|
||||
java.srcDirs = ["src-gms", "src-google"]
|
||||
manifest.srcFile "AndroidManifest-free.xml"
|
||||
manifest.srcFile "AndroidManifest-gplayFree.xml"
|
||||
}
|
||||
freedev {
|
||||
nightlyFree {
|
||||
java.srcDirs = ["src-nogms", "src-google"]
|
||||
manifest.srcFile "AndroidManifest-freedev.xml"
|
||||
manifest.srcFile "AndroidManifest-nightlyFree.xml"
|
||||
}
|
||||
freehuawei {
|
||||
amazonFree {
|
||||
java.srcDirs = ["src-nogms", "src-google"]
|
||||
manifest.srcFile "AndroidManifest-freehuawei.xml"
|
||||
}
|
||||
amazonFull {
|
||||
java.srcDirs = ["src-nogms", "src-google"]
|
||||
}
|
||||
huawei {
|
||||
java.srcDirs = ["src-nogms", "src-google"]
|
||||
manifest.srcFile "AndroidManifest-huawei.xml"
|
||||
}
|
||||
|
||||
legacy {
|
||||
|
@ -137,75 +101,43 @@ android {
|
|||
|
||||
flavorDimensions "version", "coreversion", "abi"
|
||||
productFlavors {
|
||||
// ABI
|
||||
armv7 {
|
||||
dimension "abi"
|
||||
ndk {
|
||||
abiFilter 'armeabi-v7a'
|
||||
}
|
||||
}
|
||||
arm64 {
|
||||
dimension "abi"
|
||||
ndk {
|
||||
abiFilter 'arm64-v8a'
|
||||
}
|
||||
}
|
||||
x86 {
|
||||
dimension "abi"
|
||||
ndk {
|
||||
abiFilters 'x86', 'x86_64'
|
||||
}
|
||||
}
|
||||
armonly {
|
||||
dimension "abi"
|
||||
ndk {
|
||||
abiFilters 'arm64-v8a', 'armeabi-v7a'
|
||||
}
|
||||
}
|
||||
fat {
|
||||
dimension "abi"
|
||||
ndk {
|
||||
abiFilters 'arm64-v8a', 'x86', 'x86_64', 'armeabi-v7a'
|
||||
}
|
||||
}
|
||||
|
||||
// Version
|
||||
freedev {
|
||||
nightlyFree {
|
||||
dimension "version"
|
||||
applicationId "net.osmand.dev"
|
||||
// resConfig "en"
|
||||
}
|
||||
free {
|
||||
dimension "version"
|
||||
applicationId "net.osmand"
|
||||
}
|
||||
freeGms {
|
||||
dimension "version"
|
||||
applicationId "net.osmand"
|
||||
}
|
||||
full {
|
||||
androidFull {
|
||||
dimension "version"
|
||||
applicationId "net.osmand.plus"
|
||||
}
|
||||
fullGms {
|
||||
gplayFree {
|
||||
dimension "version"
|
||||
applicationId "net.osmand"
|
||||
}
|
||||
gplayFull {
|
||||
dimension "version"
|
||||
applicationId "net.osmand.plus"
|
||||
}
|
||||
freehuawei {
|
||||
amazonFree {
|
||||
dimension "version"
|
||||
applicationId "net.osmand"
|
||||
}
|
||||
amazonFull {
|
||||
dimension "version"
|
||||
applicationId "net.osmand.plus"
|
||||
}
|
||||
huawei {
|
||||
dimension "version"
|
||||
applicationId "net.osmand.huawei"
|
||||
}
|
||||
// CoreVersion
|
||||
// Build that doesn't include 3D OpenGL
|
||||
legacy {
|
||||
dimension "coreversion"
|
||||
}
|
||||
|
||||
// Build that includes 3D OpenGL release
|
||||
qtcore {
|
||||
opengl {
|
||||
dimension "coreversion"
|
||||
}
|
||||
// Build that includes 3D OpenGL debug
|
||||
qtcoredebug {
|
||||
opengldebug {
|
||||
dimension "coreversion"
|
||||
}
|
||||
}
|
||||
|
@ -237,220 +169,6 @@ def replaceNoTranslate(line) {
|
|||
return line;
|
||||
}
|
||||
|
||||
task updateNoTranslate(type: Copy) {
|
||||
from('.') {
|
||||
include 'no_translate.xml'
|
||||
filter {
|
||||
line -> replaceNoTranslate(line);
|
||||
}
|
||||
}
|
||||
into 'res/values/'
|
||||
}
|
||||
|
||||
task validateTranslate {
|
||||
println "Validating translations"
|
||||
|
||||
file("res").eachFileRecurse groovy.io.FileType.FILES, {
|
||||
if (it.name == "strings.xml" || it.name == "phrases.xml") {
|
||||
it.eachLine { line ->
|
||||
if (line.contains("\$ s") || line.contains("\$ d") || line.contains("\$ f") ||
|
||||
line.contains(" \$s") || line.contains(" \$d") || line.contains(" \$f") ||
|
||||
line.contains("1\$ ") || line.contains("2\$ ") || line.contains("3\$ ") ||
|
||||
line.contains("%1s") || line.contains(" 1\$s") ||
|
||||
(line.contains("% \$") || line.contains("% 1") || line.contains("% 2") ||
|
||||
line.contains("% 3") || line.contains("% s"))) {
|
||||
throw new GradleException("Incorrect translation " + it.getAbsolutePath() + " " + line);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
task downloadWorldMiniBasemap {
|
||||
doLast {
|
||||
ant.get(src: 'http://builder.osmand.net/basemap/World_basemap_mini_2.obf', dest: 'assets/World_basemap_mini.obf', skipexisting: 'true')
|
||||
}
|
||||
}
|
||||
|
||||
task collectVoiceAssets(type: Sync) {
|
||||
from "../../resources/voice"
|
||||
into "assets/voice"
|
||||
include "**/*.js"
|
||||
}
|
||||
|
||||
task cleanNoTranslate(type: Delete) {
|
||||
delete('res/values/no_translate.xml')
|
||||
}
|
||||
|
||||
task collectFonts(type: Copy) {
|
||||
from "../../resources/fonts"
|
||||
from "../../resources/rendering_styles/fonts"
|
||||
// from "../../resources/rendering_styles/fonts/OpenSans"
|
||||
into "assets/fonts"
|
||||
include "*.ttf"
|
||||
}
|
||||
|
||||
task collectHelpContentsStyle(type: Copy) {
|
||||
from("../../help/website/help/") {
|
||||
include "style.css"
|
||||
}
|
||||
into "assets"
|
||||
}
|
||||
|
||||
task collectHelpContentsAssets(type: Copy) {
|
||||
from("../../help/website/help") {
|
||||
include "about.html"
|
||||
include "changes.html"
|
||||
include "faq.html"
|
||||
include "map-legend.html"
|
||||
}
|
||||
from("../../help/website/feature_articles") {
|
||||
include "*.html"
|
||||
}
|
||||
from("../../help/website/blog_articles") {
|
||||
include "osmand-3-9-released.html"
|
||||
}
|
||||
into "assets/feature_articles"
|
||||
}
|
||||
|
||||
task copyPoiCategories(type: Copy) {
|
||||
from("../../resources/poi") {
|
||||
include "poi_categories.json"
|
||||
}
|
||||
into "assets"
|
||||
}
|
||||
|
||||
task copyMapShaderIcons(type: Sync) {
|
||||
// from "../../resources/rendering_styles/style-icons/map-shaders-png"
|
||||
// into "res/"
|
||||
from "../../resources/rendering_styles/style-icons/map-shaders-vector"
|
||||
into "res/drawable"
|
||||
include "**/*.png", "**/*.xml"
|
||||
preserve {
|
||||
include '**/*'
|
||||
exclude "**/h_*"
|
||||
}
|
||||
}
|
||||
|
||||
task copyMapPOIIcons(type: Sync) {
|
||||
from "../../resources/rendering_styles/style-icons/map-icons-vector"
|
||||
into "res/drawable/"
|
||||
// from "../../resources/rendering_styles/style-icons/map-icons-png"
|
||||
// into "res/"
|
||||
|
||||
include "**/*.png", "**/*.xml"
|
||||
preserve {
|
||||
include '**/*'
|
||||
exclude "**/mm_*"
|
||||
}
|
||||
}
|
||||
|
||||
task copyLargePOIIcons(type: Sync) {
|
||||
from "../../resources/rendering_styles/style-icons/poi-icons-vector"
|
||||
into "res/drawable/"
|
||||
include "**/*.png", "**/*.xml"
|
||||
preserve {
|
||||
include '**/*'
|
||||
exclude "**/mx_*"
|
||||
}
|
||||
}
|
||||
|
||||
task copyWidgetIconsXhdpi(type: Sync) {
|
||||
from "res/drawable-xxhdpi/"
|
||||
into "res/drawable-large-xhdpi/"
|
||||
include "**/widget_*.png", "**/widget_*.xml", "**/map_*.xml", "**/map_*.png"
|
||||
preserve {
|
||||
include '*'
|
||||
exclude "**/widget_*.png", "**/widget_*.xml", "**/map_*.xml", "**/map_*.png"
|
||||
}
|
||||
}
|
||||
|
||||
task copyWidgetIconsHdpi(type: Sync) {
|
||||
from "res/drawable-xhdpi/"
|
||||
into "res/drawable-large-hdpi/"
|
||||
include "**/widget_*.png", "**/widget_*.xml", "**/map_*.xml", "**/map_*.png"
|
||||
preserve {
|
||||
include '*'
|
||||
exclude "**/widget_*.png", "**/widget_*.xml", "**/map_*.xml", "**/map_*.png"
|
||||
}
|
||||
}
|
||||
|
||||
task copyWidgetIcons(type: Sync) {
|
||||
from "res/drawable-hdpi/"
|
||||
into "res/drawable-large/"
|
||||
include "**/widget_*.png", "**/widget_*.xml", "**/map_*.xml", "**/map_*.png"
|
||||
preserve {
|
||||
include '*'
|
||||
exclude "**/widget_*.png", "**/widget_*.xml", "**/map_*.xml", "**/map_*.png"
|
||||
}
|
||||
}
|
||||
|
||||
task collectExternalResources {
|
||||
dependsOn collectVoiceAssets,
|
||||
collectFonts,
|
||||
collectHelpContentsAssets,
|
||||
collectHelpContentsStyle,
|
||||
copyMapShaderIcons,
|
||||
copyMapPOIIcons,
|
||||
copyLargePOIIcons,
|
||||
updateNoTranslate,
|
||||
validateTranslate,
|
||||
copyWidgetIcons,
|
||||
copyWidgetIconsHdpi,
|
||||
copyWidgetIconsXhdpi,
|
||||
copyPoiCategories,
|
||||
downloadWorldMiniBasemap
|
||||
}
|
||||
|
||||
// Legacy core build
|
||||
import org.apache.tools.ant.taskdefs.condition.Os
|
||||
|
||||
task buildOsmAndCore(type: Exec) {
|
||||
Gradle gradle = getGradle()
|
||||
String tskReqStr = gradle.getStartParameter().getTaskRequests().toString().toLowerCase()
|
||||
String flavour = "";
|
||||
if(!tskReqStr.contains("fat")) {
|
||||
if(tskReqStr.contains("arm64")) {
|
||||
flavour = flavour.length() == 0 ? "ARM64_ONLY" : ""
|
||||
}
|
||||
if(tskReqStr.contains("armv7")) {
|
||||
flavour = flavour.length() == 0 ? "ARMV7_ONLY" : ""
|
||||
}
|
||||
if(tskReqStr.contains("armonly")) {
|
||||
flavour = flavour.length() == 0 ? "ARM_ONLY" : ""
|
||||
}
|
||||
if(tskReqStr.contains("x86")) {
|
||||
flavour = flavour.length() == 0 ? "X86_ONLY" : ""
|
||||
}
|
||||
}
|
||||
|
||||
description "Build Legacy OsmAndCore"
|
||||
|
||||
if (!Os.isFamily(Os.FAMILY_WINDOWS)) {
|
||||
if(flavour.length() > 0) {
|
||||
environment "$flavour", "1"
|
||||
}
|
||||
commandLine "bash", file("./old-ndk-build.sh").getAbsolutePath()
|
||||
} else {
|
||||
commandLine "cmd", "/c", "echo", "Not supported"
|
||||
}
|
||||
}
|
||||
|
||||
task cleanupDuplicatesInCore() {
|
||||
dependsOn buildOsmAndCore
|
||||
// doesn't work for legacy debug builds
|
||||
doLast {
|
||||
file("libc++/armeabi-v7a").mkdirs()
|
||||
file("libs/armeabi-v7a/libc++_shared.so").renameTo(file("libc++/armeabi-v7a/libc++_shared.so"))
|
||||
file("libc++/arm64-v8a").mkdirs()
|
||||
file("libs/arm64-v8a/libc++_shared.so").renameTo(file("libc++/arm64-v8a/libc++_shared.so"))
|
||||
file("libc++/x86").mkdirs()
|
||||
file("libs/x86/libc++_shared.so").renameTo(file("libc++/x86/libc++_shared.so"))
|
||||
file("libc++/x86_64").mkdirs()
|
||||
file("libs/x86_64/libc++_shared.so").renameTo(file("libc++/x86_64/libc++_shared.so"))
|
||||
}
|
||||
}
|
||||
|
||||
afterEvaluate {
|
||||
android.applicationVariants.all { variant ->
|
||||
variant.javaCompiler.dependsOn(collectExternalResources, buildOsmAndCore, cleanupDuplicatesInCore)
|
||||
|
@ -462,52 +180,14 @@ afterEvaluate {
|
|||
}
|
||||
}
|
||||
|
||||
task appStart(type: Exec) {
|
||||
// linux
|
||||
commandLine 'adb', 'shell', 'am', 'start', '-n', 'net.osmand.plus/net.osmand.plus.activities.MapActivity'
|
||||
// windows
|
||||
// commandLine 'cmd', '/c', 'adb', 'shell', 'am', 'start', '-n', 'net.osmand.plus/net.osmand.plus.activities.MapActivity'
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation project(path: ':OsmAnd-java', configuration: 'android')
|
||||
implementation project(':OsmAnd-api')
|
||||
implementation 'androidx.multidex:multidex:2.0.1'
|
||||
implementation 'androidx.gridlayout:gridlayout:1.0.0'
|
||||
implementation 'androidx.cardview:cardview:1.0.0'
|
||||
implementation 'androidx.appcompat:appcompat:1.2.0'
|
||||
implementation 'com.google.android.material:material:1.2.1'
|
||||
implementation 'androidx.browser:browser:1.0.0'
|
||||
implementation 'androidx.preference:preference:1.1.0'
|
||||
implementation fileTree(include: ['gnu-trove-osmand.jar', 'icu4j-49_1_patched.jar'], dir: 'libs')
|
||||
openglImplementation fileTree(include: ['QtAndroid.jar', 'QtAndroidBearer.jar'], dir: 'libs')
|
||||
opengldebugImplementation fileTree(include: ['QtAndroid.jar', 'QtAndroidBearer.jar'], dir: 'libs')
|
||||
|
||||
implementation group: 'commons-logging', name: 'commons-logging', version: '1.2'
|
||||
implementation 'commons-codec:commons-codec:1.11'
|
||||
implementation 'it.unibo.alice.tuprolog:tuprolog:3.2.1'
|
||||
implementation 'org.apache.commons:commons-compress:1.17'
|
||||
implementation 'com.moparisthebest:junidecode:0.1.1'
|
||||
implementation 'org.immutables:gson:2.5.0'
|
||||
implementation 'com.vividsolutions:jts-core:1.14.0'
|
||||
implementation 'com.google.openlocationcode:openlocationcode:1.0.4'
|
||||
implementation 'com.android.billingclient:billing:2.0.3'
|
||||
// turn off for now
|
||||
//implementation 'com.atilika.kuromoji:kuromoji-ipadic:0.9.0'
|
||||
implementation 'com.squareup.picasso:picasso:2.71828'
|
||||
implementation 'me.zhanghai.android.materialprogressbar:library:1.4.2'
|
||||
// JS core
|
||||
implementation group: 'org.mozilla', name: 'rhino', version: '1.7.9'
|
||||
// size restrictions
|
||||
// implementation 'com.ibm.icu:icu4j:50.1'
|
||||
// implementation 'net.sf.trove4j:trove4j:3.0.3'
|
||||
|
||||
qtcoreImplementation fileTree(include: ['QtAndroid.jar', 'QtAndroidBearer.jar'], dir: 'libs')
|
||||
qtcoredebugImplementation fileTree(include: ['QtAndroid.jar', 'QtAndroidBearer.jar'], dir: 'libs')
|
||||
|
||||
legacyImplementation "net.osmand:OsmAndCore_android:0.1-SNAPSHOT@jar"
|
||||
qtcoredebugImplementation "net.osmand:OsmAndCore_androidNativeDebug:0.1-SNAPSHOT@aar"
|
||||
qtcoredebugImplementation "net.osmand:OsmAndCore_android:0.1-SNAPSHOT@aar"
|
||||
qtcoreImplementation "net.osmand:OsmAndCore_androidNativeRelease:0.1-SNAPSHOT@aar"
|
||||
qtcoreImplementation "net.osmand:OsmAndCore_android:0.1-SNAPSHOT@aar"
|
||||
opengldebugImplementation "net.osmand:OsmAndCore_androidNativeDebug:0.1-SNAPSHOT@aar"
|
||||
opengldebugImplementation "net.osmand:OsmAndCore_android:0.1-SNAPSHOT@aar"
|
||||
openglImplementation "net.osmand:OsmAndCore_androidNativeRelease:0.1-SNAPSHOT@aar"
|
||||
openglImplementation "net.osmand:OsmAndCore_android:0.1-SNAPSHOT@aar"
|
||||
implementation ("com.getkeepsafe.taptargetview:taptargetview:1.12.0"){
|
||||
exclude group: 'com.android.support'
|
||||
}
|
||||
|
@ -521,8 +201,8 @@ dependencies {
|
|||
implementation 'com.jaredrummler:colorpicker:1.1.0'
|
||||
implementation "org.bouncycastle:bcpkix-jdk15on:1.56"
|
||||
|
||||
freehuaweiImplementation 'com.huawei.hms:iap:5.0.2.300'
|
||||
huaweiImplementation 'com.huawei.hms:iap:5.0.2.300'
|
||||
|
||||
freeGmsImplementation 'com.google.android.gms:play-services-location:17.1.0'
|
||||
fullGmsImplementation 'com.google.android.gms:play-services-location:17.1.0'
|
||||
gplayFreeImplementation 'com.google.android.gms:play-services-location:17.1.0'
|
||||
gplayFullImplementation 'com.google.android.gms:play-services-location:17.1.0'
|
||||
}
|
||||
|
|
|
@ -12,7 +12,6 @@
|
|||
<string name="ga_api_key">UA-28342846-2</string>
|
||||
<string name="ga_dispatchPeriod">10</string>
|
||||
<string name="ga_debug">true</string>
|
||||
<string name="versionFeatures">+play_market -amazon -blackberry</string>
|
||||
<string name="openstreetmap_copyright"><a href="https://www.openstreetmap.org/copyright">© OpenStreetMap</a></string>
|
||||
<string name="app_edition"></string>
|
||||
<string name="support_email">support@osmand.net</string>
|
||||
|
|
|
@ -54,7 +54,7 @@
|
|||
<item name="android:windowBackground">@drawable/first_splash_screen_free</item>
|
||||
</style>
|
||||
|
||||
<style name="FirstSplashScreenFreeDev" parent="SplashScreenBaseTheme">
|
||||
<style name="FirstSplashScreenNightlyFree" parent="SplashScreenBaseTheme">
|
||||
<item name="android:windowBackground">@drawable/first_splash_screen_free_dev</item>
|
||||
</style>
|
||||
|
||||
|
|
|
@ -388,7 +388,7 @@ public abstract class OsmandPlugin {
|
|||
}
|
||||
|
||||
private static boolean updateMarketPlugin(@NonNull OsmandApplication app, @NonNull Set<String> enabledPlugins, @NonNull OsmandPlugin plugin) {
|
||||
boolean marketEnabled = Version.isMarketEnabled(app);
|
||||
boolean marketEnabled = Version.isMarketEnabled();
|
||||
boolean pckg = plugin.pluginAvailable(app);
|
||||
boolean paid = plugin.isPaid();
|
||||
if ((Version.isDeveloperVersion(app) || !Version.isProductionVersion(app)) && !paid) {
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
package net.osmand.plus;
|
||||
|
||||
|
||||
import android.content.pm.PackageInfo;
|
||||
import android.content.pm.PackageManager;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import net.osmand.plus.inapp.InAppPurchaseHelper;
|
||||
|
||||
import java.io.File;
|
||||
|
@ -16,26 +17,29 @@ public class Version {
|
|||
private final String appName;
|
||||
private final static String FREE_VERSION_NAME = "net.osmand";
|
||||
private final static String FREE_DEV_VERSION_NAME = "net.osmand.dev";
|
||||
private final static String FREE_CUSTOM_VERSION_NAME = "net.osmand.freecustom";
|
||||
private final static String UTM_REF = "&referrer=utm_source%3Dosmand";
|
||||
|
||||
public static boolean isGpsStatusEnabled(OsmandApplication ctx) {
|
||||
return isGooglePlayEnabled(ctx) && !isBlackberry(ctx);
|
||||
}
|
||||
|
||||
public static boolean isBlackberry(OsmandApplication ctx) {
|
||||
return ctx.getString(R.string.versionFeatures).contains("+blackberry");
|
||||
}
|
||||
|
||||
public static boolean isHuawei(OsmandApplication ctx) {
|
||||
return ctx.getPackageName().endsWith(".huawei");
|
||||
}
|
||||
|
||||
public static boolean isMarketEnabled(OsmandApplication ctx) {
|
||||
return isGooglePlayEnabled(ctx) || isAmazonEnabled(ctx);
|
||||
|
||||
public static boolean isHuawei() {
|
||||
return "huawei".contains(getBuildFlavor());
|
||||
}
|
||||
|
||||
public static boolean isGooglePlayInstalled(OsmandApplication ctx) {
|
||||
private static boolean isAmazon() {
|
||||
return "amazon".contains(getBuildFlavor());
|
||||
}
|
||||
|
||||
private static String getBuildFlavor() {
|
||||
return net.osmand.plus.BuildConfig.FLAVOR;
|
||||
}
|
||||
|
||||
public static boolean isGooglePlayEnabled() {
|
||||
return !isHuawei() && !isAmazon();
|
||||
}
|
||||
|
||||
public static boolean isMarketEnabled() {
|
||||
return isGooglePlayEnabled() || isAmazon();
|
||||
}
|
||||
|
||||
public static boolean isGooglePlayInstalled(@NonNull OsmandApplication ctx) {
|
||||
try {
|
||||
ctx.getPackageManager().getPackageInfo("com.android.vending", 0);
|
||||
} catch (PackageManager.NameNotFoundException e) {
|
||||
|
@ -44,10 +48,10 @@ public class Version {
|
|||
return true;
|
||||
}
|
||||
|
||||
public static String marketPrefix(OsmandApplication ctx) {
|
||||
if (isAmazonEnabled(ctx)) {
|
||||
public static String marketPrefix(@NonNull OsmandApplication ctx) {
|
||||
if (isAmazon()) {
|
||||
return "amzn://apps/android?p=";
|
||||
} else if (isGooglePlayEnabled(ctx) && isGooglePlayInstalled(ctx)) {
|
||||
} else if (isGooglePlayEnabled() && isGooglePlayInstalled(ctx)) {
|
||||
return "market://details?id=";
|
||||
}
|
||||
return "https://osmand.net/apps?id=";
|
||||
|
@ -57,22 +61,11 @@ public class Version {
|
|||
return marketPrefix(ctx) + appName + UTM_REF;
|
||||
}
|
||||
|
||||
private static boolean isAmazonEnabled(OsmandApplication ctx) {
|
||||
return ctx.getString(R.string.versionFeatures).contains("+amazon");
|
||||
}
|
||||
|
||||
public static boolean isGooglePlayEnabled(OsmandApplication ctx) {
|
||||
return ctx.getString(R.string.versionFeatures).contains("+play_market");
|
||||
}
|
||||
|
||||
|
||||
private Version(OsmandApplication ctx) {
|
||||
String appVersion = "";
|
||||
int versionCode = -1;
|
||||
try {
|
||||
PackageInfo packageInfo = ctx.getPackageManager().getPackageInfo(ctx.getPackageName(), 0);
|
||||
appVersion = packageInfo.versionName; //Version suffix ctx.getString(R.string.app_version_suffix) already appended in build.gradle
|
||||
versionCode = packageInfo.versionCode;
|
||||
} catch (PackageManager.NameNotFoundException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
@ -123,8 +116,7 @@ public class Version {
|
|||
public static boolean isFreeVersion(OsmandApplication ctx){
|
||||
return ctx.getPackageName().equals(FREE_VERSION_NAME) ||
|
||||
ctx.getPackageName().equals(FREE_DEV_VERSION_NAME) ||
|
||||
ctx.getPackageName().equals(FREE_CUSTOM_VERSION_NAME) ||
|
||||
isHuawei(ctx);
|
||||
isHuawei();
|
||||
}
|
||||
|
||||
public static boolean isPaidVersion(OsmandApplication ctx) {
|
||||
|
|
|
@ -903,7 +903,7 @@ public class MapActivityActions implements DialogProvider {
|
|||
}
|
||||
}).createItem());
|
||||
|
||||
if (Version.isGooglePlayEnabled(app) || Version.isHuawei(app) || Version.isDeveloperVersion(app)) {
|
||||
if (Version.isGooglePlayEnabled() || Version.isHuawei() || Version.isDeveloperVersion(app)) {
|
||||
optionsMenuHelper.addItem(new ItemBuilder().setTitleId(R.string.osm_live, mapActivity)
|
||||
.setId(DRAWER_OSMAND_LIVE_ID)
|
||||
.setIcon(R.drawable.ic_action_osm_live)
|
||||
|
|
|
@ -5,7 +5,6 @@ import android.app.Activity;
|
|||
import android.content.ActivityNotFoundException;
|
||||
import android.content.Intent;
|
||||
import android.net.Uri;
|
||||
import android.widget.Toast;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
@ -16,16 +15,12 @@ import androidx.fragment.app.FragmentManager;
|
|||
import net.osmand.AndroidUtils;
|
||||
import net.osmand.PlatformUtil;
|
||||
import net.osmand.plus.OsmandApplication;
|
||||
import net.osmand.plus.OsmandPlugin;
|
||||
import net.osmand.plus.R;
|
||||
import net.osmand.plus.Version;
|
||||
import net.osmand.plus.download.DownloadActivity;
|
||||
import net.osmand.plus.inapp.InAppPurchaseHelper;
|
||||
import net.osmand.plus.inapp.InAppPurchaseHelper.InAppPurchaseInitCallback;
|
||||
import net.osmand.plus.inapp.InAppPurchaseHelper.InAppPurchaseListener;
|
||||
import net.osmand.plus.inapp.InAppPurchaseHelper.InAppPurchaseTaskType;
|
||||
import net.osmand.plus.liveupdates.OsmLiveRestartBottomSheetDialogFragment;
|
||||
import net.osmand.plus.srtmplugin.SRTMPlugin;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
|
||||
|
@ -59,7 +54,7 @@ public class OsmandInAppPurchaseActivity extends AppCompatActivity implements In
|
|||
InAppPurchaseHelper purchaseHelper = app.getInAppPurchaseHelper();
|
||||
if (app.getSettings().isInternetConnectionAvailable()
|
||||
&& isInAppPurchaseAllowed()
|
||||
&& isInAppPurchaseSupported(purchaseHelper)) {
|
||||
&& isInAppPurchaseSupported()) {
|
||||
this.purchaseHelper = purchaseHelper;
|
||||
}
|
||||
}
|
||||
|
@ -160,9 +155,8 @@ public class OsmandInAppPurchaseActivity extends AppCompatActivity implements In
|
|||
return false;
|
||||
}
|
||||
|
||||
public boolean isInAppPurchaseSupported(InAppPurchaseHelper purchaseHelper) {
|
||||
OsmandApplication app = getMyApplication();
|
||||
return Version.isGooglePlayEnabled(app) || Version.isHuawei(app);
|
||||
public boolean isInAppPurchaseSupported() {
|
||||
return Version.isGooglePlayEnabled() || Version.isHuawei();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -193,7 +193,7 @@ public class ShareDialog {
|
|||
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
|
||||
activity.startActivity(intent);
|
||||
} else {
|
||||
if (Version.isMarketEnabled((OsmandApplication) activity.getApplication())) {
|
||||
if (Version.isMarketEnabled()) {
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(activity);
|
||||
builder.setMessage(activity.getString(R.string.zxing_barcode_scanner_not_found));
|
||||
builder.setPositiveButton(activity.getString(R.string.shared_string_yes), new DialogInterface.OnClickListener() {
|
||||
|
|
|
@ -180,7 +180,7 @@ public class StartGPSStatus extends OsmAndAction {
|
|||
intent.addCategory(Intent.CATEGORY_LAUNCHER);
|
||||
mapActivity.startActivity(intent);
|
||||
} else {
|
||||
if (Version.isMarketEnabled(getMyApplication())) {
|
||||
if (Version.isMarketEnabled()) {
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(mapActivity);
|
||||
builder.setMessage(mapActivity. getString(R.string.gps_status_app_not_found));
|
||||
builder.setPositiveButton(mapActivity.getString(R.string.shared_string_yes), new DialogInterface.OnClickListener() {
|
||||
|
|
|
@ -5,8 +5,6 @@ import android.app.Activity;
|
|||
import android.app.Dialog;
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.Intent;
|
||||
import android.net.Uri;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.text.TextUtils;
|
||||
|
@ -216,7 +214,7 @@ public abstract class ChoosePlanDialogFragment extends BaseOsmAndDialogFragment
|
|||
infoDescription.setText(getInfoDescription());
|
||||
}
|
||||
TextViewEx planInfoDescription = (TextViewEx) view.findViewById(R.id.plan_info_description);
|
||||
planInfoDescription.setText(Version.isHuawei(app)
|
||||
planInfoDescription.setText(Version.isHuawei()
|
||||
? R.string.osm_live_payment_subscription_management_hw : R.string.osm_live_payment_subscription_management);
|
||||
ViewGroup osmLiveCard = buildOsmLiveCard(ctx, cardsContainer);
|
||||
if (osmLiveCard != null) {
|
||||
|
|
|
@ -71,16 +71,12 @@ public class DevelopmentSettingsFragment extends BaseSettingsFragment {
|
|||
|
||||
private void setupSafeModePref() {
|
||||
SwitchPreferenceEx safeMode = findPreference(settings.SAFE_MODE.getId());
|
||||
if (!Version.isBlackberry(app)) {
|
||||
safeMode.setDescription(getString(R.string.safe_mode_description));
|
||||
safeMode.setIconSpaceReserved(false);
|
||||
// disable the switch if the library cannot be used
|
||||
if ((NativeOsmandLibrary.isLoaded() && !NativeOsmandLibrary.isSupported()) || settings.NATIVE_RENDERING_FAILED.get()) {
|
||||
safeMode.setEnabled(false);
|
||||
safeMode.setChecked(true);
|
||||
}
|
||||
} else {
|
||||
safeMode.setVisible(false);
|
||||
safeMode.setDescription(getString(R.string.safe_mode_description));
|
||||
safeMode.setIconSpaceReserved(false);
|
||||
// disable the switch if the library cannot be used
|
||||
if ((NativeOsmandLibrary.isLoaded() && !NativeOsmandLibrary.isSupported()) || settings.NATIVE_RENDERING_FAILED.get()) {
|
||||
safeMode.setEnabled(false);
|
||||
safeMode.setChecked(true);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -108,7 +108,7 @@ public class RateUsBottomSheetDialogFragment extends MenuBottomSheetDialogFragme
|
|||
public static boolean shouldShow(OsmandApplication app) {
|
||||
long firstInstalledDays = app.getAppInitializer().getFirstInstalledDays();
|
||||
//Do not show dialog if not google play version or more than 350 days left from the first start
|
||||
if (!Version.isGooglePlayEnabled(app) || firstInstalledDays > 350) {
|
||||
if (!Version.isGooglePlayEnabled() || firstInstalledDays > 350) {
|
||||
return false;
|
||||
}
|
||||
OsmandSettings settings = app.getSettings();
|
||||
|
|
|
@ -217,7 +217,7 @@ public class DownloadValidationManager {
|
|||
AlertDialog.Builder msg = new AlertDialog.Builder(getActivity());
|
||||
msg.setTitle(R.string.free_version_title);
|
||||
msg.setMessage(msgTx);
|
||||
if (Version.isMarketEnabled(getMyApplication())) {
|
||||
if (Version.isMarketEnabled()) {
|
||||
msg.setPositiveButton(R.string.install_paid, new DialogInterface.OnClickListener() {
|
||||
|
||||
@Override
|
||||
|
|
|
@ -212,7 +212,7 @@ public abstract class InAppPurchaseHelper {
|
|||
}
|
||||
|
||||
protected void exec(final @NonNull InAppPurchaseTaskType taskType, final @NonNull InAppCommand command) {
|
||||
if (isDeveloperVersion || (!Version.isGooglePlayEnabled(ctx) && !Version.isHuawei(ctx))) {
|
||||
if (isDeveloperVersion || (!Version.isGooglePlayEnabled() && !Version.isHuawei())) {
|
||||
notifyDismissProgress(taskType);
|
||||
stop(true);
|
||||
return;
|
||||
|
|
|
@ -298,12 +298,9 @@ public class GeneralProfileSettingsFragment extends BaseSettingsFragment impleme
|
|||
mapEmptyStateAllowedPref.setTitle(getString(R.string.use_trackball));
|
||||
mapEmptyStateAllowedPref.setDescription(getString(R.string.use_trackball_descr));
|
||||
|
||||
boolean visible = false;
|
||||
if (!Version.isBlackberry(app)) {
|
||||
int nav = getResources().getConfiguration().navigation;
|
||||
visible = nav == Configuration.NAVIGATION_DPAD || nav == Configuration.NAVIGATION_TRACKBALL ||
|
||||
nav == Configuration.NAVIGATION_WHEEL || nav == Configuration.NAVIGATION_UNDEFINED;
|
||||
}
|
||||
int nav = getResources().getConfiguration().navigation;
|
||||
boolean visible = nav == Configuration.NAVIGATION_DPAD || nav == Configuration.NAVIGATION_TRACKBALL ||
|
||||
nav == Configuration.NAVIGATION_WHEEL || nav == Configuration.NAVIGATION_UNDEFINED;
|
||||
mapEmptyStateAllowedPref.setVisible(visible);
|
||||
}
|
||||
|
||||
|
|
|
@ -171,15 +171,13 @@ public class RouteParametersFragment extends BaseSettingsFragment implements OnP
|
|||
}
|
||||
|
||||
private void setupNativePublicTransport() {
|
||||
if (!Version.isBlackberry(app)) {
|
||||
SwitchPreferenceEx setupNativePublicTransport = createSwitchPreferenceEx(settings.PT_SAFE_MODE.getId(),
|
||||
R.string.use_native_pt, R.layout.preference_with_descr_dialog_and_switch);
|
||||
setupNativePublicTransport.setDescription(getString(R.string.use_native_pt_desc));
|
||||
setupNativePublicTransport.setSummaryOn(R.string.shared_string_enabled);
|
||||
setupNativePublicTransport.setSummaryOff(R.string.shared_string_disabled);
|
||||
setupNativePublicTransport.setIconSpaceReserved(true);
|
||||
getPreferenceScreen().addPreference(setupNativePublicTransport);
|
||||
}
|
||||
SwitchPreferenceEx setupNativePublicTransport = createSwitchPreferenceEx(settings.PT_SAFE_MODE.getId(),
|
||||
R.string.use_native_pt, R.layout.preference_with_descr_dialog_and_switch);
|
||||
setupNativePublicTransport.setDescription(getString(R.string.use_native_pt_desc));
|
||||
setupNativePublicTransport.setSummaryOn(R.string.shared_string_enabled);
|
||||
setupNativePublicTransport.setSummaryOff(R.string.shared_string_disabled);
|
||||
setupNativePublicTransport.setIconSpaceReserved(true);
|
||||
getPreferenceScreen().addPreference(setupNativePublicTransport);
|
||||
}
|
||||
|
||||
private void setupOsmLiveForRoutingPref() {
|
||||
|
|
|
@ -97,10 +97,9 @@ public class VoiceAnnouncesFragment extends BaseSettingsFragment implements OnPr
|
|||
setupArrivalAnnouncementPref();
|
||||
setupVoiceProviderPref();
|
||||
|
||||
if (!Version.isBlackberry(app)) {
|
||||
setupAudioStreamGuidancePref();
|
||||
setupInterruptMusicPref();
|
||||
}
|
||||
setupAudioStreamGuidancePref();
|
||||
setupInterruptMusicPref();
|
||||
|
||||
enableDisablePreferences(!settings.VOICE_MUTE.getModeValue(getSelectedAppMode()));
|
||||
setupSpeakCamerasPref();
|
||||
setupSpeedCamerasAlert();
|
||||
|
|
Loading…
Reference in a new issue