Fixed vkx inj + some fixes
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
+19
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user