some music cache imp

This commit is contained in:
gdlbo
2022-10-01 19:02:25 +03:00
parent a0b23f8590
commit 88c150fcfc
2 changed files with 28 additions and 7 deletions
@@ -1,6 +1,7 @@
package ru.vtosters.lite.music;
import static java.lang.String.valueOf;
import static bruhcollective.itaysonlab.libvkx.client.LibVKXClient.getInstance;
import static ru.vtosters.lite.utils.AndroidUtils.MD5;
import static ru.vtosters.lite.utils.AndroidUtils.edit;
import static ru.vtosters.lite.utils.AndroidUtils.getDefaultPrefs;
@@ -8,6 +9,7 @@ import static ru.vtosters.lite.utils.AndroidUtils.getPreferences;
import static ru.vtosters.lite.utils.AndroidUtils.sendToast;
import static ru.vtosters.lite.utils.Preferences.autocache;
import android.os.RemoteException;
import android.util.Log;
import com.vk.dto.music.MusicTrack;
@@ -20,6 +22,7 @@ import java.util.ArrayList;
import java.util.Map;
import java.util.TreeMap;
import bruhcollective.itaysonlab.libvkx.client.LibVKXClient;
import ru.vtosters.lite.downloaders.AudioDownloader;
import ru.vtosters.lite.net.NetCall;
import ru.vtosters.lite.net.NetCallback;
@@ -88,7 +91,19 @@ public class Scrobbler {
return;
}
if (autocache()) AudioDownloader.cacheTrack(musictrack);
if (autocache()) {
if (LibVKXClient.isIntegrationEnabled()){
getInstance().runOnService(service -> {
try {
service.addTrackToCache(musictrack.d, musictrack.e, (musictrack.J != null) ? musictrack.J : "");
} catch (RemoteException e) {
e.printStackTrace();
}
});
} else {
AudioDownloader.cacheTrack(musictrack);
}
}
scrobbleTrack(duration, artist, title, uid);
}
@@ -38,6 +38,7 @@ 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;
@@ -177,11 +178,11 @@ public class MediaFragment extends MaterialPreferenceToolbarFragment {
new VkAlertDialog.Builder(ctx)
.setTitle(AndroidUtils.getString("lastfm_enter_credentials"))
.setPositiveButton(AndroidUtils.getString("lastfm_enter"),
(dialog, which) -> {
String login = fn.getText().toString();
String pass = ln.getText().toString();
Scrobbler.auth(login, pass);
}
(dialog, which) -> {
String login = fn.getText().toString();
String pass = ln.getText().toString();
Scrobbler.auth(login, pass);
}
)
.setView(linearLayout)
.show();
@@ -192,7 +193,7 @@ public class MediaFragment extends MaterialPreferenceToolbarFragment {
.setTitle(AndroidUtils.getString("lastfm_logout_title"))
.setMessage(AndroidUtils.getString("lastfm_logout_confirm"))
.setPositiveButton(AndroidUtils.getString("vkim_yes"),
(dialog, which) -> Scrobbler.logout())
(dialog, which) -> Scrobbler.logout())
.setNeutralButton(AndroidUtils.getString("vkim_no"),
(dialog, which) -> dialog.cancel())
.show();
@@ -210,6 +211,11 @@ public class MediaFragment extends MaterialPreferenceToolbarFragment {
}
private void dlaudio(Context ctx) {
if (LibVKXClient.isIntegrationEnabled()) {
sendToast("Включена интеграция VKX. Глобальное кеширование доступно внутри VKX");
return;
}
new VkAlertDialog.Builder(ctx)
.setTitle(AndroidUtils.getString("download_method"))
.setMessage(AndroidUtils.getString("download_method_desc"))