some lastfm fixes
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -375,4 +375,4 @@ public class DataSettingsFragment extends TrackedMaterialPreferenceToolbarFragme
|
||||
super.onResume();
|
||||
updateCacheSize();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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()
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user