Fixed vkx inj + some fixes

This commit is contained in:
gdlbo
2022-07-14 21:15:29 +03:00
parent a6cbf35350
commit ae145691c5
8 changed files with 99 additions and 13 deletions
@@ -0,0 +1,40 @@
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);
}
}
@@ -0,0 +1,19 @@
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,9 +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 com.vk.dto.music.MusicTrack;
@@ -32,8 +34,13 @@ public class LibVKXClient{
}
public static boolean isVkxInstalled(){
return PackageManagerHelper.a(ClientConstants.PACKAGE, 128) != null;
}
try {
getContext().getPackageManager().getPackageInfo("ua.itaysonlab.vkx", 0);
return true;
} catch (Exception unused) {
return false;
}
} // VKX check
public static boolean isIntegrationEnabled(){
return getBoolValue("libvkx_integration", false) && isVkxInstalled();
@@ -44,6 +51,11 @@ public class LibVKXClient{
return false;
}
if (Build.VERSION.SDK_INT >= 31) {
sendToast("Интеграция не поддерживается на версии Android >= 12");
return false;
}
LibVKXClientImpl.LibVKXAction action = iLibVkxService -> LibVKXClient.lambdaplay(list, musicTrack, playerRefer, iLibVkxService);
return getInstance().runOnService(action);
@@ -1,6 +1,8 @@
package ru.vtosters.lite.ui.fragments;
import static ru.vtosters.lite.utils.Globals.edit;
import static ru.vtosters.lite.utils.Globals.getIdentifier;
import static ru.vtosters.lite.utils.Globals.restartApplicationWithTimer;
import static ru.vtosters.lite.utils.Themes.getAccentColor;
import static ru.vtosters.lite.utils.Themes.getAlertStyle;
import static ru.vtosters.lite.utils.Themes.getTextAttr;
@@ -55,6 +57,7 @@ public class MediaFragment extends MaterialPreferenceToolbarFragment{
private void prefs(){
findPreference("download_video").setOnPreferenceClickListener(new MediaFragment.download());
findPreference("dateformat").setOnPreferenceChangeListener(new MediaFragment.restart());
}
public class download implements Preference.OnPreferenceClickListener{
@@ -64,4 +67,13 @@ public class MediaFragment extends MaterialPreferenceToolbarFragment{
return true;
}
}
public static class restart implements Preference.OnPreferenceChangeListener{
@Override
public boolean onPreferenceChange(Preference preference, Object o){
edit().putString("dateformat", o.toString()).commit();
restartApplicationWithTimer();
return false;
}
}
}