diff --git a/app/src/main/java/ru/vtosters/lite/hooks/MainActivityInjector.java b/app/src/main/java/ru/vtosters/lite/hooks/MainActivityInjector.java
index 0a08451eb..553061460 100644
--- a/app/src/main/java/ru/vtosters/lite/hooks/MainActivityInjector.java
+++ b/app/src/main/java/ru/vtosters/lite/hooks/MainActivityInjector.java
@@ -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
diff --git a/app/src/main/java/ru/vtosters/lite/ui/dialogs/ServerDialog.java b/app/src/main/java/ru/vtosters/lite/ui/dialogs/ServerDialog.java
index 1672a6c2e..4fed7372d 100644
--- a/app/src/main/java/ru/vtosters/lite/ui/dialogs/ServerDialog.java
+++ b/app/src/main/java/ru/vtosters/lite/ui/dialogs/ServerDialog.java
@@ -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")
diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/FeedFragment.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/FeedFragment.java
index 24889bf6f..59edd2fbf 100644
--- a/app/src/main/java/ru/vtosters/lite/ui/fragments/FeedFragment.java
+++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/FeedFragment.java
@@ -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);
diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/OtherFragment.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/OtherFragment.java
index edd9fc6a1..1920c0e99 100644
--- a/app/src/main/java/ru/vtosters/lite/ui/fragments/OtherFragment.java
+++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/OtherFragment.java
@@ -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 {
diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/VTSettings.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/VTSettings.java
index 61e8f885a..a2b3a2d00 100644
--- a/app/src/main/java/ru/vtosters/lite/ui/fragments/VTSettings.java
+++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/VTSettings.java
@@ -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;
- });
}
}
diff --git a/app/src/main/java/ru/vtosters/lite/utils/AndroidUtils.java b/app/src/main/java/ru/vtosters/lite/utils/AndroidUtils.java
index ce67c19f1..318978d22 100644
--- a/app/src/main/java/ru/vtosters/lite/utils/AndroidUtils.java
+++ b/app/src/main/java/ru/vtosters/lite/utils/AndroidUtils.java
@@ -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() {
diff --git a/app/src/main/java/ru/vtosters/lite/utils/Preferences.java b/app/src/main/java/ru/vtosters/lite/utils/Preferences.java
index 284d88364..a9f80b192 100644
--- a/app/src/main/java/ru/vtosters/lite/utils/Preferences.java
+++ b/app/src/main/java/ru/vtosters/lite/utils/Preferences.java
@@ -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() {
diff --git a/app/src/main/java/ru/vtosters/lite/utils/VTVerifications.java b/app/src/main/java/ru/vtosters/lite/utils/VTVerifications.java
index f724108cd..f3176a014 100644
--- a/app/src/main/java/ru/vtosters/lite/utils/VTVerifications.java
+++ b/app/src/main/java/ru/vtosters/lite/utils/VTVerifications.java
@@ -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;
}
diff --git a/smali/res/values-ru/strings.xml b/smali/res/values-ru/strings.xml
index eaa435a49..2fed84b9d 100644
--- a/smali/res/values-ru/strings.xml
+++ b/smali/res/values-ru/strings.xml
@@ -5433,7 +5433,7 @@
Прочее
Автоматическое обновление ленты
Кешировать посты в ленте
- Отключить посты с пометкой рекомендовано
+ Отключить посты с пометкой
Хвосты сообщений
Плоские сообщения
Обновить
diff --git a/smali/res/values/strings.xml b/smali/res/values/strings.xml
index dc568c778..af51ce276 100644
--- a/smali/res/values/strings.xml
+++ b/smali/res/values/strings.xml
@@ -5567,7 +5567,7 @@ Does not affect vk.cc links"
Other
Automatic feed update
Cache feed posts
- Disable posts with recommended mark
+ Disable posts with mark
Message tails
Flat Messages
Update
diff --git a/smali/res/xml/preferences_feed.xml b/smali/res/xml/preferences_feed.xml
index 2186ee1ad..294074004 100644
--- a/smali/res/xml/preferences_feed.xml
+++ b/smali/res/xml/preferences_feed.xml
@@ -134,7 +134,7 @@