Compare commits
3 commits
master
...
2024.11.27
Author | SHA1 | Date | |
---|---|---|---|
|
d76a4429d1 | ||
|
c385bfffa5 | ||
|
e244c9d949 |
1384 changed files with 276465 additions and 186808 deletions
78
.github/CODEOWNERS
vendored
78
.github/CODEOWNERS
vendored
|
@ -1,69 +1,9 @@
|
|||
# All non-assigned.
|
||||
* @organicmaps/mergers
|
||||
# Visual design.
|
||||
/android/app/src/main/res/drawable*/ @organicmaps/design
|
||||
/android/app/src/main/res/font/ @organicmaps/design
|
||||
/android/app/src/main/res/mipmap*/ @organicmaps/design
|
||||
/data/*.ttf @organicmaps/design
|
||||
/data/resources-svg/ @organicmaps/design
|
||||
/data/search-icons/ @organicmaps/design
|
||||
/iphone/Maps/Images.xcassets/ @organicmaps/design
|
||||
# Android.
|
||||
/android/ @organicmaps/android
|
||||
/android/app/src/main/java/app/organicmaps/car/ @organicmaps/android-auto
|
||||
/docs/ANDROID_LOCATION_TEST.md @organicmaps/android
|
||||
/docs/JAVA_STYLE.md @organicmaps/android
|
||||
# no owner for translation changes
|
||||
/android/app/src/main/res/values*/strings.xml
|
||||
# iOS.
|
||||
/iphone/ @organicmaps/ios
|
||||
/xcode/ @organicmaps/ios
|
||||
/docs/OBJC_STYLE.md @organicmaps/ios
|
||||
# no owner for translation changes
|
||||
/iphone/plist.txt
|
||||
/iphone/Maps/LocalizedStrings/
|
||||
# Qt
|
||||
/qt/ @organicmaps/qt
|
||||
# Rendering
|
||||
/drape/ @organicmaps/rendering
|
||||
/drape_frontend/ @organicmaps/rendering
|
||||
# Map Data.
|
||||
/tools/python/maps_generator/ @organicmaps/data
|
||||
/generator/ @organicmaps/data
|
||||
/topography_generator/ @organicmaps/data
|
||||
/data/borders/ @organicmaps/data
|
||||
/data/conf/isolines/ @organicmaps/data
|
||||
/docs/SUBWAY_GENERATION.md @organicmaps/data
|
||||
/docs/MAPS.md @organicmaps/data
|
||||
/docs/EXPERIMENTAL_PUBLIC_TRANSPORT_SUPPORT.md @organicmaps/data
|
||||
# no owner (changed often to add a new POI)
|
||||
/generator/generator_tests/osm_type_test.cpp
|
||||
# Map Styles.
|
||||
/data/styles/ @organicmaps/styles
|
||||
/data/types.txt @organicmaps/styles
|
||||
/data/visibility.txt @organicmaps/styles
|
||||
/data/mapcss-mapping.csv @organicmaps/styles
|
||||
/data/replaced_tags.txt @organicmaps/styles
|
||||
/data/classificator.txt @organicmaps/styles
|
||||
/data/drules_* @organicmaps/styles
|
||||
/docs/STYLES.md
|
||||
/tools/kothic/ @organicmaps/styles
|
||||
# DevOps.
|
||||
/.github/workflows @organicmaps/devops
|
||||
/android/*gradle* @organicmaps/devops
|
||||
/docs/RELEASE_MANAGEMENT.md @organicmaps/devops
|
||||
/xcode/fastlane/ @organicmaps/devops
|
||||
# Growth.
|
||||
README.md @organicmaps/growth
|
||||
/.github/FUNDING.yml @organicmaps/growth
|
||||
/android/app/src/fdroid/play/ @organicmaps/growth
|
||||
/android/app/src/google/play/ @organicmaps/growth
|
||||
/iphone/metadata/ @organicmaps/growth
|
||||
# Legal.
|
||||
LEGAL @organicmaps/legal
|
||||
LICENSE @organicmaps/legal
|
||||
NOTICE @organicmaps/legal
|
||||
CONTRIBUTORS @organicmaps/legal
|
||||
/docs/CODE_OF_CONDUCT.md @organicmaps/legal
|
||||
/docs/DCO.md @organicmaps/legal
|
||||
/docs/GOVERNANCE.md @organicmaps/legal
|
||||
# Require legal approval for all new graphics
|
||||
android/app/src/main/res/drawable*/ @organicmaps/legal
|
||||
android/app/src/main/res/fonts/ @organicmaps/legal
|
||||
android/app/src/main/res/mipmap*/ @organicmaps/legal
|
||||
data/*.ttf @organicmaps/legal
|
||||
data/resources*/ @organicmaps/legal
|
||||
data/search-icons/ @organicmaps/legal
|
||||
data/styles/clear/style-*/ @organicmaps/legal
|
||||
iphone/Maps/Images.xcassets/ @organicmaps/legal
|
||||
|
|
27
.github/workflows/android-beta.yaml
vendored
27
.github/workflows/android-beta.yaml
vendored
|
@ -56,24 +56,19 @@ jobs:
|
|||
shell: bash
|
||||
run: git submodule update --depth 1 --init --recursive --jobs=$(($(nproc) * 20))
|
||||
|
||||
- name: Restore beta keys
|
||||
- name: Checkout private keys
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
repository: ${{ secrets.PRIVATE_REPO }}
|
||||
ssh-key: ${{ secrets.PRIVATE_SSH_KEY }}
|
||||
ref: master
|
||||
path: private.git
|
||||
|
||||
- name: Configure repo with private keys
|
||||
shell: bash
|
||||
run: |
|
||||
echo "$PRIVATE_H" | base64 -d > private.h
|
||||
echo "$FIREBASE_APP_DISTRIBUTION_JSON" | base64 -d > android/app/firebase-app-distribution.json
|
||||
echo "$GOOGLE_SERVICES_JSON" | base64 -d > android/app/google-services.json
|
||||
echo "$SECURE_PROPERTIES" | base64 -d > android/app/secure.properties
|
||||
echo "$RELEASE_KEYSTORE" | base64 -d > android/app/release.keystore
|
||||
env:
|
||||
PRIVATE_H: ${{ secrets.PRIVATE_H }}
|
||||
FIREBASE_APP_DISTRIBUTION_JSON: ${{ secrets.FIREBASE_APP_DISTRIBUTION_JSON }}
|
||||
GOOGLE_SERVICES_JSON: ${{ secrets.GOOGLE_SERVICES_JSON }}
|
||||
SECURE_PROPERTIES: ${{ secrets.SECURE_PROPERTIES }}
|
||||
RELEASE_KEYSTORE: ${{ secrets.RELEASE_KEYSTORE }}
|
||||
|
||||
- name: Configure repository
|
||||
shell: bash
|
||||
run: ./configure.sh
|
||||
./configure.sh ./private.git
|
||||
rm -rf ./private.git
|
||||
|
||||
- name: Compile
|
||||
shell: bash
|
||||
|
|
8
.github/workflows/android-check.yaml
vendored
8
.github/workflows/android-check.yaml
vendored
|
@ -51,7 +51,7 @@ jobs:
|
|||
shell: bash
|
||||
run: git submodule update --depth 1 --init --recursive --jobs=$(($(nproc) * 20))
|
||||
|
||||
- name: Configure repository
|
||||
- name: Configure in Open Source mode
|
||||
shell: bash
|
||||
run: ./configure.sh
|
||||
|
||||
|
@ -66,11 +66,11 @@ jobs:
|
|||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
flavor: [WebDebug, FdroidDebug]
|
||||
flavor: [WebDebug, FdroidBeta]
|
||||
include:
|
||||
- flavor: WebDebug
|
||||
arch: arm64
|
||||
- flavor: FdroidDebug
|
||||
- flavor: FdroidBeta
|
||||
arch: arm32
|
||||
# Cancels previous jobs if the same branch or PR was updated again.
|
||||
concurrency:
|
||||
|
@ -93,7 +93,7 @@ jobs:
|
|||
shell: bash
|
||||
run: git submodule update --depth 1 --init --recursive --jobs=$(($(nproc) * 20))
|
||||
|
||||
- name: Configure repository
|
||||
- name: Configure in Open Source mode
|
||||
shell: bash
|
||||
run: ./configure.sh
|
||||
|
||||
|
|
29
.github/workflows/android-monkey.yaml
vendored
29
.github/workflows/android-monkey.yaml
vendored
|
@ -56,26 +56,19 @@ jobs:
|
|||
shell: bash
|
||||
run: git submodule update --depth 1 --init --recursive --jobs=$(($(nproc) * 20))
|
||||
|
||||
- name: Restore beta keys
|
||||
- name: Checkout private keys
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
repository: ${{ secrets.PRIVATE_REPO }}
|
||||
ssh-key: ${{ secrets.PRIVATE_SSH_KEY }}
|
||||
ref: master
|
||||
path: private.git
|
||||
|
||||
- name: Configure repo with private keys
|
||||
shell: bash
|
||||
run: |
|
||||
echo "$PRIVATE_H" | base64 -d > private.h
|
||||
echo "$FIREBASE_TEST_LAB_JSON" | base64 -d > android/app/firebase-test-lab.json
|
||||
echo "$FIREBASE_APP_DISTRIBUTION_JSON" | base64 -d > android/app/firebase-app-distribution.json
|
||||
echo "$GOOGLE_SERVICES_JSON" | base64 -d > android/app/google-services.json
|
||||
echo "$SECURE_PROPERTIES" | base64 -d > android/app/secure.properties
|
||||
echo "$RELEASE_KEYSTORE" | base64 -d > android/app/release.keystore
|
||||
env:
|
||||
PRIVATE_H: ${{ secrets.PRIVATE_H }}
|
||||
FIREBASE_TEST_LAB_JSON: ${{ secrets.FIREBASE_TEST_LAB_JSON }}
|
||||
FIREBASE_APP_DISTRIBUTION_JSON: ${{ secrets.FIREBASE_APP_DISTRIBUTION_JSON }}
|
||||
GOOGLE_SERVICES_JSON: ${{ secrets.GOOGLE_SERVICES_JSON }}
|
||||
SECURE_PROPERTIES: ${{ secrets.SECURE_PROPERTIES }}
|
||||
RELEASE_KEYSTORE: ${{ secrets.RELEASE_KEYSTORE }}
|
||||
|
||||
- name: Configure repository
|
||||
shell: bash
|
||||
run: ./configure.sh
|
||||
./configure.sh ./private.git
|
||||
rm -rf ./private.git
|
||||
|
||||
- name: Compile
|
||||
shell: bash
|
||||
|
|
17
.github/workflows/android-release-metadata.yaml
vendored
17
.github/workflows/android-release-metadata.yaml
vendored
|
@ -26,14 +26,19 @@ jobs:
|
|||
ref: master
|
||||
path: screenshots
|
||||
|
||||
- name: Restore release keys
|
||||
- name: Checkout private keys
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
repository: ${{ secrets.PRIVATE_REPO }}
|
||||
ssh-key: ${{ secrets.PRIVATE_SSH_KEY }}
|
||||
ref: master
|
||||
path: private.git
|
||||
|
||||
- name: Configure repo with private keys
|
||||
shell: bash
|
||||
run: |
|
||||
echo "$PRIVATE_H" | base64 -d > private.h
|
||||
echo "$GOOGLE_PLAY_JSON" | base64 -d > android/app/google-play.json
|
||||
env:
|
||||
PRIVATE_H: ${{ secrets.PRIVATE_H }}
|
||||
GOOGLE_PLAY_JSON: ${{ secrets.GOOGLE_PLAY_JSON }}
|
||||
./configure.sh ./private.git
|
||||
rm -rf ./private.git
|
||||
|
||||
- name: Upload
|
||||
shell: bash
|
||||
|
|
31
.github/workflows/android-release.yaml
vendored
31
.github/workflows/android-release.yaml
vendored
|
@ -29,7 +29,7 @@ jobs:
|
|||
version=$(tools/unix/version.sh ios_version)
|
||||
# +1 because below a "Bump versions" commit is created.
|
||||
# TODO: Find a way to refactor FDroid versioning without that additional commit.
|
||||
build=$(($(tools/unix/version.sh count) + 1))
|
||||
build=$(($(tools/unix/version.sh ios_build) + 1))
|
||||
code=$(($(tools/unix/version.sh android_code) + 1))
|
||||
tag=$version-$build-android
|
||||
echo "::set-output name=version::$version"
|
||||
|
@ -100,26 +100,19 @@ jobs:
|
|||
ref: master
|
||||
path: screenshots
|
||||
|
||||
- name: Restore release keys
|
||||
- name: Checkout private keys
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
repository: ${{ secrets.PRIVATE_REPO }}
|
||||
ssh-key: ${{ secrets.PRIVATE_SSH_KEY }}
|
||||
ref: master
|
||||
path: private.git
|
||||
|
||||
- name: Configure repo with private keys
|
||||
shell: bash
|
||||
run: |
|
||||
echo "$PRIVATE_H" | base64 -d > private.h
|
||||
echo "$GOOGLE_PLAY_JSON" | base64 -d > android/app/google-play.json
|
||||
echo "$HUAWEI_APPGALLERY_JSON" | base64 -d > android/app/huawei-appgallery.json
|
||||
echo "$AGCONNECT_SERVICES_JSON" | base64 -d > android/app/agconnect-services.json
|
||||
echo "$SECURE_PROPERTIES" | base64 -d > android/app/secure.properties
|
||||
echo "$RELEASE_KEYSTORE" | base64 -d > android/app/release.keystore
|
||||
env:
|
||||
PRIVATE_H: ${{ secrets.PRIVATE_H }}
|
||||
GOOGLE_PLAY_JSON: ${{ secrets.GOOGLE_PLAY_JSON }}
|
||||
HUAWEI_APPGALLERY_JSON: ${{ secrets.HUAWEI_APPGALLERY_JSON }}
|
||||
AGCONNECT_SERVICES_JSON: ${{ secrets.AGCONNECT_SERVICES_JSON }}
|
||||
SECURE_PROPERTIES: ${{ secrets.SECURE_PROPERTIES }}
|
||||
RELEASE_KEYSTORE: ${{ secrets.RELEASE_KEYSTORE }}
|
||||
|
||||
- name: Configure repository
|
||||
shell: bash
|
||||
run: ./configure.sh
|
||||
./configure.sh ./private.git
|
||||
rm -rf ./private.git
|
||||
|
||||
- name: Set up SDK
|
||||
shell: bash
|
||||
|
|
2
.github/workflows/coverage-check.yaml
vendored
2
.github/workflows/coverage-check.yaml
vendored
|
@ -94,7 +94,7 @@ jobs:
|
|||
llvm \
|
||||
gcovr
|
||||
|
||||
- name: Configure repository
|
||||
- name: Configure
|
||||
shell: bash
|
||||
run: ./configure.sh
|
||||
|
||||
|
|
27
.github/workflows/ios-beta.yaml
vendored
27
.github/workflows/ios-beta.yaml
vendored
|
@ -52,23 +52,18 @@ jobs:
|
|||
- name: Parallel submodules checkout
|
||||
run: git submodule update --depth 1 --init --recursive --jobs=$(($(sysctl -n hw.logicalcpu) * 20))
|
||||
|
||||
- name: Restore beta keys
|
||||
shell: bash
|
||||
run: |
|
||||
mkdir -p xcode/keys
|
||||
echo "$PRIVATE_H" | base64 -d > private.h
|
||||
echo "$APPSTORE_JSON" | base64 -d > xcode/keys/appstore.json
|
||||
echo "$CERTIFICATES_DEV_P12" | base64 -d > xcode/keys/CertificatesDev.p12
|
||||
echo "$CERTIFICATES_DISTR_P12" | base64 -d > xcode/keys/CertificatesDistr.p12
|
||||
env:
|
||||
PRIVATE_H: ${{ secrets.PRIVATE_H }}
|
||||
APPSTORE_JSON: ${{ secrets.APPSTORE_JSON }}
|
||||
CERTIFICATES_DEV_P12: ${{ secrets.CERTIFICATES_DEV_P12 }}
|
||||
CERTIFICATES_DISTR_P12: ${{ secrets.CERTIFICATES_DISTR_P12 }}
|
||||
- name: Checkout private keys
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
repository: ${{ secrets.PRIVATE_REPO }}
|
||||
ssh-key: ${{ secrets.PRIVATE_SSH_KEY }}
|
||||
ref: master
|
||||
path: private.git
|
||||
|
||||
- name: Configure repository
|
||||
shell: bash
|
||||
run: ./configure.sh
|
||||
- name: Configure repo with private keys
|
||||
run: |
|
||||
./configure.sh ./private.git
|
||||
rm -rf ./private.git
|
||||
|
||||
- name: Compile and upload to TestFlight
|
||||
run: |
|
||||
|
|
2
.github/workflows/ios-check.yaml
vendored
2
.github/workflows/ios-check.yaml
vendored
|
@ -59,7 +59,7 @@ jobs:
|
|||
shell: bash
|
||||
run: git submodule update --depth 1 --init --recursive --jobs=$(($(sysctl -n hw.logicalcpu) * 20))
|
||||
|
||||
- name: Configure repository
|
||||
- name: Configure
|
||||
shell: bash
|
||||
run: ./configure.sh
|
||||
|
||||
|
|
17
.github/workflows/ios-release.yaml
vendored
17
.github/workflows/ios-release.yaml
vendored
|
@ -16,13 +16,20 @@ jobs:
|
|||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Restore release keys
|
||||
- name: Checkout private keys
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
repository: ${{ secrets.PRIVATE_REPO }}
|
||||
ssh-key: ${{ secrets.PRIVATE_SSH_KEY }}
|
||||
ref: master
|
||||
path: ./private.git
|
||||
|
||||
- name: Configure repo with private keys
|
||||
shell: bash
|
||||
run: |
|
||||
mkdir -p xcode/keys
|
||||
echo "$APPSTORE_JSON" | base64 -d > xcode/keys/appstore.json
|
||||
env:
|
||||
APPSTORE_JSON: ${{ secrets.APPSTORE_JSON }}
|
||||
mkdir -p xcode/keys/
|
||||
cp -p ./private.git/xcode/keys/appstore.json xcode/keys/
|
||||
rm -rf ./private.git
|
||||
|
||||
- name: Checkout screenshots
|
||||
uses: actions/checkout@v4
|
||||
|
|
12
.github/workflows/linux-check.yaml
vendored
12
.github/workflows/linux-check.yaml
vendored
|
@ -61,17 +61,13 @@ jobs:
|
|||
libgl1-mesa-dev \
|
||||
libglvnd-dev \
|
||||
libharfbuzz-dev \
|
||||
libxrandr-dev \
|
||||
libxinerama-dev \
|
||||
libxcursor-dev \
|
||||
libxi-dev \
|
||||
qt6-base-dev \
|
||||
libqt6svg6-dev \
|
||||
qt6-positioning-dev \
|
||||
libqt6positioning6-plugins \
|
||||
libqt6positioning6
|
||||
|
||||
- name: Configure repository
|
||||
- name: Configure
|
||||
shell: bash
|
||||
run: ./configure.sh
|
||||
|
||||
|
@ -132,17 +128,13 @@ jobs:
|
|||
libgl1-mesa-dev \
|
||||
libglvnd-dev \
|
||||
libharfbuzz-dev \
|
||||
libxrandr-dev \
|
||||
libxinerama-dev \
|
||||
libxcursor-dev \
|
||||
libxi-dev \
|
||||
qt6-base-dev \
|
||||
libqt6svg6-dev \
|
||||
qt6-positioning-dev \
|
||||
libqt6positioning6-plugins \
|
||||
libqt6positioning6
|
||||
|
||||
- name: Configure repository
|
||||
- name: Configure
|
||||
shell: bash
|
||||
run: ./configure.sh
|
||||
|
||||
|
|
2
.github/workflows/macos-check.yaml
vendored
2
.github/workflows/macos-check.yaml
vendored
|
@ -57,7 +57,7 @@ jobs:
|
|||
run: |
|
||||
HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=1 brew install ninja qt@6
|
||||
|
||||
- name: Configure repository
|
||||
- name: Configure
|
||||
shell: bash
|
||||
run: ./configure.sh
|
||||
|
||||
|
|
22
.github/workflows/stale.yml
vendored
22
.github/workflows/stale.yml
vendored
|
@ -1,22 +0,0 @@
|
|||
name: Close stale PRs
|
||||
on:
|
||||
schedule:
|
||||
- cron: "0 0 * * *" # Runs every day at midnight
|
||||
|
||||
jobs:
|
||||
stale:
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
pull-requests: write
|
||||
steps:
|
||||
- uses: actions/stale@v9
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
days-before-pr-stale: 180 # 6 months before warning
|
||||
days-before-pr-close: 365 # Closed after 12 months
|
||||
stale-pr-label: "stale"
|
||||
stale-pr-message: "Hi! This PR has been inactive for 6 months. If it's still relevant, please update it to let us know you’d like to keep it open 😊"
|
||||
close-pr-message: "This PR has been automatically closed after 12 months of inactivity."
|
||||
days-before-issue-stale: -1 # Issues are never stale
|
||||
days-before-issue-close: -1 # Issues are never closed
|
||||
remove-stale-when-updated: true
|
31
.github/workflows/strings-check.yaml
vendored
Normal file
31
.github/workflows/strings-check.yaml
vendored
Normal file
|
@ -0,0 +1,31 @@
|
|||
name: Validate translation strings
|
||||
on:
|
||||
workflow_dispatch: # Manual trigger
|
||||
pull_request:
|
||||
paths:
|
||||
- .github/workflows/strings-check.yaml # Run check on self change
|
||||
- data/strings/strings.txt
|
||||
- data/strings/types_strings.txt
|
||||
- data/strings/sound.txt
|
||||
- data/countries_names.txt
|
||||
- iphone/plist.txt
|
||||
- tools/python/strings_utils.py
|
||||
|
||||
jobs:
|
||||
validate-translation-strings:
|
||||
name: Validate translation strings
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: '3'
|
||||
|
||||
- name: Validate string files
|
||||
shell: bash
|
||||
run: |
|
||||
for f in data/strings/strings.txt data/strings/types_strings.txt data/strings/sound.txt data/countries_names.txt iphone/plist.txt; do
|
||||
./tools/python/strings_utils.py --validate $f -o
|
||||
done;
|
||||
git diff --exit-code
|
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -20,7 +20,6 @@ data/drules_proto_default_design.bin
|
|||
data/colors_design.txt
|
||||
data/patterns_design.txt
|
||||
data/bookmarks
|
||||
data/edits.xml
|
||||
|
||||
# Compiled Python
|
||||
*.pyc
|
||||
|
|
12
.gitmodules
vendored
12
.gitmodules
vendored
|
@ -7,6 +7,9 @@
|
|||
[submodule "3party/protobuf/protobuf"]
|
||||
path = 3party/protobuf/protobuf
|
||||
url = https://github.com/organicmaps/protobuf.git
|
||||
[submodule "tools/twine"]
|
||||
path = tools/twine
|
||||
url = https://github.com/organicmaps/twine.git
|
||||
[submodule "3party/Vulkan-Headers"]
|
||||
path = 3party/Vulkan-Headers
|
||||
url = https://github.com/KhronosGroup/Vulkan-Headers.git
|
||||
|
@ -56,12 +59,3 @@
|
|||
[submodule "3party/utfcpp"]
|
||||
path = 3party/utfcpp
|
||||
url = https://github.com/nemtrif/utfcpp.git
|
||||
[submodule "3party/glfw"]
|
||||
path = 3party/glfw
|
||||
url = https://github.com/glfw/glfw.git
|
||||
[submodule "3party/CMake-MetalShaderSupport"]
|
||||
path = 3party/CMake-MetalShaderSupport
|
||||
url = https://github.com/dpogue/CMake-MetalShaderSupport.git
|
||||
[submodule "3party/imgui/imgui"]
|
||||
path = 3party/imgui/imgui
|
||||
url = https://github.com/ocornut/imgui
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
Subproject commit 989857d2e5e54869c35ad06fb21a67d12a2dbc67
|
|
@ -22,6 +22,7 @@ if (NOT WITH_SYSTEM_PROVIDED_3PARTY)
|
|||
set(EXPAT_DTD OFF)
|
||||
set(EXPAT_NS ON)
|
||||
add_subdirectory(expat/expat)
|
||||
add_library(expat::expat ALIAS expat)
|
||||
|
||||
# Configure Jansson library.
|
||||
set(JANSSON_BUILD_DOCS OFF)
|
||||
|
@ -66,19 +67,4 @@ add_subdirectory(vulkan_wrapper)
|
|||
|
||||
if (PLATFORM_DESKTOP)
|
||||
add_subdirectory(libtess2)
|
||||
|
||||
set(GLFW_BUILD_DOCS OFF CACHE BOOL "")
|
||||
set(GLFW_BUILD_EXAMPLES OFF CACHE BOOL "")
|
||||
set(GLFW_BUILD_TESTS OFF CACHE BOOL "")
|
||||
set(GLFW_INSTALL OFF CACHE BOOL "")
|
||||
set(GLFW_VULKAN_STATIC OFF CACHE BOOL "")
|
||||
set(GLFW_BUILD_WAYLAND OFF CACHE BOOL "")
|
||||
# Disable ARC for glfw and re-enable after it because it's globally set in the root CMakeLists.txt
|
||||
set(CMAKE_OBJC_FLAGS "")
|
||||
add_subdirectory(glfw)
|
||||
set_target_properties(glfw PROPERTIES UNITY_BUILD OFF)
|
||||
set_target_properties(glfw PROPERTIES XCODE_ATTRIBUTE_CLANG_ENABLE_OBJC_ARC NO)
|
||||
set(CMAKE_OBJC_FLAGS -fobjc-arc)
|
||||
|
||||
add_subdirectory(imgui)
|
||||
endif()
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit a0dc7d5efacbe2b744211289c276e2b9168bd4ae
|
||||
Subproject commit 6b3f93c6caa0308455beeced0268cfae04df3584
|
|
@ -1 +0,0 @@
|
|||
Subproject commit 21fea01161e0d6b70c0c5c1f52dc8e7a7df14a50
|
|
@ -1,16 +0,0 @@
|
|||
project(imgui)
|
||||
|
||||
set(SRC
|
||||
imgui/imgui_draw.cpp
|
||||
imgui/imgui_tables.cpp
|
||||
imgui/imgui_widgets.cpp
|
||||
imgui/imgui.cpp
|
||||
imgui/backends/imgui_impl_glfw.cpp
|
||||
)
|
||||
|
||||
add_library(${PROJECT_NAME} ${SRC})
|
||||
target_include_directories(${PROJECT_NAME}
|
||||
PRIVATE ${OMIM_ROOT}/3party/glfw/include
|
||||
PUBLIC ${OMIM_ROOT}/3party/imgui/imgui
|
||||
PUBLIC .
|
||||
)
|
|
@ -1 +0,0 @@
|
|||
Subproject commit 6982ce43f5b143c5dce5fab0ce07dd4867b705ae
|
|
@ -17,9 +17,6 @@ endif()
|
|||
|
||||
target_include_directories(${PROJECT_NAME} PUBLIC .)
|
||||
|
||||
if (PLATFORM_LINUX)
|
||||
target_compile_definitions(${PROJECT_NAME} PRIVATE VK_USE_PLATFORM_XLIB_KHR)
|
||||
endif()
|
||||
|
||||
# dlopen
|
||||
target_link_libraries(${PROJECT_NAME} $<$<BOOL:CMAKE_DL_LIBS>:${CMAKE_DL_LIBS}>)
|
||||
|
|
|
@ -22,20 +22,7 @@ extern "C" {
|
|||
#include <dlfcn.h>
|
||||
|
||||
int InitVulkan(void) {
|
||||
#if defined(__APPLE__)
|
||||
void* libvulkan = dlopen("libvulkan.dylib", RTLD_NOW | RTLD_LOCAL);
|
||||
if (!libvulkan) {
|
||||
libvulkan = dlopen("libvulkan.1.dylib", RTLD_NOW | RTLD_LOCAL);
|
||||
}
|
||||
if (!libvulkan) {
|
||||
libvulkan = dlopen("libMoltenVK.dylib", RTLD_NOW | RTLD_LOCAL);
|
||||
}
|
||||
#else
|
||||
void* libvulkan = dlopen("libvulkan.so.1", RTLD_NOW | RTLD_LOCAL);
|
||||
if (!libvulkan) {
|
||||
libvulkan = dlopen("libvulkan.so", RTLD_NOW | RTLD_LOCAL);
|
||||
}
|
||||
#endif
|
||||
void* libvulkan = dlopen("libvulkan.so", RTLD_NOW | RTLD_LOCAL);
|
||||
if (!libvulkan) return 0;
|
||||
|
||||
// Vulkan supported, set function addresses
|
||||
|
@ -558,10 +545,6 @@ int InitVulkan(void) {
|
|||
vkDestroyDebugReportCallbackEXT = reinterpret_cast<PFN_vkDestroyDebugReportCallbackEXT>(dlsym(libvulkan, "vkDestroyDebugReportCallbackEXT"));
|
||||
vkDebugReportMessageEXT = reinterpret_cast<PFN_vkDebugReportMessageEXT>(dlsym(libvulkan, "vkDebugReportMessageEXT"));
|
||||
|
||||
#if defined(__APPLE__)
|
||||
vkCreateMacOSSurfaceMVK = reinterpret_cast<PFN_vkCreateMacOSSurfaceMVK>(dlsym(libvulkan, "vkCreateMacOSSurfaceMVK"));
|
||||
#endif
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
@ -1154,10 +1137,6 @@ PFN_vkCmdDecodeVideoKHR vkCmdDecodeVideoKHR;
|
|||
PFN_vkCmdEncodeVideoKHR vkCmdEncodeVideoKHR;
|
||||
#endif
|
||||
|
||||
#if defined(__APPLE__)
|
||||
PFN_vkCreateMacOSSurfaceMVK vkCreateMacOSSurfaceMVK;
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -25,10 +25,6 @@ extern "C" {
|
|||
#define VK_USE_PLATFORM_ANDROID_KHR 1
|
||||
#include <vulkan/vulkan.h>
|
||||
|
||||
#if defined(__APPLE__)
|
||||
#include <vulkan/vulkan_macos.h>
|
||||
#endif
|
||||
|
||||
/* Initialize the Vulkan function pointer variables declared in this header.
|
||||
* Returns 0 if vulkan is not available, non-zero if it is available.
|
||||
*/
|
||||
|
@ -504,10 +500,6 @@ extern PFN_vkCreateDebugReportCallbackEXT vkCreateDebugReportCallbackEXT;
|
|||
extern PFN_vkDestroyDebugReportCallbackEXT vkDestroyDebugReportCallbackEXT;
|
||||
extern PFN_vkDebugReportMessageEXT vkDebugReportMessageEXT;
|
||||
|
||||
#if defined(__APPLE__)
|
||||
extern PFN_vkCreateMacOSSurfaceMVK vkCreateMacOSSurfaceMVK;
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
cmake_minimum_required(VERSION 3.22.1)
|
||||
cmake_minimum_required(VERSION 3.18)
|
||||
project(omim C CXX)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 20)
|
||||
|
@ -90,19 +90,6 @@ else()
|
|||
message(FATAL_ERROR "Unsupported platform: ${CMAKE_SYSTEM_NAME}")
|
||||
endif()
|
||||
|
||||
if(${PLATFORM_MAC})
|
||||
set(XCODE_ATTRIBUTE_CLANG_ENABLE_OBJC_ARC YES)
|
||||
|
||||
# Metal language support
|
||||
list(APPEND CMAKE_MODULE_PATH ${OMIM_ROOT}/3party/CMake-MetalShaderSupport/cmake)
|
||||
include(CheckLanguage)
|
||||
include(MetalShaderSupport)
|
||||
check_language(Metal)
|
||||
if(CMAKE_Metal_COMPILER)
|
||||
enable_language(Metal)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Sanitizer
|
||||
if (PLATFORM_DESKTOP)
|
||||
# https://clang.llvm.org/docs/UsersManual.html#controlling-code-generation
|
||||
|
@ -278,6 +265,16 @@ find_package(Threads REQUIRED)
|
|||
|
||||
# Scripts
|
||||
|
||||
if (NOT CMAKE_HOST_WIN32)
|
||||
execute_process(
|
||||
COMMAND "${OMIM_ROOT}/tools/unix/check_cert.sh"
|
||||
RESULT_VARIABLE CheckCertResult
|
||||
)
|
||||
if (CheckCertResult)
|
||||
message(FATAL_ERROR "Certificate check failed")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (NOT PLATFORM_IPHONE AND NOT PLATFORM_ANDROID)
|
||||
list(APPEND qt_components Core Network)
|
||||
if (NOT SKIP_QT_GUI OR NOT SKIP_TESTS OR PYBINDINGS)
|
||||
|
@ -397,7 +394,6 @@ if (PLATFORM_DESKTOP)
|
|||
add_subdirectory(qt)
|
||||
omim_add_tool_subdirectory(skin_generator)
|
||||
endif()
|
||||
add_subdirectory(dev_sandbox)
|
||||
endif()
|
||||
|
||||
omim_add_test_subdirectory(qt_tstfrm)
|
||||
|
|
98
CONTRIBUTORS
98
CONTRIBUTORS
|
@ -1,73 +1,35 @@
|
|||
This file contains a list of people who have contributed to this project.
|
||||
Its not neccesarily comprehensive.
|
||||
Feel free to add yourself here along with your first contribution!
|
||||
This file contains a list of people who have contributed to the
|
||||
public version of MAPS.ME and Organic Maps.
|
||||
|
||||
Original MAPS.ME (MapsWithMe) design and implementation:
|
||||
Yury Melnichek <yury@melnichek.com>
|
||||
Alexander Borsuk <me@alex.bio>
|
||||
Viktor Govako <viktor.govako@gmail.com>
|
||||
Siarhei Rachytski <siarhei.rachytski@gmail.com>
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
Organic Maps (formerly OMaps) contributors:
|
||||
(in alphabetic order)
|
||||
Organic Maps contributions:
|
||||
--------------------------------------------------------------------------------
|
||||
Alexander Borsuk <me@alex.bio>
|
||||
Roman Tsisyk <roman@tsisyk.com>
|
||||
Viktor Govako <viktor.govako@gmail.com>
|
||||
Caspar Nuël <casparnuel@yandex.com>
|
||||
Konstantin Pastbin
|
||||
Nishant Bhandari <nishantbhandari0019@gmail.com>
|
||||
Sebastiao Sousa <sebastiao.sousa@tecnico.ulisboa.pt>
|
||||
Harry Bond <me@hbond.xyz>
|
||||
|
||||
Organic Maps translations:
|
||||
Karina Kordon
|
||||
Konstantin Pastbin
|
||||
Metehan Özyürek
|
||||
Joan Montané
|
||||
Luna Rose
|
||||
|
||||
Alexander Borsuk <me@alex.bio>
|
||||
Alexey Krasilnikov
|
||||
Andrew Shkrob
|
||||
Anton Makouski
|
||||
Arnaud Vergnet
|
||||
Arthur-GYT
|
||||
Atemu
|
||||
Caspar Nuël <casparnuel@yandex.com>
|
||||
cyber-toad
|
||||
David Martinez
|
||||
dbf
|
||||
Dzmitry Strekha
|
||||
Dzmitry Yarmolenka
|
||||
Fabian Wüthrich
|
||||
Ferenc Géczi
|
||||
Filip Czaplicki
|
||||
FinixFighter
|
||||
fparri
|
||||
Francesco Gazzetta
|
||||
gallegonovato
|
||||
Gonzalo Pesquero
|
||||
Harry Bond <me@hbond.xyz>
|
||||
Jaime Marquinez Ferrandiz
|
||||
Jean-Baptiste Charron
|
||||
Jenny Em
|
||||
Joan Montané
|
||||
Karina Kordon
|
||||
Kavi Khalique
|
||||
Kiryl Kaveryn
|
||||
Kiryl Razhdzestvenski
|
||||
Konstantin Pastbin
|
||||
Loïc Hernaut
|
||||
Lukas Hamm
|
||||
Lukas Kronberger
|
||||
Luna Rose
|
||||
map-per
|
||||
Markku Huotari
|
||||
Mateusz Konieczny
|
||||
Matheus Gomes
|
||||
MbTy1
|
||||
Meenbeese
|
||||
Metehan Özyürek
|
||||
Michał Brzozowski
|
||||
Nishant Bhandari <nishantbhandari0019@gmail.com>
|
||||
Ognjen Blagojevic
|
||||
Osyotr
|
||||
renderexpert
|
||||
Roman Kuznetsov
|
||||
Roman Tsisyk <roman@tsisyk.com>
|
||||
Rudo Kemper
|
||||
Sebastiao Sousa <sebastiao.sousa@tecnico.ulisboa.pt>
|
||||
Sergiy Kozyr
|
||||
Tobias G. <tobi.goergens@gmail.com>
|
||||
Veniamin Gvozdikov <g.veniamin@googlemail.com>
|
||||
Viktor Govako <viktor.govako@gmail.com>
|
||||
Will Bradley
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
MAPS.ME at Mail.Ru Group (prior to the Organic Maps (OMaps) fork in 2020/2021):
|
||||
MAPS.ME contributions (before Organic Maps was forked in 2020-2021):
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
Code contributions:
|
||||
Dmitry Yunitski
|
||||
Lev Dragunov
|
||||
|
@ -138,13 +100,3 @@ Special thanks to:
|
|||
Yuri Gurski
|
||||
Dmitry Matveev
|
||||
Anna Yakovleva
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
MAPS.ME (originally MapsWithMe) design and implementation at MapsWithMe GmbH
|
||||
(from 2010 till the acquisition by Mail.ru Group in 2014):
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
Yury Melnichek <yury@melnichek.com>
|
||||
Alexander Borsuk <me@alex.bio>
|
||||
Viktor Govako <viktor.govako@gmail.com>
|
||||
Siarhei Rachytski <siarhei.rachytski@gmail.com>
|
||||
|
|
9
LEGAL
9
LEGAL
|
@ -1,9 +0,0 @@
|
|||
Certain project resources, including but not limited to domain names, trademarks, hosting accounts, payment accounts, and others, are overseen and managed by Organic Maps OÜ. The governance of these digital assets is subject to policies established by Organic Maps OÜ, in compliance with applicable statutory laws.
|
||||
|
||||
Organic Maps OÜ is a legal entity established on 2021-05-01 under the laws of the Republic of Estonia and the European Union, with registration number 16225385. The primary purpose of the entity is to shield the project's members from personal liability and to ensure the legal protection of the project's assets. Official up-to-date information about the entity can be found in the Estonian Business Register:
|
||||
|
||||
https://ariregister.rik.ee/eng/company/16225385/Organic-Maps-O%C3%9C
|
||||
|
||||
Organic Maps OÜ does not require contributors to transfer copyright ownership and does not retain any copyright over the code contributed to the repository. See the NOTICE file and docs/DCO.md for additional information.
|
||||
|
||||
For any legal inquiries, feel free to contact legal@organicmaps.app.
|
15
README.md
15
README.md
|
@ -1,7 +1,6 @@
|
|||
<div align="center">
|
||||
<img src="qt/res/logo.png" height="100"/>
|
||||
</div>
|
||||
<h1 align="center"">Organic Maps</h1>
|
||||
# Organic Maps
|
||||
|
||||
<a name="install"/>
|
||||
|
||||
[Organic Maps](https://organicmaps.app) is a free Android & iOS offline maps app for travellers, tourists, drivers, hikers, and cyclists.
|
||||
It uses crowd-sourced [OpenStreetMap](https://www.openstreetmap.org) data and is developed with love by the creators of **MapsWithMe** (later renamed to **Maps.Me**) and by our community.
|
||||
|
@ -115,14 +114,6 @@ Beloved institutional sponsors below have provided targeted grants to cover some
|
|||
<a href="https://www.mythic-beasts.com/">Mythic Beasts</a> ISP <a href="https://www.mythic-beasts.com/blog/2021/10/06/improving-the-world-bit-by-expensive-bit/">provides us</a> two virtual servers with 400 TB/month of free bandwidth to host and serve maps downloads and updates.
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="https://44plus.vn"><img src="docs/sponsors/44plus.svg" alt="44+ Technologies" width="200px"></a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="https://44plus.vn">44+ Technologies</a> is <a href="https://44plus.vn/organicmaps">providing us </a>with a free dedicated server worth around $12,000/year to serve maps across Vietnam & Southeast Asia.
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="https://futo.org"><img src="docs/sponsors/futo.svg" alt="FUTO" width="200px"></a>
|
||||
|
|
|
@ -22,7 +22,7 @@ buildscript {
|
|||
googleFirebaseServicesDefault
|
||||
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:8.7.3'
|
||||
classpath 'com.android.tools.build:gradle:8.7.2'
|
||||
|
||||
if (googleFirebaseServicesEnabled) {
|
||||
println('Building with Google Firebase Services')
|
||||
|
@ -45,6 +45,7 @@ repositories {
|
|||
}
|
||||
|
||||
apply plugin: 'com.android.application'
|
||||
apply from: 'secure.properties'
|
||||
if (googleFirebaseServicesEnabled) {
|
||||
apply plugin: 'com.google.gms.google-services'
|
||||
apply plugin: 'com.google.firebase.crashlytics'
|
||||
|
@ -100,7 +101,7 @@ android {
|
|||
// All properties are read from gradle.properties file
|
||||
compileSdk propCompileSdkVersion.toInteger()
|
||||
|
||||
ndkVersion '27.2.12479018'
|
||||
ndkVersion '27.1.12297006'
|
||||
|
||||
defaultConfig {
|
||||
// Default package name is taken from the manifest and should be app.organicmaps
|
||||
|
@ -246,11 +247,6 @@ android {
|
|||
}
|
||||
}
|
||||
|
||||
def securityPropertiesFileExists = file('secure.properties').exists()
|
||||
if (securityPropertiesFileExists) {
|
||||
apply from: 'secure.properties'
|
||||
}
|
||||
|
||||
signingConfigs {
|
||||
debug {
|
||||
storeFile file('debug.keystore')
|
||||
|
@ -260,15 +256,10 @@ android {
|
|||
}
|
||||
|
||||
release {
|
||||
if (securityPropertiesFileExists) {
|
||||
println('The release signing keys are available')
|
||||
storeFile file(spropStoreFile)
|
||||
storePassword spropStorePassword
|
||||
keyAlias spropKeyAlias
|
||||
keyPassword spropKeyPassword
|
||||
} else {
|
||||
println('The release signing keys are unavailable')
|
||||
}
|
||||
storeFile file(spropStoreFile)
|
||||
storePassword spropStorePassword
|
||||
keyAlias spropKeyAlias
|
||||
keyPassword spropKeyPassword
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -341,7 +332,7 @@ android {
|
|||
|
||||
externalNativeBuild {
|
||||
cmake {
|
||||
version '3.22.1+'
|
||||
version '3.30.3+'
|
||||
buildStagingDirectory './nativeOutputs'
|
||||
path '../../CMakeLists.txt'
|
||||
}
|
||||
|
@ -363,7 +354,7 @@ android {
|
|||
}
|
||||
|
||||
dependencies {
|
||||
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.1.4'
|
||||
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.1.3'
|
||||
|
||||
// Google Play Location Services
|
||||
//
|
||||
|
@ -379,7 +370,7 @@ dependencies {
|
|||
huaweiImplementation 'com.google.android.gms:play-services-location:21.3.0'
|
||||
// This is the microG project's re-implementation which is permissible on
|
||||
// F-droid because it's Apache-2.0.
|
||||
fdroidImplementation 'org.microg.gms:play-services-location:0.3.6.244735'
|
||||
fdroidImplementation 'org.microg.gms:play-services-location:0.3.4.240913'
|
||||
|
||||
// Google Firebase Services
|
||||
if (googleFirebaseServicesEnabled) {
|
||||
|
@ -396,11 +387,11 @@ dependencies {
|
|||
// We don't use Kotlin, but some dependencies are actively using it.
|
||||
// See https://stackoverflow.com/a/75719642
|
||||
implementation 'androidx.core:core:1.15.0'
|
||||
implementation(platform('org.jetbrains.kotlin:kotlin-bom:2.1.10'))
|
||||
implementation(platform('org.jetbrains.kotlin:kotlin-bom:2.0.21'))
|
||||
implementation 'androidx.annotation:annotation:1.9.1'
|
||||
implementation 'androidx.appcompat:appcompat:1.7.0'
|
||||
implementation 'androidx.car.app:app:1.7.0-rc01'
|
||||
implementation 'androidx.car.app:app-projected:1.7.0-rc01'
|
||||
implementation 'androidx.car.app:app:1.7.0-beta02'
|
||||
implementation 'androidx.car.app:app-projected:1.7.0-beta02'
|
||||
implementation 'androidx.constraintlayout:constraintlayout:2.2.0'
|
||||
implementation 'androidx.fragment:fragment:1.8.5'
|
||||
implementation 'androidx.preference:preference:1.2.1'
|
||||
|
@ -417,7 +408,7 @@ dependencies {
|
|||
// Test Dependencies
|
||||
androidTestImplementation 'androidx.test.ext:junit:1.2.1'
|
||||
testImplementation 'junit:junit:4.13.2'
|
||||
testImplementation 'org.mockito:mockito-core:5.15.2'
|
||||
testImplementation 'org.mockito:mockito-core:5.12.0'
|
||||
testImplementation 'org.mockito:mockito-inline:5.2.0'
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,28 @@
|
|||
package app.organicmaps;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import androidx.test.platform.app.InstrumentationRegistry;
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
/**
|
||||
* Instrumented test, which will execute on an Android device.
|
||||
*
|
||||
* @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
|
||||
*/
|
||||
@RunWith(AndroidJUnit4.class)
|
||||
public class ExampleInstrumentedTest
|
||||
{
|
||||
@Test
|
||||
public void useAppContext()
|
||||
{
|
||||
// Context of the app under test.
|
||||
Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext();
|
||||
assertEquals("app.organicmaps", appContext.getPackageName());
|
||||
}
|
||||
}
|
|
@ -1,8 +1,5 @@
|
|||
• New OpenStreetMap data as of January 21
|
||||
• Dispay a speed limit sign in the navigation mode
|
||||
• Added Serbian (Cyrillic) and Latvian languages
|
||||
• Android Auto: sort bookmarks, improved location permission request experience
|
||||
• Added tower POIs
|
||||
• Added a setting for Kayak.com Hotel Links and a first-use opt-out option
|
||||
|
||||
…more details at omaps.org/news
|
||||
• New OpenStreetMap data as of November 22
|
||||
• Highlight matched part of the address in search results
|
||||
• Sort search history by last usage time
|
||||
• Fixed start-up crashes for some older devices with Mali-T GPUs
|
||||
• Other search improvements, translation updates & bug fixes
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
• New OpenStreetMap data as of January 21
|
||||
• Dispay a speed limit sign in the navigation mode
|
||||
• Added Serbian (Cyrillic) and Latvian languages
|
||||
• Android Auto: sort bookmarks, improved location permission request experience
|
||||
• Added tower POIs
|
||||
• Added a setting for Kayak.com Hotel Links and a first-use opt-out option
|
||||
|
||||
…more details at omaps.org/news
|
||||
• New OpenStreetMap data as of November 22
|
||||
• Highlight matched part of the address in search results
|
||||
• Sort search history by last usage time
|
||||
• Fixed start-up crashes for some older devices with Mali-T GPUs
|
||||
• Other search improvements, translation updates & bug fixes
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
• Новыя дадзеныя OpenStreetMap ад 21 студзеня
|
||||
• Адлюстраванне абмежавання хуткасці ў рэжыме навігацыі
|
||||
• Android Auto: сартаванне метак, палепшаны запыты на дазвол месцазнаходжання
|
||||
• На карту дададзены вежы
|
||||
• Дададзена настройка для адключэння спасылак на гатэлі з Kayak.com і магчымасць адмовы пры першым выкарыстанні
|
||||
• Дададзены сербская (кірыліца) і латышская мовы
|
||||
|
||||
…і шматлікае іншае на omaps.org/news
|
||||
• New OpenStreetMap data as of November 22
|
||||
• Highlight matched part of the address in search results
|
||||
• Sort search history by last usage time
|
||||
• Fixed start-up crashes for some older devices with Mali-T GPUs
|
||||
• Other search improvements, translation updates & bug fixes
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
• New OpenStreetMap data as of January 21
|
||||
• Dispay a speed limit sign in the navigation mode
|
||||
• Added Serbian (Cyrillic) and Latvian languages
|
||||
• Android Auto: sort bookmarks, improved location permission request experience
|
||||
• Added tower POIs
|
||||
• Added a setting for Kayak.com Hotel Links and a first-use opt-out option
|
||||
|
||||
…more details at omaps.org/news
|
||||
• New OpenStreetMap data as of November 22
|
||||
• Highlight matched part of the address in search results
|
||||
• Sort search history by last usage time
|
||||
• Fixed start-up crashes for some older devices with Mali-T GPUs
|
||||
• Other search improvements, translation updates & bug fixes
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
• New OpenStreetMap data as of January 21
|
||||
• Dispay a speed limit sign in the navigation mode
|
||||
• Added Serbian (Cyrillic) and Latvian languages
|
||||
• Android Auto: sort bookmarks, improved location permission request experience
|
||||
• Added tower POIs
|
||||
• Added a setting for Kayak.com Hotel Links and a first-use opt-out option
|
||||
|
||||
…more details at omaps.org/news
|
||||
• New OpenStreetMap data as of November 22
|
||||
• Highlight matched part of the address in search results
|
||||
• Sort search history by last usage time
|
||||
• Fixed start-up crashes for some older devices with Mali-T GPUs
|
||||
• Other search improvements, translation updates & bug fixes
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
• New OpenStreetMap data as of January 21
|
||||
• Dispay a speed limit sign in the navigation mode
|
||||
• Added Serbian (Cyrillic) and Latvian languages
|
||||
• Android Auto: sort bookmarks, improved location permission request experience
|
||||
• Added tower POIs
|
||||
• Added a setting for Kayak.com Hotel Links and a first-use opt-out option
|
||||
|
||||
…more details at omaps.org/news
|
||||
• New OpenStreetMap data as of November 22
|
||||
• Highlight matched part of the address in search results
|
||||
• Sort search history by last usage time
|
||||
• Fixed start-up crashes for some older devices with Mali-T GPUs
|
||||
• Other search improvements, translation updates & bug fixes
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
• New OpenStreetMap data as of January 21
|
||||
• Dispay a speed limit sign in the navigation mode
|
||||
• Added Serbian (Cyrillic) and Latvian languages
|
||||
• Android Auto: sort bookmarks, improved location permission request experience
|
||||
• Added tower POIs
|
||||
• Added a setting for Kayak.com Hotel Links and a first-use opt-out option
|
||||
|
||||
…more details at omaps.org/news
|
||||
• New OpenStreetMap data as of November 22
|
||||
• Highlight matched part of the address in search results
|
||||
• Sort search history by last usage time
|
||||
• Fixed start-up crashes for some older devices with Mali-T GPUs
|
||||
• Other search improvements, translation updates & bug fixes
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
• New OpenStreetMap data as of January 21
|
||||
• Dispay a speed limit sign in the navigation mode
|
||||
• Added Serbian (Cyrillic) and Latvian languages
|
||||
• Android Auto: sort bookmarks, improved location permission request experience
|
||||
• Added tower POIs
|
||||
• Added a setting for Kayak.com Hotel Links and a first-use opt-out option
|
||||
|
||||
…more details at omaps.org/news
|
||||
• New OpenStreetMap data as of November 22
|
||||
• Highlight matched part of the address in search results
|
||||
• Sort search history by last usage time
|
||||
• Fixed start-up crashes for some older devices with Mali-T GPUs
|
||||
• Other search improvements, translation updates & bug fixes
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
• Neue OpenStreetMap-Daten vom 21. Januar
|
||||
• Anzeige eines Geschwindigkeitsbegrenzungsschildes im Navigationsmodus
|
||||
• Serbische (Kyrillisch) und Lettische Sprachen hinzugefügt
|
||||
• Android Auto: Lesezeichen sortieren, verbessertes Erlebnis bei der Anforderung von Standortberechtigungen
|
||||
• Turm-POIs hinzugefügt
|
||||
• Eine Einstellung für Kayak.com-Hotellinks und eine Opt-out-Option bei der ersten Nutzung hinzugefügt.
|
||||
|
||||
…weitere Details unter omaps.org/news
|
||||
• Neue OpenStreetMap-Daten vom 22. November
|
||||
• Hervorhebung des übereinstimmenden Teils der Adresse in Suchergebnissen
|
||||
• Sortierung des Suchverlaufs nach letzter Nutzung
|
||||
• Behobene Startabstürze bei einigen älteren Geräten mit Mali-T-GPUs
|
||||
• Weitere Suchverbesserungen, Übersetzungs-Updates und Fehlerbehebungen
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
• New OpenStreetMap data as of January 21
|
||||
• Dispay a speed limit sign in the navigation mode
|
||||
• Added Serbian (Cyrillic) and Latvian languages
|
||||
• Android Auto: sort bookmarks, improved location permission request experience
|
||||
• Added tower POIs
|
||||
• Added a setting for Kayak.com Hotel Links and a first-use opt-out option
|
||||
|
||||
…more details at omaps.org/news
|
||||
• New OpenStreetMap data as of November 22
|
||||
• Highlight matched part of the address in search results
|
||||
• Sort search history by last usage time
|
||||
• Fixed start-up crashes for some older devices with Mali-T GPUs
|
||||
• Other search improvements, translation updates & bug fixes
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
• New OpenStreetMap data as of January 21
|
||||
• Dispay a speed limit sign in the navigation mode
|
||||
• Added Serbian (Cyrillic) and Latvian languages
|
||||
• Android Auto: sort bookmarks, improved location permission request experience
|
||||
• Added tower POIs
|
||||
• Added a setting for Kayak.com Hotel Links and a first-use opt-out option
|
||||
|
||||
…more details at omaps.org/news
|
||||
• New OpenStreetMap data as of November 22
|
||||
• Highlight matched part of the address in search results
|
||||
• Sort search history by last usage time
|
||||
• Fixed start-up crashes for some older devices with Mali-T GPUs
|
||||
• Other search improvements, translation updates & bug fixes
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
• Nuevos datos de OpenStreetMap del 21 de enero
|
||||
• Límite de velocidad en el modo de navegación
|
||||
• Añadidos idiomas serbio (cirílico) y letón
|
||||
• Android Auto: opción de ordenar marcadores, mejorada la experiencia al solicitar ubicación
|
||||
• Añadidos PDI de torres
|
||||
• Añadidas opciones para enlaces de hotel de Kayak.com y de exclusión al primer uso
|
||||
|
||||
…más detalles en omaps.org/news
|
||||
• Nuevos datos de OpenStreetMap del 22 de noviembre
|
||||
• Resaltado de la parte coincidente de la dirección en los resultados de búsqueda
|
||||
• Ordenar el historial de búsquedas por la última vez de uso
|
||||
• Solucionados los bloqueos al inicio en algunos dispositivos antiguos con GPU Mali-T
|
||||
• Otras mejoras en la búsqueda, actualizaciones de traducción y correcciones de errores
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
• New OpenStreetMap data as of January 21
|
||||
• Dispay a speed limit sign in the navigation mode
|
||||
• Added Serbian (Cyrillic) and Latvian languages
|
||||
• Android Auto: sort bookmarks, improved location permission request experience
|
||||
• Added tower POIs
|
||||
• Added a setting for Kayak.com Hotel Links and a first-use opt-out option
|
||||
|
||||
…more details at omaps.org/news
|
||||
• New OpenStreetMap data as of November 22
|
||||
• Highlight matched part of the address in search results
|
||||
• Sort search history by last usage time
|
||||
• Fixed start-up crashes for some older devices with Mali-T GPUs
|
||||
• Other search improvements, translation updates & bug fixes
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
• Urtarrilaren 21ko OpenStreetMap-eko datu berriak
|
||||
• Abiadura muga erakusten da nabigazio moduan
|
||||
• Serbiera (zirilikoa) eta letoniera hizkuntzak gehitu dira
|
||||
• Android Auto: gogokoak ordena daitezke, kokapen permisuaren eskaeraren esperientzia hobetu da
|
||||
• Dorreen interes puntuak gehitu dira
|
||||
• Kayak.com-eko hotelen estekak eta lehenengo erabileran ez erakusteko aukera gehitu dira
|
||||
|
||||
…zehaztasun gehiago omaps.org/news webgunean
|
||||
• New OpenStreetMap data as of November 22
|
||||
• Highlight matched part of the address in search results
|
||||
• Sort search history by last usage time
|
||||
• Fixed start-up crashes for some older devices with Mali-T GPUs
|
||||
• Other search improvements, translation updates & bug fixes
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
• New OpenStreetMap data as of January 21
|
||||
• Dispay a speed limit sign in the navigation mode
|
||||
• Added Serbian (Cyrillic) and Latvian languages
|
||||
• Android Auto: sort bookmarks, improved location permission request experience
|
||||
• Added tower POIs
|
||||
• Added a setting for Kayak.com Hotel Links and a first-use opt-out option
|
||||
|
||||
…more details at omaps.org/news
|
||||
• New OpenStreetMap data as of November 22
|
||||
• Highlight matched part of the address in search results
|
||||
• Sort search history by last usage time
|
||||
• Fixed start-up crashes for some older devices with Mali-T GPUs
|
||||
• Other search improvements, translation updates & bug fixes
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
• New OpenStreetMap data as of January 21
|
||||
• Dispay a speed limit sign in the navigation mode
|
||||
• Added Serbian (Cyrillic) and Latvian languages
|
||||
• Android Auto: sort bookmarks, improved location permission request experience
|
||||
• Added tower POIs
|
||||
• Added a setting for Kayak.com Hotel Links and a first-use opt-out option
|
||||
|
||||
…more details at omaps.org/news
|
||||
• New OpenStreetMap data as of November 22
|
||||
• Highlight matched part of the address in search results
|
||||
• Sort search history by last usage time
|
||||
• Fixed start-up crashes for some older devices with Mali-T GPUs
|
||||
• Other search improvements, translation updates & bug fixes
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
• Nouvelles données OpenStreetMap du 21 janvier
|
||||
• Afficher un panneau de limitation de vitesse en mode navigation
|
||||
• Ajout des langues serbe (cyrillique) et lettone
|
||||
• Android Auto : trier les signets, expérience de demande d'autorisation de localisation améliorée
|
||||
• Ajout de POI de tour
|
||||
• Ajout d'un paramètre pour les liens d'hôtel Kayak.com et d'une option de désinscription lors de la première utilisation
|
||||
|
||||
…plus de détails sur omaps.org/news
|
||||
• Nouvelles données OpenStreetMap du 22 novembre
|
||||
• Mise en évidence de la partie correspondante de l'adresse dans les résultats de recherche
|
||||
• Tri de l'historique des recherches par dernier temps d'utilisation
|
||||
• Correction des plantages au démarrage sur certains anciens appareils avec des GPU Mali-T
|
||||
• Autres améliorations de recherche, mises à jour de traduction et corrections de bugs
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
• New OpenStreetMap data as of January 21
|
||||
• Dispay a speed limit sign in the navigation mode
|
||||
• Added Serbian (Cyrillic) and Latvian languages
|
||||
• Android Auto: sort bookmarks, improved location permission request experience
|
||||
• Added tower POIs
|
||||
• Added a setting for Kayak.com Hotel Links and a first-use opt-out option
|
||||
|
||||
…more details at omaps.org/news
|
||||
• New OpenStreetMap data as of November 22
|
||||
• Highlight matched part of the address in search results
|
||||
• Sort search history by last usage time
|
||||
• Fixed start-up crashes for some older devices with Mali-T GPUs
|
||||
• Other search improvements, translation updates & bug fixes
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
• New OpenStreetMap data as of January 21
|
||||
• Dispay a speed limit sign in the navigation mode
|
||||
• Added Serbian (Cyrillic) and Latvian languages
|
||||
• Android Auto: sort bookmarks, improved location permission request experience
|
||||
• Added tower POIs
|
||||
• Added a setting for Kayak.com Hotel Links and a first-use opt-out option
|
||||
|
||||
…more details at omaps.org/news
|
||||
• New OpenStreetMap data as of November 22
|
||||
• Highlight matched part of the address in search results
|
||||
• Sort search history by last usage time
|
||||
• Fixed start-up crashes for some older devices with Mali-T GPUs
|
||||
• Other search improvements, translation updates & bug fixes
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
• New OpenStreetMap data as of January 21
|
||||
• Dispay a speed limit sign in the navigation mode
|
||||
• Added Serbian (Cyrillic) and Latvian languages
|
||||
• Android Auto: sort bookmarks, improved location permission request experience
|
||||
• Added tower POIs
|
||||
• Added a setting for Kayak.com Hotel Links and a first-use opt-out option
|
||||
|
||||
…more details at omaps.org/news
|
||||
• New OpenStreetMap data as of November 22
|
||||
• Highlight matched part of the address in search results
|
||||
• Sort search history by last usage time
|
||||
• Fixed start-up crashes for some older devices with Mali-T GPUs
|
||||
• Other search improvements, translation updates & bug fixes
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
• New OpenStreetMap data as of January 21
|
||||
• Dispay a speed limit sign in the navigation mode
|
||||
• Added Serbian (Cyrillic) and Latvian languages
|
||||
• Android Auto: sort bookmarks, improved location permission request experience
|
||||
• Added tower POIs
|
||||
• Added a setting for Kayak.com Hotel Links and a first-use opt-out option
|
||||
|
||||
…more details at omaps.org/news
|
||||
• New OpenStreetMap data as of November 22
|
||||
• Highlight matched part of the address in search results
|
||||
• Sort search history by last usage time
|
||||
• Fixed start-up crashes for some older devices with Mali-T GPUs
|
||||
• Other search improvements, translation updates & bug fixes
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
• New OpenStreetMap data as of January 21
|
||||
• Dispay a speed limit sign in the navigation mode
|
||||
• Added Serbian (Cyrillic) and Latvian languages
|
||||
• Android Auto: sort bookmarks, improved location permission request experience
|
||||
• Added tower POIs
|
||||
• Added a setting for Kayak.com Hotel Links and a first-use opt-out option
|
||||
|
||||
…more details at omaps.org/news
|
||||
• New OpenStreetMap data as of November 22
|
||||
• Highlight matched part of the address in search results
|
||||
• Sort search history by last usage time
|
||||
• Fixed start-up crashes for some older devices with Mali-T GPUs
|
||||
• Other search improvements, translation updates & bug fixes
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
• New OpenStreetMap data as of January 21
|
||||
• Dispay a speed limit sign in the navigation mode
|
||||
• Added Serbian (Cyrillic) and Latvian languages
|
||||
• Android Auto: sort bookmarks, improved location permission request experience
|
||||
• Added tower POIs
|
||||
• Added a setting for Kayak.com Hotel Links and a first-use opt-out option
|
||||
|
||||
…more details at omaps.org/news
|
||||
• New OpenStreetMap data as of November 22
|
||||
• Highlight matched part of the address in search results
|
||||
• Sort search history by last usage time
|
||||
• Fixed start-up crashes for some older devices with Mali-T GPUs
|
||||
• Other search improvements, translation updates & bug fixes
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
• New OpenStreetMap data as of January 21
|
||||
• Dispay a speed limit sign in the navigation mode
|
||||
• Added Serbian (Cyrillic) and Latvian languages
|
||||
• Android Auto: sort bookmarks, improved location permission request experience
|
||||
• Added tower POIs
|
||||
• Added a setting for Kayak.com Hotel Links and a first-use opt-out option
|
||||
|
||||
…more details at omaps.org/news
|
||||
• New OpenStreetMap data as of November 22
|
||||
• Highlight matched part of the address in search results
|
||||
• Sort search history by last usage time
|
||||
• Fixed start-up crashes for some older devices with Mali-T GPUs
|
||||
• Other search improvements, translation updates & bug fixes
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
• New OpenStreetMap data as of January 21
|
||||
• Dispay a speed limit sign in the navigation mode
|
||||
• Added Serbian (Cyrillic) and Latvian languages
|
||||
• Android Auto: sort bookmarks, improved location permission request experience
|
||||
• Added tower POIs
|
||||
• Added a setting for Kayak.com Hotel Links and a first-use opt-out option
|
||||
|
||||
…more details at omaps.org/news
|
||||
• New OpenStreetMap data as of November 22
|
||||
• Highlight matched part of the address in search results
|
||||
• Sort search history by last usage time
|
||||
• Fixed start-up crashes for some older devices with Mali-T GPUs
|
||||
• Other search improvements, translation updates & bug fixes
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
• New OpenStreetMap data as of January 21
|
||||
• Dispay a speed limit sign in the navigation mode
|
||||
• Added Serbian (Cyrillic) and Latvian languages
|
||||
• Android Auto: sort bookmarks, improved location permission request experience
|
||||
• Added tower POIs
|
||||
• Added a setting for Kayak.com Hotel Links and a first-use opt-out option
|
||||
|
||||
…more details at omaps.org/news
|
||||
• New OpenStreetMap data as of November 22
|
||||
• Highlight matched part of the address in search results
|
||||
• Sort search history by last usage time
|
||||
• Fixed start-up crashes for some older devices with Mali-T GPUs
|
||||
• Other search improvements, translation updates & bug fixes
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
• New OpenStreetMap data as of January 21
|
||||
• Dispay a speed limit sign in the navigation mode
|
||||
• Added Serbian (Cyrillic) and Latvian languages
|
||||
• Android Auto: sort bookmarks, improved location permission request experience
|
||||
• Added tower POIs
|
||||
• Added a setting for Kayak.com Hotel Links and a first-use opt-out option
|
||||
|
||||
…more details at omaps.org/news
|
||||
• New OpenStreetMap data as of November 22
|
||||
• Highlight matched part of the address in search results
|
||||
• Sort search history by last usage time
|
||||
• Fixed start-up crashes for some older devices with Mali-T GPUs
|
||||
• Other search improvements, translation updates & bug fixes
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
• New OpenStreetMap data as of January 21
|
||||
• Dispay a speed limit sign in the navigation mode
|
||||
• Added Serbian (Cyrillic) and Latvian languages
|
||||
• Android Auto: sort bookmarks, improved location permission request experience
|
||||
• Added tower POIs
|
||||
• Added a setting for Kayak.com Hotel Links and a first-use opt-out option
|
||||
|
||||
…more details at omaps.org/news
|
||||
• New OpenStreetMap data as of November 22
|
||||
• Highlight matched part of the address in search results
|
||||
• Sort search history by last usage time
|
||||
• Fixed start-up crashes for some older devices with Mali-T GPUs
|
||||
• Other search improvements, translation updates & bug fixes
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
• New OpenStreetMap data as of January 21
|
||||
• Dispay a speed limit sign in the navigation mode
|
||||
• Added Serbian (Cyrillic) and Latvian languages
|
||||
• Android Auto: sort bookmarks, improved location permission request experience
|
||||
• Added tower POIs
|
||||
• Added a setting for Kayak.com Hotel Links and a first-use opt-out option
|
||||
|
||||
…more details at omaps.org/news
|
||||
• New OpenStreetMap data as of November 22
|
||||
• Highlight matched part of the address in search results
|
||||
• Sort search history by last usage time
|
||||
• Fixed start-up crashes for some older devices with Mali-T GPUs
|
||||
• Other search improvements, translation updates & bug fixes
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
• New OpenStreetMap data as of January 21
|
||||
• Dispay a speed limit sign in the navigation mode
|
||||
• Added Serbian (Cyrillic) and Latvian languages
|
||||
• Android Auto: sort bookmarks, improved location permission request experience
|
||||
• Added tower POIs
|
||||
• Added a setting for Kayak.com Hotel Links and a first-use opt-out option
|
||||
|
||||
…more details at omaps.org/news
|
||||
• New OpenStreetMap data as of November 22
|
||||
• Highlight matched part of the address in search results
|
||||
• Sort search history by last usage time
|
||||
• Fixed start-up crashes for some older devices with Mali-T GPUs
|
||||
• Other search improvements, translation updates & bug fixes
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
• New OpenStreetMap data as of January 21
|
||||
• Dispay a speed limit sign in the navigation mode
|
||||
• Added Serbian (Cyrillic) and Latvian languages
|
||||
• Android Auto: sort bookmarks, improved location permission request experience
|
||||
• Added tower POIs
|
||||
• Added a setting for Kayak.com Hotel Links and a first-use opt-out option
|
||||
|
||||
…more details at omaps.org/news
|
||||
• New OpenStreetMap data as of November 22
|
||||
• Highlight matched part of the address in search results
|
||||
• Sort search history by last usage time
|
||||
• Fixed start-up crashes for some older devices with Mali-T GPUs
|
||||
• Other search improvements, translation updates & bug fixes
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
• New OpenStreetMap data as of January 21
|
||||
• Dispay a speed limit sign in the navigation mode
|
||||
• Added Serbian (Cyrillic) and Latvian languages
|
||||
• Android Auto: sort bookmarks, improved location permission request experience
|
||||
• Added tower POIs
|
||||
• Added a setting for Kayak.com Hotel Links and a first-use opt-out option
|
||||
|
||||
…more details at omaps.org/news
|
||||
• New OpenStreetMap data as of November 22
|
||||
• Highlight matched part of the address in search results
|
||||
• Sort search history by last usage time
|
||||
• Fixed start-up crashes for some older devices with Mali-T GPUs
|
||||
• Other search improvements, translation updates & bug fixes
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
• New OpenStreetMap data as of January 21
|
||||
• Dispay a speed limit sign in the navigation mode
|
||||
• Added Serbian (Cyrillic) and Latvian languages
|
||||
• Android Auto: sort bookmarks, improved location permission request experience
|
||||
• Added tower POIs
|
||||
• Added a setting for Kayak.com Hotel Links and a first-use opt-out option
|
||||
|
||||
…more details at omaps.org/news
|
||||
• New OpenStreetMap data as of November 22
|
||||
• Highlight matched part of the address in search results
|
||||
• Sort search history by last usage time
|
||||
• Fixed start-up crashes for some older devices with Mali-T GPUs
|
||||
• Other search improvements, translation updates & bug fixes
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
• New OpenStreetMap data as of January 21
|
||||
• Dispay a speed limit sign in the navigation mode
|
||||
• Added Serbian (Cyrillic) and Latvian languages
|
||||
• Android Auto: sort bookmarks, improved location permission request experience
|
||||
• Added tower POIs
|
||||
• Added a setting for Kayak.com Hotel Links and a first-use opt-out option
|
||||
|
||||
…more details at omaps.org/news
|
||||
• New OpenStreetMap data as of November 22
|
||||
• Highlight matched part of the address in search results
|
||||
• Sort search history by last usage time
|
||||
• Fixed start-up crashes for some older devices with Mali-T GPUs
|
||||
• Other search improvements, translation updates & bug fixes
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
• New OpenStreetMap data as of January 21
|
||||
• Dispay a speed limit sign in the navigation mode
|
||||
• Added Serbian (Cyrillic) and Latvian languages
|
||||
• Android Auto: sort bookmarks, improved location permission request experience
|
||||
• Added tower POIs
|
||||
• Added a setting for Kayak.com Hotel Links and a first-use opt-out option
|
||||
|
||||
…more details at omaps.org/news
|
||||
• New OpenStreetMap data as of November 22
|
||||
• Highlight matched part of the address in search results
|
||||
• Sort search history by last usage time
|
||||
• Fixed start-up crashes for some older devices with Mali-T GPUs
|
||||
• Other search improvements, translation updates & bug fixes
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
• New OpenStreetMap data as of January 21
|
||||
• Dispay a speed limit sign in the navigation mode
|
||||
• Added Serbian (Cyrillic) and Latvian languages
|
||||
• Android Auto: sort bookmarks, improved location permission request experience
|
||||
• Added tower POIs
|
||||
• Added a setting for Kayak.com Hotel Links and a first-use opt-out option
|
||||
|
||||
…more details at omaps.org/news
|
||||
• New OpenStreetMap data as of November 22
|
||||
• Highlight matched part of the address in search results
|
||||
• Sort search history by last usage time
|
||||
• Fixed start-up crashes for some older devices with Mali-T GPUs
|
||||
• Other search improvements, translation updates & bug fixes
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
• New OpenStreetMap data as of January 21
|
||||
• Dispay a speed limit sign in the navigation mode
|
||||
• Added Serbian (Cyrillic) and Latvian languages
|
||||
• Android Auto: sort bookmarks, improved location permission request experience
|
||||
• Added tower POIs
|
||||
• Added a setting for Kayak.com Hotel Links and a first-use opt-out option
|
||||
|
||||
…more details at omaps.org/news
|
||||
• New OpenStreetMap data as of November 22
|
||||
• Highlight matched part of the address in search results
|
||||
• Sort search history by last usage time
|
||||
• Fixed start-up crashes for some older devices with Mali-T GPUs
|
||||
• Other search improvements, translation updates & bug fixes
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
• New OpenStreetMap data as of January 21
|
||||
• Dispay a speed limit sign in the navigation mode
|
||||
• Added Serbian (Cyrillic) and Latvian languages
|
||||
• Android Auto: sort bookmarks, improved location permission request experience
|
||||
• Added tower POIs
|
||||
• Added a setting for Kayak.com Hotel Links and a first-use opt-out option
|
||||
|
||||
…more details at omaps.org/news
|
||||
• New OpenStreetMap data as of November 22
|
||||
• Highlight matched part of the address in search results
|
||||
• Sort search history by last usage time
|
||||
• Fixed start-up crashes for some older devices with Mali-T GPUs
|
||||
• Other search improvements, translation updates & bug fixes
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
• New OpenStreetMap data as of January 21
|
||||
• Dispay a speed limit sign in the navigation mode
|
||||
• Added Serbian (Cyrillic) and Latvian languages
|
||||
• Android Auto: sort bookmarks, improved location permission request experience
|
||||
• Added tower POIs
|
||||
• Added a setting for Kayak.com Hotel Links and a first-use opt-out option
|
||||
|
||||
…more details at omaps.org/news
|
||||
• New OpenStreetMap data as of November 22
|
||||
• Highlight matched part of the address in search results
|
||||
• Sort search history by last usage time
|
||||
• Fixed start-up crashes for some older devices with Mali-T GPUs
|
||||
• Other search improvements, translation updates & bug fixes
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
• New OpenStreetMap data as of January 21
|
||||
• Dispay a speed limit sign in the navigation mode
|
||||
• Added Serbian (Cyrillic) and Latvian languages
|
||||
• Android Auto: sort bookmarks, improved location permission request experience
|
||||
• Added tower POIs
|
||||
• Added a setting for Kayak.com Hotel Links and a first-use opt-out option
|
||||
|
||||
…more details at omaps.org/news
|
||||
• New OpenStreetMap data as of November 22
|
||||
• Highlight matched part of the address in search results
|
||||
• Sort search history by last usage time
|
||||
• Fixed start-up crashes for some older devices with Mali-T GPUs
|
||||
• Other search improvements, translation updates & bug fixes
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
• New OpenStreetMap data as of January 21
|
||||
• Dispay a speed limit sign in the navigation mode
|
||||
• Added Serbian (Cyrillic) and Latvian languages
|
||||
• Android Auto: sort bookmarks, improved location permission request experience
|
||||
• Added tower POIs
|
||||
• Added a setting for Kayak.com Hotel Links and a first-use opt-out option
|
||||
|
||||
…more details at omaps.org/news
|
||||
• New OpenStreetMap data as of November 22
|
||||
• Highlight matched part of the address in search results
|
||||
• Sort search history by last usage time
|
||||
• Fixed start-up crashes for some older devices with Mali-T GPUs
|
||||
• Other search improvements, translation updates & bug fixes
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
• Nowe dane OpenStreetMap z 21 stycznia
|
||||
• Wyświetlanie znaku ograniczenia prędkości w trybie nawigacji
|
||||
• Dodano języki serbski (cyrylica) i łotewski
|
||||
• Android Auto: sortowanie zakładek, ulepszono prośbę o pozwolenie na lokalizację
|
||||
• Dodano POI dla wieży
|
||||
• Dodano ustawienie dla linków do hoteli na Kayak.com oraz możliwość wyłączenia ich przy pierwszym uruchomieniu
|
||||
|
||||
…więcej szczegółów na omaps.org/news
|
||||
• New OpenStreetMap data as of November 22
|
||||
• Highlight matched part of the address in search results
|
||||
• Sort search history by last usage time
|
||||
• Fixed start-up crashes for some older devices with Mali-T GPUs
|
||||
• Other search improvements, translation updates & bug fixes
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
• Novos dados do OpenStreetMap de 21 de janeiro
|
||||
• Exibe um sinal de limite de velocidade no modo de navegação
|
||||
• Adicionados os idiomas sérvio (cirílico) e letão
|
||||
• Android Auto: classificar favoritos, experiência aprimorada de solicitação de permissão de localização
|
||||
• Adicionados POIs de torre
|
||||
• Adicionada uma configuração para links de hotéis Kayak.com e uma opção de cancelamento de primeiro uso
|
||||
|
||||
…mais detalhes em omaps.org/news
|
||||
• New OpenStreetMap data as of November 22
|
||||
• Highlight matched part of the address in search results
|
||||
• Sort search history by last usage time
|
||||
• Fixed start-up crashes for some older devices with Mali-T GPUs
|
||||
• Other search improvements, translation updates & bug fixes
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
• Novos dados do OpenStreetMap a 21 de janeiro
|
||||
• Exibir um sinal de limite de velocidade no modo de navegação
|
||||
• Adicionados os idiomas sérvio (cirílico) e letão
|
||||
• Android Auto: classificar favoritos, experiência melhorada de pedido de permissão de localização
|
||||
• Adicionados POIs de torre
|
||||
• Foi adicionada uma configuração para o Kayak.com Hotel Links e uma opção de cancelamento de primeira utilização
|
||||
|
||||
…mais detalhes em omaps.org/news
|
||||
• New OpenStreetMap data as of November 22
|
||||
• Highlight matched part of the address in search results
|
||||
• Sort search history by last usage time
|
||||
• Fixed start-up crashes for some older devices with Mali-T GPUs
|
||||
• Other search improvements, translation updates & bug fixes
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
• New OpenStreetMap data as of January 21
|
||||
• Dispay a speed limit sign in the navigation mode
|
||||
• Added Serbian (Cyrillic) and Latvian languages
|
||||
• Android Auto: sort bookmarks, improved location permission request experience
|
||||
• Added tower POIs
|
||||
• Added a setting for Kayak.com Hotel Links and a first-use opt-out option
|
||||
|
||||
…more details at omaps.org/news
|
||||
• New OpenStreetMap data as of November 22
|
||||
• Highlight matched part of the address in search results
|
||||
• Sort search history by last usage time
|
||||
• Fixed start-up crashes for some older devices with Mali-T GPUs
|
||||
• Other search improvements, translation updates & bug fixes
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
• Новые данные OpenStreetMap от 21 января
|
||||
• Отображение ограничения скорости в режиме навигации
|
||||
• Android Auto: сортировка меток, улучшены запросы на разрешение местоположения
|
||||
• На карту добавлены башни
|
||||
• Добавлена настройка для отключения ссылок на отели с Kayak.com и возможность отказа при первом использовании
|
||||
• Добавлены сербский (кириллица) и латышский языки
|
||||
|
||||
…и многое другое на omaps.org/news
|
||||
• Новые данные OpenStreetMap от 22 ноября
|
||||
• В результатах поиска выделяется совпавшая часть адреса
|
||||
• История поиска всегда сортируется по времени последнего использования
|
||||
• Исправлена проблема запуска на некоторых старых устройствах с GPU Mali-T
|
||||
• Различные улучшения поиска, обновления переводов и исправления ошибок
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
• New OpenStreetMap data as of January 21
|
||||
• Dispay a speed limit sign in the navigation mode
|
||||
• Added Serbian (Cyrillic) and Latvian languages
|
||||
• Android Auto: sort bookmarks, improved location permission request experience
|
||||
• Added tower POIs
|
||||
• Added a setting for Kayak.com Hotel Links and a first-use opt-out option
|
||||
|
||||
…more details at omaps.org/news
|
||||
• New OpenStreetMap data as of November 22
|
||||
• Highlight matched part of the address in search results
|
||||
• Sort search history by last usage time
|
||||
• Fixed start-up crashes for some older devices with Mali-T GPUs
|
||||
• Other search improvements, translation updates & bug fixes
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
• New OpenStreetMap data as of January 21
|
||||
• Dispay a speed limit sign in the navigation mode
|
||||
• Added Serbian (Cyrillic) and Latvian languages
|
||||
• Android Auto: sort bookmarks, improved location permission request experience
|
||||
• Added tower POIs
|
||||
• Added a setting for Kayak.com Hotel Links and a first-use opt-out option
|
||||
|
||||
…more details at omaps.org/news
|
||||
• New OpenStreetMap data as of November 22
|
||||
• Highlight matched part of the address in search results
|
||||
• Sort search history by last usage time
|
||||
• Fixed start-up crashes for some older devices with Mali-T GPUs
|
||||
• Other search improvements, translation updates & bug fixes
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
• New OpenStreetMap data as of January 21
|
||||
• Dispay a speed limit sign in the navigation mode
|
||||
• Added Serbian (Cyrillic) and Latvian languages
|
||||
• Android Auto: sort bookmarks, improved location permission request experience
|
||||
• Added tower POIs
|
||||
• Added a setting for Kayak.com Hotel Links and a first-use opt-out option
|
||||
|
||||
…more details at omaps.org/news
|
||||
• New OpenStreetMap data as of November 22
|
||||
• Highlight matched part of the address in search results
|
||||
• Sort search history by last usage time
|
||||
• Fixed start-up crashes for some older devices with Mali-T GPUs
|
||||
• Other search improvements, translation updates & bug fixes
|
||||
|
|
|
@ -1,53 +1,53 @@
|
|||
‣ Наша бесплатна апликација вас не прати, нема рекламе и потребна јој је ваша подршка.
|
||||
‣ Континуирано се побољшава од стране сарадника и нашег малог тима, у наше слободно време.
|
||||
‣ Ако нешто није у реду или недостаје на мапи, исправите то на <b>OpenStreetMap-у</b> и видите своје промене у будућим ажурирањима мапа.
|
||||
‣ Ако навигација или претрага не раде, прво проверите то на osm.org, а затим нам пошаљите е-пошту. Одговарамо на <i>СВАКУ</i> поруку и поправљамо у најкраћем могућем року!
|
||||
‣ Our free app does not track you, does not have ads, and it needs your support.
|
||||
‣ It is constantly being improved by contributors and our small team, in our free time.
|
||||
‣ If something is wrong or missing on the map, please fix it in <b>OpenStreetMap</b> and see your changes in the future maps update.
|
||||
‣ If navigation or search doesn't work, please check it on osm.org first, and then email us. We reply to <i>EVERY</i> email, and we'll fix it ASAP!
|
||||
|
||||
<b>Ваше повратне информације и рецензије са 5 звездица су најбољи мотиватори за нас!</b>
|
||||
<b>Your feedback and 5-star reviews are the best motivators for us!</b>
|
||||
|
||||
Кључне карактеристике:
|
||||
Key features:
|
||||
|
||||
• Бесплатно, отвореног кода, без реклама, без праћења
|
||||
• Детаљне мапе без интернета са местима која не постоје на Google мапама, захваљујући <b>OpenStreetMap</b> заједници
|
||||
• Бициклистичке стазе, пешачке стазе и стазе за шетњу
|
||||
• Контурне линије, профили надморске висине, врхови и нагиби
|
||||
• Пешачење, вожња бицикла и навигација скретање-по-скретање са гласовним навођењем и Андроид Аутом
|
||||
• Брза претрага без интернета
|
||||
• Извоз и увоз маркера и путања у KML, KMZ, GPX формату
|
||||
• Тамни режим за заштиту очију
|
||||
• Free, open-source, no ads, no tracking
|
||||
• Detailed offline maps with places that don't exist on Google maps, thanks to the <b>OpenStreetMap</b> community
|
||||
• Cycling routes, hiking trails, and walking paths
|
||||
• Contour lines, elevation profiles, peaks, and slopes
|
||||
• Turn-by-turn walking, cycling, and car navigation with voice guidance and Android Auto
|
||||
• Fast offline search
|
||||
• Bookmarks and tracks export and import in KML, KMZ, GPX formats
|
||||
• Dark mode to protect your eyes
|
||||
|
||||
Нема јавног превоза, сателитских мапа и других занимљивих функција <i>још</i> у Organic Maps-у. Али из <i>вашу помоћ и подршку</i>, можемо постепено направити боље мапе.
|
||||
There is no public transport, satellite maps, and other cool features <i>yet</i> in Organic Maps. But with <i>your help and support</i>, we can make better maps step by step.
|
||||
|
||||
Organic Maps је <b>чиста и органска, направљена с љубављу</b>:
|
||||
Organic Maps is <b>pure and organic, made with love</b>:
|
||||
|
||||
• Невероватно брзо искуство без интернета
|
||||
• Поштује вашу приватност
|
||||
• Штеди батерију
|
||||
• Нема неочекиваних трошкова мобилних података
|
||||
• Једноставан за употребу, са укљученим само најважнијим функцијама
|
||||
• Blazing fast offline experience
|
||||
• Respects your privacy
|
||||
• Saves your battery
|
||||
• No unexpected mobile data charges
|
||||
• Simple to use, with only most important features included
|
||||
|
||||
Без праћења и других лоших ствари:
|
||||
Free from trackers and other bad stuff:
|
||||
|
||||
• Нема реклама
|
||||
• Нема праћења
|
||||
• Нема прикупљања података
|
||||
• Нема телефонирања кући
|
||||
• Нема досадне регистрације
|
||||
• Нема обавезних туторијала
|
||||
• Нема бучне нежељене е-поште
|
||||
• Нема пуш обавештења
|
||||
• Нема crapware-а
|
||||
• Б̶е̶з̶ ̶п̶е̶с̶т̶и̶ц̶и̶да̶ Чисто органско
|
||||
• No ads
|
||||
• No tracking
|
||||
• No data collection
|
||||
• No phoning home
|
||||
• No annoying registration
|
||||
• No mandatory tutorials
|
||||
• No noisy email spam
|
||||
• No push notifications
|
||||
• No crapware
|
||||
• N̶o̶ ̶p̶e̶s̶t̶i̶c̶i̶d̶e̶s̶ Purely organic
|
||||
|
||||
Organic Maps, верује да је <b>приватност основно право човека</b>:
|
||||
At Organic Maps, we believe that <b>privacy is a fundamental human right</b>:
|
||||
|
||||
• Organic Maps пројекат отвореног кода који води заједница
|
||||
• Штитимо приватност од радозналих очију технолошких гиганата
|
||||
• Будите безбедни где год да се налазите
|
||||
• Organic Maps is an indie community-driven open-source project
|
||||
• We protect privacy from Big Tech's prying eyes
|
||||
• Stay safe no matter wherever you are
|
||||
|
||||
Према Exodus Privacy Report-у, откривено је нула трагача и само минимално потребне дозволе.
|
||||
Zero trackers and only minimally required permissions are found according to Exodus Privacy Report.
|
||||
|
||||
Молимо посетите <b><i>organicmaps.app</i></b> веб-сајт за више информација и прочитајте FAQ, контактирајте нас путем Telegram-а директно на адресу @OrganicMapsApp.
|
||||
Please visit <b><i>organicmaps.app</i></b> website for additional details and FAQ, and contact us directly at @OrganicMapsApp in Telegram.
|
||||
|
||||
Одбаците надзор - прихватите своју слободу.
|
||||
<b>Испробајте Organic Maps!</b>
|
||||
Reject surveillance - embrace your freedom.
|
||||
<b>Give Organic Maps a try!</b>
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
• New OpenStreetMap data as of January 21
|
||||
• Dispay a speed limit sign in the navigation mode
|
||||
• Added Serbian (Cyrillic) and Latvian languages
|
||||
• Android Auto: sort bookmarks, improved location permission request experience
|
||||
• Added tower POIs
|
||||
• Added a setting for Kayak.com Hotel Links and a first-use opt-out option
|
||||
|
||||
…more details at omaps.org/news
|
||||
• New OpenStreetMap data as of November 22
|
||||
• Highlight matched part of the address in search results
|
||||
• Sort search history by last usage time
|
||||
• Fixed start-up crashes for some older devices with Mali-T GPUs
|
||||
• Other search improvements, translation updates & bug fixes
|
||||
|
|
|
@ -1 +1 @@
|
|||
Отворене мапе из заједнице за путнике, туристе, бициклисте и планинаре
|
||||
Open-source, community-driven maps for travelers, tourists, cyclists & hikers
|
||||
|
|
|
@ -1 +1 @@
|
|||
Organic Maps — офлајн мапе
|
||||
Offline Organic Maps Hike Bike
|
||||
|
|
|
@ -1 +1 @@
|
|||
Organic Maps, офлајн мапе и GPS навигатор
|
||||
Organic Maps Offline Hike, Bike, GPS Navigation
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
• New OpenStreetMap data as of January 21
|
||||
• Dispay a speed limit sign in the navigation mode
|
||||
• Added Serbian (Cyrillic) and Latvian languages
|
||||
• Android Auto: sort bookmarks, improved location permission request experience
|
||||
• Added tower POIs
|
||||
• Added a setting for Kayak.com Hotel Links and a first-use opt-out option
|
||||
|
||||
…more details at omaps.org/news
|
||||
• New OpenStreetMap data as of November 22
|
||||
• Highlight matched part of the address in search results
|
||||
• Sort search history by last usage time
|
||||
• Fixed start-up crashes for some older devices with Mali-T GPUs
|
||||
• Other search improvements, translation updates & bug fixes
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
• New OpenStreetMap data as of January 21
|
||||
• Dispay a speed limit sign in the navigation mode
|
||||
• Added Serbian (Cyrillic) and Latvian languages
|
||||
• Android Auto: sort bookmarks, improved location permission request experience
|
||||
• Added tower POIs
|
||||
• Added a setting for Kayak.com Hotel Links and a first-use opt-out option
|
||||
|
||||
…more details at omaps.org/news
|
||||
• New OpenStreetMap data as of November 22
|
||||
• Highlight matched part of the address in search results
|
||||
• Sort search history by last usage time
|
||||
• Fixed start-up crashes for some older devices with Mali-T GPUs
|
||||
• Other search improvements, translation updates & bug fixes
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
• New OpenStreetMap data as of January 21
|
||||
• Dispay a speed limit sign in the navigation mode
|
||||
• Added Serbian (Cyrillic) and Latvian languages
|
||||
• Android Auto: sort bookmarks, improved location permission request experience
|
||||
• Added tower POIs
|
||||
• Added a setting for Kayak.com Hotel Links and a first-use opt-out option
|
||||
|
||||
…more details at omaps.org/news
|
||||
• New OpenStreetMap data as of November 22
|
||||
• Highlight matched part of the address in search results
|
||||
• Sort search history by last usage time
|
||||
• Fixed start-up crashes for some older devices with Mali-T GPUs
|
||||
• Other search improvements, translation updates & bug fixes
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
• Нові дані OpenStreetMap від 21 січня
|
||||
• Знак перевищення швидкості підчас навігації
|
||||
• Додано перклади сербською (кирилиця) та латиською мовами
|
||||
• Android Auto: сортування міток, покращено процес запиту на отримання дозволу на розміщення
|
||||
• Вежі відображаються на мапі
|
||||
• Додано налаштування для посилань до Kayak.com для готелів та демонструється запит при першому використанні
|
||||
|
||||
…більше подробиць на omaps.org/news
|
||||
• Нові дані OpenStreetMap від 22 листопада
|
||||
• Адреса підсвічюється в результатах пошуку
|
||||
• Історія пошука сортується за часом останнього використання
|
||||
• Виправлення падіння на деяких старих девайсах із Mali-T GPU
|
||||
• Деякі покращення якості пошуку, уточнення перекладів, виправлення помилок
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
• New OpenStreetMap data as of January 21
|
||||
• Dispay a speed limit sign in the navigation mode
|
||||
• Added Serbian (Cyrillic) and Latvian languages
|
||||
• Android Auto: sort bookmarks, improved location permission request experience
|
||||
• Added tower POIs
|
||||
• Added a setting for Kayak.com Hotel Links and a first-use opt-out option
|
||||
|
||||
…more details at omaps.org/news
|
||||
• New OpenStreetMap data as of November 22
|
||||
• Highlight matched part of the address in search results
|
||||
• Sort search history by last usage time
|
||||
• Fixed start-up crashes for some older devices with Mali-T GPUs
|
||||
• Other search improvements, translation updates & bug fixes
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
• New OpenStreetMap data as of January 21
|
||||
• Dispay a speed limit sign in the navigation mode
|
||||
• Added Serbian (Cyrillic) and Latvian languages
|
||||
• Android Auto: sort bookmarks, improved location permission request experience
|
||||
• Added tower POIs
|
||||
• Added a setting for Kayak.com Hotel Links and a first-use opt-out option
|
||||
|
||||
…more details at omaps.org/news
|
||||
• New OpenStreetMap data as of November 22
|
||||
• Highlight matched part of the address in search results
|
||||
• Sort search history by last usage time
|
||||
• Fixed start-up crashes for some older devices with Mali-T GPUs
|
||||
• Other search improvements, translation updates & bug fixes
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
• New OpenStreetMap data as of January 21
|
||||
• Dispay a speed limit sign in the navigation mode
|
||||
• Added Serbian (Cyrillic) and Latvian languages
|
||||
• Android Auto: sort bookmarks, improved location permission request experience
|
||||
• Added tower POIs
|
||||
• Added a setting for Kayak.com Hotel Links and a first-use opt-out option
|
||||
|
||||
…more details at omaps.org/news
|
||||
• New OpenStreetMap data as of November 22
|
||||
• Highlight matched part of the address in search results
|
||||
• Sort search history by last usage time
|
||||
• Fixed start-up crashes for some older devices with Mali-T GPUs
|
||||
• Other search improvements, translation updates & bug fixes
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
• New OpenStreetMap data as of January 21
|
||||
• Dispay a speed limit sign in the navigation mode
|
||||
• Added Serbian (Cyrillic) and Latvian languages
|
||||
• Android Auto: sort bookmarks, improved location permission request experience
|
||||
• Added tower POIs
|
||||
• Added a setting for Kayak.com Hotel Links and a first-use opt-out option
|
||||
|
||||
…more details at omaps.org/news
|
||||
• New OpenStreetMap data as of November 22
|
||||
• Highlight matched part of the address in search results
|
||||
• Sort search history by last usage time
|
||||
• Fixed start-up crashes for some older devices with Mali-T GPUs
|
||||
• Other search improvements, translation updates & bug fixes
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
• New OpenStreetMap data as of January 21
|
||||
• Dispay a speed limit sign in the navigation mode
|
||||
• Added Serbian (Cyrillic) and Latvian languages
|
||||
• Android Auto: sort bookmarks, improved location permission request experience
|
||||
• Added tower POIs
|
||||
• Added a setting for Kayak.com Hotel Links and a first-use opt-out option
|
||||
|
||||
…more details at omaps.org/news
|
||||
• New OpenStreetMap data as of November 22
|
||||
• Highlight matched part of the address in search results
|
||||
• Sort search history by last usage time
|
||||
• Fixed start-up crashes for some older devices with Mali-T GPUs
|
||||
• Other search improvements, translation updates & bug fixes
|
||||
|
|
|
@ -1 +1 @@
|
|||
version: 2025.01.26-9-FDroid+25012609
|
||||
version: 2024.11.27-12-FDroid+24112712
|
||||
|
|
|
@ -37,7 +37,6 @@
|
|||
<uses-permission android:name="android.permission.WAKE_LOCK"/>
|
||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
|
||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_LOCATION"/>
|
||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_DATA_SYNC"/>
|
||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_SPECIAL_USE"/>
|
||||
<!--
|
||||
Android 13 (API level 33) and higher supports a runtime permission for sending non-exempt (including Foreground
|
||||
|
@ -80,14 +79,12 @@
|
|||
android:resizeableActivity="true"
|
||||
android:supportsRtl="true"
|
||||
android:networkSecurityConfig="@xml/network_security_config"
|
||||
android:manageSpaceActivity="${applicationId}.ManageSpaceActivity"
|
||||
tools:targetApi="33">
|
||||
|
||||
<!-- Allows for config and orientation change without killing/restarting main activity -->
|
||||
<activity
|
||||
android:name="app.organicmaps.SplashActivity"
|
||||
android:configChanges="orientation|screenSize|smallestScreenSize|density|screenLayout|uiMode|keyboard|keyboardHidden|navigation"
|
||||
android:screenOrientation="fullUser"
|
||||
android:exported="true">
|
||||
|
||||
<intent-filter>
|
||||
|
@ -122,7 +119,7 @@
|
|||
<data android:scheme="https"/>
|
||||
<data android:host="omaps.app"/>
|
||||
</intent-filter>
|
||||
|
||||
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.VIEW" />
|
||||
|
||||
|
@ -346,8 +343,7 @@
|
|||
|
||||
<activity
|
||||
android:name="app.organicmaps.DownloadResourcesLegacyActivity"
|
||||
android:configChanges="orientation|screenLayout|screenSize"
|
||||
android:screenOrientation="fullUser"/>
|
||||
android:configChanges="orientation|screenLayout|screenSize"/>
|
||||
|
||||
<activity-alias
|
||||
android:name="app.organicmaps.DownloadResourcesActivity"
|
||||
|
@ -364,18 +360,11 @@
|
|||
android:name="app.organicmaps.MwmActivity"
|
||||
android:launchMode="singleTask"
|
||||
android:configChanges="uiMode"
|
||||
android:screenOrientation="fullUser"
|
||||
android:windowSoftInputMode="stateAlwaysHidden|adjustPan"/>
|
||||
|
||||
<activity-alias
|
||||
android:name="${applicationId}.ManageSpaceActivity"
|
||||
android:exported="true"
|
||||
android:targetActivity=".SplashActivity" />
|
||||
|
||||
<activity
|
||||
android:name="app.organicmaps.downloader.DownloaderActivity"
|
||||
android:configChanges="orientation|screenLayout|screenSize"
|
||||
android:screenOrientation="fullUser"
|
||||
android:label="@string/download_maps"
|
||||
android:parentActivityName="app.organicmaps.MwmActivity"
|
||||
android:windowSoftInputMode="adjustResize" />
|
||||
|
@ -383,7 +372,6 @@
|
|||
<activity
|
||||
android:name="app.organicmaps.search.SearchActivity"
|
||||
android:configChanges="orientation|screenLayout|screenSize"
|
||||
android:screenOrientation="fullUser"
|
||||
android:label="@string/search_map"
|
||||
android:parentActivityName="app.organicmaps.MwmActivity"
|
||||
android:windowSoftInputMode="stateVisible|adjustResize" />
|
||||
|
@ -391,7 +379,6 @@
|
|||
<activity
|
||||
android:name="app.organicmaps.settings.SettingsActivity"
|
||||
android:configChanges="orientation|screenLayout|screenSize"
|
||||
android:screenOrientation="fullUser"
|
||||
android:label="@string/settings"
|
||||
android:parentActivityName="app.organicmaps.MwmActivity" />
|
||||
|
||||
|
@ -409,7 +396,6 @@
|
|||
<activity
|
||||
android:name="app.organicmaps.bookmarks.BookmarkCategoriesActivity"
|
||||
android:configChanges="orientation|screenLayout|screenSize"
|
||||
android:screenOrientation="fullUser"
|
||||
android:label="@string/bookmarks_and_tracks"
|
||||
android:parentActivityName="app.organicmaps.MwmActivity"
|
||||
android:windowSoftInputMode="adjustResize" />
|
||||
|
@ -417,7 +403,6 @@
|
|||
<activity
|
||||
android:name="app.organicmaps.bookmarks.BookmarkListActivity"
|
||||
android:configChanges="orientation|screenLayout|screenSize"
|
||||
android:screenOrientation="fullUser"
|
||||
android:label="@string/bookmarks"
|
||||
android:parentActivityName="app.organicmaps.bookmarks.BookmarkCategoriesActivity"
|
||||
android:windowSoftInputMode="adjustResize" />
|
||||
|
@ -425,7 +410,6 @@
|
|||
<activity
|
||||
android:name="app.organicmaps.editor.EditorActivity"
|
||||
android:configChanges="orientation|screenLayout|screenSize"
|
||||
android:screenOrientation="fullUser"
|
||||
android:label="@string/edit_place"
|
||||
android:parentActivityName="app.organicmaps.MwmActivity"
|
||||
android:windowSoftInputMode="adjustResize" />
|
||||
|
@ -459,21 +443,17 @@
|
|||
android:label="@string/driving_options_title"/>
|
||||
<activity
|
||||
android:name="app.organicmaps.MapPlaceholderActivity"/>
|
||||
<activity
|
||||
android:name="app.organicmaps.car.screens.permissions.RequestPermissionsActivity"/>
|
||||
<service
|
||||
android:name="app.organicmaps.car.CarAppService"
|
||||
android:exported="true"
|
||||
android:foregroundServiceType="specialUse"
|
||||
tools:ignore="ExportedService">
|
||||
<intent-filter>
|
||||
<action android:name="androidx.car.app.CarAppService" />
|
||||
<category android:name="androidx.car.app.category.NAVIGATION" />
|
||||
</intent-filter>
|
||||
<intent-filter>
|
||||
<action android:name="androidx.car.app.action.NAVIGATE" />
|
||||
<category android:name="android.intent.category.DEFAULT"/>
|
||||
<data android:scheme="geo" />
|
||||
</intent-filter>
|
||||
<property android:name="android.app.PROPERTY_SPECIAL_USE_FGS_SUBTYPE"
|
||||
android:value="@string/android_auto_fgs_explanation_for_special_use"/>
|
||||
</service>
|
||||
|
||||
<service
|
||||
|
@ -490,13 +470,6 @@
|
|||
android:stopWithTask="false"
|
||||
/>
|
||||
|
||||
<service
|
||||
android:name=".downloader.DownloaderService"
|
||||
android:foregroundServiceType="dataSync"
|
||||
android:exported="false"
|
||||
android:enabled="true"
|
||||
android:stopWithTask="false"/>
|
||||
|
||||
<provider
|
||||
android:name="androidx.core.content.FileProvider"
|
||||
android:authorities="${FILE_PROVIDER_PLACEHOLDER}"
|
||||
|
@ -512,8 +485,8 @@
|
|||
<meta-data android:name="android.webkit.WebView.EnableSafeBrowsing" android:value="false" />
|
||||
<!-- Disable Google's anonymous stats collection -->
|
||||
<meta-data android:name="android.webkit.WebView.MetricsOptOut" android:value="true" />
|
||||
|
||||
<!-- Version >= 3.0. Dex Dual Mode support for compatible Samsung devices.
|
||||
|
||||
<!-- Version >= 3.0. Dex Dual Mode support for compatible Samsung devices.
|
||||
See the documentation: https://developer.samsung.com/samsung-dex/modify-optimizing.html //-->
|
||||
<meta-data android:name="com.samsung.android.multidisplay.keep_process_alive" android:value="true" />
|
||||
|
||||
|
|
|
@ -22,13 +22,11 @@ set(SRC
|
|||
app/organicmaps/vulkan/android_vulkan_context_factory.hpp
|
||||
|
||||
# JNI sources
|
||||
app/organicmaps/sdk/search/DisplayedCategories.cpp
|
||||
app/organicmaps/sdk/search/SearchEngine.cpp
|
||||
app/organicmaps/sdk/search/SearchRecents.cpp
|
||||
app/organicmaps/core/jni_helper.cpp
|
||||
app/organicmaps/core/jni_java_methods.cpp
|
||||
app/organicmaps/core/logging.cpp
|
||||
app/organicmaps/bookmarks/data/BookmarkManager.cpp
|
||||
app/organicmaps/DisplayedCategories.cpp
|
||||
app/organicmaps/DownloadResourcesLegacyActivity.cpp
|
||||
app/organicmaps/editor/Editor.cpp
|
||||
app/organicmaps/editor/OpeningHours.cpp
|
||||
|
@ -40,6 +38,8 @@ set(SRC
|
|||
app/organicmaps/MapManager.cpp
|
||||
app/organicmaps/MwmApplication.cpp
|
||||
app/organicmaps/routing/RoutingOptions.cpp
|
||||
app/organicmaps/SearchEngine.cpp
|
||||
app/organicmaps/SearchRecents.cpp
|
||||
app/organicmaps/settings/UnitLocale.cpp
|
||||
app/organicmaps/settings/MapLanguageCode.cpp
|
||||
app/organicmaps/sound/tts.cpp
|
||||
|
@ -66,7 +66,6 @@ set(SRC
|
|||
app/organicmaps/util/LogsManager.cpp
|
||||
app/organicmaps/util/NetworkPolicy.cpp
|
||||
app/organicmaps/util/StringUtils.cpp
|
||||
app/organicmaps/util/UiThread.cpp
|
||||
app/organicmaps/vulkan/android_vulkan_context_factory.cpp
|
||||
)
|
||||
|
||||
|
|
|
@ -5,7 +5,8 @@
|
|||
|
||||
extern "C"
|
||||
{
|
||||
JNIEXPORT jobjectArray JNICALL Java_app_organicmaps_sdk_search_DisplayedCategories_nativeGetKeys(JNIEnv * env, jclass)
|
||||
JNIEXPORT jobjectArray JNICALL
|
||||
Java_app_organicmaps_search_DisplayedCategories_nativeGetKeys(JNIEnv * env, jclass clazz)
|
||||
{
|
||||
::Framework * fr = g_framework->NativeFramework();
|
||||
ASSERT(fr, ());
|
|
@ -931,15 +931,13 @@ Java_app_organicmaps_Framework_nativePlacePageActivationListener(JNIEnv *env, jc
|
|||
jni::TScopedLocalRef placePageDataRef(env, nullptr);
|
||||
if (info.IsTrack())
|
||||
{
|
||||
// todo: (KK) implement elevation info handling for the proper track selection
|
||||
auto const & track = frm()->GetBookmarkManager().GetTrack(info.GetTrackId());
|
||||
auto const & elevationInfo = track->GetElevationInfo();
|
||||
if (elevationInfo.has_value())
|
||||
placePageDataRef.reset(usermark_helper::CreateElevationInfo(env, elevationInfo.value()));
|
||||
auto const elevationInfo = frm()->GetBookmarkManager().MakeElevationInfo(info.GetTrackId());
|
||||
placePageDataRef.reset(usermark_helper::CreateElevationInfo(env, elevationInfo));
|
||||
}
|
||||
if (!placePageDataRef)
|
||||
else
|
||||
{
|
||||
placePageDataRef.reset(usermark_helper::CreateMapObject(env, info));
|
||||
|
||||
}
|
||||
env->CallVoidMethod(g_placePageActivationListener, activatedId, placePageDataRef.get());
|
||||
};
|
||||
auto const closePlacePage = [deactivateId]()
|
||||
|
@ -1578,12 +1576,6 @@ Java_app_organicmaps_Framework_nativeAddRoutePoint(JNIEnv * env, jclass, jstring
|
|||
frm()->GetRoutingManager().AddRoutePoint(std::move(data));
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Java_app_organicmaps_Framework_nativeRemoveRoutePoints(JNIEnv * env, jclass)
|
||||
{
|
||||
frm()->GetRoutingManager().RemoveRoutePoints();
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Java_app_organicmaps_Framework_nativeRemoveRoutePoint(JNIEnv * env, jclass,
|
||||
jint markType, jint intermediateIndex)
|
||||
|
@ -1633,13 +1625,6 @@ Java_app_organicmaps_Framework_nativeGetRoutePoints(JNIEnv * env, jclass)
|
|||
});
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Java_app_organicmaps_Framework_nativeMoveRoutePoint(JNIEnv * env, jclass,
|
||||
jint currentIndex, jint targetIndex)
|
||||
{
|
||||
frm()->GetRoutingManager().MoveRoutePoint(currentIndex, targetIndex);
|
||||
}
|
||||
|
||||
JNIEXPORT jobject JNICALL
|
||||
Java_app_organicmaps_Framework_nativeGetTransitRouteInfo(JNIEnv * env, jclass)
|
||||
{
|
||||
|
@ -1997,83 +1982,14 @@ Java_app_organicmaps_Framework_nativeMemoryWarning(JNIEnv *, jclass)
|
|||
|
||||
JNIEXPORT jstring JNICALL
|
||||
Java_app_organicmaps_Framework_nativeGetKayakHotelLink(JNIEnv * env, jclass, jstring countryIsoCode, jstring uri,
|
||||
jlong firstDaySec, jlong lastDaySec)
|
||||
jlong firstDaySec, jlong lastDaySec, jboolean isReferral)
|
||||
{
|
||||
string const url = osm::GetKayakHotelURLFromURI(jni::ToNativeString(env, countryIsoCode),
|
||||
jni::ToNativeString(env, uri),
|
||||
static_cast<time_t>(firstDaySec),
|
||||
static_cast<time_t>(lastDaySec));
|
||||
static_cast<time_t>(lastDaySec),
|
||||
isReferral);
|
||||
return url.empty() ? nullptr : jni::ToJavaString(env, url);
|
||||
}
|
||||
|
||||
JNIEXPORT jboolean JNICALL
|
||||
Java_app_organicmaps_Framework_nativeShouldShowProducts(JNIEnv * env, jclass)
|
||||
{
|
||||
return frm()->ShouldShowProducts();
|
||||
}
|
||||
|
||||
JNIEXPORT jobject JNICALL
|
||||
Java_app_organicmaps_Framework_nativeGetProductsConfiguration(JNIEnv * env, jclass)
|
||||
{
|
||||
auto config = frm()->GetProductsConfiguration();
|
||||
if (!config) return nullptr;
|
||||
|
||||
static jclass const productClass = jni::GetGlobalClassRef(
|
||||
env,
|
||||
"app/organicmaps/products/Product"
|
||||
);
|
||||
static jmethodID const productConstructor = jni::GetConstructorID(
|
||||
env,
|
||||
productClass,
|
||||
"(Ljava/lang/String;Ljava/lang/String;)V"
|
||||
);
|
||||
|
||||
jobjectArray products = jni::ToJavaArray(
|
||||
env,
|
||||
productClass,
|
||||
config->GetProducts(),
|
||||
[](JNIEnv * env, products::ProductsConfig::Product const & product)
|
||||
{
|
||||
jni::TScopedLocalRef const title(env, jni::ToJavaString(env, product.GetTitle()));
|
||||
jni::TScopedLocalRef const link(env, jni::ToJavaString(env, product.GetLink()));
|
||||
|
||||
return env->NewObject(
|
||||
productClass,
|
||||
productConstructor,
|
||||
title.get(),
|
||||
link.get()
|
||||
);
|
||||
});
|
||||
|
||||
static jclass const productsConfigClass = jni::GetGlobalClassRef(
|
||||
env,
|
||||
"app/organicmaps/products/ProductsConfig"
|
||||
);
|
||||
static jmethodID const productsConfigConstructor = jni::GetConstructorID(
|
||||
env,
|
||||
productsConfigClass,
|
||||
"(Ljava/lang/String;[Lapp/organicmaps/products/Product;)V"
|
||||
);
|
||||
|
||||
jni::TScopedLocalRef const placePagePrompt(env, jni::ToJavaString(env, config->GetPlacePagePrompt()));
|
||||
return env->NewObject(productsConfigClass, productsConfigConstructor, placePagePrompt.get(), products);
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Java_app_organicmaps_Framework_nativeDidCloseProductsPopup(JNIEnv * env, jclass, jstring reason)
|
||||
{
|
||||
frm()->DidCloseProductsPopup(frm()->FromString(jni::ToNativeString(env, reason)));
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Java_app_organicmaps_Framework_nativeDidSelectProduct(JNIEnv * env, jclass, jstring title, jstring link)
|
||||
{
|
||||
products::ProductsConfig::Product product(
|
||||
jni::ToNativeString(env, title),
|
||||
jni::ToNativeString(env, link)
|
||||
);
|
||||
|
||||
frm()->DidSelectProduct(product);
|
||||
}
|
||||
|
||||
} // extern "C"
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
#include "app/organicmaps/Framework.hpp"
|
||||
|
||||
#include "app/organicmaps/platform/GuiThread.hpp"
|
||||
#include "app/organicmaps/platform/AndroidPlatform.hpp"
|
||||
|
||||
#include "app/organicmaps/core/jni_helper.hpp"
|
||||
|
@ -13,16 +14,16 @@ extern "C"
|
|||
android::Platform::Instance().SetSettingsDir(jni::ToNativeString(env, settingsPath));
|
||||
}
|
||||
|
||||
// static void nativeInitPlatform(Context context, String apkPath, String storagePath, String privatePath, String tmpPath,
|
||||
// void nativeInitPlatform(String apkPath, String storagePath, String privatePath, String tmpPath,
|
||||
// String flavorName, String buildType, boolean isTablet);
|
||||
JNIEXPORT void JNICALL
|
||||
Java_app_organicmaps_MwmApplication_nativeInitPlatform(JNIEnv * env, jclass clazz, jobject context,
|
||||
jstring apkPath, jstring writablePath,
|
||||
jstring privatePath, jstring tmpPath,
|
||||
jstring flavorName, jstring buildType,
|
||||
jboolean isTablet)
|
||||
Java_app_organicmaps_MwmApplication_nativeInitPlatform(JNIEnv * env, jobject thiz,
|
||||
jstring apkPath, jstring writablePath,
|
||||
jstring privatePath, jstring tmpPath,
|
||||
jstring flavorName, jstring buildType,
|
||||
jboolean isTablet)
|
||||
{
|
||||
android::Platform::Instance().Initialize(env, context, apkPath, writablePath, privatePath, tmpPath,
|
||||
android::Platform::Instance().Initialize(env, thiz, apkPath, writablePath, privatePath, tmpPath,
|
||||
flavorName, buildType, isTablet);
|
||||
}
|
||||
|
||||
|
@ -41,6 +42,13 @@ extern "C"
|
|||
}
|
||||
}
|
||||
|
||||
// static void nativeProcessTask(long taskPointer);
|
||||
JNIEXPORT void JNICALL
|
||||
Java_app_organicmaps_MwmApplication_nativeProcessTask(JNIEnv * env, jclass clazz, jlong taskPointer)
|
||||
{
|
||||
android::GuiThread::ProcessTask(taskPointer);
|
||||
}
|
||||
|
||||
// static void nativeAddLocalization(String name, String value);
|
||||
JNIEXPORT void JNICALL
|
||||
Java_app_organicmaps_MwmApplication_nativeAddLocalization(JNIEnv * env, jclass clazz, jstring name, jstring value)
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Reference in a new issue