added disabling sponsorpost

This commit is contained in:
gdlbo
2024-02-07 15:47:05 +03:00
parent 4ec84e3754
commit 1f9c6fd80c
3 changed files with 44 additions and 16 deletions
@@ -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) {
@@ -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();
}
}
);
@@ -15,7 +15,7 @@ public class Updates {
public static void updateFilters() {
List<Integer> 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<Post> posts = PostService.getPosts(weekAgo);
List<Long> groupIds = PostService.getOwnerIds();