diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/ActivityFragment.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/ActivityFragment.java index 2ed704028..1eab1069c 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/fragments/ActivityFragment.java +++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/ActivityFragment.java @@ -7,9 +7,8 @@ import android.os.Bundle; import androidx.preference.Preference; import com.vtosters.lite.R; -import com.vtosters.lite.general.fragments.MaterialPreferenceToolbarFragment; -public class ActivityFragment extends MaterialPreferenceToolbarFragment { +public class ActivityFragment extends TrackedMaterialPreferenceToolbarFragment { @Override public void onCreate(Bundle bundle) { super.onCreate(bundle); 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 ade068b0f..545d30af8 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 @@ -1,25 +1,27 @@ package ru.vtosters.lite.ui.fragments; +import static ru.vtosters.lite.utils.AndroidUtils.sendToast; + import android.content.Context; import android.os.Bundle; import android.text.TextUtils; + import androidx.preference.Preference; + import com.vk.core.dialogs.alert.VkAlertDialog; import com.vk.newsfeed.NewsfeedSettingsFragment; import com.vk.newsfeed.controllers.NewsfeedController; import com.vtosters.lite.R; -import com.vtosters.lite.general.fragments.MaterialPreferenceToolbarFragment; import com.vtosters.lite.ui.SummaryListPreference; + +import java.util.Objects; + import ru.vtosters.lite.ui.components.NewsfeedListManager; import ru.vtosters.lite.utils.NavigatorUtils; import ru.vtosters.lite.utils.NewsFeedFiltersUtils; import ru.vtosters.lite.utils.Preferences; -import java.util.Objects; - -import static ru.vtosters.lite.utils.AndroidUtils.*; - -public class FeedFragment extends MaterialPreferenceToolbarFragment { +public class FeedFragment extends TrackedMaterialPreferenceToolbarFragment { @Override public void onCreate(Bundle bundle) { super.onCreate(bundle); diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/IconsFragment.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/IconsFragment.java index d655ef43c..7f60304f9 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/fragments/IconsFragment.java +++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/IconsFragment.java @@ -9,18 +9,20 @@ import android.os.Bundle; import android.util.TypedValue; import android.widget.RadioButton; import android.widget.RadioGroup; + import androidx.appcompat.view.ContextThemeWrapper; import androidx.core.content.res.ResourcesCompat; + import com.vk.core.dialogs.alert.VkAlertDialog; import com.vtosters.lite.R; -import com.vtosters.lite.general.fragments.MaterialPreferenceToolbarFragment; + import ru.vtosters.lite.ui.PreferenceFragmentUtils; import ru.vtosters.lite.ui.components.IconManager; import ru.vtosters.lite.utils.AndroidUtils; import ru.vtosters.lite.utils.Preferences; import ru.vtosters.lite.utils.ThemesUtils; -public class IconsFragment extends MaterialPreferenceToolbarFragment { +public class IconsFragment extends TrackedMaterialPreferenceToolbarFragment { @SuppressLint("SetTextI18n") public static void callSelectDialog(Context ctx, String appicon) { var defname = Preferences.getPreferences().getString("appname", "vt"); diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/InstallGMSFragment.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/InstallGMSFragment.java index c20b2fd7d..b9f4463fd 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/fragments/InstallGMSFragment.java +++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/InstallGMSFragment.java @@ -3,9 +3,8 @@ package ru.vtosters.lite.ui.fragments; import android.os.Bundle; import com.vtosters.lite.R; -import com.vtosters.lite.general.fragments.MaterialPreferenceToolbarFragment; -public class InstallGMSFragment extends MaterialPreferenceToolbarFragment { +public class InstallGMSFragment extends TrackedMaterialPreferenceToolbarFragment { @Override public void onCreate(Bundle bundle) { super.onCreate(bundle); 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 01d7a3408..9c4eb26aa 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,9 +1,12 @@ package ru.vtosters.lite.ui.fragments; -import android.os.Build; +import static ru.vtosters.lite.utils.AndroidUtils.isTablet; +import static ru.vtosters.lite.utils.LifecycleUtils.restartApplicationWithTimer; + import android.os.Bundle; + import com.vtosters.lite.R; -import com.vtosters.lite.general.fragments.MaterialPreferenceToolbarFragment; + import ru.vtosters.lite.ui.components.DockBarEditorManager; import ru.vtosters.lite.ui.components.SuperAppEditorManager; import ru.vtosters.lite.ui.dialogs.RoundingSeekbarDialog; @@ -12,10 +15,7 @@ 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.isTablet; -import static ru.vtosters.lite.utils.LifecycleUtils.restartApplicationWithTimer; - -public class InterfaceFragment extends MaterialPreferenceToolbarFragment { +public class InterfaceFragment extends TrackedMaterialPreferenceToolbarFragment { @Override public void onCreate(Bundle bundle) { super.onCreate(bundle); 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 a7315a802..dc0e09b29 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 @@ -1,5 +1,17 @@ package ru.vtosters.lite.ui.fragments; +import static bruhcollective.itaysonlab.libvkx.client.LibVKXClient.isVkxInstalled; +import static ru.vtosters.lite.music.LastFMScrobbler.isLoggedIn; +import static ru.vtosters.lite.proxy.ProxyUtils.getApi; +import static ru.vtosters.lite.utils.AccountManagerUtils.getUserToken; +import static ru.vtosters.lite.utils.AndroidUtils.dp2px; +import static ru.vtosters.lite.utils.AndroidUtils.sendToast; +import static ru.vtosters.lite.utils.LifecycleUtils.restartApplicationWithTimer; +import static ru.vtosters.lite.utils.Preferences.getBoolValue; +import static ru.vtosters.lite.utils.Preferences.isEnableExternalOpening; +import static ru.vtosters.lite.utils.ThemesUtils.getSTextAttr; +import static ru.vtosters.lite.utils.ThemesUtils.getTextAttr; + import android.content.Context; import android.content.Intent; import android.os.Bundle; @@ -9,16 +21,24 @@ import android.view.ViewGroup; import android.widget.EditText; import android.widget.FrameLayout; import android.widget.LinearLayout; + import androidx.preference.Preference; -import bruhcollective.itaysonlab.libvkx.client.LibVKXClient; + import com.vk.core.dialogs.alert.VkAlertDialog; import com.vk.core.network.Network; import com.vtosters.lite.R; -import com.vtosters.lite.general.fragments.MaterialPreferenceToolbarFragment; + +import org.json.JSONObject; + +import java.io.IOException; +import java.util.Arrays; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; + +import bruhcollective.itaysonlab.libvkx.client.LibVKXClient; import okhttp3.Headers; import okhttp3.OkHttpClient; import okhttp3.Request; -import org.json.JSONObject; import ru.vtosters.lite.downloaders.AudioDownloader; import ru.vtosters.lite.downloaders.VideoDownloader; import ru.vtosters.lite.music.LastFMScrobbler; @@ -28,23 +48,7 @@ import ru.vtosters.lite.utils.AndroidUtils; import ru.vtosters.lite.utils.Preferences; import ru.vtosters.lite.utils.ThemesUtils; -import java.io.IOException; -import java.util.Arrays; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; - -import static bruhcollective.itaysonlab.libvkx.client.LibVKXClient.isVkxInstalled; -import static ru.vtosters.lite.music.LastFMScrobbler.isLoggedIn; -import static ru.vtosters.lite.proxy.ProxyUtils.getApi; -import static ru.vtosters.lite.utils.AccountManagerUtils.getUserToken; -import static ru.vtosters.lite.utils.AndroidUtils.*; -import static ru.vtosters.lite.utils.LifecycleUtils.restartApplicationWithTimer; -import static ru.vtosters.lite.utils.Preferences.getBoolValue; -import static ru.vtosters.lite.utils.Preferences.isEnableExternalOpening; -import static ru.vtosters.lite.utils.ThemesUtils.getSTextAttr; -import static ru.vtosters.lite.utils.ThemesUtils.getTextAttr; - -public class MediaFragment extends MaterialPreferenceToolbarFragment { +public class MediaFragment extends TrackedMaterialPreferenceToolbarFragment { private static final ExecutorService executor = Executors.newCachedThreadPool(); public static void download(Context ctx) { 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 8b690aec2..f0d9c1c3d 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 @@ -1,22 +1,24 @@ package ru.vtosters.lite.ui.fragments; -import android.annotation.SuppressLint; -import android.os.Bundle; -import androidx.preference.Preference; -import com.vk.core.dialogs.alert.VkAlertDialog; -import com.vtosters.lite.R; -import com.vtosters.lite.general.fragments.MaterialPreferenceToolbarFragment; -import ru.vtosters.lite.ui.adapters.ImagineArrayAdapter; -import ru.vtosters.lite.utils.Preferences; - -import java.util.Arrays; - import static ru.vtosters.lite.utils.AndroidUtils.isTablet; import static ru.vtosters.lite.utils.LifecycleUtils.restartApplicationWithTimer; import static ru.vtosters.lite.utils.Preferences.autoalltranslate; import static ru.vtosters.lite.utils.Preferences.vkme; -public class MessagesFragment extends MaterialPreferenceToolbarFragment { +import android.annotation.SuppressLint; +import android.os.Bundle; + +import androidx.preference.Preference; + +import com.vk.core.dialogs.alert.VkAlertDialog; +import com.vtosters.lite.R; + +import java.util.Arrays; + +import ru.vtosters.lite.ui.adapters.ImagineArrayAdapter; +import ru.vtosters.lite.utils.Preferences; + +public class MessagesFragment extends TrackedMaterialPreferenceToolbarFragment { @Override public void onCreate(Bundle bundle) { super.onCreate(bundle); 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 402f2b7dd..cf721bde6 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,16 +1,38 @@ package ru.vtosters.lite.ui.fragments; +import static android.widget.Toast.LENGTH_LONG; +import static android.widget.Toast.LENGTH_SHORT; +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.dp2px; +import static ru.vtosters.lite.utils.AndroidUtils.sendToast; +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.*; +import android.content.ClipData; +import android.content.ClipboardManager; +import android.content.Context; +import android.content.Intent; +import android.content.SharedPreferences; import android.os.Bundle; import android.util.TypedValue; import android.view.View; import android.view.ViewGroup; import android.webkit.WebView; -import android.widget.*; +import android.widget.ArrayAdapter; +import android.widget.RadioButton; +import android.widget.RadioGroup; +import android.widget.TextView; +import android.widget.Toast; + import androidx.appcompat.view.ContextThemeWrapper; -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; @@ -21,31 +43,26 @@ import com.vk.im.ui.providers.audiomsg.PlayerActionSources; import com.vk.imageloader.VKImageLoader; import com.vk.media.player.cache.AutoPlayCacheHolder; import com.vk.mediastore.MediaStorage; -import com.vk.navigation.Navigator; import com.vk.pushes.PushSubscriber; import com.vk.stickers.Stickers; 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.deviceinfo.DeviceInfoCollector; 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.*; +import ru.vtosters.lite.utils.AccountManagerUtils; +import ru.vtosters.lite.utils.AndroidUtils; +import ru.vtosters.lite.utils.NavigatorUtils; +import ru.vtosters.lite.utils.Preferences; +import ru.vtosters.lite.utils.VTVerifications; -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 { +public class OtherFragment extends TrackedMaterialPreferenceToolbarFragment { private static final int VK_ADMIN_TOKEN_REQUEST_CODE = 1; @Override diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/ProxySettingsFragment.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/ProxySettingsFragment.java index d02dbe0f2..027fa903a 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/fragments/ProxySettingsFragment.java +++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/ProxySettingsFragment.java @@ -6,11 +6,10 @@ import static ru.vtosters.lite.utils.AndroidUtils.sendToast; import android.os.Bundle; import com.vtosters.lite.R; -import com.vtosters.lite.general.fragments.MaterialPreferenceToolbarFragment; import java.io.IOException; -public class ProxySettingsFragment extends MaterialPreferenceToolbarFragment { +public class ProxySettingsFragment extends TrackedMaterialPreferenceToolbarFragment { @Override public void onCreate(Bundle bundle) { super.onCreate(bundle); diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/SystemInfo.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/SystemInfo.java index 03339e6ec..7530a4371 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/fragments/SystemInfo.java +++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/SystemInfo.java @@ -5,15 +5,16 @@ import android.content.ClipboardManager; import android.content.Context; import android.os.Build; import android.os.Bundle; + import com.vtosters.lite.R; -import com.vtosters.lite.general.fragments.MaterialPreferenceToolbarFragment; + import ru.vtosters.lite.deviceinfo.OEMDetector; import ru.vtosters.lite.ui.PreferenceFragmentUtils; import ru.vtosters.lite.utils.About; import ru.vtosters.lite.utils.AndroidUtils; import ru.vtosters.lite.utils.Preferences; -public class SystemInfo extends MaterialPreferenceToolbarFragment { +public class SystemInfo extends TrackedMaterialPreferenceToolbarFragment { @Override public void onCreate(Bundle bundle) { 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 41c2f3bfd..6e7e9e25b 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 @@ -1,29 +1,34 @@ package ru.vtosters.lite.ui.fragments; +import static ru.vtosters.lite.utils.AndroidUtils.getGlobalContext; +import static ru.vtosters.lite.utils.ThemesUtils.recolorDrawable; + import android.content.DialogInterface; import android.graphics.Color; import android.os.Build; import android.os.Bundle; import android.util.Log; import android.view.WindowManager; + import androidx.preference.PreferenceCategory; -import b.h.g.k.VKProgressDialog; + import com.vk.core.dialogs.alert.VkAlertDialog; import com.vtosters.lite.R; -import com.vtosters.lite.general.fragments.MaterialPreferenceToolbarFragment; + +import b.h.g.k.VKProgressDialog; import ru.vtosters.lite.concurrent.VTExecutors; import ru.vtosters.lite.themes.ThemesManager; import ru.vtosters.lite.themes.palettes.PalettesManager; -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.*; +import ru.vtosters.lite.utils.AndroidUtils; +import ru.vtosters.lite.utils.LifecycleUtils; +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.getGlobalContext; -import static ru.vtosters.lite.utils.ThemesUtils.recolorDrawable; - -public class ThemesFragment extends MaterialPreferenceToolbarFragment { +public class ThemesFragment extends TrackedMaterialPreferenceToolbarFragment { @Override public void onCreate(Bundle bundle) { @@ -44,7 +49,7 @@ public class ThemesFragment extends MaterialPreferenceToolbarFragment { findPreference("systememoji").setSummary(getGlobalContext().getString(R.string.systememojisum) + " \uD83D\uDE00\uD83D\uDE01\uD83E\uDD11\uD83E\uDD75\uD83D\uDC4D"); var invalidateThemeCache = findPreference("invalidate_theme_cache"); - if(ThemesUtils.getReservedAccent() != Color.TRANSPARENT && Preferences.dev()) + if (ThemesUtils.getReservedAccent() != Color.TRANSPARENT && Preferences.dev()) invalidateThemeCache.setOnPreferenceClickListener(preference -> { setAccentColor(ThemesUtils.getReservedAccent()); return true; @@ -123,7 +128,7 @@ public class ThemesFragment extends MaterialPreferenceToolbarFragment { return true; }); - if(AndroidUtils.isTablet()) { + if (AndroidUtils.isTablet()) { PreferenceCategory dockbarSettingsPreferenceCategory = (PreferenceCategory) findPreference("dockbarsett"); dockbarSettingsPreferenceCategory.setVisible(false); findPreference("alteremoji").setVisible(false); @@ -178,8 +183,8 @@ public class ThemesFragment extends MaterialPreferenceToolbarFragment { void showPalettesDialog() { final var manager = PalettesManager.getInstance(); final var titles = new String[manager.getPalettesCount()]; - if(titles.length > 0) { - for(int i = 0; i < titles.length; ++i) + if (titles.length > 0) { + for (int i = 0; i < titles.length; ++i) titles[i] = manager.getPalette(i).name; new VkAlertDialog.Builder(requireContext()) .setTitle(AndroidUtils.getString("select_palette")) @@ -203,8 +208,8 @@ public class ThemesFragment extends MaterialPreferenceToolbarFragment { ThemesUtils.reserveAccentColor(color, true); ThemesManager.generateModApk(color); requireActivity().runOnUiThread(this::restart); - } catch(Throwable e) { - Log.e("ThemesFragment", e+""); + } catch (Throwable e) { + Log.e("ThemesFragment", e + ""); ThemesManager.deleteModification(); requireActivity().runOnUiThread(() -> { dialog.dismiss(); diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/TrackedMaterialPreferenceToolbarFragment.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/TrackedMaterialPreferenceToolbarFragment.java new file mode 100644 index 000000000..c8c20bcde --- /dev/null +++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/TrackedMaterialPreferenceToolbarFragment.java @@ -0,0 +1,16 @@ +package ru.vtosters.lite.ui.fragments; + +import android.os.Bundle; + +import com.vtosters.lite.general.fragments.MaterialPreferenceToolbarFragment; + +import ru.vtosters.lite.utils.AnalyticsHelper; + +public class TrackedMaterialPreferenceToolbarFragment extends MaterialPreferenceToolbarFragment { + @Override + public void onCreate(Bundle bundle) { + super.onCreate(bundle); + + AnalyticsHelper.trackSettingsFragment(this.getClass()); + } +} 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 f382915b4..857dc49d6 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 @@ -1,12 +1,15 @@ package ru.vtosters.lite.ui.fragments; +import static ru.vtosters.lite.utils.Preferences.VERSIONNAME; +import static ru.vtosters.lite.utils.Preferences.isValidSignature; + import android.content.Intent; -import android.content.res.Configuration; import android.net.Uri; import android.os.Build; import android.os.Bundle; -import android.widget.Toast; + import androidx.annotation.StringRes; + import com.aefyr.tsg.g2.TelegramStickersPack; import com.aefyr.tsg.g2.TelegramStickersService; import com.vk.about.AboutAppFragment; @@ -20,22 +23,27 @@ import com.vtosters.lite.auth.VKAuth; import com.vtosters.lite.fragments.money.music.control.subscription.MusicSubscriptionControlFragment; import com.vtosters.lite.fragments.n2.SettingsDebugFragment; import com.vtosters.lite.fragments.w2.BlacklistFragment; -import com.vtosters.lite.general.fragments.MaterialPreferenceToolbarFragment; import com.vtosters.lite.general.fragments.SettingsAccountFragment; import com.vtosters.lite.general.fragments.SettingsGeneralFragment; import com.vtosters.lite.ui.MaterialSwitchPreference; + import ru.vtosters.lite.concurrent.VTExecutors; import ru.vtosters.lite.hooks.ui.SystemThemeChangerHook; import ru.vtosters.lite.ssfs.Utils; import ru.vtosters.lite.ui.PreferenceFragmentUtils; import ru.vtosters.lite.ui.dialogs.OTADialog; import ru.vtosters.lite.ui.fragments.tgstickers.StickersFragment; -import ru.vtosters.lite.utils.*; +import ru.vtosters.lite.utils.About; +import ru.vtosters.lite.utils.AccountManagerUtils; +import ru.vtosters.lite.utils.AndroidUtils; +import ru.vtosters.lite.utils.GmsUtils; +import ru.vtosters.lite.utils.ImageUtils; +import ru.vtosters.lite.utils.NavigatorUtils; +import ru.vtosters.lite.utils.Preferences; +import ru.vtosters.lite.utils.ThemesUtils; +import ru.vtosters.lite.utils.VTVerifications; -import static ru.vtosters.lite.utils.Preferences.VERSIONNAME; -import static ru.vtosters.lite.utils.Preferences.isValidSignature; - -public class VTSettings extends MaterialPreferenceToolbarFragment implements TelegramStickersService.StickersEventsListener { +public class VTSettings extends TrackedMaterialPreferenceToolbarFragment implements TelegramStickersService.StickersEventsListener { public static String getValAsString(@StringRes int strRes, Boolean value) { if(value) { diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/tgstickers/StickersPreferencesFragment.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/tgstickers/StickersPreferencesFragment.java index 90a9a2e4b..d609386e4 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/fragments/tgstickers/StickersPreferencesFragment.java +++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/tgstickers/StickersPreferencesFragment.java @@ -1,15 +1,17 @@ package ru.vtosters.lite.ui.fragments.tgstickers; import android.os.Bundle; + import com.aefyr.tsg.g2.stickersgrabber.TelegramStickersGrabber; import com.vk.core.util.ToastUtils; import com.vtosters.lite.R; -import com.vtosters.lite.general.fragments.MaterialPreferenceToolbarFragment; + import ru.vtosters.lite.tgs.TGPref; import ru.vtosters.lite.tgs.TGRoot; import ru.vtosters.lite.ui.PreferenceFragmentUtils; +import ru.vtosters.lite.ui.fragments.TrackedMaterialPreferenceToolbarFragment; -public class StickersPreferencesFragment extends MaterialPreferenceToolbarFragment { +public class StickersPreferencesFragment extends TrackedMaterialPreferenceToolbarFragment { @Override public void onCreate(Bundle bundle) { diff --git a/app/src/main/java/ru/vtosters/lite/utils/AnalyticsHelper.java b/app/src/main/java/ru/vtosters/lite/utils/AnalyticsHelper.java index 31af5ef65..3adbcf75d 100644 --- a/app/src/main/java/ru/vtosters/lite/utils/AnalyticsHelper.java +++ b/app/src/main/java/ru/vtosters/lite/utils/AnalyticsHelper.java @@ -2,7 +2,9 @@ package ru.vtosters.lite.utils; import android.app.Application; import android.os.Handler; + import androidx.annotation.NonNull; + import com.microsoft.appcenter.AppCenter; import com.microsoft.appcenter.analytics.Analytics; import com.microsoft.appcenter.channel.AbstractChannelListener; @@ -13,6 +15,7 @@ import com.microsoft.appcenter.ingestion.models.Log; import java.util.HashMap; import ru.vtosters.lite.BuildConfig; +import ru.vtosters.lite.ui.fragments.TrackedMaterialPreferenceToolbarFragment; public class AnalyticsHelper { private static final boolean analyticsDisabled = Preferences.getBoolValue("analyticsDisabled", false); @@ -76,6 +79,15 @@ public class AnalyticsHelper { Analytics.trackEvent(event, map); } + public static void trackSettingsFragment(Class fragment) { + if (analyticsDisabled) return; + + var props = new HashMap(); + props.put("fragment", fragment.getSimpleName()); + + AnalyticsHelper.trackEvent("Opened settings", props); + } + public static void trackError(Throwable th) { if (analyticsDisabled) return;