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 @@