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 d58ec2ff5..cae2f4b47 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,7 +1,5 @@ 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; @@ -15,18 +13,31 @@ import bruhcollective.itaysonlab.libvkx.client.LibVKXClientImpl; import ru.vtosters.lite.utils.AndroidUtils; public class MusicBottomSheetHook { - public static ArrayList hook(ArrayList actions) { - if (LibVKXClient.isVkxInstalled()) { + public static ArrayList hook(ArrayList actions, MusicTrack musicTrack) { + if (LibVKXClient.isVkxInstalled()) actions.add(getPlayInVKXAction()); - } + return actions; } - public static boolean tryPlayInVKX(int actionId, MusicTrack track, MusicPlaybackLaunchContext context, Playlist playlist) { - if (actionId != AndroidUtils.getIdentifier("play_in_vkx", "id")) { - return false; - } + public static ArrayList hook(ArrayList actions, Playlist playlist) { + return actions; + } + + public static boolean injectOnClick(int actionId, MusicTrack track, MusicPlaybackLaunchContext context, Playlist playlist) { // musictrack inj + if (actionId == AndroidUtils.getIdentifier("play_in_vkx", "id")) + return tryPlayInVKX(track, context, playlist); + + return false; + } + + public static boolean injectOnClick(int actionId, Playlist playlist) { // playlist inj + + return false; + } + + public static boolean tryPlayInVKX(MusicTrack track, MusicPlaybackLaunchContext context, Playlist playlist) { var trackList = new ArrayList(); if (playlist != null) { diff --git a/smali/smali_classes3/com/vk/music/bottomsheets/playlist/PlaylistBottomSheet.smali b/smali/smali_classes3/com/vk/music/bottomsheets/playlist/PlaylistBottomSheet.smali index 604eb2316..8859ba37b 100644 --- a/smali/smali_classes3/com/vk/music/bottomsheets/playlist/PlaylistBottomSheet.smali +++ b/smali/smali_classes3/com/vk/music/bottomsheets/playlist/PlaylistBottomSheet.smali @@ -462,6 +462,12 @@ invoke-interface {v1, v2}, Ljava/util/List;->add(Ljava/lang/Object;)Z :cond_8 + iget-object v2, v0, Lcom/vk/music/bottomsheets/playlist/PlaylistBottomSheet;->b:Lcom/vk/dto/music/Playlist; + + invoke-static {v1, v2}, Lru/vtosters/lite/hooks/ui/MusicBottomSheetHook;->hook(Ljava/util/ArrayList;Lcom/vk/dto/music/Playlist;)Ljava/util/ArrayList; + + move-result-object v1 + return-object v1 .end method diff --git a/smali/smali_classes3/com/vk/music/bottomsheets/playlist/PlaylistBottomSheetClickListener.smali b/smali/smali_classes3/com/vk/music/bottomsheets/playlist/PlaylistBottomSheetClickListener.smali index 94894ecc0..c3497694c 100644 --- a/smali/smali_classes3/com/vk/music/bottomsheets/playlist/PlaylistBottomSheetClickListener.smali +++ b/smali/smali_classes3/com/vk/music/bottomsheets/playlist/PlaylistBottomSheetClickListener.smali @@ -132,13 +132,22 @@ .end method .method public a(Lcom/vk/music/bottomsheets/a/MusicAction;Lcom/vk/dto/music/Playlist;)Z - .locals 2 + .locals 4 .line 6 invoke-virtual {p1}, Lcom/vk/music/bottomsheets/a/MusicAction;->a()I move-result p1 + invoke-static {p1, p2}, Lru/vtosters/lite/hooks/ui/MusicBottomSheetHook;->injectOnClick(ILcom/vk/dto/music/Playlist;)Z + + move-result v3 + + if-eqz v3, :cond_7 + + goto/16 :goto_0 + + :cond_7 const/4 p2, 0x0 sparse-switch p1, :sswitch_data_0 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 1ef5b1d17..da5ddc1f6 100644 --- a/smali/smali_classes3/com/vk/music/bottomsheets/track/MusicTrackBottomSheetClickListener.smali +++ b/smali/smali_classes3/com/vk/music/bottomsheets/track/MusicTrackBottomSheetClickListener.smali @@ -716,7 +716,7 @@ 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 + invoke-static {p1, v0, v2, v3}, Lru/vtosters/lite/hooks/ui/MusicBottomSheetHook;->injectOnClick(ILcom/vk/dto/music/MusicTrack;Lcom/vk/music/common/MusicPlaybackLaunchContext;Lcom/vk/dto/music/Playlist;)Z move-result v3 diff --git a/smali/smali_classes3/com/vk/music/bottomsheets/track/d/VkMusicTrackBottomSheetActionsFactory.smali b/smali/smali_classes3/com/vk/music/bottomsheets/track/d/VkMusicTrackBottomSheetActionsFactory.smali index e7c1202bc..caf87743d 100644 --- a/smali/smali_classes3/com/vk/music/bottomsheets/track/d/VkMusicTrackBottomSheetActionsFactory.smali +++ b/smali/smali_classes3/com/vk/music/bottomsheets/track/d/VkMusicTrackBottomSheetActionsFactory.smali @@ -740,7 +740,7 @@ :goto_3 # invoke static ru.vtosters.lite.hooks.ui.MusicBottomSheetHook.hook(ArrayList actions) - invoke-static {v3}, Lru/vtosters/lite/hooks/ui/MusicBottomSheetHook;->hook(Ljava/util/ArrayList;)Ljava/util/ArrayList; + invoke-static {v3, v1}, Lru/vtosters/lite/hooks/ui/MusicBottomSheetHook;->hook(Ljava/util/ArrayList;Lcom/vk/dto/music/MusicTrack;)Ljava/util/ArrayList; move-result-object v3 diff --git a/smali/smali_classes3/com/vk/music/playlist/ModernPlaylistModel.smali b/smali/smali_classes3/com/vk/music/playlist/ModernPlaylistModel.smali index 2536b751f..a67da6df5 100644 --- a/smali/smali_classes3/com/vk/music/playlist/ModernPlaylistModel.smali +++ b/smali/smali_classes3/com/vk/music/playlist/ModernPlaylistModel.smali @@ -239,18 +239,17 @@ const/4 v1, 0x1 - #invoke-static {p1}, Lru/vtosters/lite/music/cache/injectors/PlaylistInjector;->injectGetPlaylist(Lcom/vk/api/audio/AudioGetPlaylist;)Lio/reactivex/Observable; + invoke-static {p1}, Lru/vtosters/lite/music/cache/injectors/PlaylistInjector;->injectGetPlaylist(Lcom/vk/api/audio/AudioGetPlaylist;)Lio/reactivex/Observable; - #move-result-object v2 + move-result-object v2 - #if-eqz v2, :cond_custom + if-eqz v2, :cond_custom - #move-object p1, v2 + move-object p1, v2 - #goto :goto_20 - - #:cond_custom + goto :goto_20 + :cond_custom invoke-static {p1, v0, v1, v0}, Lcom/vk/api/base/ApiRequest;->d(Lcom/vk/api/base/ApiRequest;Lcom/vk/api/base/ApiThreadHolder;ILjava/lang/Object;)Lio/reactivex/Observable; move-result-object p1 diff --git a/smali/smali_classes4/com/vtosters/lite/audio/player/CacheUtils.smali b/smali/smali_classes4/com/vtosters/lite/audio/player/CacheUtils.smali index d79b7b845..832b51890 100644 --- a/smali/smali_classes4/com/vtosters/lite/audio/player/CacheUtils.smali +++ b/smali/smali_classes4/com/vtosters/lite/audio/player/CacheUtils.smali @@ -7,13 +7,6 @@ .method public static a(Landroid/content/Context;)Ljava/io/File; .locals 10 - .line 5 - invoke-static/range {p1 .. p1}, Lru/vtosters/lite/music/cache/FileCacheImplementation;->getTrackFile(Ljava/lang/String;)Ljava/io/File; - - move-result-object v0 - - return-object v0 - invoke-static {p0}, Landroidx/core/content/ContextCompat;->getExternalCacheDirs(Landroid/content/Context;)[Ljava/io/File; move-result-object v0 @@ -119,6 +112,13 @@ .method static a(Ljava/lang/String;)Ljava/io/File; .locals 4 + .line 5 + invoke-static {p1}, Lru/vtosters/lite/music/cache/FileCacheImplementation;->getTrackFile(Ljava/lang/String;)Ljava/io/File; + + move-result-object v0 + + return-object v0 + const/4 v0, 0x0 .line 26