diff --git a/app/src/main/java/ru/vtosters/lite/downloaders/AudioDownloader.java b/app/src/main/java/ru/vtosters/lite/downloaders/AudioDownloader.java index c2ee0ed99..ab854a1f9 100644 --- a/app/src/main/java/ru/vtosters/lite/downloaders/AudioDownloader.java +++ b/app/src/main/java/ru/vtosters/lite/downloaders/AudioDownloader.java @@ -23,6 +23,7 @@ import ru.vtosters.lite.music.downloader.PlaylistDownloader; import ru.vtosters.lite.music.downloader.TrackDownloader; import ru.vtosters.lite.music.notification.MusicNotificationBuilder; import ru.vtosters.lite.utils.AccountManagerUtils; +import ru.vtosters.lite.utils.AndroidUtils; import ru.vtosters.lite.utils.IOUtils; /** @@ -63,6 +64,7 @@ public class AudioDownloader { if (CacheDatabaseDelegate.isCached(trackId)) { CacheDatabaseDelegate.removeTrackFromCache(LibVKXClient.asId(track)); + AndroidUtils.sendToast("Трек удален из кеша"); return; } diff --git a/app/src/main/java/ru/vtosters/lite/music/hook/MusicBottomSheetHook.java b/app/src/main/java/ru/vtosters/lite/music/hook/MusicBottomSheetHook.java index 69bc65d48..4923b23e7 100644 --- a/app/src/main/java/ru/vtosters/lite/music/hook/MusicBottomSheetHook.java +++ b/app/src/main/java/ru/vtosters/lite/music/hook/MusicBottomSheetHook.java @@ -22,6 +22,8 @@ import java.util.ArrayList; import bruhcollective.itaysonlab.libvkx.client.LibVKXClientImpl; import ru.vtosters.lite.downloaders.AudioDownloader; +import ru.vtosters.lite.music.cache.CacheDatabaseDelegate; +import ru.vtosters.lite.utils.AndroidUtils; public class MusicBottomSheetHook { public static ArrayList hook(ArrayList actions, MusicTrack musicTrack) { @@ -36,9 +38,15 @@ public class MusicBottomSheetHook { if (isIntegrationEnabled()) { if (isVkxCached(trackid)) { actions.add(getRemoveCacheTrackVkxAction()); - } else { + } else if (isNetworkConnected()){ actions.add(addToCacheTrackVkxAction()); } + } else { + if (isCached(trackid)) { + actions.add(getRemoveCacheTrackAction()); + } else if (isNetworkConnected()){ + actions.add(addToCacheTrackAction()); + } } if (isNetworkConnected()) { @@ -85,10 +93,10 @@ public class MusicBottomSheetHook { if (isIntegrationEnabled()) { if (isVkxCached(playlist.a, playlist.b)) { actions.add(getRemoveCacheTrackVkxAction()); - } else { + } else if (isNetworkConnected()){ actions.add(addToCacheTrackVkxAction()); } - } else { + } else if (isNetworkConnected()){ actions.add(addToCacheTrackAction()); } @@ -121,6 +129,15 @@ public class MusicBottomSheetHook { return true; } + if (actionId == R.id.remove_from_cache) { + CacheDatabaseDelegate.removeTrackFromCache(asId(track)); + AndroidUtils.sendToast("Трек удален из кеша"); + return true; + } else if (actionId == R.id.add_to_cache) { + AudioDownloader.cacheTrack(track); + return true; + } + if (actionId == R.id.download_mp3) { if (isIntegrationEnabled()) { getInstance().runOnService(service -> {