fixes of sponsorpost sdk
also added force update of filters
This commit is contained in:
@@ -227,6 +227,23 @@ public class SponsorPostFragment extends TrackedMaterialPreferenceToolbarFragmen
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
if (NetworkUtils.isNetworkConnected()) {
|
||||||
|
PreferenceFragmentUtils.addPreference(
|
||||||
|
getPreferenceScreen(),
|
||||||
|
"",
|
||||||
|
"Обновить списки фильтров",
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
preference -> {
|
||||||
|
this.requireActivity().runOnUiThread(() -> {
|
||||||
|
FiltersPreferences.forceUpdateFilters();
|
||||||
|
AndroidUtils.sendToast("Обновлено");
|
||||||
|
});
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
PreferenceFragmentUtils.addPreference(
|
PreferenceFragmentUtils.addPreference(
|
||||||
getPreferenceScreen(),
|
getPreferenceScreen(),
|
||||||
"",
|
"",
|
||||||
|
|||||||
@@ -61,6 +61,18 @@ public class FiltersPreferences {
|
|||||||
editor.apply();
|
editor.apply();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void forceUpdateFilters() {
|
||||||
|
SharedPreferences.Editor editor = preferences.edit();
|
||||||
|
|
||||||
|
preferences.getAll().keySet().stream()
|
||||||
|
.filter(key -> key.endsWith(":" + PREF_KEY_VERSION))
|
||||||
|
.forEach(key -> editor.putString(key, "0"));
|
||||||
|
|
||||||
|
editor.apply();
|
||||||
|
|
||||||
|
Updates.updateFilters();
|
||||||
|
}
|
||||||
|
|
||||||
public static boolean getSavedKeyValue(int id) {
|
public static boolean getSavedKeyValue(int id) {
|
||||||
return getFilter(id) != null;
|
return getFilter(id) != null;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package ru.vtosters.sponsorpost.utils;
|
package ru.vtosters.sponsorpost.utils;
|
||||||
|
|
||||||
|
import android.util.Log;
|
||||||
import ru.vtosters.lite.utils.NetworkUtils;
|
import ru.vtosters.lite.utils.NetworkUtils;
|
||||||
import ru.vtosters.lite.utils.newsfeed.NewsFeedFiltersUtils;
|
import ru.vtosters.lite.utils.newsfeed.NewsFeedFiltersUtils;
|
||||||
import ru.vtosters.sponsorpost.data.Filter;
|
import ru.vtosters.sponsorpost.data.Filter;
|
||||||
@@ -31,14 +32,17 @@ public class Updates {
|
|||||||
for (Filter filter : filters) {
|
for (Filter filter : filters) {
|
||||||
Filter localFilter = findLocalFilterById(localFilters, filter.getId());
|
Filter localFilter = findLocalFilterById(localFilters, filter.getId());
|
||||||
if (localFilter == null) {
|
if (localFilter == null) {
|
||||||
|
Log.d("Updates", "local filter is not exist, adding new: " + filter.getId());
|
||||||
FiltersPreferences.saveFilter(filter);
|
FiltersPreferences.saveFilter(filter);
|
||||||
} else {
|
} else {
|
||||||
String remoteVersion = filter.getVersion();
|
String remoteVersion = filter.getVersion();
|
||||||
String localVersion = localFilter.getVersion();
|
String localVersion = localFilter.getVersion();
|
||||||
if (Objects.equals(remoteVersion, localVersion)) {
|
if (Objects.equals(remoteVersion, localVersion)) {
|
||||||
FiltersPreferences.saveFilter(filter);
|
Log.d("Updates", "saved local filter: " + localFilter.getId());
|
||||||
} else {
|
|
||||||
FiltersPreferences.saveFilter(localFilter);
|
FiltersPreferences.saveFilter(localFilter);
|
||||||
|
} else {
|
||||||
|
Log.d("Updates", "saved remote filter: " + filter.getId());
|
||||||
|
FiltersPreferences.saveFilter(filter);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user