forked from organicmaps/organicmaps
Compare commits
1 commit
master
...
github/for
Author | SHA1 | Date | |
---|---|---|---|
|
5e25b3af78 |
1260 changed files with 285183 additions and 176013 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
|
||||
|
|
58
.gitmodules
vendored
58
.gitmodules
vendored
|
@ -1,23 +1,26 @@
|
|||
[submodule "tools/osmctools"]
|
||||
path = tools/osmctools
|
||||
url = https://git.omaps.dev/organicmaps/osmctools.git
|
||||
url = https://github.com/organicmaps/osmctools.git
|
||||
[submodule "tools/kothic"]
|
||||
path = tools/kothic
|
||||
url = https://git.omaps.dev/organicmaps/kothic.git
|
||||
url = https://github.com/organicmaps/kothic.git
|
||||
[submodule "3party/protobuf/protobuf"]
|
||||
path = 3party/protobuf/protobuf
|
||||
url = https://git.omaps.dev/organicmaps/protobuf.git
|
||||
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
|
||||
[submodule "3party/boost"]
|
||||
path = 3party/boost
|
||||
url = https://github.com/boostorg/boost.git
|
||||
branch = boost-1.85.0
|
||||
branch = boost-1.76.0
|
||||
ignore = dirty
|
||||
[submodule "3party/just_gtfs"]
|
||||
path = 3party/just_gtfs
|
||||
url = https://git.omaps.dev/organicmaps/just_gtfs.git
|
||||
url = https://github.com/organicmaps/just_gtfs.git
|
||||
branch = for-usage-as-submodule
|
||||
[submodule "3party/expat"]
|
||||
path = 3party/expat
|
||||
|
@ -30,38 +33,29 @@
|
|||
path = 3party/icu/icu
|
||||
url = https://github.com/unicode-org/icu.git
|
||||
[submodule "3party/freetype/freetype"]
|
||||
path = 3party/freetype/freetype
|
||||
url = https://git.omaps.dev/organicmaps/freetype.git
|
||||
path = 3party/freetype/freetype
|
||||
url = https://github.com/organicmaps/freetype.git
|
||||
[submodule "3party/googletest"]
|
||||
path = 3party/googletest
|
||||
url = https://github.com/google/googletest.git
|
||||
path = 3party/googletest
|
||||
url = https://github.com/google/googletest.git
|
||||
[submodule "3party/fast_double_parser"]
|
||||
path = 3party/fast_double_parser
|
||||
url = https://github.com/lemire/fast_double_parser.git
|
||||
path = 3party/fast_double_parser
|
||||
url = https://github.com/lemire/fast_double_parser.git
|
||||
[submodule "3party/pugixml/pugixml"]
|
||||
path = 3party/pugixml/pugixml
|
||||
url = https://github.com/zeux/pugixml.git
|
||||
path = 3party/pugixml/pugixml
|
||||
url = https://github.com/zeux/pugixml.git
|
||||
[submodule "3party/jansson/jansson"]
|
||||
path = 3party/jansson/jansson
|
||||
url = https://github.com/akheron/jansson.git
|
||||
path = 3party/jansson/jansson
|
||||
url = https://github.com/akheron/jansson.git
|
||||
[submodule "3party/gflags"]
|
||||
path = 3party/gflags
|
||||
url = https://github.com/gflags/gflags
|
||||
path = 3party/gflags
|
||||
url = https://github.com/gflags/gflags
|
||||
[submodule "3party/fast_obj"]
|
||||
path = 3party/fast_obj
|
||||
url = https://github.com/thisistherk/fast_obj
|
||||
path = 3party/fast_obj
|
||||
url = https://github.com/thisistherk/fast_obj
|
||||
[submodule "3party/harfbuzz/harfbuzz"]
|
||||
path = 3party/harfbuzz/harfbuzz
|
||||
url = https://github.com/harfbuzz/harfbuzz.git
|
||||
path = 3party/harfbuzz/harfbuzz
|
||||
url = https://github.com/harfbuzz/harfbuzz.git
|
||||
[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
|
||||
path = 3party/utfcpp
|
||||
url = https://github.com/nemtrif/utfcpp.git
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
Subproject commit 989857d2e5e54869c35ad06fb21a67d12a2dbc67
|
|
@ -66,19 +66,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 +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
|
|
@ -1 +1 @@
|
|||
Subproject commit caade5a28aad86b92a4b5337a9dc70c4ba73c5eb
|
||||
Subproject commit 30cc354fe37114ec7a0a4ed2192951690357c2ed
|
|
@ -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
|
||||
|
|
|
@ -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.
|
22
README.md
22
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>
|
||||
|
@ -167,8 +158,9 @@ Please join our beta program, suggest your features, and report bugs:
|
|||
|
||||
- **Rate us on the [App Store](https://apps.apple.com/app/organic-maps/id1567437057)
|
||||
and [Google Play](https://play.google.com/store/apps/details?id=app.organicmaps)**.
|
||||
- **Star us on Forgejo**.
|
||||
- Report bugs or issues to [the issue tracker](https://git.omaps.dev/organicmaps/organicmaps/issues).
|
||||
- **Star us on GitHub**.
|
||||
- Report bugs or issues to [the issue tracker](https://github.com/organicmaps/organicmaps/issues).
|
||||
- [Discuss](https://github.com/organicmaps/organicmaps/discussions/categories/ideas) ideas or propose feature requests.
|
||||
- Subscribe to our [Telegram Channel](https://t.me/OrganicMapsApp) or to the [[matrix] space](https://matrix.to/#/#organicmaps:matrix.org) for updates.
|
||||
- Join our [Telegram Group](https://t.me/OrganicMaps) to discuss with other users.
|
||||
- Присоединяйтесь к нашей [русскоязычной группе в Telegram](https://t.me/OrganicMapsRu) для обратной связи и помощи.
|
||||
|
@ -178,7 +170,7 @@ and [Google Play](https://play.google.com/store/apps/details?id=app.organicmaps)
|
|||
- Follow our updates in
|
||||
[Mastodon](https://fosstodon.org/@organicmaps),
|
||||
[Facebook](https://facebook.com/OrganicMaps),
|
||||
[X (Twitter)](https://x.com/OrganicMapsApp),
|
||||
[Twitter](https://twitter.com/OrganicMapsApp),
|
||||
[Instagram](https://instagram.com/organicmaps.app/).
|
||||
- Güncellemelerimizi [Instagram](https://instagram.com/organicmapstr/) üzerinden takip edin.
|
||||
|
||||
|
|
|
@ -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
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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 February 27
|
||||
• Ability to manually arrange intermediate route points
|
||||
• Share a single selected track from the list
|
||||
• Improved routing for bicycles
|
||||
• Display a system notification when downloading maps and don't interrupt background downloads
|
||||
• Added a flashing Track Recording widget
|
||||
|
||||
…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 February 27
|
||||
• Ability to manually arrange intermediate route points
|
||||
• Share a single selected track from the list
|
||||
• Improved routing for bicycles
|
||||
• Display a system notification when downloading maps and don't interrupt background downloads
|
||||
• Added a flashing Track Recording widget
|
||||
|
||||
…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 ад 27 лютага
|
||||
• Магчымасць уручную расстаўляць прамежкавыя кропкі маршруту
|
||||
• Экспарт аднаго абранага трэка са спісу
|
||||
• Палепшаная маршрутызацыя для веласіпедыстаў
|
||||
• Дададзена сістэмнае апавяшчэнне пры загрузцы карт, фонавыя загрузкі больш не перарываюцца
|
||||
• Дададзены мігатлівы віджэт запісу трэка
|
||||
|
||||
…і шматлікае іншае на 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 February 27
|
||||
• Ability to manually arrange intermediate route points
|
||||
• Share a single selected track from the list
|
||||
• Improved routing for bicycles
|
||||
• Display a system notification when downloading maps and don't interrupt background downloads
|
||||
• Added a flashing Track Recording widget
|
||||
|
||||
…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 February 27
|
||||
• Ability to manually arrange intermediate route points
|
||||
• Share a single selected track from the list
|
||||
• Improved routing for bicycles
|
||||
• Display a system notification when downloading maps and don't interrupt background downloads
|
||||
• Added a flashing Track Recording widget
|
||||
|
||||
…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 February 27
|
||||
• Ability to manually arrange intermediate route points
|
||||
• Share a single selected track from the list
|
||||
• Improved routing for bicycles
|
||||
• Display a system notification when downloading maps and don't interrupt background downloads
|
||||
• Added a flashing Track Recording widget
|
||||
|
||||
…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 February 27
|
||||
• Ability to manually arrange intermediate route points
|
||||
• Share a single selected track from the list
|
||||
• Improved routing for bicycles
|
||||
• Display a system notification when downloading maps and don't interrupt background downloads
|
||||
• Added a flashing Track Recording widget
|
||||
|
||||
…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 February 27
|
||||
• Ability to manually arrange intermediate route points
|
||||
• Share a single selected track from the list
|
||||
• Improved routing for bicycles
|
||||
• Display a system notification when downloading maps and don't interrupt background downloads
|
||||
• Added a flashing Track Recording widget
|
||||
|
||||
…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 27. Februar
|
||||
• Möglichkeit, Zwischenroutenpunkte manuell zu arrangieren
|
||||
• Einen einzelnen ausgewählten Track aus der Liste teilen
|
||||
• Verbesserte Routenführung für Fahrräder
|
||||
• Beim Herunterladen von Karten eine Systembenachrichtigung anzeigen und Hintergrunddownloads nicht unterbrechen
|
||||
• Ein blinkendes Trackaufzeichnungs-Widget 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 February 27
|
||||
• Ability to manually arrange intermediate route points
|
||||
• Share a single selected track from the list
|
||||
• Improved routing for bicycles
|
||||
• Display a system notification when downloading maps and don't interrupt background downloads
|
||||
• Added a flashing Track Recording widget
|
||||
|
||||
…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 February 27
|
||||
• Ability to manually arrange intermediate route points
|
||||
• Share a single selected track from the list
|
||||
• Improved routing for bicycles
|
||||
• Display a system notification when downloading maps and don't interrupt background downloads
|
||||
• Added a Track Recording indicator on the main screen
|
||||
|
||||
…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 February 27
|
||||
• Ability to manually arrange intermediate route points
|
||||
• Share a single selected track from the list
|
||||
• Improved routing for bicycles
|
||||
• Display a system notification when downloading maps and don't interrupt background downloads
|
||||
• Added a flashing Track Recording widget
|
||||
|
||||
…more details at 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 February 27
|
||||
• Ability to manually arrange intermediate route points
|
||||
• Share a single selected track from the list
|
||||
• Improved routing for bicycles
|
||||
• Display a system notification when downloading maps and don't interrupt background downloads
|
||||
• Added a flashing Track Recording widget
|
||||
|
||||
…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 February 27
|
||||
• Ability to manually arrange intermediate route points
|
||||
• Share a single selected track from the list
|
||||
• Improved routing for bicycles
|
||||
• Display a system notification when downloading maps and don't interrupt background downloads
|
||||
• Added a flashing Track Recording widget
|
||||
|
||||
…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 February 27
|
||||
• Ability to manually arrange intermediate route points
|
||||
• Share a single selected track from the list
|
||||
• Improved routing for bicycles
|
||||
• Display a system notification when downloading maps and don't interrupt background downloads
|
||||
• Added a flashing Track Recording widget
|
||||
|
||||
…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 February 27
|
||||
• Ability to manually arrange intermediate route points
|
||||
• Share a single selected track from the list
|
||||
• Improved routing for bicycles
|
||||
• Display a system notification when downloading maps and don't interrupt background downloads
|
||||
• Added a flashing Track Recording widget
|
||||
|
||||
…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 27 février
|
||||
• Possibilité d'organiser manuellement les points d'itinéraire intermédiaires
|
||||
• Partager une seule piste sélectionnée dans la liste
|
||||
• Amélioration du routage pour les vélos
|
||||
• Afficher une notification système lors du téléchargement de cartes et ne pas interrompre les téléchargements en arrière-plan
|
||||
• Ajout d'un widget d'enregistrement de piste clignotant
|
||||
|
||||
…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 February 27
|
||||
• Ability to manually arrange intermediate route points
|
||||
• Share a single selected track from the list
|
||||
• Improved routing for bicycles
|
||||
• Display a system notification when downloading maps and don't interrupt background downloads
|
||||
• Added a flashing Track Recording widget
|
||||
|
||||
…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 February 27
|
||||
• Ability to manually arrange intermediate route points
|
||||
• Share a single selected track from the list
|
||||
• Improved routing for bicycles
|
||||
• Display a system notification when downloading maps and don't interrupt background downloads
|
||||
• Added a flashing Track Recording widget
|
||||
|
||||
…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 February 27
|
||||
• Ability to manually arrange intermediate route points
|
||||
• Share a single selected track from the list
|
||||
• Improved routing for bicycles
|
||||
• Display a system notification when downloading maps and don't interrupt background downloads
|
||||
• Added a flashing Track Recording widget
|
||||
|
||||
…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 February 27
|
||||
• Ability to manually arrange intermediate route points
|
||||
• Share a single selected track from the list
|
||||
• Improved routing for bicycles
|
||||
• Display a system notification when downloading maps and don't interrupt background downloads
|
||||
• Added a flashing Track Recording widget
|
||||
|
||||
…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 February 27
|
||||
• Ability to manually arrange intermediate route points
|
||||
• Share a single selected track from the list
|
||||
• Improved routing for bicycles
|
||||
• Display a system notification when downloading maps and don't interrupt background downloads
|
||||
• Added a flashing Track Recording widget
|
||||
|
||||
…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 February 27
|
||||
• Ability to manually arrange intermediate route points
|
||||
• Share a single selected track from the list
|
||||
• Improved routing for bicycles
|
||||
• Display a system notification when downloading maps and don't interrupt background downloads
|
||||
• Added a flashing Track Recording widget
|
||||
|
||||
…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 February 27
|
||||
• Ability to manually arrange intermediate route points
|
||||
• Share a single selected track from the list
|
||||
• Improved routing for bicycles
|
||||
• Display a system notification when downloading maps and don't interrupt background downloads
|
||||
• Added a flashing Track Recording widget
|
||||
|
||||
…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 February 27
|
||||
• Ability to manually arrange intermediate route points
|
||||
• Share a single selected track from the list
|
||||
• Improved routing for bicycles
|
||||
• Display a system notification when downloading maps and don't interrupt background downloads
|
||||
• Added a flashing Track Recording widget
|
||||
|
||||
…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 February 27
|
||||
• Ability to manually arrange intermediate route points
|
||||
• Share a single selected track from the list
|
||||
• Improved routing for bicycles
|
||||
• Display a system notification when downloading maps and don't interrupt background downloads
|
||||
• Added a flashing Track Recording widget
|
||||
|
||||
…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 February 27
|
||||
• Ability to manually arrange intermediate route points
|
||||
• Share a single selected track from the list
|
||||
• Improved routing for bicycles
|
||||
• Display a system notification when downloading maps and don't interrupt background downloads
|
||||
• Added a flashing Track Recording widget
|
||||
|
||||
…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 February 27
|
||||
• Ability to manually arrange intermediate route points
|
||||
• Share a single selected track from the list
|
||||
• Improved routing for bicycles
|
||||
• Display a system notification when downloading maps and don't interrupt background downloads
|
||||
• Added a flashing Track Recording widget
|
||||
|
||||
…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 February 27
|
||||
• Ability to manually arrange intermediate route points
|
||||
• Share a single selected track from the list
|
||||
• Improved routing for bicycles
|
||||
• Display a system notification when downloading maps and don't interrupt background downloads
|
||||
• Added a flashing Track Recording widget
|
||||
|
||||
…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 February 27
|
||||
• Ability to manually arrange intermediate route points
|
||||
• Share a single selected track from the list
|
||||
• Improved routing for bicycles
|
||||
• Display a system notification when downloading maps and don't interrupt background downloads
|
||||
• Added a flashing Track Recording widget
|
||||
|
||||
…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 February 27
|
||||
• Ability to manually arrange intermediate route points
|
||||
• Share a single selected track from the list
|
||||
• Improved routing for bicycles
|
||||
• Display a system notification when downloading maps and don't interrupt background downloads
|
||||
• Added a flashing Track Recording widget
|
||||
|
||||
…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 February 27
|
||||
• Ability to manually arrange intermediate route points
|
||||
• Share a single selected track from the list
|
||||
• Improved routing for bicycles
|
||||
• Display a system notification when downloading maps and don't interrupt background downloads
|
||||
• Added a flashing Track Recording widget
|
||||
|
||||
…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 February 27
|
||||
• Ability to manually arrange intermediate route points
|
||||
• Share a single selected track from the list
|
||||
• Improved routing for bicycles
|
||||
• Display a system notification when downloading maps and don't interrupt background downloads
|
||||
• Added a flashing Track Recording widget
|
||||
|
||||
…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 February 27
|
||||
• Ability to manually arrange intermediate route points
|
||||
• Share a single selected track from the list
|
||||
• Improved routing for bicycles
|
||||
• Display a system notification when downloading maps and don't interrupt background downloads
|
||||
• Added a flashing Track Recording widget
|
||||
|
||||
…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 February 27
|
||||
• Ability to manually arrange intermediate route points
|
||||
• Share a single selected track from the list
|
||||
• Improved routing for bicycles
|
||||
• Display a system notification when downloading maps and don't interrupt background downloads
|
||||
• Added a flashing Track Recording widget
|
||||
|
||||
…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 February 27
|
||||
• Ability to manually arrange intermediate route points
|
||||
• Share a single selected track from the list
|
||||
• Improved routing for bicycles
|
||||
• Display a system notification when downloading maps and don't interrupt background downloads
|
||||
• Added a flashing Track Recording widget
|
||||
|
||||
…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 February 27
|
||||
• Ability to manually arrange intermediate route points
|
||||
• Share a single selected track from the list
|
||||
• Improved routing for bicycles
|
||||
• Display a system notification when downloading maps and don't interrupt background downloads
|
||||
• Added a flashing Track Recording widget
|
||||
|
||||
…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 February 27
|
||||
• Ability to manually arrange intermediate route points
|
||||
• Share a single selected track from the list
|
||||
• Improved routing for bicycles
|
||||
• Display a system notification when downloading maps and don't interrupt background downloads
|
||||
• Added a flashing Track Recording widget
|
||||
|
||||
…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 February 27
|
||||
• Ability to manually arrange intermediate route points
|
||||
• Share a single selected track from the list
|
||||
• Improved routing for bicycles
|
||||
• Display a system notification when downloading maps and don't interrupt background downloads
|
||||
• Added a flashing Track Recording widget
|
||||
|
||||
…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 February 27
|
||||
• Ability to manually arrange intermediate route points
|
||||
• Share a single selected track from the list
|
||||
• Improved routing for bicycles
|
||||
• Display a system notification when downloading maps and don't interrupt background downloads
|
||||
• Added a flashing Track Recording widget
|
||||
|
||||
…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 February 27
|
||||
• Ability to manually arrange intermediate route points
|
||||
• Share a single selected track from the list
|
||||
• Improved routing for bicycles
|
||||
• Display a system notification when downloading maps and don't interrupt background downloads
|
||||
• Added a flashing Track Recording widget
|
||||
|
||||
…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 February 27
|
||||
• Ability to manually arrange intermediate route points
|
||||
• Share a single selected track from the list
|
||||
• Improved routing for bicycles
|
||||
• Display a system notification when downloading maps and don't interrupt background downloads
|
||||
• Added a flashing Track Recording widget
|
||||
|
||||
…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 February 27
|
||||
• Ability to manually arrange intermediate route points
|
||||
• Share a single selected track from the list
|
||||
• Improved routing for bicycles
|
||||
• Display a system notification when downloading maps and don't interrupt background downloads
|
||||
• Added a flashing Track Recording widget
|
||||
|
||||
…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 February 27
|
||||
• Ability to manually arrange intermediate route points
|
||||
• Share a single selected track from the list
|
||||
• Improved routing for bicycles
|
||||
• Display a system notification when downloading maps and don't interrupt background downloads
|
||||
• Added a flashing Track Recording widget
|
||||
|
||||
…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 February 27
|
||||
• Ability to manually arrange intermediate route points
|
||||
• Share a single selected track from the list
|
||||
• Improved routing for bicycles
|
||||
• Display a system notification when downloading maps and don't interrupt background downloads
|
||||
• Added a flashing Track Recording widget
|
||||
|
||||
…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 от 27 февраля
|
||||
• Возможность вручную расставлять промежуточные точки маршрута
|
||||
• Экспорт одного выбранного трека из списка
|
||||
• Улучшенная маршрутизация для велосипедистов
|
||||
• Добавлено системное уведомление при загрузке карт, фоновые загрузки больше не прерываются
|
||||
• Добавлен мигающий виджет записи трека
|
||||
|
||||
…и многое другое на omaps.org/news
|
||||
• Новые данные OpenStreetMap от 22 ноября
|
||||
• В результатах поиска выделяется совпавшая часть адреса
|
||||
• История поиска всегда сортируется по времени последнего использования
|
||||
• Исправлена проблема запуска на некоторых старых устройствах с GPU Mali-T
|
||||
• Различные улучшения поиска, обновления переводов и исправления ошибок
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
• New OpenStreetMap data as of February 27
|
||||
• Ability to manually arrange intermediate route points
|
||||
• Share a single selected track from the list
|
||||
• Improved routing for bicycles
|
||||
• Display a system notification when downloading maps and don't interrupt background downloads
|
||||
• Added a flashing Track Recording widget
|
||||
|
||||
…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 February 27
|
||||
• Ability to manually arrange intermediate route points
|
||||
• Share a single selected track from the list
|
||||
• Improved routing for bicycles
|
||||
• Display a system notification when downloading maps and don't interrupt background downloads
|
||||
• Added a flashing Track Recording widget
|
||||
|
||||
…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 February 27
|
||||
• Ability to manually arrange intermediate route points
|
||||
• Share a single selected track from the list
|
||||
• Improved routing for bicycles
|
||||
• Display a system notification when downloading maps and don't interrupt background downloads
|
||||
• Added a flashing Track Recording widget
|
||||
|
||||
…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 February 27
|
||||
• Ability to manually arrange intermediate route points
|
||||
• Share a single selected track from the list
|
||||
• Improved routing for bicycles
|
||||
• Display a system notification when downloading maps and don't interrupt background downloads
|
||||
• Added a flashing Track Recording widget
|
||||
|
||||
…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 February 27
|
||||
• Ability to manually arrange intermediate route points
|
||||
• Share a single selected track from the list
|
||||
• Improved routing for bicycles
|
||||
• Display a system notification when downloading maps and don't interrupt background downloads
|
||||
• Added a flashing Track Recording widget
|
||||
|
||||
…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 February 27
|
||||
• Ability to manually arrange intermediate route points
|
||||
• Share a single selected track from the list
|
||||
• Improved routing for bicycles
|
||||
• Display a system notification when downloading maps and don't interrupt background downloads
|
||||
• Added a flashing Track Recording widget
|
||||
|
||||
…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 February 27
|
||||
• Ability to manually arrange intermediate route points
|
||||
• Share a single selected track from the list
|
||||
• Improved routing for bicycles
|
||||
• Display a system notification when downloading maps and don't interrupt background downloads
|
||||
• Added a flashing Track Recording widget
|
||||
|
||||
…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 від 27 лютого
|
||||
• Можливість вручну розставляти проміжні точки маршруту
|
||||
• Експорт одного вибраного треку зі списку
|
||||
• Покращена маршрутизація для велосипедистів
|
||||
• Додано системне повідомлення під час завантаження карт, фонові завантаження більше не перериваються
|
||||
• Додано миготливий віджет запису треку
|
||||
|
||||
…більше подробиць на omaps.org/news
|
||||
• Нові дані OpenStreetMap від 22 листопада
|
||||
• Адреса підсвічюється в результатах пошуку
|
||||
• Історія пошука сортується за часом останнього використання
|
||||
• Виправлення падіння на деяких старих девайсах із Mali-T GPU
|
||||
• Деякі покращення якості пошуку, уточнення перекладів, виправлення помилок
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
• New OpenStreetMap data as of February 27
|
||||
• Ability to manually arrange intermediate route points
|
||||
• Share a single selected track from the list
|
||||
• Improved routing for bicycles
|
||||
• Display a system notification when downloading maps and don't interrupt background downloads
|
||||
• Added a flashing Track Recording widget
|
||||
|
||||
…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 February 27
|
||||
• Ability to manually arrange intermediate route points
|
||||
• Share a single selected track from the list
|
||||
• Improved routing for bicycles
|
||||
• Display a system notification when downloading maps and don't interrupt background downloads
|
||||
• Added a flashing Track Recording widget
|
||||
|
||||
…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 February 27
|
||||
• Ability to manually arrange intermediate route points
|
||||
• Share a single selected track from the list
|
||||
• Improved routing for bicycles
|
||||
• Display a system notification when downloading maps and don't interrupt background downloads
|
||||
• Added a flashing Track Recording widget
|
||||
|
||||
…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 February 27
|
||||
• Ability to manually arrange intermediate route points
|
||||
• Share a single selected track from the list
|
||||
• Improved routing for bicycles
|
||||
• Display a system notification when downloading maps and don't interrupt background downloads
|
||||
• Added a flashing Track Recording widget
|
||||
|
||||
…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 February 27
|
||||
• Ability to manually arrange intermediate route points
|
||||
• Share a single selected track from the list
|
||||
• Improved routing for bicycles
|
||||
• Display a system notification when downloading maps and don't interrupt background downloads
|
||||
• Added a flashing Track Recording widget
|
||||
|
||||
…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.03.02-7-FDroid+25030207
|
||||
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, ());
|
|
@ -1578,12 +1578,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 +1627,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)
|
||||
{
|
||||
|
@ -2006,74 +1993,4 @@ Java_app_organicmaps_Framework_nativeGetKayakHotelLink(JNIEnv * env, jclass, jst
|
|||
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
Loading…
Add table
Reference in a new issue