fix vkx integration

This commit is contained in:
aliveoutside
2022-07-15 02:39:17 +03:00
parent a94ca687eb
commit 4b2a537e3b
5 changed files with 19 additions and 87 deletions
@@ -1,40 +0,0 @@
package bruhcollective.itaysonlab.libvkx.client;
import android.content.Context;
import android.util.Log;
import com.vk.dto.music.MusicTrack;
import com.vk.music.common.BoomModel;
import com.vk.music.common.MusicPlaybackLaunchContext;
import com.vk.music.player.PlayerModel;
import b.h.g.g.PackageManagerHelper;
public class LibVKXBoomModel implements BoomModel{
private final PlayerModel playerModel;
public LibVKXBoomModel(PlayerModel playerModel) {
this.playerModel = playerModel;
}
// Has/Hasn't application
@Override
public boolean b() {
return PackageManagerHelper.a(ClientConstants.PACKAGE, 128) != null;
}
@Override
public void a(Context context, int i, int i1, String s, From from, MusicPlaybackLaunchContext musicPlaybackLaunchContext){
Log.d("libvkx:boom", "using LibVKXBoomModel");
}
@Override
public void a(Context context, MusicTrack musicTrack, From from, MusicPlaybackLaunchContext musicPlaybackLaunchContext) {
Log.d("libvkx:model", "<n> track = "+musicTrack+" / from = "+from+" / context"+musicPlaybackLaunchContext);
// AudioSetForDownloadRequest
}
@Override
public void a(Context context, From from) {
Log.d("libvkx:model", "<r> from = "+from);
}
}
@@ -1,19 +0,0 @@
package bruhcollective.itaysonlab.libvkx.client;
import android.util.Log;
import com.vk.music.common.BoomModel;
import com.vk.music.n.BoomModelImpl;
import com.vk.music.player.PlayerModel;
import com.vk.music.restriction.MusicRestrictionManager;
public class LibVKXBoomModelProvider{
public static BoomModel createModel(PlayerModel playerModel, MusicRestrictionManager restrictionManager) {
if (LibVKXClient.isIntegrationEnabled()) {
Log.d("libvkx:boom", "using LibVKXBoomModel");
return new LibVKXBoomModel(playerModel);
} else {
Log.d("libvkx:boom", "using BoomModelImpl");
return new BoomModelImpl(playerModel, restrictionManager);
}
}
}
@@ -1,12 +1,11 @@
package bruhcollective.itaysonlab.libvkx.client;
import static ru.vtosters.lite.utils.Globals.getContext;
import static ru.vtosters.lite.utils.Globals.sendToast;
import static ru.vtosters.lite.utils.Preferences.getBoolValue;
import android.content.Context;
import android.os.Build;
import android.os.RemoteException;
import android.util.Log;
import com.vk.dto.music.MusicTrack;
import com.vk.music.common.MusicPlaybackLaunchContext;
@@ -15,7 +14,6 @@ import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import b.h.g.g.PackageManagerHelper;
import bruhcollective.itaysonlab.libvkx.ILibVkxService;
public class LibVKXClient{
@@ -51,35 +49,32 @@ public class LibVKXClient{
return false;
}
if (Build.VERSION.SDK_INT >= 31) {
sendToast("Интеграция не поддерживается на версии Android >= 12");
return false;
}
Log.d("LibVKXClient", "playing: " + musicTrack.toString());
LibVKXClientImpl.LibVKXAction action = iLibVkxService -> LibVKXClient.lambdaplay(list, musicTrack, playerRefer, iLibVkxService);
LibVKXClientImpl.LibVKXAction action = iLibVkxService -> LibVKXClient.lambdaplay(list, musicTrack, iLibVkxService);
return getInstance().runOnService(action);
}
public static void lambdaplay(List list, MusicTrack musicTrack, MusicPlaybackLaunchContext playerRefer, ILibVkxService iLibVkxService){
public static void lambdaplay(List<MusicTrack> list, MusicTrack musicTrack, ILibVkxService iLibVkxService){
int indexOf = list.indexOf(musicTrack);
ArrayList arrayList = new ArrayList();
Iterator it = list.iterator();
while(it.hasNext()) {
arrayList.add(asId((MusicTrack) it.next()));
var ids = new ArrayList<String>();
for (var track : list) {
ids.add(asId(track));
}
if (indexOf == -1) {
indexOf = 0;
}
Log.d("LibVKXClient", "tracks: " + ids.toString());
try {
iLibVkxService.play(arrayList, indexOf, "");
iLibVkxService.play(ids, indexOf, "");
} catch (RemoteException e) {
e.printStackTrace();
}
}
private static String asId(MusicTrack musicTrack){
String str = musicTrack.d + "_" + musicTrack.e;
String str = musicTrack.e + "_" + musicTrack.d;
if (musicTrack.O == null || musicTrack.O.equals("")) {
return str;
}