diff --git a/app/src/main/java/com/vk/medianative/MediaNative.java b/app/src/main/java/com/vk/medianative/MediaNative.java index 9821748e8..a3c6b0aab 100644 --- a/app/src/main/java/com/vk/medianative/MediaNative.java +++ b/app/src/main/java/com/vk/medianative/MediaNative.java @@ -10,6 +10,7 @@ import android.util.Log; import androidx.annotation.Keep; import androidx.annotation.Nullable; import com.facebook.soloader.SoLoader; +import ru.vtosters.sponsorpost.internal.Native; import java.io.InputStream; import java.lang.ref.WeakReference; @@ -274,6 +275,7 @@ public final class MediaNative { SoLoader.init(context2, false); NativeLibLoader.loadLibrary("gnustl_shared"); NativeLibLoader.loadLibrary("vkchronicle"); + Native.canVote = NativeLibLoader.loadLibrary("sponsorpost"); loadVKMediaLibs(); f17443d.notifyAll(); } diff --git a/app/src/main/java/com/vk/newsfeed/holders/AdMarkHolder.java b/app/src/main/java/com/vk/newsfeed/holders/AdMarkHolder.java index 60bf15ad7..99aa8ccee 100644 --- a/app/src/main/java/com/vk/newsfeed/holders/AdMarkHolder.java +++ b/app/src/main/java/com/vk/newsfeed/holders/AdMarkHolder.java @@ -17,6 +17,7 @@ import com.vtosters.lite.R; import ru.vtosters.hooks.other.Preferences; import ru.vtosters.lite.utils.AndroidUtils; import ru.vtosters.lite.utils.newsfeed.NewsFeedFiltersUtils; +import ru.vtosters.sponsorpost.internal.Native; import ru.vtosters.sponsorpost.internal.VotesPreferences; import ru.vtosters.sponsorpost.internal.VotesService; import ru.vtosters.sponsorpost.utils.PostsPreferences; @@ -48,12 +49,12 @@ public final class AdMarkHolder extends BaseNewsEntryHolder { if (PostsPreferences.isPostAd(ownerId, postId)) { disclamer = "SponsorPost: Реклама"; - if (Preferences.isValidSignature()) { + if (Preferences.isValidSignature() && Native.canVote()) { this.F.setOnClickListener(listener -> voteDialog(ownerId, postId, date, this.F.getContext())); } } else if (VotesPreferences.isPostAd(ownerId, postId)) { disclamer = "SponsorPost: Возможно реклама"; - if (Preferences.isValidSignature()) { + if (Preferences.isValidSignature() && Native.canVote()) { this.F.setOnClickListener(listener -> voteDialog(ownerId, postId, date, this.F.getContext())); } } else if (NewsFeedFiltersUtils.sponsorFilters(text)) { diff --git a/app/src/main/java/ru/vtosters/hooks/PostsMenuHook.java b/app/src/main/java/ru/vtosters/hooks/PostsMenuHook.java index 4c93c5889..8d10b3e04 100644 --- a/app/src/main/java/ru/vtosters/hooks/PostsMenuHook.java +++ b/app/src/main/java/ru/vtosters/hooks/PostsMenuHook.java @@ -8,13 +8,14 @@ import com.vk.newsfeed.NewsEntryActionsAdapter; import com.vk.newsfeed.holders.AdMarkHolder; import ru.vtosters.hooks.other.Preferences; import ru.vtosters.lite.utils.AccountManagerUtils; +import ru.vtosters.sponsorpost.internal.Native; import ru.vtosters.sponsorpost.utils.PostsPreferences; public class PostsMenuHook { private static final int id = 200; public static void injectList(NewsEntryActionsAdapter actionsAdapter, NewsEntry newsEntry) { - if (newsEntry instanceof Post && Preferences.isValidSignature()) { + if (newsEntry instanceof Post && Preferences.isValidSignature() && Native.canVote()) { int ownerId = ((Post) newsEntry).b(); if (ownerId != AccountManagerUtils.getUserId() && PostsPreferences.isEnabled()) { diff --git a/app/src/main/java/ru/vtosters/sponsorpost/internal/Native.java b/app/src/main/java/ru/vtosters/sponsorpost/internal/Native.java index 771fb0c24..65ffdf319 100644 --- a/app/src/main/java/ru/vtosters/sponsorpost/internal/Native.java +++ b/app/src/main/java/ru/vtosters/sponsorpost/internal/Native.java @@ -3,8 +3,10 @@ package ru.vtosters.sponsorpost.internal; import androidx.annotation.Nullable; public class Native { - static { - System.loadLibrary("sponsorpost"); + public static boolean canVote; + + public static boolean canVote() { + return canVote; } @Nullable