some fixes

force updates + setup filters fixes
This commit is contained in:
gdlbo
2022-08-30 13:45:54 +03:00
parent e231e4a2b4
commit e709f6ac68
11 changed files with 55 additions and 43 deletions
@@ -1,12 +1,9 @@
package ru.vtosters.lite.hooks;
import static ru.vtosters.lite.ui.dialogs.ServerDialog.sendRequest;
import static ru.vtosters.lite.ui.wallpapers.WallpapersHooks.removeWallpaper;
import static ru.vtosters.lite.utils.CacheUtils.getInstance;
import static ru.vtosters.lite.utils.DeletedMessagesHandler.reloadMessagesList;
import static ru.vtosters.lite.utils.NewsFeedFiltersUtils.setupFilters;
import static ru.vtosters.lite.utils.Preferences.checkupdates;
import static ru.vtosters.lite.utils.Preferences.preferences;
import static ru.vtosters.lite.utils.ThemesUtils.isDarkTheme;
import static ru.vtosters.lite.utils.ThemesUtils.setNeededTheme;
@@ -24,9 +21,9 @@ import ru.vtosters.lite.ui.dialogs.ServerDialog;
import ru.vtosters.lite.ui.dialogs.Start;
import ru.vtosters.lite.utils.DeletedMessagesHandler;
public class MainActivityInjector {
public class MainActivityInjector{
public static void inject(Activity activity) {
public static void inject(Activity activity){
setNeededTheme(activity);
ServerDialog.activity = activity;
sendRequest();
@@ -41,12 +38,6 @@ public class MainActivityInjector {
.commit();
VkExecutors.x.q().a(() -> {
if (preferences.getString("clearcache", "").isEmpty()) {
preferences.edit().putString("clearcache", "100mb").apply();
} // temp shit fix
removeWallpaper(); // temp fix
getInstance().autoCleaningCache();
setupFilters();
}); // slowTasksScheduler
@@ -40,7 +40,9 @@ public class ServerDialog {
public static void sendRequest() {
if (getBoolValue("dialogrecomm", false)) return;
if (isNetworkIsSlow()) return;
if (isNetworkIsSlow() || getBoolValue("isRoamingState", false)) {
return;
}
Request request = new Request.a()
.b("https://vtosters.app/dialog.json")
@@ -5,6 +5,7 @@ import static ru.vtosters.lite.utils.AndroidUtils.getDefaultPrefs;
import static ru.vtosters.lite.utils.AndroidUtils.getIdentifier;
import static ru.vtosters.lite.utils.AndroidUtils.getPrefsValue;
import static ru.vtosters.lite.utils.AndroidUtils.sendToast;
import static ru.vtosters.lite.utils.NewsFeedFiltersUtils.setupFilters;
import static ru.vtosters.lite.utils.Preferences.copyright_post;
import android.content.Context;
@@ -22,15 +23,15 @@ import com.vtosters.lite.general.fragments.MaterialPreferenceToolbarFragment;
import ru.vtosters.lite.ui.components.NewsfeedListManager;
import ru.vtosters.lite.utils.AndroidUtils;
public class FeedFragment extends MaterialPreferenceToolbarFragment {
public class FeedFragment extends MaterialPreferenceToolbarFragment{
@Override
public void onCreate(Bundle bundle) {
public void onCreate(Bundle bundle){
super.onCreate(bundle);
addPreferencesFromResource(getIdentifier("preferences_feed", "xml"));
prefs();
}
private void prefs() {
private void prefs(){
findPreference("officialnewssett").setOnPreferenceClickListener(new openofficialsett());
findPreference("cringecopyright").setEnabled(!copyright_post());
@@ -38,6 +39,21 @@ public class FeedFragment extends MaterialPreferenceToolbarFragment {
findPreference("sourcenamefilter").setSummary(count(getPrefsValue("sourcenamefilter")));
findPreference("linkfilter").setSummary(count(getPrefsValue("linkfilter")));
findPreference("spamfilters").setOnPreferenceClickListener(preference -> {
setupFilters();
return true;
});
findPreference("sourcenamefilter").setOnPreferenceClickListener(preference -> {
setupFilters();
return true;
});
findPreference("linkfilter").setOnPreferenceClickListener(preference -> {
setupFilters();
return true;
});
findPreference("whitelisted_ad_groups").setSummary(countSet("whitelisted_ad_groups"));
findPreference("whitelisted_filters_groups").setSummary(countSet("whitelisted_filters_groups"));
@@ -65,7 +81,7 @@ public class FeedFragment extends MaterialPreferenceToolbarFragment {
});
}
private String count(String text) {
private String count(String text){
// count comma separated words in string
var count = text.split(", ").length;
@@ -76,7 +92,7 @@ public class FeedFragment extends MaterialPreferenceToolbarFragment {
}
}
private void remdialog(String key, Context context) {
private void remdialog(String key, Context context){
VkAlertDialog.Builder builder = new VkAlertDialog.Builder(context);
builder.setTitle(AndroidUtils.getString("warning"));
builder.setMessage(AndroidUtils.getString("delete_elements_confirm"));
@@ -84,12 +100,13 @@ public class FeedFragment extends MaterialPreferenceToolbarFragment {
builder.setPositiveButton(AndroidUtils.getString("yes"), (dialogInterface, i) -> {
edit().remove(key).apply();
sendToast(AndroidUtils.getString("elements_deleted_success"));
setupFilters();
});
builder.setNegativeButton(AndroidUtils.getString("cancel"), (dialogInterface, i) -> dialogInterface.dismiss());
builder.show();
}
private String countSet(String key) {
private String countSet(String key){
var set = getDefaultPrefs().getStringSet(key, null);
StringBuilder str = new StringBuilder();
if (set != null) {
@@ -109,14 +126,15 @@ public class FeedFragment extends MaterialPreferenceToolbarFragment {
@Override
public boolean onPreferenceTreeClick(Preference preference) {
public boolean onPreferenceTreeClick(Preference preference){
findPreference("cringecopyright").setEnabled(!copyright_post());
setupFilters();
return super.onPreferenceTreeClick(preference);
}
public class openofficialsett implements Preference.OnPreferenceClickListener {
public class openofficialsett implements Preference.OnPreferenceClickListener{
@Override // android.support.v7.preference.Preference.c
public boolean onPreferenceClick(Preference preference) {
public boolean onPreferenceClick(Preference preference){
Context context = getContext();
Intent a2 = new Navigator(NewsfeedSettingsFragment.class).b(context);
a2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
@@ -12,7 +12,9 @@ import static ru.vtosters.lite.utils.AndroidUtils.dp2px;
import static ru.vtosters.lite.utils.AndroidUtils.edit;
import static ru.vtosters.lite.utils.AndroidUtils.getDefaultPrefs;
import static ru.vtosters.lite.utils.AndroidUtils.getIdentifier;
import static ru.vtosters.lite.utils.AndroidUtils.sendToast;
import static ru.vtosters.lite.utils.LifecycleUtils.restartApplication;
import static ru.vtosters.lite.utils.NewsFeedFiltersUtils.setupFilters;
import static ru.vtosters.lite.utils.ThemesUtils.getTextAttr;
import android.annotation.SuppressLint;
@@ -123,7 +125,11 @@ public class OtherFragment extends MaterialPreferenceToolbarFragment {
break;
}
findPreference("deleteprefs").setOnPreferenceClickListener(new deleteprefs());
findPreference("deleteprefs").setOnPreferenceClickListener(preference -> {
delprefs(getContext());
return true;
});
findPreference("saveonlines").setOnPreferenceClickListener(new onlines());
findPreference("saveprefs").setOnPreferenceClickListener(new saveprefs());
@@ -302,13 +308,17 @@ public class OtherFragment extends MaterialPreferenceToolbarFragment {
}
}
public static class deleteprefs implements Preference.OnPreferenceClickListener {
@Override // android.support.v7.preference.Preference.c
public boolean onPreferenceClick(Preference preference) {
private void delprefs(Context context) {
VkAlertDialog.Builder builder = new VkAlertDialog.Builder(context);
builder.setTitle(AndroidUtils.getString("warning"));
builder.setMessage("Вы действительно хотите сбросить настройки?");
builder.setCancelable(false);
builder.setPositiveButton(AndroidUtils.getString("yes"), (dialogInterface, i) -> {
deletePrefs();
restartApplication();
return true;
}
});
builder.setNegativeButton(AndroidUtils.getString("cancel"), (dialogInterface, i) -> dialogInterface.dismiss());
builder.show();
}
class c implements Preference.OnPreferenceClickListener {
@@ -429,14 +429,6 @@ public class VTSettings extends MaterialPreferenceToolbarFragment {
OTADialog.checkUpdates(getActivity());
return false;
});
addMaterialSwitchPreference(this, "checkupdates", AndroidUtils.getString("checkupdates"), "", "ic_recent_outline_28", true, (preference, o) -> {
boolean value = (boolean) o;
edit().putBoolean("checkupdates", value).commit();
return true;
});
}
}
@@ -39,14 +39,13 @@ public class AndroidUtils {
return PreferenceManager.getDefaultSharedPreferences(getGlobalContext()).edit();
} // Edit SharedPreferences
@NonNull
public static Context getGlobalContext() {
try {
return ReflectionUtils.invokeStaticMethod("android.app.AppGlobals", "getInitialApplication");
} catch (Exception e) {
e.printStackTrace();
Log.d("GlobalContext", "Error while fetching context via refl");
}
return null;
return null; // need fix for a13+ cuz google shit disabled global context via refl
} // Getting the global context through reflection to use context on application initialization
public static Resources getResources() {
@@ -326,7 +326,7 @@ public class Preferences {
}
public static boolean checkupdates() {
return getBoolValue("checkupdates", true) && isValidSignature();
return !getBoolValue("isRoamingState", false) && isValidSignature();
}
public static boolean isValidSignature() {
@@ -34,7 +34,7 @@ public class VTVerifications {
public static void load(Context context) {
var prefs = context.getSharedPreferences("vt_another_data", 0);
if (!NetworkUtils.isNetworkConnected() && prefs.contains("ids")) {
if ((!NetworkUtils.isNetworkConnected() || getBoolValue("isRoamingState", false)) && prefs.contains("ids")) {
parseJson(prefs.getString("ids", "[]"));
return;
}
+1 -1
View File
@@ -5433,7 +5433,7 @@
<string name="vtlfeedwork">Прочее</string>
<string name="vtlfeedreload">Автоматическое обновление ленты</string>
<string name="vtlfeedcache">Кешировать посты в ленте</string>
<string name="vtlrecommendmark">Отключить посты с пометкой рекомендовано</string>
<string name="vtlrecommendmark">Отключить посты с пометкой</string>
<string name="vtlmsgtails">Хвосты сообщений</string>
<string name="vtlmsgflat">Плоские сообщения</string>
<string name="vtlupdmsg">Обновить</string>
+1 -1
View File
@@ -5567,7 +5567,7 @@ Does not affect vk.cc links"</string>
<string name="vtlfeedwork">Other</string>
<string name="vtlfeedreload">Automatic feed update</string>
<string name="vtlfeedcache">Cache feed posts</string>
<string name="vtlrecommendmark">Disable posts with recommended mark</string>
<string name="vtlrecommendmark">Disable posts with mark</string>
<string name="vtlmsgtails">Message tails</string>
<string name="vtlmsgflat">Flat Messages</string>
<string name="vtlupdmsg">Update</string>
+1 -1
View File
@@ -134,7 +134,7 @@
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="false"
android:key="donotgetads"
android:summary="Не запрашивать рекламу и рекомендации\nМогуть быть проблемы"
android:summary="Не запрашивать рекламу и рекомендации\n\nМогуть быть проблемы"
android:title="Не пытаться получать рекламу" />
</PreferenceCategory>
</PreferenceScreen>