From fe7463e59b1b60d4a96386448290f3490a0718e5 Mon Sep 17 00:00:00 2001 From: Vladimir Filatov Date: Fri, 23 Nov 2018 20:04:36 +0000 Subject: [PATCH] Add OsmAnd to the project --- CommonInstaller | 11 +++++ .../META-INF/com/google/android/update-binary | 44 +++++++++++++++++++ .../com/google/android/updater-script | 1 + OsmAnd/common/service.sh | 9 ++++ OsmAnd/module.prop | 7 +++ build-package | 14 +++++- data/build-package.common | 2 +- data/build-package.database | 2 + data/build-package.pkg-osmand | 32 ++++++++++++++ data/build-package.update | 5 +++ doc/.nanodroid-apps | 1 + doc/.nanodroid-setup | 1 + .../META-INF/com/google/android/update-binary | 2 +- 13 files changed, 128 insertions(+), 3 deletions(-) create mode 100644 OsmAnd/META-INF/com/google/android/update-binary create mode 100644 OsmAnd/META-INF/com/google/android/updater-script create mode 100644 OsmAnd/common/service.sh create mode 100644 OsmAnd/module.prop create mode 100644 data/build-package.pkg-osmand diff --git a/CommonInstaller b/CommonInstaller index 2839d7b..6669979 100644 --- a/CommonInstaller +++ b/CommonInstaller @@ -182,6 +182,9 @@ show_banner () { NanoDroid_BromiteWebView ) ui_print " Bromite WebView package " ;; + NanoDroid_OsmAnd ) + ui_print " OsmAnd package " + ;; esac ui_print "*****************************" ui_print " " @@ -991,6 +994,14 @@ install_bromite_webview () { fi } +install_osmand () { + if [ "${nanodroid_osmand}" -eq 1 -o "${MODID}" = "NanoDroid_OsmAnd" ]; then + ui_print " << with OsmAnd" + nanodroid_install_apk OsmAnd + else ui_print " << without OsmAnd" + fi +} + install_swipe () { if [ "${nanodroid_swipe}" ]; then if [ "${SWIPE_UNSUPPORTED}" -eq 1 ]; then diff --git a/OsmAnd/META-INF/com/google/android/update-binary b/OsmAnd/META-INF/com/google/android/update-binary new file mode 100644 index 0000000..d604d3e --- /dev/null +++ b/OsmAnd/META-INF/com/google/android/update-binary @@ -0,0 +1,44 @@ +#!/sbin/sh + +umask 022 +OUTFD=${2} +ZIP=${3} + +ZIPDIR=$(dirname "${ZIP}") +MODID=NanoDroid_OsmAnd + +mkdir -p /dev/tmp +unzip -o "${ZIP}" CommonInstaller -d "/dev/tmp" +if [ ! -f /dev/tmp/CommonInstaller ]; then + echo " !! failed to load Common Installer" + exit 1 +else + source "/dev/tmp/CommonInstaller" +fi + +detect_bootmode +detect_outfd +show_progress 1.0 0 + +show_banner +set_progress 0.1 + +unpack_zip +mount_partitions + +detect_arch +setup_busybox + +get_cfg_setup +get_cfg_overlay + +detect_mode +set_progress 0.2 + +install_osmand +set_progress 0.75 + +nanodroid_finalize +set_progress 1.0 + +exit 0 diff --git a/OsmAnd/META-INF/com/google/android/updater-script b/OsmAnd/META-INF/com/google/android/updater-script new file mode 100644 index 0000000..11d5c96 --- /dev/null +++ b/OsmAnd/META-INF/com/google/android/updater-script @@ -0,0 +1 @@ +#MAGISK diff --git a/OsmAnd/common/service.sh b/OsmAnd/common/service.sh new file mode 100644 index 0000000..41bebc1 --- /dev/null +++ b/OsmAnd/common/service.sh @@ -0,0 +1,9 @@ +#!/system/bin/sh +# Please don't hardcode /magisk/modname/... ; instead, please use $MODDIR/... +# This will make your scripts compatible even if Magisk change its mount point in the future +MODDIR=${0%/*} + +# install Magisk Manager if NanoDroid migration was run +sleep 30 && [ -f /data/adb/magisk.apk ] && \ + pm install -r /data/adb/magisk.apk ; \ + rm -f /data/adb/magisk.apk & diff --git a/OsmAnd/module.prop b/OsmAnd/module.prop new file mode 100644 index 0000000..30e4f1b --- /dev/null +++ b/OsmAnd/module.prop @@ -0,0 +1,7 @@ +id=NanoDroid_OsmAnd +name=NanoDroid (OsmAnd) +version=v20.3.99999999 +versionCode=1 +author=Nanolx +description=NanoDroid (OsmAnd sub module) +minMagisk=1500 diff --git a/build-package b/build-package index 9ccb121..0199e7d 100755 --- a/build-package +++ b/build-package @@ -6,7 +6,7 @@ CWD=$(dirname "${CWD}") for funcfile in pkg-full pkg-microg pkg-fdroid \ pkg-misc update common download database \ - pkg-bromite; do + pkg-bromite pkg-osmand; do source "${CWD}/data/build-package.${funcfile}" || exit 1 done @@ -56,6 +56,11 @@ for opt in ${@}; do mk_pkg_bromite_webview ;; + osmand ) + check_nanodroid || error "run nanodroid-pull first!" + mk_pkg_osmand + ;; + systest ) mk_pkg_systest ;; @@ -69,6 +74,7 @@ for opt in ${@}; do mk_pkg_uninstaller mk_pkg_setupwizard mk_pkg_bromite_webview + mk_pkg_osmand mk_pkg_systest ;; @@ -123,6 +129,12 @@ for opt in ${@}; do update_bromite ;; + u-osmand ) + update_indices + update_osmand + check_nanodroid + ;; + check ) check_nanodroid ;; diff --git a/data/build-package.common b/data/build-package.common index 98b35db..c1802ed 100644 --- a/data/build-package.common +++ b/data/build-package.common @@ -72,7 +72,7 @@ increase_version_number() { sed -e "s/^VERSION=.*/VERSION=${2}.${ver}/" -i "${CWD}/build-package" sed -e "s/^VERSION=.*/VERSION=${2}.${ver}/" -i "${CWD}/CommonInstaller" - for module in Full microG F-Droid BromiteWebView; do + for module in Full microG F-Droid BromiteWebView OsmAnd; do sed -e "s/version=.*/version=v${2}.${ver}/" -i \ "${CWD}/${module}/module.prop" done diff --git a/data/build-package.database b/data/build-package.database index 2b0671b..184edb3 100644 --- a/data/build-package.database +++ b/data/build-package.database @@ -50,6 +50,7 @@ fd_ODYSSEY=(fdroid org.gateshipone.odyssey app Odyssey) fd_OPENCAMERA=(fdroid net.sourceforge.opencamera app OpenCamera) fd_OPENKEYCHAIN=(fdroid org.sufficientlysecure.keychain app OpenKeyChain) fd_OPENVPN=(fdroid de.blinkt.openvpn app OpenVPN) +fd_OSMAND=(fdroid net.osmand.plus app OsmAnd) fd_QKSMS=(fdroid com.moez.QKSMS app QKSMS) fd_SIMPLECALENDAR=(fdroid com.simplemobiletools.calendar app SimpleCalendar) fd_SIMPLEGALLERY=(fdroid com.simplemobiletools.gallery.pro app SimpleGallery) @@ -153,6 +154,7 @@ files_database=( Full/gsync/K/app/GoogleCalendarSync/GoogleCalendarSync.apk Full/system/app/OpenVPN/OpenVPN.apk Full/system/app/OpenWeatherMapProvider/OpenWeatherMapProvider.apk Full/system/app/Orbot/Orbot.apk + Full/system/app/OsmAnd/OsmAnd.apk Full/system/app/QKSMS/QKSMS.apk Full/system/app/SimpleCalendar/SimpleCalendar.apk Full/system/app/SimpleGallery/SimpleGallery.apk diff --git a/data/build-package.pkg-osmand b/data/build-package.pkg-osmand new file mode 100644 index 0000000..07cc5df --- /dev/null +++ b/data/build-package.pkg-osmand @@ -0,0 +1,32 @@ +#!/bin/bash + +create_osmand_package() { + ZIP="${CWD}/NanoDroid-OsmAnd-${VERSION}".zip + rm -f "${ZIP}"* + + print_package "OsmAnd" + + cd "${CWD}/Full" + zip_add "system/app/OsmAnd/" + zip_add "system/xbin/unzip*" + cd "${CWD}" + + cd "${CWD}/OsmAnd" + zip_add + cd "${CWD}" + + zip_add CommonInstaller + zip_add CommonAddon + zip_add busybox.arm + zip_add busybox.x86 + + zip_add_doc + zip_add_config .nanodroid-setup 0 + + sum_sign_package "${ZIP}" +} + +mk_pkg_osmand () { + create_osmand_package & + progress $! +} diff --git a/data/build-package.update b/data/build-package.update index ee80809..9a469e1 100644 --- a/data/build-package.update +++ b/data/build-package.update @@ -70,6 +70,7 @@ update_apps () { grab_apk_from_repo ${fd_OPENKEYCHAIN[@]} grab_apk_from_repo ${nlx_OPENLAUNCHER[@]} grab_apk_from_repo ${fd_OPENVPN[@]} + grab_apk_from_repo ${fd_OSMAND[@]} grab_apk_from_repo ${fd_QKSMS[@]} grab_apk_from_repo ${fd_SIMPLECALENDAR[@]} grab_apk_from_repo ${fd_SIMPLEGALLERY[@]} @@ -95,3 +96,7 @@ update_bromite () { grab_apk_from_repo ${bm_WEBVIEW_arm[@]} grab_apk_from_repo ${bm_WEBVIEW_x86[@]} } + +update_osmand () { + grab_apk_from_repo ${fd_OSMAND[@]} +} diff --git a/doc/.nanodroid-apps b/doc/.nanodroid-apps index 3c7c908..ec4a8a7 100644 --- a/doc/.nanodroid-apps +++ b/doc/.nanodroid-apps @@ -19,6 +19,7 @@ OpenLauncher OpenWeatherMapProvider OpenVPN Orbot +OsmAnd QKSMS SimpleCalendar SimpleGallery diff --git a/doc/.nanodroid-setup b/doc/.nanodroid-setup index 2f1bd03..d16e2eb 100644 --- a/doc/.nanodroid-setup +++ b/doc/.nanodroid-setup @@ -8,6 +8,7 @@ nanodroid_zelda=1 nanodroid_mapsv1=1 nanodroid_init=1 nanodroid_gsync=0 +nanodroid_osmand=1 nanodroid_swipe=0 nanodroid_forcesystem=0 nanodroid_nlpbackend=3 diff --git a/uninstaller/META-INF/com/google/android/update-binary b/uninstaller/META-INF/com/google/android/update-binary index cc599ec..7995ae1 100644 --- a/uninstaller/META-INF/com/google/android/update-binary +++ b/uninstaller/META-INF/com/google/android/update-binary @@ -292,7 +292,7 @@ if [ -f /data/adb/magisk.img ]; then fi if (is_mounted /magisk); then - for module in NanoDroid NanoDroid_microG NanoDroid_FDroid NanoDroid_BromiteWebView; do + for module in NanoDroid NanoDroid_microG NanoDroid_FDroid NanoDroid_BromiteWebView NanoDroid_OsmAnd; do if [ -d /magisk/${module} ]; then ui_print " << uninstalling: ${module}" rm -rf /magisk/${module}