From 5466dd72ddf6673d03a3308b758d830a82d3684b Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Fri, 1 Mar 2024 22:50:31 +0300 Subject: [PATCH] some lastfm fixes --- .../vtosters/lite/music/LastFMScrobbler.java | 11 +++++-- .../ui/fragments/DataSettingsFragment.java | 2 +- .../lite/ui/fragments/MediaFragment.java | 31 +++++-------------- .../lite/ui/fragments/MusicFragment.java | 26 +++++++--------- 4 files changed, 27 insertions(+), 43 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/music/LastFMScrobbler.java b/app/src/main/java/ru/vtosters/lite/music/LastFMScrobbler.java index 1a4a334a7..a72a3795a 100644 --- a/app/src/main/java/ru/vtosters/lite/music/LastFMScrobbler.java +++ b/app/src/main/java/ru/vtosters/lite/music/LastFMScrobbler.java @@ -14,6 +14,7 @@ import ru.vtosters.hooks.other.Preferences; import ru.vtosters.lite.di.singleton.VtOkHttpClient; import ru.vtosters.lite.downloaders.AudioDownloader; import ru.vtosters.lite.music.cache.MusicCacheImpl; +import ru.vtosters.lite.ui.fragments.MusicFragment; import ru.vtosters.lite.utils.AndroidUtils; import java.io.IOException; @@ -83,12 +84,12 @@ public class LastFMScrobbler { params.put("sk", getSessionKey()); params.put("artist[0]", artist); params.put("track[0]", title); - if (!TextUtils.isEmpty(album)) + if (!TextUtils.isEmpty(album)) { params.put("album[0]", album); + } params.put("duration[0]", String.valueOf(duration)); params.put("timestamp[0]", String.valueOf(System.currentTimeMillis() / 1000)); - fetch(params, new Callback() { @Override public void a(Call call, IOException e) { @@ -150,8 +151,9 @@ public class LastFMScrobbler { params.put("format", "json"); var reqBodyBuilder = new FormBody.a(StandardCharsets.UTF_8); - for (var entry : params.entrySet()) + for (var entry : params.entrySet()) { reqBodyBuilder.a(entry.getKey(), entry.getValue()); + } var req = new Request.a() .b(URL) @@ -164,6 +166,7 @@ public class LastFMScrobbler { public static void fetchSession(JSONObject json) throws JSONException { if (!json.has("session")) { Log.d("Scrobbler", "Auth failed - no session"); + AndroidUtils.sendToast("Ошибка входа"); return; } @@ -177,6 +180,8 @@ public class LastFMScrobbler { .putBoolean("lastfm_enabled", true) .apply(); + AndroidUtils.sendToast("Успешный вход"); + Log.d("Scrobbler", "Auth success as " + name + ", key " + key); } diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/DataSettingsFragment.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/DataSettingsFragment.java index ee31069b5..738a3ca8e 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/fragments/DataSettingsFragment.java +++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/DataSettingsFragment.java @@ -375,4 +375,4 @@ public class DataSettingsFragment extends TrackedMaterialPreferenceToolbarFragme super.onResume(); updateCacheSize(); } -} +} \ No newline at end of file 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 5edc618cf..507ed2d1d 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,7 +1,6 @@ package ru.vtosters.lite.ui.fragments; import android.content.Context; -import android.content.Intent; import android.os.Bundle; import android.util.Log; import android.view.Gravity; @@ -23,16 +22,13 @@ import ru.vtosters.lite.proxy.ProxyUtils; import ru.vtosters.lite.ui.adapters.ImagineArrayAdapter; import ru.vtosters.lite.utils.AccountManagerUtils; import ru.vtosters.lite.utils.AndroidUtils; -import ru.vtosters.lite.utils.LifecycleUtils; import ru.vtosters.lite.utils.SearchEngine; import java.util.Arrays; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; public class MediaFragment extends TrackedMaterialPreferenceToolbarFragment { public static void download(Context ctx) { - final EditText input = new EditText(ctx); + EditText input = new EditText(ctx); input.setTextColor(ThemesUtils.getTextAttr()); input.setBackgroundTintList(ThemesUtils.getAccenedColorStateList()); @@ -56,26 +52,7 @@ public class MediaFragment extends TrackedMaterialPreferenceToolbarFragment { public void onCreate(Bundle bundle) { super.onCreate(bundle); addPreferencesFromResource(R.xml.preferences_media); - prefs(); - } - @Override - public void onActivityResult(int requestCode, int resultCode, Intent data) { - } - - @Override - public void onResume() { - super.onResume(); - prefs(); - } - - @Override - public boolean onPreferenceTreeClick(Preference preference) { - findPreference("maxquality").setEnabled(Preferences.isEnableExternalOpening()); - return super.onPreferenceTreeClick(preference); - } - - private void prefs() { findPreference("download_video").setOnPreferenceClickListener(preference -> { download(requireContext()); @@ -115,6 +92,12 @@ public class MediaFragment extends TrackedMaterialPreferenceToolbarFragment { findPreference("maxquality").setEnabled(Preferences.isEnableExternalOpening()); } + @Override + public boolean onPreferenceTreeClick(Preference preference) { + findPreference("maxquality").setEnabled(Preferences.isEnableExternalOpening()); + return super.onPreferenceTreeClick(preference); + } + public void deleteVideoHistory() { VTExecutors.getIoExecutor().execute(() -> { var request = new Request.a() diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/MusicFragment.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/MusicFragment.java index 0cdb020fc..0e7c5bfba 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/fragments/MusicFragment.java +++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/MusicFragment.java @@ -145,6 +145,7 @@ public class MusicFragment extends TrackedMaterialPreferenceToolbarFragment { } else { lastfmAuth(getContext()); } + updateLastFmPref(); return true; } ); @@ -224,21 +225,6 @@ public class MusicFragment extends TrackedMaterialPreferenceToolbarFragment { getPreferenceScreen().addPreference(list); } - @Override - public boolean onPreferenceTreeClick(Preference preference) { - return super.onPreferenceTreeClick(preference); - } - - @Override - public void onResume() { - super.onResume(); - if (LastFMScrobbler.isLoggedIn() && !Preferences.serverFeaturesDisable()) { - findPreference("lastfm_auth").setSummary(getString(com.vtosters.lite.R.string.lastfm_authorized_as) + " " + LastFMScrobbler.getUserName()); - findPreference("lastfm_enabled").setEnabled(true); - } - } - - private void lastfmAuth(Context ctx) { LinearLayout linearLayout = new LinearLayout(ctx); linearLayout.setOrientation(LinearLayout.VERTICAL); @@ -276,6 +262,16 @@ public class MusicFragment extends TrackedMaterialPreferenceToolbarFragment { .show(); } + public void updateLastFmPref() { + if (LastFMScrobbler.isLoggedIn()) { + findPreference("lastfm_auth").setSummary(getString(com.vtosters.lite.R.string.lastfm_authorized_as) + " " + LastFMScrobbler.getUserName()); + findPreference("lastfm_enabled").setEnabled(true); + } else { + findPreference("lastfm_auth").setSummary(getString(com.vtosters.lite.R.string.lastfm_auth_summ)); + findPreference("lastfm_enabled").setEnabled(false); + } + } + private void logout(Context ctx) { new VkAlertDialog.Builder(ctx) .setTitle(com.vtosters.lite.R.string.lastfm_logout_title)