From 75732deb6162a11675c381c89647dbff3cfeb030 Mon Sep 17 00:00:00 2001 From: dalvesrever Date: Sun, 15 Jan 2023 19:45:12 +0300 Subject: [PATCH] simplify OnPreferenceClickListener implementations add NavigatorUtils --- .../ru/vtosters/lite/hooks/ProxyHook.java | 10 +- .../vtosters/lite/ui/dialogs/InstallGMS.java | 6 +- .../lite/ui/dialogs/VKIDProtection.java | 5 +- .../lite/ui/fragments/FeedFragment.java | 18 +- .../lite/ui/fragments/InterfaceFragment.java | 59 ++-- .../lite/ui/fragments/MediaFragment.java | 14 +- .../lite/ui/fragments/MessagesFragment.java | 26 +- .../lite/ui/fragments/OtherFragment.java | 257 +++++++----------- .../lite/ui/fragments/ThemesFragment.java | 22 +- .../lite/ui/fragments/VKPayFragment.java | 9 +- .../lite/ui/fragments/VTSettings.java | 51 ++-- .../tgstickers/StickersFragment.java | 5 +- .../vtosters/lite/utils/LifecycleUtils.java | 8 +- .../vtosters/lite/utils/NavigatorUtils.java | 16 ++ 14 files changed, 204 insertions(+), 302 deletions(-) create mode 100644 app/src/main/java/ru/vtosters/lite/utils/NavigatorUtils.java diff --git a/app/src/main/java/ru/vtosters/lite/hooks/ProxyHook.java b/app/src/main/java/ru/vtosters/lite/hooks/ProxyHook.java index ef71792c1..40aff781a 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/ProxyHook.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/ProxyHook.java @@ -24,6 +24,7 @@ import com.vk.navigation.Navigator; import com.vtosters.lite.R; import ru.vtosters.lite.ui.fragments.ProxySettingsFragment; +import ru.vtosters.lite.utils.NavigatorUtils; public class ProxyHook { public static void hookAuth(View v) { @@ -89,12 +90,9 @@ public class ProxyHook { restartApplication(); } })) - .setNeutralButton(ctx.getString(R.string.proxy_settings), ((dialog, which) -> { - var intent = new Navigator(ProxySettingsFragment.class) - .b(ctx) - .setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - ctx.startActivity(intent); - })) + .setNeutralButton(ctx.getString(R.string.proxy_settings), (dialog, which) -> { + NavigatorUtils.switchFragment(ctx, ProxySettingsFragment.class); + }) .show(); } } diff --git a/app/src/main/java/ru/vtosters/lite/ui/dialogs/InstallGMS.java b/app/src/main/java/ru/vtosters/lite/ui/dialogs/InstallGMS.java index 6c814d1d5..7e31cb3f2 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/dialogs/InstallGMS.java +++ b/app/src/main/java/ru/vtosters/lite/ui/dialogs/InstallGMS.java @@ -12,6 +12,7 @@ import com.vk.navigation.Navigator; import com.vtosters.lite.R; import ru.vtosters.lite.ui.fragments.InstallGMSFragment; +import ru.vtosters.lite.utils.NavigatorUtils; public class InstallGMS { public static void alert(final Activity activity) { @@ -25,10 +26,7 @@ public class InstallGMS { ) .setNeutralButton(activity.getString(R.string.gmsissuebtn2), (dialogInterface, i) -> { edit().putBoolean("showAlertGms", false).apply(); - var intent = new Navigator(InstallGMSFragment.class) - .b(activity) - .setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - activity.startActivity(intent); + NavigatorUtils.switchFragment(activity, InstallGMSFragment.class); }) .show(); } diff --git a/app/src/main/java/ru/vtosters/lite/ui/dialogs/VKIDProtection.java b/app/src/main/java/ru/vtosters/lite/ui/dialogs/VKIDProtection.java index a8d146c02..208f9b7b4 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/dialogs/VKIDProtection.java +++ b/app/src/main/java/ru/vtosters/lite/ui/dialogs/VKIDProtection.java @@ -13,6 +13,7 @@ import com.vk.navigation.Navigator; import com.vtosters.lite.R; import ru.vtosters.lite.ui.fragments.VKUIwrapper; +import ru.vtosters.lite.utils.NavigatorUtils; public class VKIDProtection { public static void alert(final Activity activity) { @@ -29,9 +30,7 @@ public class VKIDProtection { isAnyProxyEnabled() ? "https://id.vk.com/account" : "https://" + getApi() + "/_/id.vk.com/account"); - var intent = new Navigator(VKUIwrapper.class).b(activity) - .setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - activity.startActivity(intent); + NavigatorUtils.switchFragment(activity, VKUIwrapper.class); }) .show(); } 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 599e8e201..d78c849cf 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 @@ -21,6 +21,7 @@ import com.vtosters.lite.R; import com.vtosters.lite.general.fragments.MaterialPreferenceToolbarFragment; import ru.vtosters.lite.ui.components.NewsfeedListManager; +import ru.vtosters.lite.utils.NavigatorUtils; public class FeedFragment extends MaterialPreferenceToolbarFragment { @Override @@ -31,7 +32,11 @@ public class FeedFragment extends MaterialPreferenceToolbarFragment { } private void prefs() { - findPreference("officialnewssett").setOnPreferenceClickListener(new openofficialsett()); + findPreference("officialnewssett").setOnPreferenceClickListener(preference -> { + NavigatorUtils.switchFragment(requireContext(), SystemInfo.class); + + return true; + }); findPreference("cringecopyright").setEnabled(!copyright_post()); findPreference("spamfilters").setSummary(count(getPrefsValue("spamfilters"))); @@ -140,15 +145,4 @@ public class FeedFragment extends MaterialPreferenceToolbarFragment { public int T4() { return R.string.vtlfeed; } - - public class openofficialsett implements Preference.OnPreferenceClickListener { - @Override // android.support.v7.preference.Preference.c - public boolean onPreferenceClick(Preference preference) { - Context context = requireContext(); - Intent a2 = new Navigator(NewsfeedSettingsFragment.class).b(context); - a2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - context.startActivity(a2); - return true; - } - } } diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/InterfaceFragment.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/InterfaceFragment.java index b7822eed2..bb4384f55 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/fragments/InterfaceFragment.java +++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/InterfaceFragment.java @@ -1,25 +1,19 @@ package ru.vtosters.lite.ui.fragments; -import static ru.vtosters.lite.utils.AndroidUtils.*; -import static ru.vtosters.lite.utils.LifecycleUtils.restartApplicationWithTimer; - -import android.content.Intent; import android.os.Build; import android.os.Bundle; - -import androidx.preference.Preference; - -import com.vk.core.fragments.FragmentImpl; -import com.vk.navigation.Navigator; import com.vtosters.lite.R; import com.vtosters.lite.general.fragments.MaterialPreferenceToolbarFragment; - import ru.vtosters.lite.ui.components.SuperAppEditorManager; import ru.vtosters.lite.ui.dialogs.RoundingSeekbarDialog; import ru.vtosters.lite.utils.AndroidUtils; +import ru.vtosters.lite.utils.NavigatorUtils; import ru.vtosters.lite.utils.Preferences; import ru.vtosters.lite.utils.ThemesUtils; +import static ru.vtosters.lite.utils.AndroidUtils.*; +import static ru.vtosters.lite.utils.LifecycleUtils.restartApplicationWithTimer; + public class InterfaceFragment extends MaterialPreferenceToolbarFragment { @Override public void onCreate(Bundle bundle) { @@ -29,10 +23,26 @@ public class InterfaceFragment extends MaterialPreferenceToolbarFragment { } private void prefs() { - findPreference("stories").setOnPreferenceClickListener(new restart()); - findPreference("swipe").setOnPreferenceClickListener(new restart()); - findPreference("is_likes_on_right").setOnPreferenceClickListener(new restart()); - findPreference("superapp").setOnPreferenceClickListener(new restart()); + findPreference("stories").setOnPreferenceClickListener(preference -> { + restartApplicationWithTimer(); + + return true; + }); + findPreference("swipe").setOnPreferenceClickListener(preference -> { + restartApplicationWithTimer(); + + return true; + }); + findPreference("is_likes_on_right").setOnPreferenceClickListener(preference -> { + restartApplicationWithTimer(); + + return true; + }); + findPreference("superapp").setOnPreferenceClickListener(preference -> { + restartApplicationWithTimer(); + + return true; + }); findPreference("dateformat").setOnPreferenceChangeListener((preference, o) -> { edit().putString("dateformat", o.toString()).commit(); @@ -44,7 +54,7 @@ public class InterfaceFragment extends MaterialPreferenceToolbarFragment { superappeditor.setSummary(AndroidUtils.getString(R.string.elements_hidden_count) + ": " + SuperAppEditorManager.getInstance().getDisabledTabs().size()); superappeditor.setVisible(!Preferences.vkme() && !isTablet() && Preferences.superapp()); superappeditor.setOnPreferenceClickListener(preference -> { - switchFragment(SuperAppEditorFragment.class); + NavigatorUtils.switchFragment(requireContext(), SuperAppEditorFragment.class); return true; }); @@ -75,27 +85,8 @@ public class InterfaceFragment extends MaterialPreferenceToolbarFragment { } } - public boolean restart(Preference preference) { - restartApplicationWithTimer(); - return true; - } - @Override public int T4() { return R.string.vtlinterface; } - - private class restart implements Preference.OnPreferenceClickListener { - @Override - public boolean onPreferenceClick(Preference preference) { - return InterfaceFragment.this.restart(preference); - } - } - - private void switchFragment(Class< ? extends FragmentImpl> fragmentClz) { - var intent = new Navigator(fragmentClz) - .b(requireContext()) - .setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - requireContext().startActivity(intent); - } } diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/MediaFragment.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/MediaFragment.java index 228a2d706..91492d405 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/fragments/MediaFragment.java +++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/MediaFragment.java @@ -91,7 +91,11 @@ public class MediaFragment extends MaterialPreferenceToolbarFragment { } private void prefs() { - findPreference("download_video").setOnPreferenceClickListener(new MediaFragment.download()); + findPreference("download_video").setOnPreferenceClickListener(preference -> { + download(requireContext()); + + return true; + }); findPreference("clearvideohistory").setOnPreferenceClickListener(preference -> { deleteVideoHistoryDialog(requireContext()); return true; @@ -284,12 +288,4 @@ public class MediaFragment extends MaterialPreferenceToolbarFragment { public int T4() { return R.string.vtlmedia; } - - private class download implements Preference.OnPreferenceClickListener { - @Override // android.support.v7.preference.Preference.c - public boolean onPreferenceClick(Preference preference) { - download(getActivity()); - return true; - } - } } diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/MessagesFragment.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/MessagesFragment.java index a62995957..dbe35ce78 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/fragments/MessagesFragment.java +++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/MessagesFragment.java @@ -37,8 +37,16 @@ public class MessagesFragment extends MaterialPreferenceToolbarFragment { @SuppressLint("UseCompatLoadingForDrawables") private void prefs() { - findPreference("vkme").setOnPreferenceClickListener(new MessagesFragment.restart()); - findPreference("vkme_notifs").setOnPreferenceClickListener(new MessagesFragment.restart()); + findPreference("vkme").setOnPreferenceClickListener(preference -> { + restart(); + + return true; + }); + findPreference("vkme_notifs").setOnPreferenceClickListener(preference -> { + restart(); + + return true; + }); findPreference("autotranslate").setEnabled(!autoalltranslate()); @@ -86,18 +94,4 @@ public class MessagesFragment extends MaterialPreferenceToolbarFragment { public int T4() { return R.string.vtlmessages; } - - public class restart implements Preference.OnPreferenceClickListener { - @Override - public boolean onPreferenceClick(Preference preference) { - return MessagesFragment.this.restart(); - } - } - - public class clearCache implements Preference.OnPreferenceClickListener { - @Override - public boolean onPreferenceClick(Preference preference) { - return MessagesFragment.this.restart(); - } - } } 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 c15076657..eb6947e6c 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 @@ -1,40 +1,16 @@ package ru.vtosters.lite.ui.fragments; -import static android.widget.Toast.LENGTH_LONG; -import static android.widget.Toast.LENGTH_SHORT; -import static android.widget.Toast.makeText; -import static ru.vtosters.lite.ui.components.BackupManager.backupOnlines; -import static ru.vtosters.lite.ui.components.BackupManager.backupSettings; -import static ru.vtosters.lite.ui.components.BackupManager.deletePrefs; -import static ru.vtosters.lite.ui.components.BackupManager.restoreBackup; -import static ru.vtosters.lite.utils.AccountManagerUtils.getUserToken; -import static ru.vtosters.lite.utils.AndroidUtils.*; -import static ru.vtosters.lite.utils.LifecycleUtils.restartApplication; -import static ru.vtosters.lite.utils.LifecycleUtils.restartApplicationWithTimer; -import static ru.vtosters.lite.utils.ThemesUtils.getTextAttr; - import android.annotation.SuppressLint; import android.app.Activity; -import android.content.ClipData; -import android.content.ClipboardManager; -import android.content.Context; -import android.content.Intent; -import android.content.SharedPreferences; +import android.content.*; import android.os.Bundle; -import android.util.Log; import android.util.TypedValue; import android.view.View; import android.view.ViewGroup; import android.webkit.WebView; -import android.widget.ArrayAdapter; -import android.widget.RadioButton; -import android.widget.RadioGroup; -import android.widget.TextView; -import android.widget.Toast; - +import android.widget.*; import androidx.appcompat.view.ContextThemeWrapper; -import androidx.preference.Preference; - +import b.h.g.m.FileUtils; import com.vk.auth.api.VKAccount; import com.vk.core.dialogs.alert.VkAlertDialog; import com.vk.core.util.ToastUtils; @@ -52,17 +28,21 @@ import com.vtosters.lite.R; import com.vtosters.lite.auth.VKAccountManager; import com.vtosters.lite.general.fragments.MaterialPreferenceToolbarFragment; import com.vtosters.lite.im.ImEngineProvider; - -import java.io.IOException; - -import b.h.g.m.FileUtils; import ru.vtosters.lite.ssfs.UsersList; import ru.vtosters.lite.ui.activities.VKAdminTokenActivity; import ru.vtosters.lite.ui.components.BackupManager; -import ru.vtosters.lite.utils.AccountManagerUtils; -import ru.vtosters.lite.utils.AndroidUtils; -import ru.vtosters.lite.utils.ContactsUtils; -import ru.vtosters.lite.utils.VTVerifications; +import ru.vtosters.lite.utils.*; + +import java.io.IOException; + +import static android.widget.Toast.LENGTH_LONG; +import static android.widget.Toast.LENGTH_SHORT; +import static ru.vtosters.lite.ui.components.BackupManager.*; +import static ru.vtosters.lite.utils.AccountManagerUtils.getUserToken; +import static ru.vtosters.lite.utils.AndroidUtils.*; +import static ru.vtosters.lite.utils.LifecycleUtils.restartApplication; +import static ru.vtosters.lite.utils.LifecycleUtils.restartApplicationWithTimer; +import static ru.vtosters.lite.utils.ThemesUtils.getTextAttr; public class OtherFragment extends MaterialPreferenceToolbarFragment { private static final int VK_ADMIN_TOKEN_REQUEST_CODE = 1; @@ -82,32 +62,61 @@ public class OtherFragment extends MaterialPreferenceToolbarFragment { if (resultCode == Activity.RESULT_OK) { String token = data.getStringExtra("token"); AndroidUtils.getPreferences().edit().putString("vk_admin_token", token).apply(); - Log.d("VkAdminToken", token); Toast.makeText(getContext(), requireContext().getString(R.string.token_saved), LENGTH_SHORT).show(); } } } private void prefs() { - findPreference("firebasefix").setOnPreferenceClickListener(new a()); - findPreference("applicationstop").setOnPreferenceClickListener(new b()); - findPreference("tokencopy").setOnPreferenceClickListener(new c()); - findPreference("applicationrestart").setOnPreferenceClickListener(new d()); + findPreference("firebasefix").setOnPreferenceClickListener(preference -> { + VKAccount b = VKAccountManager.d(); + PushSubscriber.e.a(); + ToastUtils.a(requireContext().getString(R.string.fcmtokenrem)); + AndroidUtils.getGlobalContext().getSharedPreferences("gcm", 0).edit().clear().apply(); + OtherFragment.this.getListView().postDelayed(() -> { + PushSubscriber.e.a(true); + + ToastUtils.a(requireContext().getString(R.string.fcmtokenget)); + ToastUtils.a(requireContext().getString(R.string.fcmtokenfixed)); + }, 1000); + + return true; + }); + + findPreference("applicationstop").setOnPreferenceClickListener(preference -> { + System.exit(0); + + return true; + }); + + findPreference("tokencopy").setOnPreferenceClickListener(preference -> { + copyText(getUserToken()); + + Toast.makeText(requireContext(), requireContext().getString(R.string.copybtn), LENGTH_SHORT).show(); + ToastUtils.a(requireContext().getString(R.string.tokenwarning)); + + return true; + }); + + findPreference("applicationrestart").setOnPreferenceClickListener(preference -> { + restartApplication(); + + return true; + }); + findPreference("clearcache").setOnPreferenceClickListener(preference -> { cacheCleanDialog(); return true; }); + findPreference("copyownlink").setOnPreferenceClickListener(preference -> { - ((ClipboardManager) requireContext().getSystemService(Context.CLIPBOARD_SERVICE)).setPrimaryClip(ClipData.newPlainText("MBH-ST", "https://vk.com/id" + AccountManagerUtils.getUserId())); + copyText("https://vk.com/id" + AccountManagerUtils.getUserId()); ToastUtils.a(requireContext().getString(R.string.link_copied)); return true; }); findPreference("deviceinfo").setOnPreferenceClickListener(preference -> { - Context context = requireContext(); - Intent a2 = new Navigator(SystemInfo.class).b(context); - a2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - context.startActivity(a2); + NavigatorUtils.switchFragment(requireContext(), SystemInfo.class); return true; }); @@ -123,7 +132,7 @@ public class OtherFragment extends MaterialPreferenceToolbarFragment { return true; }); - findPreference("contacts_sync").setOnPreferenceClickListener((preference) -> { + findPreference("contacts_sync").setOnPreferenceClickListener(preference -> { ContactsUtils.getContactsStatus(requireContext()); return true; }); @@ -155,16 +164,52 @@ public class OtherFragment extends MaterialPreferenceToolbarFragment { return true; }); - findPreference("saveonlines").setOnPreferenceClickListener(new onlines()); + findPreference("saveonlines").setOnPreferenceClickListener(preference -> { + try { + backupOnlines(); + } catch (IOException e) { + Toast.makeText(getContext(), requireContext().getString(R.string.no_data_to_backup), LENGTH_SHORT).show(); + } - findPreference("saveprefs").setOnPreferenceClickListener(new saveprefs()); - findPreference("restoreprefs").setOnPreferenceClickListener(new restoreprefs()); + return true; + }); + + findPreference("saveprefs").setOnPreferenceClickListener(preference -> { + backupSettings(); + + return false; + }); + findPreference("restoreprefs").setOnPreferenceClickListener(preference -> { + var arr = BackupManager.getBackupsNames(); + var adapter = new ArrayAdapter(getContext(), android.R.layout.simple_list_item_1, arr) { + @Override + public View getView(int position, View convertView, ViewGroup parent) { + TextView textView = (TextView) super.getView(position, convertView, parent); + textView.setTextColor(getTextAttr()); + return textView; + } + }; + new VkAlertDialog.Builder(getContext()) + .setTitle(requireContext().getString(R.string.select_backup)) + .setAdapter(adapter, (dialog, which) -> { + try { + restoreBackup(arr[which]); + restartApplicationWithTimer(); + Toast.makeText(getContext(), requireContext().getString(R.string.backup_success), LENGTH_LONG).show(); + } catch (IOException e) { + e.printStackTrace(); + Toast.makeText(getContext(), requireContext().getString(R.string.backup_error), LENGTH_LONG).show(); + } + }) + .show(); + + return true; + }); var vkAdminTokenPref = findPreference("vk_admin_token"); vkAdminTokenPref.setVisible(AndroidUtils.getDefaultPrefs().getBoolean("new_music_downloading_way", false)); if (vkAdminTokenPref.isVisible()) { vkAdminTokenPref.setOnPreferenceClickListener(preference -> { - startActivityForResult(new Intent(getContext(), VKAdminTokenActivity.class), VK_ADMIN_TOKEN_REQUEST_CODE); return true; @@ -276,115 +321,13 @@ public class OtherFragment extends MaterialPreferenceToolbarFragment { .show(); } + private void copyText(String src) { + var manager = (ClipboardManager) requireContext().getSystemService(Context.CLIPBOARD_SERVICE); + manager.setPrimaryClip(ClipData.newPlainText("MBH-ST", src)); + } + @Override public int T4() { return R.string.vtlother; } - - public static class d implements Preference.OnPreferenceClickListener { - @Override // android.support.v7.preference.Preference.c - public boolean onPreferenceClick(Preference preference) { - restartApplication(); - return true; - } - } - - public static class b implements Preference.OnPreferenceClickListener { - @Override // android.support.v7.preference.Preference.c - public boolean onPreferenceClick(Preference preference) { - System.exit(0); - return true; - } - } - - public static class saveprefs implements Preference.OnPreferenceClickListener { - saveprefs() { - } - - @Override // android.support.v7.preference.Preference.c - public boolean onPreferenceClick(Preference preference) { - backupSettings(); - return true; - } - } - - public class onlines implements Preference.OnPreferenceClickListener { - @Override // android.support.v7.preference.Preference.c - public boolean onPreferenceClick(Preference preference) { - try { - backupOnlines(); - } catch (IOException e) { - Toast.makeText(getContext(), requireContext().getString(R.string.no_data_to_backup), LENGTH_SHORT).show(); - } - return true; - } - } - - class c implements Preference.OnPreferenceClickListener { - public void copy(Context context, String str) { - ((ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE)).setPrimaryClip(ClipData.newPlainText("MBH-ST", str)); - makeText(context, requireContext().getString(R.string.copybtn), LENGTH_SHORT).show(); - ToastUtils.a(requireContext().getString(R.string.tokenwarning)); - } - - @Override // android.support.v7.preference.Preference.c - public boolean onPreferenceClick(Preference preference) { - copy(getContext(), getUserToken()); - return true; - } - } - - public class a implements Preference.OnPreferenceClickListener { - @Override // android.support.v7.preference.Preference.c - public boolean onPreferenceClick(Preference preference) { - VKAccount b = VKAccountManager.d(); - PushSubscriber.e.a(); - ToastUtils.a(requireContext().getString(R.string.fcmtokenrem)); - AndroidUtils.getGlobalContext().getSharedPreferences("gcm", 0).edit().clear().apply(); - OtherFragment.this.getListView().postDelayed(() -> { - PushSubscriber.e.a(true); - - Context ctx; - - try { - ctx = requireContext(); - } catch (Exception unused) { - ctx = getGlobalContext(); - } - - ToastUtils.a(ctx.getString(R.string.fcmtokenget)); - ToastUtils.a(ctx.getString(R.string.fcmtokenfixed)); - }, 1000); - return true; - } - } - - public class restoreprefs implements Preference.OnPreferenceClickListener { - @Override // android.support.v7.preference.Preference.c - public boolean onPreferenceClick(Preference preference) { - var arr = BackupManager.getBackupsNames(); - var adapter = new ArrayAdapter(getContext(), android.R.layout.simple_list_item_1, arr) { - @Override - public View getView(int position, View convertView, ViewGroup parent) { - TextView textView = (TextView) super.getView(position, convertView, parent); - textView.setTextColor(getTextAttr()); - return textView; - } - }; - new VkAlertDialog.Builder(getContext()) - .setTitle(requireContext().getString(R.string.select_backup)) - .setAdapter(adapter, (dialog, which) -> { - try { - restoreBackup(arr[which]); - restartApplicationWithTimer(); - Toast.makeText(getContext(), requireContext().getString(R.string.backup_success), LENGTH_LONG).show(); - } catch (IOException e) { - e.printStackTrace(); - Toast.makeText(getContext(), requireContext().getString(R.string.backup_error), LENGTH_LONG).show(); - } - }) - .show(); - return true; - } - } } diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/ThemesFragment.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/ThemesFragment.java index f214a8481..31f7ca942 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/fragments/ThemesFragment.java +++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/ThemesFragment.java @@ -18,10 +18,7 @@ import ru.vtosters.lite.ui.components.DockBarEditorManager; import ru.vtosters.lite.ui.dialogs.PalettesBottomSheetDialog; import ru.vtosters.lite.ui.views.rarepebble.ColorPickerView; import ru.vtosters.lite.ui.wallpapers.WallpaperMenuFragment; -import ru.vtosters.lite.utils.AndroidUtils; -import ru.vtosters.lite.utils.LifecycleUtils; -import ru.vtosters.lite.utils.Preferences; -import ru.vtosters.lite.utils.ThemesUtils; +import ru.vtosters.lite.utils.*; import static ru.vtosters.lite.utils.AndroidUtils.getGlobalContext; import static ru.vtosters.lite.utils.ThemesUtils.recolorDrawable; @@ -46,7 +43,7 @@ public class ThemesFragment extends MaterialPreferenceToolbarFragment { var dockbarEditor = findPreference("dockbareditor"); dockbarEditor.setSummary(AndroidUtils.getString(R.string.vtldocksumm) + ": " + DockBarEditorManager.getInstance().getSelectedTabs().size()); dockbarEditor.setOnPreferenceClickListener(preference -> { - switchFragment(DockBarEditorFragment.class); + NavigatorUtils.switchFragment(requireContext(), DockBarEditorFragment.class); return true; }); @@ -77,7 +74,7 @@ public class ThemesFragment extends MaterialPreferenceToolbarFragment { var iconManagerPreference = findPreference("iconmanager"); iconManagerPreference.setOnPreferenceClickListener(preference -> { - switchFragment(IconsFragment.class); + NavigatorUtils.switchFragment(requireContext(), IconsFragment.class); return true; }); @@ -112,10 +109,8 @@ public class ThemesFragment extends MaterialPreferenceToolbarFragment { var wp = findPreference("wallpapers"); wp.setIcon(recolorDrawable(getGlobalContext().getDrawable(R.drawable.ic_media_outline_28))); wp.setOnPreferenceClickListener(preference -> { - Context context = requireContext(); - Intent a2 = new Navigator(WallpaperMenuFragment.class).b(context); - a2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - context.startActivity(a2); + NavigatorUtils.switchFragment(requireContext(), WallpaperMenuFragment.class); + return true; }); @@ -210,11 +205,4 @@ public class ThemesFragment extends MaterialPreferenceToolbarFragment { void restart() { LifecycleUtils.restartApplicationWithTimer(); } - - private void switchFragment(Class< ? extends FragmentImpl > fragmentClz) { - var intent = new Navigator(fragmentClz) - .b(requireContext()) - .setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - requireContext().startActivity(intent); - } } diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/VKPayFragment.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/VKPayFragment.java index 60a83f3ce..0d2e7d4ef 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/fragments/VKPayFragment.java +++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/VKPayFragment.java @@ -1,10 +1,8 @@ package ru.vtosters.lite.ui.fragments; -import android.content.Intent; import android.os.Bundle; - import com.vk.core.fragments.FragmentImpl; -import com.vk.navigation.Navigator; +import ru.vtosters.lite.utils.NavigatorUtils; public class VKPayFragment extends FragmentImpl { @Override @@ -15,9 +13,6 @@ public class VKPayFragment extends FragmentImpl { public void start() { VKUIwrapper.setLink("https://vk.com/vkpay"); - Intent intent = new Navigator(VKUIwrapper.class) - .b(getActivity()) - .setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - startActivity(intent); + NavigatorUtils.switchFragment(requireContext(), VKUIwrapper.class); } } 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 65117dfe8..5201c7d07 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 @@ -163,7 +163,7 @@ public class VTSettings extends MaterialPreferenceToolbarFragment implements Tel R.drawable.ic_link_circle_outline_28, preference -> { VKUIwrapper.setLink(Utils.getVKUILink()); - launchFragment(VKUIwrapper.class); + NavigatorUtils.switchFragment(requireContext(), VKUIwrapper.class); return false; } ); @@ -217,7 +217,7 @@ public class VTSettings extends MaterialPreferenceToolbarFragment implements Tel "", R.drawable.ic_about_outline_28, preference -> { - launchFragment(InstallGMSFragment.class); + NavigatorUtils.switchFragment(requireContext(), InstallGMSFragment.class); return false; } ); @@ -233,7 +233,7 @@ public class VTSettings extends MaterialPreferenceToolbarFragment implements Tel "", R.drawable.ic_bug_outline_28, preference -> { - launchFragment(SettingsDebugFragment.class); + NavigatorUtils.switchFragment(requireContext(), SettingsDebugFragment.class); return false; } ); @@ -278,7 +278,7 @@ public class VTSettings extends MaterialPreferenceToolbarFragment implements Tel R.drawable.ic_user_circle_outline_28, preference -> { VKUIwrapper.officalLinks("account"); - launchFragment(VKUIwrapper.class); + NavigatorUtils.switchFragment(requireContext(), VKUIwrapper.class); return false; } ); @@ -290,7 +290,7 @@ public class VTSettings extends MaterialPreferenceToolbarFragment implements Tel "", R.drawable.ic_privacy_outline_28, preference -> { - launchFragment(PrivacyFragment.class); + NavigatorUtils.switchFragment(requireContext(), PrivacyFragment.class); return false; } ); @@ -302,7 +302,7 @@ public class VTSettings extends MaterialPreferenceToolbarFragment implements Tel "", R.drawable.ic_user_outline_28, preference -> { - launchFragment(SettingsAccountFragment.class); + NavigatorUtils.switchFragment(requireContext(), SettingsAccountFragment.class); return false; } ); @@ -316,7 +316,7 @@ public class VTSettings extends MaterialPreferenceToolbarFragment implements Tel R.drawable.ic_bug_outline_28, preference -> { VKUIwrapper.officalLinks("bugs"); - launchFragment(VKUIwrapper.class); + NavigatorUtils.switchFragment(requireContext(), VKUIwrapper.class); return false; } ); @@ -331,7 +331,7 @@ public class VTSettings extends MaterialPreferenceToolbarFragment implements Tel "", R.drawable.ic_settings_outline_28, preference -> { - launchFragment(SettingsGeneralFragment.class); + NavigatorUtils.switchFragment(requireContext(), SettingsGeneralFragment.class); return false; } ); @@ -343,7 +343,7 @@ public class VTSettings extends MaterialPreferenceToolbarFragment implements Tel "", R.drawable.ic_users_outline_28, preference -> { - launchFragment(BlacklistFragment.class); + NavigatorUtils.switchFragment(requireContext(), BlacklistFragment.class); return false; } ); @@ -355,7 +355,7 @@ public class VTSettings extends MaterialPreferenceToolbarFragment implements Tel "", R.drawable.ic_menu_notification_outline_28, preference -> { - launchFragment(NotificationsSettingsFragment.class); + NavigatorUtils.switchFragment(requireContext(), NotificationsSettingsFragment.class); return false; } ); @@ -368,7 +368,7 @@ public class VTSettings extends MaterialPreferenceToolbarFragment implements Tel "", R.drawable.ic_music_outline_28, preference -> { - launchFragment(MusicSubscriptionControlFragment.class); + NavigatorUtils.switchFragment(requireContext(), MusicSubscriptionControlFragment.class); return false; } ); @@ -381,7 +381,7 @@ public class VTSettings extends MaterialPreferenceToolbarFragment implements Tel "", R.drawable.ic_coins_outline_28, preference -> { - launchFragment(BalanceFragment.class); + NavigatorUtils.switchFragment(requireContext(), BalanceFragment.class); return false; } ); @@ -405,7 +405,7 @@ public class VTSettings extends MaterialPreferenceToolbarFragment implements Tel getValAsString(R.string.vtlfeedsumm, Preferences.ads()), R.drawable.ic_newsfeed_outline_28, preference -> { - launchFragment(FeedFragment.class); + NavigatorUtils.switchFragment(requireContext(), FeedFragment.class); return false; } ); @@ -418,7 +418,7 @@ public class VTSettings extends MaterialPreferenceToolbarFragment implements Tel getValAsString(R.string.vtlinterfacesumm, Preferences.shortinfo()), R.drawable.ic_media_outline_28, preference -> { - launchFragment(MediaFragment.class); + NavigatorUtils.switchFragment(requireContext(), MediaFragment.class); return false; } ); @@ -432,7 +432,7 @@ public class VTSettings extends MaterialPreferenceToolbarFragment implements Tel : getValAsString(R.string.vtlmsgsumm, Preferences.vkme()), R.drawable.ic_message_outline_28, preference -> { - launchFragment(MessagesFragment.class); + NavigatorUtils.switchFragment(requireContext(), MessagesFragment.class); return false; } ); @@ -444,7 +444,7 @@ public class VTSettings extends MaterialPreferenceToolbarFragment implements Tel getTGSsumm(), R.drawable.ic_telegram_outline_28, preference -> { - launchFragment(StickersFragment.class); + NavigatorUtils.switchFragment(requireContext(), StickersFragment.class); return false; } ); @@ -456,7 +456,7 @@ public class VTSettings extends MaterialPreferenceToolbarFragment implements Tel getThemesumm(), R.drawable.ic_write_outline_28, preference -> { - launchFragment(ThemesFragment.class); + NavigatorUtils.switchFragment(requireContext(), ThemesFragment.class); return false; } ); @@ -468,7 +468,7 @@ public class VTSettings extends MaterialPreferenceToolbarFragment implements Tel getValAsString(R.string.showstories, Preferences.stories()), R.drawable.ic_interface_outline_28, preference -> { - launchFragment(InterfaceFragment.class); + NavigatorUtils.switchFragment(requireContext(), InterfaceFragment.class); return false; } ); @@ -480,7 +480,7 @@ public class VTSettings extends MaterialPreferenceToolbarFragment implements Tel getValAsString(R.string.vtlactivitysumm, Preferences.offline()), R.drawable.ic_write_outline_28_new_accent, preference -> { - launchFragment(ActivityFragment.class); + NavigatorUtils.switchFragment(requireContext(), ActivityFragment.class); return false; } ); @@ -492,7 +492,7 @@ public class VTSettings extends MaterialPreferenceToolbarFragment implements Tel getProxysumm(), R.drawable.ic_globe_outline_28, preference -> { - launchFragment(ProxySettingsFragment.class); + NavigatorUtils.switchFragment(requireContext(), ProxySettingsFragment.class); return false; } ); @@ -504,7 +504,7 @@ public class VTSettings extends MaterialPreferenceToolbarFragment implements Tel getValAsString(R.string.vtlothersumm, VTVerifications.vtverif()), R.drawable.ic_more_horizontal_28, preference -> { - launchFragment(OtherFragment.class); + NavigatorUtils.switchFragment(requireContext(), OtherFragment.class); return false; } ); @@ -518,7 +518,7 @@ public class VTSettings extends MaterialPreferenceToolbarFragment implements Tel "Commit: " + About.getBuildNumber(), R.drawable.ic_about_outline_28, preference -> { - launchFragment(AboutAppFragment.class); + NavigatorUtils.switchFragment(requireContext(), AboutAppFragment.class); return false; } ); @@ -577,13 +577,6 @@ public class VTSettings extends MaterialPreferenceToolbarFragment implements Tel } } - private void launchFragment(Class< ? extends FragmentImpl > fragmentClz) { - Intent intent = new Navigator(fragmentClz) - .b(requireContext()) - .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - requireContext().startActivity(intent); - } - @Override public void onResume() { super.onResume(); diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/tgstickers/StickersFragment.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/tgstickers/StickersFragment.java index 0ec4bd6cb..d356bb8f9 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/fragments/tgstickers/StickersFragment.java +++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/tgstickers/StickersFragment.java @@ -29,6 +29,7 @@ import ru.vtosters.lite.ui.adapters.StickerPackAdapter; import ru.vtosters.lite.ui.components.StickerTouchHelperCallback; import ru.vtosters.lite.ui.fragments.BaseToolbarFragment; import ru.vtosters.lite.utils.AndroidUtils; +import ru.vtosters.lite.utils.NavigatorUtils; import ru.vtosters.lite.utils.ThemesUtils; import java.io.File; @@ -85,9 +86,7 @@ public class StickersFragment extends BaseToolbarFragment { if (toast != null) { Toast.makeText(requireContext(), toast, Toast.LENGTH_SHORT).show(); } - var intent = new Navigator(StickersPreferencesFragment.class, new Bundle()).b(requireContext()); - intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - super.requireContext().startActivity(intent); + NavigatorUtils.switchFragment(requireContext(), StickersPreferencesFragment.class); } @Override diff --git a/app/src/main/java/ru/vtosters/lite/utils/LifecycleUtils.java b/app/src/main/java/ru/vtosters/lite/utils/LifecycleUtils.java index b9cdea825..fb866edab 100644 --- a/app/src/main/java/ru/vtosters/lite/utils/LifecycleUtils.java +++ b/app/src/main/java/ru/vtosters/lite/utils/LifecycleUtils.java @@ -8,6 +8,7 @@ import android.content.pm.PackageManager; import android.os.Bundle; import android.os.Handler; +import com.vk.core.fragments.FragmentImpl; import com.vk.navigation.Navigator; import java.util.ArrayList; @@ -72,13 +73,10 @@ public class LifecycleUtils { handler.postDelayed(LifecycleUtils::restartApplication, 500); } - public static void restartApplicationInto(Class Class) { + public static void restartApplicationInto(Class< ? extends FragmentImpl> clz) { Context ctx = AndroidUtils.getGlobalContext(); - Intent intent = new Navigator(Class).b(ctx); - intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - Intent mainIntent = Intent.makeRestartActivityTask(intent.getComponent()); - ctx.startActivity(mainIntent); + NavigatorUtils.switchFragment(AndroidUtils.getGlobalContext(), clz); Runtime.getRuntime().exit(0); } diff --git a/app/src/main/java/ru/vtosters/lite/utils/NavigatorUtils.java b/app/src/main/java/ru/vtosters/lite/utils/NavigatorUtils.java new file mode 100644 index 000000000..7e7206b06 --- /dev/null +++ b/app/src/main/java/ru/vtosters/lite/utils/NavigatorUtils.java @@ -0,0 +1,16 @@ +package ru.vtosters.lite.utils; + +import android.content.Context; +import android.content.Intent; +import com.vk.core.fragments.FragmentImpl; +import com.vk.navigation.Navigator; + +public class NavigatorUtils { + + public static void switchFragment(Context context, Class< ? extends FragmentImpl > fragmentClz) { + var intent = new Navigator(fragmentClz) + .b(context) + .setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + context.startActivity(intent); + } +}