From 88c150fcfc39b2beb266eaaee8a47ab614498791 Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Sat, 1 Oct 2022 19:02:10 +0300 Subject: [PATCH] some music cache imp --- .../java/ru/vtosters/lite/music/Scrobbler.java | 17 ++++++++++++++++- .../lite/ui/fragments/MediaFragment.java | 18 ++++++++++++------ 2 files changed, 28 insertions(+), 7 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 a5d1cc499..ef830b238 100644 --- a/app/src/main/java/ru/vtosters/lite/music/Scrobbler.java +++ b/app/src/main/java/ru/vtosters/lite/music/Scrobbler.java @@ -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); } 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 d6a3e16b6..e75b6c1f7 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 @@ -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"))