From ab26bab35d6e012326f4353807aa954509b1aa04 Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Thu, 28 Jul 2022 02:24:38 +0300 Subject: [PATCH] some settings logic reworked --- .../ru/vtosters/lite/music/Scrobbler.java | 2 +- .../lite/ui/fragments/ActivityFragment.java | 10 ++++++++ .../lite/ui/fragments/MediaFragment.java | 24 +++++++++++++++++++ smali/res/xml/preferences_activity.xml | 1 + smali/res/xml/preferences_feed.xml | 4 ++-- smali/res/xml/preferences_media.xml | 7 +++--- smali/res/xml/preferences_other.xml | 18 +++++++------- 7 files changed, 51 insertions(+), 15 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/music/Scrobbler.java b/app/src/main/java/ru/vtosters/lite/music/Scrobbler.java index 463424635..21b742828 100644 --- a/app/src/main/java/ru/vtosters/lite/music/Scrobbler.java +++ b/app/src/main/java/ru/vtosters/lite/music/Scrobbler.java @@ -28,7 +28,7 @@ public class Scrobbler{ private static final String keysecret = "d982180eed13275bb948e41cf225f88f"; private static final String url = "https://ws.audioscrobbler.com/2.0/"; private static final NetClient client = new NetClient.Builder().build(); - private static ArrayList scrobbled = new ArrayList<>(); + private static final ArrayList scrobbled = new ArrayList<>(); public static void scrobbleTrack(long duration, String artist, String title, String uid){ var string = getDefaultPrefs().getString("sessionKey", null); 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 051f827f4..4f4c0a566 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 @@ -1,9 +1,12 @@ package ru.vtosters.lite.ui.fragments; import static ru.vtosters.lite.utils.AndroidUtils.getIdentifier; +import static ru.vtosters.lite.utils.Preferences.offline; import android.os.Bundle; +import androidx.preference.Preference; + import com.vtosters.lite.general.fragments.MaterialPreferenceToolbarFragment; public class ActivityFragment extends MaterialPreferenceToolbarFragment { @@ -11,5 +14,12 @@ public class ActivityFragment extends MaterialPreferenceToolbarFragment { public void onCreate(Bundle bundle) { super.onCreate(bundle); addPreferencesFromResource(getIdentifier("preferences_activity", "xml")); + findPreference("setoffline").setEnabled(offline()); + } + + @Override + public boolean onPreferenceTreeClick(Preference preference) { + findPreference("setoffline").setEnabled(offline()); + return super.onPreferenceTreeClick(preference); } } 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 5a653d31c..f2a376feb 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 @@ -8,6 +8,7 @@ import static ru.vtosters.lite.utils.AndroidUtils.getIdentifier; import static ru.vtosters.lite.utils.AndroidUtils.getPreferences; import static ru.vtosters.lite.utils.AndroidUtils.sendToast; import static ru.vtosters.lite.utils.LifecycleUtils.restartApplicationWithTimer; +import static ru.vtosters.lite.utils.Preferences.offline; import static ru.vtosters.lite.utils.ThemesUtils.getAccentColor; import static ru.vtosters.lite.utils.ThemesUtils.getAlertStyle; import static ru.vtosters.lite.utils.ThemesUtils.getSTextAttr; @@ -115,6 +116,15 @@ public class MediaFragment extends MaterialPreferenceToolbarFragment { Scrobbler.reset(); return true; }); + + if (isLoggedIn()) { + findPreference("lastfm_auth").setSummary("Вы авторизованы как " + Scrobbler.getUserName()); + findPreference("lastfm_auth").setEnabled(false); + } else { + findPreference("lastfm_reset").setEnabled(false); + findPreference("lastfm_enabled").setEnabled(false); + } + findPreference("select_photo_search_engine").setOnPreferenceClickListener(preference -> { var items = Arrays.asList( new ImagineArrayAdapter.ImagineArrayAdapterItem(getIdentifier("yandex", "drawable"), "Yandex"), @@ -139,6 +149,20 @@ public class MediaFragment extends MaterialPreferenceToolbarFragment { }); } + @Override + public boolean onPreferenceTreeClick(Preference preference) { + + if (isLoggedIn()) { + findPreference("lastfm_auth").setSummary("Вы авторизованы как " + Scrobbler.getUserName()); + findPreference("lastfm_auth").setEnabled(false); + } else { + findPreference("lastfm_reset").setEnabled(false); + findPreference("lastfm_enabled").setEnabled(false); + } + + return super.onPreferenceTreeClick(preference); + } + public class download implements Preference.OnPreferenceClickListener { @Override // android.support.v7.preference.Preference.c public boolean onPreferenceClick(Preference preference) { diff --git a/smali/res/xml/preferences_activity.xml b/smali/res/xml/preferences_activity.xml index 448be0dbf..28474c8f0 100644 --- a/smali/res/xml/preferences_activity.xml +++ b/smali/res/xml/preferences_activity.xml @@ -22,6 +22,7 @@ android:title="@string/vtloffline" /> diff --git a/smali/res/xml/preferences_feed.xml b/smali/res/xml/preferences_feed.xml index 6f603bf2f..33a508e5f 100644 --- a/smali/res/xml/preferences_feed.xml +++ b/smali/res/xml/preferences_feed.xml @@ -99,9 +99,9 @@ android:summary="@string/officialnewssett_summary" android:title="@string/officialnewssett" /> + android:title="Почему не обновляются новости?" /> + - diff --git a/smali/res/xml/preferences_other.xml b/smali/res/xml/preferences_other.xml index a30b598ed..41ba21517 100644 --- a/smali/res/xml/preferences_other.xml +++ b/smali/res/xml/preferences_other.xml @@ -32,15 +32,15 @@ android:key="vk_admin_token" android:title="Токен от VK Admin" /> - - - + + +