diff --git a/metadata/net.osmand.plus.yml b/metadata/net.osmand.plus.yml index 8e09155814..d78cae2726 100644 --- a/metadata/net.osmand.plus.yml +++ b/metadata/net.osmand.plus.yml @@ -2,6 +2,7 @@ AntiFeatures: - NonFreeAssets - NonFreeNet - NonFreeAdd + - UpstreamNonFree Categories: - Navigation License: GPL-3.0-only @@ -4346,6 +4347,127 @@ Builds: - cp $$icu50-2-1-patched$$/icu4j/icu4j.jar ../OsmAnd-java/libs/ ndk: r19c + - versionName: 4.1.9 + versionCode: 419 + commit: v4.1.9 + subdir: android/OsmAnd + submodules: true + sudo: + - apt-get update || apt-get update + - apt-get install --yes swig openjdk-11-jdk-headless + - update-alternatives --auto java + gradle: + - android + - full + - legacy + - fat + srclibs: + - icu50-2-1-patched@7c3cf2d32b30a342eb48f755080db832abb5ade9 + - skia@android/11-release + rm: + - android/OsmAnd-java/libs/*.jar + - android/OsmAnd/libs/*.jar + - android/OsmAnd-telegram/ + - help/website/images/features.zip + - resources/icons/tools/SVGtoXML/vd-tool + prebuild: + - sed -i -e "/.*OsmAndCore.*SNAPSHOT.*/d" build-common.gradle + - sed -i -e "/.*OsmAndCore.*SNAPSHOT.*/d" build.gradle + - sed -i -e "/ivy {/,+6d" ../build.gradle + - rm build-library.gradle + - perl -i -0 -p -e "s|maven {\n\s*url 'https://developer.huawei.com/repo/'\n\s*}||g" + ../build.gradle + - sed -i -e "/huaweiImplementation/d" build.gradle + - sed -i -e "s/System.getenv(\"APK_VERSION\")/\"$$VERSION$$\"/g" build.gradle + - sed -i -e "s/System.getenv(\"APK_NUMBER_VERSION\")/\"$$VERCODE$$\"/g" build.gradle + - sed -i -e "s/System.getenv(\"TARGET_APP_NAME\")/\"OsmAnd~\"/g" build.gradle + - "sed -i -e \"s/implementation fileTree.*/implementation fileTree(include:\ + \ ['icu4j.jar'], dir: 'libs')\\n implementation group: 'net.sf.trove4j', name:\ + \ 'trove4j', version: '3.0.3'\\n/\" ../OsmAnd-java/build.gradle" + - "sed -i -e \"s/implementation fileTree.*/implementation fileTree(include:\ + \ ['classes.jar','icu4j.jar'], dir: 'libs')\\n implementation group: 'net.sf.trove4j',\ + \ name: 'trove4j', version: '3.0.3'\\n/\" build-common.gradle" + - sed -i -e "s/, ':OsmAnd-telegram'//" ../settings.gradle + - pushd ../../core-legacy/externals + - sed -i "s/# Extract/sha256sum \$SRCLOC\/upstream.tar.bz2 | grep 13bfc5ae543cf3aa180ac2485c0bc89495e3ae711fc6fab4f8ffe90dfb4bb677 + || { echo 'Failed checksum' 1>\&2; exit; }/" protobuf/configure.sh + - sed -i "/# Download/,+8d" skia/configure.sh + - sed -i "s/# Patch/cp -r $(echo $$skia$$ | sed 's/\//\\\//g') \$SRCLOC\/upstream.original/" + skia/configure.sh + - popd + - echo -e "\norg.gradle.jvmargs=-XX:MaxHeapSize=2048m" >> ../gradle.properties + - sed -i -e "/.*com.google.android.play.*/d" build-common.gradle + - "echo \" package net.osmand.plus.helpers; import net.osmand.plus.OsmandApplication;\ + \ import net.osmand.plus.activities.MapActivity; import androidx.annotation.Nullable;\ + \ import androidx.fragment.app.FragmentActivity;\npublic class RateUsHelper\ + \ { public RateUsHelper() { } public void storeRateResult(FragmentActivity\ + \ activity) { } public void updateState(@Nullable RateUsState state) { } public\ + \ static boolean shouldShowRateDialog(OsmandApplication app) { return false;\ + \ } public static void showRateDialog(MapActivity mapActivity) { } public\ + \ enum RateUsState { INITIAL_STATE, IGNORED, LIKED, DISLIKED_WITH_MESSAGE,\ + \ DISLIKED_WITHOUT_MESSAGE, DISLIKED_OR_IGNORED_AGAIN; } }\" > src/net/osmand/plus/helpers/RateUsHelper.java" + - sed -i -e "/.*com.amazon.in-app-purchasing.*/d" build.gradle + - sed -i -e "/.*com.android.billingclient.*/d" build-common.gradle + - echo " package net.osmand.plus.inapp; import android.app.Activity; import + android.content.Context; import androidx.annotation.NonNull; import androidx.annotation.Nullable; + import net.osmand.plus.OsmandApplication; import java.lang.ref.WeakReference; + public class InAppPurchaseHelperImpl extends InAppPurchaseHelper { public + InAppPurchaseHelperImpl(OsmandApplication ctx) { super(ctx); } public void + isInAppPurchaseSupported(@NonNull final Activity activity, @Nullable final + InAppPurchaseInitCallback callback) { } protected void execImpl(@NonNull final + InAppPurchaseTaskType taskType, @NonNull final InAppCommand runnable) { } + public void purchaseFullVersion(@NonNull final Activity activity) { } public + void purchaseDepthContours(@NonNull final Activity activity) { } public void + purchaseContourLines(@NonNull Activity activity) throws UnsupportedOperationException + { } public void manageSubscription(@NonNull Context ctx, @Nullable String + sku) { } protected InAppCommand getPurchaseSubscriptionCommand(final WeakReference + activity, final String sku, final String userInfo) { return null; } protected + InAppCommand getRequestInventoryCommand(boolean userRequested) { return null; + } protected boolean isBillingManagerExists() { return false; } protected void + destroyBillingManager() { } } " > src-google/net/osmand/plus/inapp/InAppPurchaseHelperImpl.java + - rm src-google/net/osmand/plus/inapp/util/BillingManager.java + - rm src-google/net/osmand/plus/inapp/InAppPurchasesImpl.java + - perl -i -0 -p -e 's|