diff --git a/app/src/main/java/ru/vtosters/lite/hooks/ui/MusicBottomSheetHook.java b/app/src/main/java/ru/vtosters/lite/hooks/ui/MusicBottomSheetHook.java index 434098b1e..da3f11c8f 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/ui/MusicBottomSheetHook.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/ui/MusicBottomSheetHook.java @@ -1,12 +1,14 @@ package ru.vtosters.lite.hooks.ui; +import android.util.Log; + import com.vk.dto.music.MusicTrack; +import com.vk.dto.music.Playlist; import com.vk.music.bottomsheets.a.MusicAction; import com.vk.music.common.MusicPlaybackLaunchContext; import com.vtosters.lite.R; import java.util.ArrayList; -import java.util.List; import bruhcollective.itaysonlab.libvkx.client.LibVKXClient; import bruhcollective.itaysonlab.libvkx.client.LibVKXClientImpl; @@ -20,8 +22,23 @@ public class MusicBottomSheetHook { return actions; } - public static boolean tryPlayInVKX(MusicTrack track, MusicPlaybackLaunchContext context) { - LibVKXClientImpl.LibVKXAction action = iLibVkxService -> LibVKXClient.lambdaplay(List.of(track), track, iLibVkxService, context); + public static boolean tryPlayInVKX(int actionId, MusicTrack track, MusicPlaybackLaunchContext context, Playlist playlist) { + if (actionId != AndroidUtils.getIdentifier("play_in_vkx", "id")) { + return false; + } + + var trackList = new ArrayList(); + + if (playlist != null) { + Log.d("VKX", "Playlist is not null"); + Log.d("VKX", "Playlist size: " + playlist.R.size()); + trackList.addAll(playlist.R); + } else { + Log.d("VKX", "Playlist is null"); + trackList.add(track); + } + + LibVKXClientImpl.LibVKXAction action = iLibVkxService -> LibVKXClient.lambdaplay(trackList, track, iLibVkxService, context); return LibVKXClient.getInstance().runOnService(action); } diff --git a/smali/smali_classes3/com/vk/music/bottomsheets/track/MusicTrackBottomSheetClickListener.smali b/smali/smali_classes3/com/vk/music/bottomsheets/track/MusicTrackBottomSheetClickListener.smali index 4fe05a419..1ef5b1d17 100644 --- a/smali/smali_classes3/com/vk/music/bottomsheets/track/MusicTrackBottomSheetClickListener.smali +++ b/smali/smali_classes3/com/vk/music/bottomsheets/track/MusicTrackBottomSheetClickListener.smali @@ -704,12 +704,19 @@ move-result-object v2 - .line 7 invoke-virtual {p1}, Lcom/vk/music/bottomsheets/a/MusicAction;->a()I move-result p1 - invoke-static {v0, v2}, Lru/vtosters/lite/hooks/ui/MusicBottomSheetHook;->tryPlayInVKX(Lcom/vk/dto/music/MusicTrack;Lcom/vk/music/common/MusicPlaybackLaunchContext;)Z + .line 7 + + iget-object v3, p0, Lcom/vk/music/bottomsheets/track/MusicTrackBottomSheetClickListener;->f:Lcom/vk/music/bottomsheets/track/MusicTrackBottomSheetModel1; + + invoke-interface {v3}, Lcom/vk/music/bottomsheets/track/MusicTrackBottomSheetModel1;->i()Lcom/vk/dto/music/Playlist; + + move-result-object v3 + + invoke-static {p1, v0, v2, v3}, Lru/vtosters/lite/hooks/ui/MusicBottomSheetHook;->tryPlayInVKX(ILcom/vk/dto/music/MusicTrack;Lcom/vk/music/common/MusicPlaybackLaunchContext;Lcom/vk/dto/music/Playlist;)Z move-result v3