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;
}
}
}
+1 -1
View File
@@ -49,7 +49,7 @@
android:defaultValue="false"
android:key="friendsblock"
android:summary="Скрыть блок рекомендаций друзей в друзьях"
android:title="Блок друзей" />
android:title="Скрыть друзей" />
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="false"
android:key="showmenu"
@@ -1926,16 +1926,6 @@
}
.end annotation
.line 10
invoke-static {p1, p2, p3}, Lbruhcollective/itaysonlab/libvkx/client/LibVKXClient;->play(Lcom/vk/dto/music/MusicTrack;Ljava/util/List;Lcom/vk/music/common/MusicPlaybackLaunchContext;)Z
move-result v0
if-eqz v0, :cond_b
return-void
:cond_b
invoke-static {p0}, Lcom/vk/music/model/IpcPlayerModelImpl;->a(Lcom/vk/music/model/IpcPlayerModelImpl;)Lcom/vk/audioipc/core/AudioPlayer;
move-result-object v0
@@ -975,6 +975,15 @@
}
.end annotation
invoke-static {p1, p2, p4}, Lbruhcollective/itaysonlab/libvkx/client/LibVKXClient;->play(Lcom/vk/dto/music/MusicTrack;Ljava/util/List;Lcom/vk/music/common/MusicPlaybackLaunchContext;)Z
move-result v0
if-eqz v0, :cond_b
return-void
:cond_b
const/4 v0, 0x4
new-array v0, v0, [Ljava/lang/Object;
@@ -827,6 +827,10 @@
invoke-direct {v2, v0, v3}, Lcom/vk/music/n/BoomModelImpl;-><init>(Lcom/vk/music/player/PlayerModel;Lcom/vk/music/restriction/MusicRestrictionManager;)V
invoke-static {v1, v3}, Lbruhcollective/itaysonlab/libvkx/client/LibVKXBoomModelProvider;->createModel(Lcom/vk/music/player/PlayerModel;Lcom/vk/music/restriction/MusicRestrictionManager;)Lcom/vk/music/common/BoomModel;
move-result-object v2
invoke-virtual {v1, v2}, Lcom/vk/music/common/Music$a;->a(Lcom/vk/music/common/BoomModel;)V
.line 12