Files
vtosters/app/src/main/java/bruhcollective/itaysonlab/libvkx/client/LibVKXClient.java
T

76 lines
2.4 KiB
Java

package bruhcollective.itaysonlab.libvkx.client;
import static ru.vtosters.lite.utils.Globals.getContext;
import static ru.vtosters.lite.utils.Preferences.BooleanFalse;
import android.content.Context;
import android.os.RemoteException;
import com.vk.core.b.PackageManagerHelper;
import com.vk.dto.music.MusicTrack;
import com.vk.music.PlayerRefer;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import bruhcollective.itaysonlab.libvkx.ILibVkxService;
public class LibVKXClient {
private static LibVKXClientImpl impl;
public static LibVKXClientImpl getInstance(Context context) {
if (impl == null) {
impl = new LibVKXClientImpl(context);
}
return impl;
}
public static LibVKXClientImpl getInstance() {
LibVKXClientImpl libVKXClientImpl = impl;
return libVKXClientImpl == null ? getInstance(getContext()) : libVKXClientImpl;
}
public static boolean isVkxInstalled() {
return PackageManagerHelper.b(ClientConstants.PACKAGE, 128) != null;
}
public static boolean isIntegrationEnabled() {
return BooleanFalse("libvkx_integration") && isVkxInstalled();
}
public static boolean play(MusicTrack musicTrack, List<MusicTrack> list, PlayerRefer playerRefer) {
if (!isIntegrationEnabled()) {
return false;
}
LibVKXClientImpl.LibVKXAction action = iLibVkxService -> LibVKXClient.lambdaplay(list, musicTrack, playerRefer, iLibVkxService);
return getInstance().runOnService(action);
}
public static void lambdaplay(List list, MusicTrack musicTrack, PlayerRefer playerRefer, ILibVkxService iLibVkxService) {
int indexOf = list.indexOf(musicTrack);
ArrayList arrayList = new ArrayList();
Iterator it = list.iterator();
while (it.hasNext()) {
arrayList.add(asId((MusicTrack) it.next()));
}
if (indexOf == -1) {
indexOf = 0;
}
try {
iLibVkxService.play(arrayList, indexOf, "");
} catch (RemoteException e) {
e.printStackTrace();
}
}
private static String asId(MusicTrack musicTrack) {
String str = musicTrack.c + "_" + musicTrack.b;
if (musicTrack.s == null || musicTrack.s.equals("")) {
return str;
}
return str + "_" + musicTrack.s;
}
}