diff --git a/app/src/main/java/ru/vtosters/hooks/MainActivityInjector.java b/app/src/main/java/ru/vtosters/hooks/MainActivityInjector.java index 526a8ad72..3b582785b 100644 --- a/app/src/main/java/ru/vtosters/hooks/MainActivityInjector.java +++ b/app/src/main/java/ru/vtosters/hooks/MainActivityInjector.java @@ -37,8 +37,11 @@ public class MainActivityInjector { VTExecutors.getSlowTasksScheduler().a(() -> { getInstance().autoCleaningCache(); - Updates.updateFilters(); - Updates.updatePosts(); + + if (!Preferences.serverFeaturesDisable()) { + Updates.updateFilters(); + Updates.updatePosts(); + } }); // slowTasksScheduler if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/SponsorPostFragment.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/SponsorPostFragment.java index 3afe94ea9..a582f72c8 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/fragments/SponsorPostFragment.java +++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/SponsorPostFragment.java @@ -3,6 +3,7 @@ package ru.vtosters.lite.ui.fragments; import android.content.Intent; import android.net.Uri; import android.os.Bundle; +import ru.vtosters.hooks.other.Preferences; import ru.vtosters.hooks.other.ThemesUtils; import ru.vtosters.lite.ui.PreferenceFragmentUtils; import ru.vtosters.lite.utils.NetworkUtils; @@ -10,6 +11,7 @@ import ru.vtosters.sponsorpost.data.Filter; import ru.vtosters.sponsorpost.services.FilterService; import ru.vtosters.sponsorpost.utils.FiltersPreferences; import ru.vtosters.sponsorpost.utils.PostsPreferences; +import ru.vtosters.sponsorpost.utils.Updates; import java.util.List; @@ -26,18 +28,29 @@ public class SponsorPostFragment extends TrackedMaterialPreferenceToolbarFragmen PreferenceFragmentUtils.addPreferenceCategory(getPreferenceScreen(), "Sponsor Post"); - PreferenceFragmentUtils.addMaterialSwitchPreference( - getPreferenceScreen(), - "sponsorpost", - "Фильтр постов", - "Получать списки рекламных постов, которые не блокируются рекламными фильтрами", - null, - PostsPreferences.isEnabled(), - (preference, o) -> { - PostsPreferences.setEnabled((boolean) o); - return true; - } - ); + if (Preferences.serverFeaturesDisable()) { + PreferenceFragmentUtils.addPreference( + getPreferenceScreen(), + "", + "Фильтр постов отключен", + "Функция отключена в связи с тем что вы отключили сторонние подключения к серверам", + null, + null + ); + } else { + PreferenceFragmentUtils.addMaterialSwitchPreference( + getPreferenceScreen(), + "sponsorpost", + "Фильтр постов", + "Получать списки рекламных постов в группах и ленте, которые не блокируются рекламными фильтрами", + null, + PostsPreferences.isEnabled(), + (preference, o) -> { + PostsPreferences.setEnabled((boolean) o); + return true; + } + ); + } requireActivity().runOnUiThread(() -> { PreferenceFragmentUtils.addPreferenceCategory(getPreferenceScreen(), "Фильтры постов"); @@ -60,6 +73,16 @@ public class SponsorPostFragment extends TrackedMaterialPreferenceToolbarFragmen null ); } else { + if (Preferences.serverFeaturesDisable()) { + PreferenceFragmentUtils.addPreference( + getPreferenceScreen(), + "", + "Отключены внешние подключения", + "Фильтры будут обновляться только при заходе в этот раздел, автоматические обновления списков фильтров и самих фильтров на запуске приложения отключены", + null, + null + ); + } for (var list : lists) { PreferenceFragmentUtils.addMaterialSwitchPreference( getPreferenceScreen(), @@ -90,6 +113,8 @@ public class SponsorPostFragment extends TrackedMaterialPreferenceToolbarFragmen return false; } ); + + Updates.updateFilters(); } } ); diff --git a/app/src/main/java/ru/vtosters/sponsorpost/utils/Updates.java b/app/src/main/java/ru/vtosters/sponsorpost/utils/Updates.java index 0b2220a0f..4faaf99e8 100644 --- a/app/src/main/java/ru/vtosters/sponsorpost/utils/Updates.java +++ b/app/src/main/java/ru/vtosters/sponsorpost/utils/Updates.java @@ -15,7 +15,7 @@ public class Updates { public static void updateFilters() { List savedFilterIds = FiltersPreferences.getAllFilterIds(); - if (savedFilterIds.isEmpty() || Preferences.serverFeaturesDisable()) { + if (savedFilterIds.isEmpty() && NetworkUtils.isNetworkConnected()) { return; } @@ -55,7 +55,7 @@ public class Updates { long currentTime = System.currentTimeMillis(); long weekAgo = currentTime - TimeUnit.DAYS.toMillis(7); - if (PostsPreferences.isEnabled() && !Preferences.serverFeaturesDisable() && NetworkUtils.isNetworkConnected()) { + if (PostsPreferences.isEnabled() && NetworkUtils.isNetworkConnected()) { List posts = PostService.getPosts(weekAgo); List groupIds = PostService.getOwnerIds();