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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user