playlist bs inj + fix getTrackFile

This commit is contained in:
gdlbo
2022-09-15 21:02:38 +03:00
parent 37f39f29ab
commit 07eefdcea9
7 changed files with 51 additions and 26 deletions
@@ -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<MusicAction> hook(ArrayList<MusicAction> actions) {
if (LibVKXClient.isVkxInstalled()) {
public static ArrayList<MusicAction> hook(ArrayList<MusicAction> 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<MusicAction> hook(ArrayList<MusicAction> 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<MusicTrack>();
if (playlist != null) {
@@ -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
@@ -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
@@ -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
@@ -740,7 +740,7 @@
:goto_3
# invoke static ru.vtosters.lite.hooks.ui.MusicBottomSheetHook.hook(ArrayList<MusicAction> 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
@@ -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
@@ -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