From bbad64c0aae2885534eaf1681cf7b059b2d9f4bb Mon Sep 17 00:00:00 2001 From: Artur Skubei <41114720+gdlbo@users.noreply.github.com> Date: Sun, 24 Mar 2024 22:00:26 +0300 Subject: [PATCH] Music metrics impl for recommendations (#1587) --- .../vk/music/stats/VKMusicStatsTracker.java | 260 ++++++ .../music/injectors/CatalogJsonInjector.java | 4 + .../ru/vtosters/hooks/other/Preferences.java | 4 + .../java/ru/vtosters/lite/music/Metrics.java | 38 + .../lite/ui/fragments/MusicFragment.java | 14 + .../vk/api/audio/AudioSendStartEvent.smali | 36 +- .../MusicRestrictionModelImpl.smali | 55 +- .../music/stats/VKMusicStatsTracker$a.smali | 70 -- .../vk/music/stats/VKMusicStatsTracker.smali | 841 ------------------ 9 files changed, 374 insertions(+), 948 deletions(-) create mode 100644 app/src/main/java/com/vk/music/stats/VKMusicStatsTracker.java create mode 100644 app/src/main/java/ru/vtosters/lite/music/Metrics.java delete mode 100644 smali/smali_classes3/com/vk/music/stats/VKMusicStatsTracker$a.smali delete mode 100644 smali/smali_classes3/com/vk/music/stats/VKMusicStatsTracker.smali diff --git a/app/src/main/java/com/vk/music/stats/VKMusicStatsTracker.java b/app/src/main/java/com/vk/music/stats/VKMusicStatsTracker.java new file mode 100644 index 000000000..f107f055d --- /dev/null +++ b/app/src/main/java/com/vk/music/stats/VKMusicStatsTracker.java @@ -0,0 +1,260 @@ +package com.vk.music.stats; + +import android.content.Intent; +import androidx.annotation.NonNull; +import androidx.annotation.VisibleForTesting; +import androidx.core.app.NotificationCompat; +import com.vk.core.extensions.StringExt; +import com.vk.music.common.MusicPlaybackLaunchContext; +import com.vk.music.logger.MusicLogger; +import com.vk.music.stats.i.MusicPlaybackParams; +import com.vk.navigation.NavigatorKeys; +import com.vtosters.lite.data.Analytics; +import kotlin.jvm.b.Functions2; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; +import ru.vtosters.hooks.other.Preferences; +import ru.vtosters.lite.music.Metrics; + +import java.util.Objects; +import java.util.UUID; + +public final class VKMusicStatsTracker implements MusicStatsTracker { + private String a; + private final Functions2 b; + private static final a c = new a(); + + public VKMusicStatsTracker(Functions2 functions2) { + this.b = functions2; + } + + private String e(MusicPlaybackParams musicPlaybackParams) { + String g = musicPlaybackParams.g(); + if (g == null) { + g = this.a; + } + if (g == null) { + g = "auto"; + } + this.a = g; + return g; + } + + @Override + public void a(boolean z) { + MusicStatsTracker.a.a(this, z); + } + + @Override + public void b(MusicPlaybackParams musicPlaybackParams) { + c.a(a(musicPlaybackParams, "music_start_playback")); + + if (Preferences.sendMusicMetrics()) { + try { + makeMetricsRequest(musicPlaybackParams, "music_start_playback"); + } catch (JSONException e) { + throw new RuntimeException(e); + } + } + } + + @Override + public void b(boolean z) { + } + + @Override + public void c(MusicPlaybackParams musicPlaybackParams) { + MusicStatsTracker.a.b(this, musicPlaybackParams); + } + + @Override + public void d() { + MusicStatsTracker.a.a(this); + } + + @Override + public void a(Intent intent, String str) { + MusicStatsTracker.a.a(this, intent, str); + } + + @Override + public void b(String str, @NonNull String str2) { + Analytics.l invoke = this.b.invoke("music_subscription_action"); + invoke.a("popup", str); + invoke.a("action", str2); + c.a(invoke); + } + + @Override + public void c(boolean z) { + MusicStatsTracker.a.b(this, z); + } + + @Override + public void d(MusicPlaybackParams musicPlaybackParams) { + if (Objects.equals("pause", this.a)) { + a(musicPlaybackParams); + } + } + + @Override + public void a(long j) { + MusicStatsTracker.a.a(this, j); + } + + @Override + public void c() { + Analytics.l invoke = this.b.invoke("music_subscription_push"); + invoke.a("action", "open"); + c.a(invoke); + } + + @Override + public void a(String str, MusicStatsRefer musicStatsRefer) { + Analytics.l invoke = this.b.invoke("music_subscription_show"); + invoke.a("popup", str); + c.a(invoke); + } + + @Override + public void b() { + Analytics.l invoke = this.b.invoke("music_subscription_push"); + invoke.a("action", "send"); + c.a(invoke); + } + + @Override + public void a(MusicPlaybackParams musicPlaybackParams) { + c.a(a(musicPlaybackParams, "music_stop_playback")); + + if (Preferences.sendMusicMetrics()) { + try { + makeMetricsRequest(musicPlaybackParams, "music_stop_playback"); + } catch (JSONException e) { + throw new RuntimeException(e); + } + } + } + + @Override + public void a(PlayerStateChangedParams playerStateChangedParams) { + Analytics.l invoke = this.b.invoke("audio_player"); + invoke.a(NavigatorKeys.t0, playerStateChangedParams.a()); + invoke.a("prev_state", playerStateChangedParams.c()); + invoke.a("duration", playerStateChangedParams.b()); + c.a(invoke); + } + + @Override + public void b(String str) { + Analytics.l invoke = this.b.invoke("music_subscription_free_displayed"); + invoke.a("popup", str); + c.a(invoke); + } + + @Override + public void a(String str) { + Analytics.l invoke = this.b.invoke("playlist_start"); + invoke.a(NavigatorKeys.e, str); + c.a(invoke); + } + + private void makeMetricsRequest(MusicPlaybackParams musicPlaybackParams, String str) throws JSONException { + JSONArray events = new JSONArray(); + JSONObject event = new JSONObject(); + + if (str.equals("music_stop_playback")) { + event.put("e", str); + event.put("audio_id", musicPlaybackParams.c()); + event.put("start_time", "0"); + event.put("shuffle", "false"); + event.put("reason", "new"); + event.put("state", "app"); + event.put("duration", musicPlaybackParams.a()); + events.put(event); + } else { + event.put("e", str); + event.put("audio_id", musicPlaybackParams.c()); + event.put("start_time", "0"); + event.put("shuffle", "false"); + event.put("reason", "auto"); + event.put("state", "app"); + + if (StringExt.a((CharSequence) musicPlaybackParams.e())) { + event.put("prev_audio_id", musicPlaybackParams.e()); + } + + events.put(event); + } + + Metrics.trackEvents(events.toString()); + } + + private Analytics.l a(MusicPlaybackParams musicPlaybackParams, String str) { + Analytics.l invoke = this.b.invoke(str); + invoke.a("audio_id", musicPlaybackParams.c()); + invoke.a("uuid", UUID.randomUUID().hashCode()); + invoke.a("shuffle", musicPlaybackParams.l()); + invoke.a("reason", e(musicPlaybackParams)); + invoke.a("start_time", musicPlaybackParams.i()); + invoke.a("playback_started_at", musicPlaybackParams.d()); + invoke.a(NavigatorKeys.l0, musicPlaybackParams.j()); + if (!Objects.equals("music_start_playback", str)) { + invoke.a("duration", musicPlaybackParams.a()); + } + int i = h.$EnumSwitchMapping$0[musicPlaybackParams.b().ordinal()]; + if (i == 1) { + invoke.a("repeat", "one"); + } else if (i == 2) { + invoke.a("repeat", "all"); + } + invoke.a(NavigatorKeys.t0, musicPlaybackParams.m()); + MusicPlaybackLaunchContext h = musicPlaybackParams.h(); + invoke.a(NavigatorKeys.V, h.v0()); + if (h.v1()) { + invoke.a("playlist_id", h.u1()); + } + if (h.i(4) || h.i(8)) { + invoke.a("expanded", h.i(4)); + } + if (StringExt.a((CharSequence) musicPlaybackParams.e())) { + invoke.a("prev_audio_id", musicPlaybackParams.e()); + } + if (StringExt.a((CharSequence) musicPlaybackParams.f())) { + invoke.a("prev_playlist_id", musicPlaybackParams.f()); + } + return invoke; + } + + @Override + public void a(String str, String str2) { + boolean a2 = Objects.equals("success", str2); + Analytics.l builder = this.b.invoke("music_subscription_purchase_result"); + builder.a("popup", str); + builder.a(NotificationCompat.CATEGORY_STATUS, a2 ? "success" : "fail"); + if (!a2) { + builder.a("reason", str2); + } + c.a(builder); + } + + @Override + public void a() { + Analytics.l invoke = this.b.invoke("music_subscription"); + invoke.a("popup", "background_v2"); + invoke.a("action", "link"); + c.a(invoke); + } + + public static final class a { + private a() { + } + + @VisibleForTesting + public void a(Analytics.l lVar) { + MusicLogger.a("MusicStats", "[VK_TRACKER]", lVar); + lVar.b(); + } + } +} diff --git a/app/src/main/java/ru/vtosters/hooks/music/injectors/CatalogJsonInjector.java b/app/src/main/java/ru/vtosters/hooks/music/injectors/CatalogJsonInjector.java index b45260887..543d8fcda 100644 --- a/app/src/main/java/ru/vtosters/hooks/music/injectors/CatalogJsonInjector.java +++ b/app/src/main/java/ru/vtosters/hooks/music/injectors/CatalogJsonInjector.java @@ -46,6 +46,10 @@ public class CatalogJsonInjector { fetchCatalogId("https://vk.com/audio?section=albums", oldItems); + if (Preferences.sendMusicMetrics()) { + fetchCatalogId("https://vk.com/audio?section=recent", oldItems); + } + setDefaultAudioPage(oldItems, catalog); } diff --git a/app/src/main/java/ru/vtosters/hooks/other/Preferences.java b/app/src/main/java/ru/vtosters/hooks/other/Preferences.java index bcbb03e5e..4e826dc68 100644 --- a/app/src/main/java/ru/vtosters/hooks/other/Preferences.java +++ b/app/src/main/java/ru/vtosters/hooks/other/Preferences.java @@ -292,6 +292,10 @@ public class Preferences { return getBoolValue("vkme_notifs", false); } + public static boolean sendMusicMetrics() { + return getBoolValue("sendMusicMetrics", true); + } + public static boolean screenshotdetect() { return getBoolValue("screenshotdetect", true); } diff --git a/app/src/main/java/ru/vtosters/lite/music/Metrics.java b/app/src/main/java/ru/vtosters/lite/music/Metrics.java new file mode 100644 index 000000000..3601bcca1 --- /dev/null +++ b/app/src/main/java/ru/vtosters/lite/music/Metrics.java @@ -0,0 +1,38 @@ +package ru.vtosters.lite.music; + +import android.util.Log; +import com.vk.core.network.Network; +import okhttp3.Call; +import okhttp3.Callback; +import okhttp3.Request; +import okhttp3.Response; + +import java.io.IOException; + +import static com.vk.core.network.Network.ClientType.CLIENT_API; +import static ru.vtosters.lite.proxy.ProxyUtils.getApi; +import static ru.vtosters.lite.utils.AccountManagerUtils.getUserToken; + +public class Metrics { + public static void trackEvents(String object) { + trackEventsRequest(object); + } + + private static void trackEventsRequest(String object) { + Request req = new Request.a() + .b("https://" + getApi() + "/method/stats.trackEvents?events=" + object + "&v=5.119&access_token=" + getUserToken()) + .a(); + + Network.b(CLIENT_API).a(req).a(new Callback() { + @Override + public void a(Call call, IOException e) { + e.fillInStackTrace(); + } + + @Override + public void a(Call call, Response response) throws IOException { + Log.d("MusicMetrics", response.a().g()); + } + }); + } +} \ No newline at end of file diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/MusicFragment.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/MusicFragment.java index 47ee2782e..07919819b 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/fragments/MusicFragment.java +++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/MusicFragment.java @@ -173,6 +173,20 @@ public class MusicFragment extends TrackedMaterialPreferenceToolbarFragment { } ); + PreferenceFragmentUtils.addPreferenceCategory(getPreferenceScreen(), "Рекомендации музыки"); + PreferenceFragmentUtils.addMaterialSwitchPreference( + getPreferenceScreen(), + "sendMusicMetrics", + "Отправлять статистику", + "Статистика прослушиваний необходима для работы рекомендаций музыки\n\nЕсли вас не интересуют рекомендации - смело отключайте данную функцию", + null, + true, + (preference, o) -> { + Preferences.getPreferences().edit().putBoolean("sendMusicMetrics", (boolean) o).apply(); + return true; + } + ); + if (!Preferences.serverFeaturesDisable()) { PreferenceFragmentUtils.addPreferenceCategory(getPreferenceScreen(), "Интеграция Genius"); PreferenceFragmentUtils.addMaterialSwitchPreference( diff --git a/smali/smali_classes2/com/vk/api/audio/AudioSendStartEvent.smali b/smali/smali_classes2/com/vk/api/audio/AudioSendStartEvent.smali index 4ac0f3696..dfb2c34fa 100644 --- a/smali/smali_classes2/com/vk/api/audio/AudioSendStartEvent.smali +++ b/smali/smali_classes2/com/vk/api/audio/AudioSendStartEvent.smali @@ -40,31 +40,33 @@ .method public a(Lorg/json/JSONObject;)Lcom/vk/dto/music/CurrentAccountInformation; .locals 1 - const-string v0, "response" + # const-string v0, "response" - .line 2 - invoke-virtual {p1, v0}, Lorg/json/JSONObject;->getJSONObject(Ljava/lang/String;)Lorg/json/JSONObject; + # .line 2 + # invoke-virtual {p1, v0}, Lorg/json/JSONObject;->getJSONObject(Ljava/lang/String;)Lorg/json/JSONObject; - move-result-object p1 + # move-result-object p1 - const-string v0, "has_music_subscription" + # const-string v0, "has_music_subscription" - .line 3 - invoke-virtual {p1, v0}, Lorg/json/JSONObject;->optInt(Ljava/lang/String;)I + # .line 3 + # invoke-virtual {p1, v0}, Lorg/json/JSONObject;->optInt(Ljava/lang/String;)I - move-result p1 + # move-result p1 + # const/4 v0, 0x1 + + # if-ne p1, v0, :cond_0 + + # goto :goto_0 + + # :cond_0 + # const/4 v0, 0x1 + + # .line 4 + # :goto_0 const/4 v0, 0x1 - if-ne p1, v0, :cond_0 - - goto :goto_0 - - :cond_0 - const/4 v0, 0x1 - - .line 4 - :goto_0 new-instance p1, Lcom/vk/dto/music/CurrentAccountInformation; invoke-direct {p1, v0}, Lcom/vk/dto/music/CurrentAccountInformation;->(Z)V diff --git a/smali/smali_classes3/com/vk/music/notifications/restriction/MusicRestrictionModelImpl.smali b/smali/smali_classes3/com/vk/music/notifications/restriction/MusicRestrictionModelImpl.smali index 58ac6c955..dd16e6c09 100644 --- a/smali/smali_classes3/com/vk/music/notifications/restriction/MusicRestrictionModelImpl.smali +++ b/smali/smali_classes3/com/vk/music/notifications/restriction/MusicRestrictionModelImpl.smali @@ -196,6 +196,21 @@ .method public a(Lcom/vk/dto/music/MusicTrack;)V .locals 3 + invoke-static {}, Lru/vtosters/hooks/other/Preferences;->sendMusicMetrics()Z + + move-result v1 + + if-nez v1, :cond_228 + + const/4 v0, 0x1 + + new-instance p1, Lcom/vk/dto/music/CurrentAccountInformation; + + invoke-direct {p1, v0}, Lcom/vk/dto/music/CurrentAccountInformation;->(Z)V + + return-void + + :cond_228 const/4 v0, 0x2 new-array v0, v0, [Ljava/lang/Object; @@ -224,41 +239,41 @@ .line 14 :cond_0 - # new-instance v0, Lcom/vk/api/audio/AudioSendStartEvent; + new-instance v0, Lcom/vk/api/audio/AudioSendStartEvent; - # invoke-virtual {p1}, Lcom/vk/dto/music/MusicTrack;->y1()Ljava/lang/String; + invoke-virtual {p1}, Lcom/vk/dto/music/MusicTrack;->y1()Ljava/lang/String; - # move-result-object p1 + move-result-object p1 - # sget-object v2, Lcom/vk/api/base/ApiConfig;->d:Lcom/vk/api/base/ApiConfig$a; + sget-object v2, Lcom/vk/api/base/ApiConfig;->d:Lcom/vk/api/base/ApiConfig$a; - # invoke-interface {v2}, Lcom/vk/api/base/ApiConfig$a;->O1()Ljava/lang/String; + invoke-interface {v2}, Lcom/vk/api/base/ApiConfig$a;->O1()Ljava/lang/String; - # move-result-object v2 + move-result-object v2 - # invoke-direct {v0, p1, v2}, Lcom/vk/api/audio/AudioSendStartEvent;->(Ljava/lang/String;Ljava/lang/String;)V + invoke-direct {v0, p1, v2}, Lcom/vk/api/audio/AudioSendStartEvent;->(Ljava/lang/String;Ljava/lang/String;)V - # const/4 p1, 0x0 + const/4 p1, 0x0 - # .line 15 - # invoke-static {v0, p1, v1, p1}, Lcom/vk/api/base/ApiRequest;->d(Lcom/vk/api/base/ApiRequest;Lcom/vk/api/base/ApiThreadHolder;ILjava/lang/Object;)Lio/reactivex/Observable; + .line 15 + invoke-static {v0, p1, v1, p1}, Lcom/vk/api/base/ApiRequest;->d(Lcom/vk/api/base/ApiRequest;Lcom/vk/api/base/ApiThreadHolder;ILjava/lang/Object;)Lio/reactivex/Observable; - # move-result-object p1 + move-result-object p1 - # .line 16 - # new-instance v0, Lcom/vk/music/notifications/restriction/MusicRestrictionModelImpl$d; + .line 16 + new-instance v0, Lcom/vk/music/notifications/restriction/MusicRestrictionModelImpl$d; - # invoke-direct {v0, p0}, Lcom/vk/music/notifications/restriction/MusicRestrictionModelImpl$d;->(Lcom/vk/music/notifications/restriction/MusicRestrictionModelImpl;)V + invoke-direct {v0, p0}, Lcom/vk/music/notifications/restriction/MusicRestrictionModelImpl$d;->(Lcom/vk/music/notifications/restriction/MusicRestrictionModelImpl;)V - # .line 17 - # sget-object v1, Lcom/vk/music/notifications/restriction/MusicRestrictionModelImpl$e;->a:Lcom/vk/music/notifications/restriction/MusicRestrictionModelImpl$e; + .line 17 + sget-object v1, Lcom/vk/music/notifications/restriction/MusicRestrictionModelImpl$e;->a:Lcom/vk/music/notifications/restriction/MusicRestrictionModelImpl$e; - # .line 18 - # invoke-virtual {p1, v0, v1}, Lio/reactivex/Observable;->a(Lio/reactivex/functions/Consumer;Lio/reactivex/functions/Consumer;)Lio/reactivex/disposables/Disposable; + .line 18 + invoke-virtual {p1, v0, v1}, Lio/reactivex/Observable;->a(Lio/reactivex/functions/Consumer;Lio/reactivex/functions/Consumer;)Lio/reactivex/disposables/Disposable; - # move-result-object p1 + move-result-object p1 - # iput-object p1, p0, Lcom/vk/music/notifications/restriction/MusicRestrictionModelImpl;->a:Lio/reactivex/disposables/Disposable; + iput-object p1, p0, Lcom/vk/music/notifications/restriction/MusicRestrictionModelImpl;->a:Lio/reactivex/disposables/Disposable; return-void .end method diff --git a/smali/smali_classes3/com/vk/music/stats/VKMusicStatsTracker$a.smali b/smali/smali_classes3/com/vk/music/stats/VKMusicStatsTracker$a.smali deleted file mode 100644 index 88ac874b3..000000000 --- a/smali/smali_classes3/com/vk/music/stats/VKMusicStatsTracker$a.smali +++ /dev/null @@ -1,70 +0,0 @@ -.class public final Lcom/vk/music/stats/VKMusicStatsTracker$a; -.super Ljava/lang/Object; -.source "VKMusicStatsTracker.kt" - - -# annotations -.annotation system Ldalvik/annotation/EnclosingClass; - value = Lcom/vk/music/stats/VKMusicStatsTracker; -.end annotation - -.annotation system Ldalvik/annotation/InnerClass; - accessFlags = 0x19 - name = "a" -.end annotation - - -# direct methods -.method private constructor ()V - .locals 0 - - .line 1 - invoke-direct {p0}, Ljava/lang/Object;->()V - - return-void -.end method - -.method public synthetic constructor (Lkotlin/jvm/internal/DefaultConstructorMarker;)V - .locals 0 - - .line 2 - invoke-direct {p0}, Lcom/vk/music/stats/VKMusicStatsTracker$a;->()V - - return-void -.end method - - -# virtual methods -.method public final a(Lcom/vtosters/lite/data/Analytics$l;)V - .locals 3 - .annotation build Landroidx/annotation/VisibleForTesting; - .end annotation - - const/4 v0, 0x3 - - new-array v0, v0, [Ljava/lang/Object; - - const/4 v1, 0x0 - - const-string v2, "MusicStats" - - aput-object v2, v0, v1 - - const/4 v1, 0x1 - - const-string v2, "[VK_TRACKER]" - - aput-object v2, v0, v1 - - const/4 v1, 0x2 - - aput-object p1, v0, v1 - - .line 1 - invoke-static {v0}, Lcom/vk/music/logger/MusicLogger;->a([Ljava/lang/Object;)V - - .line 2 - invoke-virtual {p1}, Lcom/vtosters/lite/data/Analytics$l;->b()Lcom/vtosters/lite/data/Analytics$l; - - return-void -.end method diff --git a/smali/smali_classes3/com/vk/music/stats/VKMusicStatsTracker.smali b/smali/smali_classes3/com/vk/music/stats/VKMusicStatsTracker.smali deleted file mode 100644 index 5a6860e51..000000000 --- a/smali/smali_classes3/com/vk/music/stats/VKMusicStatsTracker.smali +++ /dev/null @@ -1,841 +0,0 @@ -.class public final Lcom/vk/music/stats/VKMusicStatsTracker; -.super Ljava/lang/Object; -.source "VKMusicStatsTracker.kt" - -# interfaces -.implements Lcom/vk/music/stats/MusicStatsTracker; - - -# annotations -.annotation system Ldalvik/annotation/MemberClasses; - value = { - Lcom/vk/music/stats/VKMusicStatsTracker$a; - } -.end annotation - - -# static fields -.field public static final c:Lcom/vk/music/stats/VKMusicStatsTracker$a; - - -# instance fields -.field private a:Ljava/lang/String; - -.field private final b:Lkotlin/jvm/b/Functions2; - .annotation system Ldalvik/annotation/Signature; - value = { - "Lkotlin/jvm/b/Functions2<", - "Ljava/lang/String;", - "Lcom/vtosters/lite/data/Analytics$l;", - ">;" - } - .end annotation -.end field - - -# direct methods -.method static constructor ()V - .locals 2 - - new-instance v0, Lcom/vk/music/stats/VKMusicStatsTracker$a; - - const/4 v1, 0x0 - - invoke-direct {v0, v1}, Lcom/vk/music/stats/VKMusicStatsTracker$a;->(Lkotlin/jvm/internal/DefaultConstructorMarker;)V - - sput-object v0, Lcom/vk/music/stats/VKMusicStatsTracker;->c:Lcom/vk/music/stats/VKMusicStatsTracker$a; - - return-void -.end method - -.method public constructor (Lkotlin/jvm/b/Functions2;)V - .locals 0 - .annotation system Ldalvik/annotation/Signature; - value = { - "(", - "Lkotlin/jvm/b/Functions2<", - "-", - "Ljava/lang/String;", - "+", - "Lcom/vtosters/lite/data/Analytics$l;", - ">;)V" - } - .end annotation - - .line 1 - invoke-direct {p0}, Ljava/lang/Object;->()V - - iput-object p1, p0, Lcom/vk/music/stats/VKMusicStatsTracker;->b:Lkotlin/jvm/b/Functions2; - - return-void -.end method - -.method private final a(Lcom/vk/music/stats/i/MusicPlaybackParams;Ljava/lang/String;)Lcom/vtosters/lite/data/Analytics$l; - .locals 4 - - .line 16 - iget-object v0, p0, Lcom/vk/music/stats/VKMusicStatsTracker;->b:Lkotlin/jvm/b/Functions2; - - invoke-interface {v0, p2}, Lkotlin/jvm/b/Functions2;->invoke(Ljava/lang/Object;)Ljava/lang/Object; - - move-result-object v0 - - check-cast v0, Lcom/vtosters/lite/data/Analytics$l; - - .line 17 - invoke-virtual {p1}, Lcom/vk/music/stats/i/MusicPlaybackParams;->c()Ljava/lang/String; - - move-result-object v1 - - const-string v2, "audio_id" - - invoke-virtual {v0, v2, v1}, Lcom/vtosters/lite/data/Analytics$l;->a(Ljava/lang/String;Ljava/lang/Object;)Lcom/vtosters/lite/data/Analytics$l; - - .line 18 - invoke-static {}, Ljava/util/UUID;->randomUUID()Ljava/util/UUID; - - move-result-object v1 - - invoke-virtual {v1}, Ljava/util/UUID;->hashCode()I - - move-result v1 - - invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; - - move-result-object v1 - - const-string v2, "uuid" - - invoke-virtual {v0, v2, v1}, Lcom/vtosters/lite/data/Analytics$l;->a(Ljava/lang/String;Ljava/lang/Object;)Lcom/vtosters/lite/data/Analytics$l; - - .line 19 - invoke-virtual {p1}, Lcom/vk/music/stats/i/MusicPlaybackParams;->l()Z - - move-result v1 - - invoke-static {v1}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean; - - move-result-object v1 - - const-string v2, "shuffle" - - invoke-virtual {v0, v2, v1}, Lcom/vtosters/lite/data/Analytics$l;->a(Ljava/lang/String;Ljava/lang/Object;)Lcom/vtosters/lite/data/Analytics$l; - - .line 20 - invoke-direct {p0, p1}, Lcom/vk/music/stats/VKMusicStatsTracker;->e(Lcom/vk/music/stats/i/MusicPlaybackParams;)Ljava/lang/String; - - move-result-object v1 - - const-string v2, "reason" - - invoke-virtual {v0, v2, v1}, Lcom/vtosters/lite/data/Analytics$l;->a(Ljava/lang/String;Ljava/lang/Object;)Lcom/vtosters/lite/data/Analytics$l; - - .line 21 - invoke-virtual {p1}, Lcom/vk/music/stats/i/MusicPlaybackParams;->i()J - - move-result-wide v1 - - invoke-static {v1, v2}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long; - - move-result-object v1 - - const-string v2, "start_time" - - invoke-virtual {v0, v2, v1}, Lcom/vtosters/lite/data/Analytics$l;->a(Ljava/lang/String;Ljava/lang/Object;)Lcom/vtosters/lite/data/Analytics$l; - - .line 22 - invoke-virtual {p1}, Lcom/vk/music/stats/i/MusicPlaybackParams;->d()J - - move-result-wide v1 - - invoke-static {v1, v2}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long; - - move-result-object v1 - - const-string v2, "playback_started_at" - - invoke-virtual {v0, v2, v1}, Lcom/vtosters/lite/data/Analytics$l;->a(Ljava/lang/String;Ljava/lang/Object;)Lcom/vtosters/lite/data/Analytics$l; - - .line 23 - invoke-virtual {p1}, Lcom/vk/music/stats/i/MusicPlaybackParams;->j()Ljava/lang/String; - - move-result-object v1 - - const-string v2, "track_code" - - invoke-virtual {v0, v2, v1}, Lcom/vtosters/lite/data/Analytics$l;->a(Ljava/lang/String;Ljava/lang/Object;)Lcom/vtosters/lite/data/Analytics$l; - - const-string v1, "music_start_playback" - - .line 24 - invoke-static {v1, p2}, Lkotlin/jvm/internal/Intrinsics;->a(Ljava/lang/Object;Ljava/lang/Object;)Z - - move-result p2 - - const/4 v1, 0x1 - - xor-int/2addr p2, v1 - - if-eqz p2, :cond_0 - - .line 25 - invoke-virtual {p1}, Lcom/vk/music/stats/i/MusicPlaybackParams;->a()J - - move-result-wide v2 - - invoke-static {v2, v3}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long; - - move-result-object p2 - - const-string v2, "duration" - - invoke-virtual {v0, v2, p2}, Lcom/vtosters/lite/data/Analytics$l;->a(Ljava/lang/String;Ljava/lang/Object;)Lcom/vtosters/lite/data/Analytics$l; - - .line 26 - :cond_0 - invoke-virtual {p1}, Lcom/vk/music/stats/i/MusicPlaybackParams;->b()Lcom/vk/music/player/LoopMode; - - move-result-object p2 - - sget-object v2, Lcom/vk/music/stats/h;->$EnumSwitchMapping$0:[I - - invoke-virtual {p2}, Ljava/lang/Enum;->ordinal()I - - move-result p2 - - aget p2, v2, p2 - - const-string v2, "repeat" - - if-eq p2, v1, :cond_2 - - const/4 v1, 0x2 - - if-eq p2, v1, :cond_1 - - goto :goto_0 - - :cond_1 - const-string p2, "all" - - .line 27 - invoke-virtual {v0, v2, p2}, Lcom/vtosters/lite/data/Analytics$l;->a(Ljava/lang/String;Ljava/lang/Object;)Lcom/vtosters/lite/data/Analytics$l; - - goto :goto_0 - - :cond_2 - const-string p2, "one" - - .line 28 - invoke-virtual {v0, v2, p2}, Lcom/vtosters/lite/data/Analytics$l;->a(Ljava/lang/String;Ljava/lang/Object;)Lcom/vtosters/lite/data/Analytics$l; - - .line 29 - :goto_0 - invoke-virtual {p1}, Lcom/vk/music/stats/i/MusicPlaybackParams;->m()Ljava/lang/String; - - move-result-object p2 - - const-string v1, "state" - - invoke-virtual {v0, v1, p2}, Lcom/vtosters/lite/data/Analytics$l;->a(Ljava/lang/String;Ljava/lang/Object;)Lcom/vtosters/lite/data/Analytics$l; - - .line 30 - invoke-virtual {p1}, Lcom/vk/music/stats/i/MusicPlaybackParams;->h()Lcom/vk/music/common/MusicPlaybackLaunchContext; - - move-result-object p2 - - .line 31 - invoke-virtual {p2}, Lcom/vk/music/common/MusicPlaybackLaunchContext;->v0()Ljava/lang/String; - - move-result-object v1 - - const-string v2, "source" - - invoke-virtual {v0, v2, v1}, Lcom/vtosters/lite/data/Analytics$l;->a(Ljava/lang/String;Ljava/lang/Object;)Lcom/vtosters/lite/data/Analytics$l; - - .line 32 - invoke-virtual {p2}, Lcom/vk/music/common/MusicPlaybackLaunchContext;->v1()Z - - move-result v1 - - if-eqz v1, :cond_3 - - .line 33 - invoke-virtual {p2}, Lcom/vk/music/common/MusicPlaybackLaunchContext;->u1()Ljava/lang/String; - - move-result-object v1 - - const-string v2, "playlist_id" - - invoke-virtual {v0, v2, v1}, Lcom/vtosters/lite/data/Analytics$l;->a(Ljava/lang/String;Ljava/lang/Object;)Lcom/vtosters/lite/data/Analytics$l; - - :cond_3 - const/4 v1, 0x4 - - .line 34 - invoke-virtual {p2, v1}, Lcom/vk/music/common/MusicPlaybackLaunchContext;->i(I)Z - - move-result v2 - - if-nez v2, :cond_4 - - const/16 v2, 0x8 - - invoke-virtual {p2, v2}, Lcom/vk/music/common/MusicPlaybackLaunchContext;->i(I)Z - - move-result v2 - - if-eqz v2, :cond_5 - - .line 35 - :cond_4 - invoke-virtual {p2, v1}, Lcom/vk/music/common/MusicPlaybackLaunchContext;->i(I)Z - - move-result p2 - - invoke-static {p2}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean; - - move-result-object p2 - - const-string v1, "expanded" - - invoke-virtual {v0, v1, p2}, Lcom/vtosters/lite/data/Analytics$l;->a(Ljava/lang/String;Ljava/lang/Object;)Lcom/vtosters/lite/data/Analytics$l; - - .line 36 - :cond_5 - invoke-virtual {p1}, Lcom/vk/music/stats/i/MusicPlaybackParams;->e()Ljava/lang/String; - - move-result-object p2 - - invoke-static {p2}, Lcom/vk/core/extensions/StringExt;->a(Ljava/lang/CharSequence;)Z - - move-result p2 - - if-eqz p2, :cond_6 - - .line 37 - invoke-virtual {p1}, Lcom/vk/music/stats/i/MusicPlaybackParams;->e()Ljava/lang/String; - - move-result-object p2 - - const-string v1, "prev_audio_id" - - invoke-virtual {v0, v1, p2}, Lcom/vtosters/lite/data/Analytics$l;->a(Ljava/lang/String;Ljava/lang/Object;)Lcom/vtosters/lite/data/Analytics$l; - - .line 38 - :cond_6 - invoke-virtual {p1}, Lcom/vk/music/stats/i/MusicPlaybackParams;->f()Ljava/lang/String; - - move-result-object p2 - - invoke-static {p2}, Lcom/vk/core/extensions/StringExt;->a(Ljava/lang/CharSequence;)Z - - move-result p2 - - if-eqz p2, :cond_7 - - .line 39 - invoke-virtual {p1}, Lcom/vk/music/stats/i/MusicPlaybackParams;->f()Ljava/lang/String; - - move-result-object p1 - - const-string p2, "prev_playlist_id" - - invoke-virtual {v0, p2, p1}, Lcom/vtosters/lite/data/Analytics$l;->a(Ljava/lang/String;Ljava/lang/Object;)Lcom/vtosters/lite/data/Analytics$l; - - :cond_7 - return-object v0 -.end method - -.method private final e(Lcom/vk/music/stats/i/MusicPlaybackParams;)Ljava/lang/String; - .locals 0 - - .line 1 - invoke-virtual {p1}, Lcom/vk/music/stats/i/MusicPlaybackParams;->g()Ljava/lang/String; - - move-result-object p1 - - if-nez p1, :cond_0 - - .line 2 - iget-object p1, p0, Lcom/vk/music/stats/VKMusicStatsTracker;->a:Ljava/lang/String; - - :cond_0 - if-nez p1, :cond_1 - - const-string p1, "auto" - - .line 3 - :cond_1 - iput-object p1, p0, Lcom/vk/music/stats/VKMusicStatsTracker;->a:Ljava/lang/String; - - return-object p1 -.end method - - -# virtual methods -.method public a()V - .locals 4 - - .line 46 - sget-object v0, Lcom/vk/music/stats/VKMusicStatsTracker;->c:Lcom/vk/music/stats/VKMusicStatsTracker$a; - - iget-object v1, p0, Lcom/vk/music/stats/VKMusicStatsTracker;->b:Lkotlin/jvm/b/Functions2; - - const-string v2, "music_subscription" - - invoke-interface {v1, v2}, Lkotlin/jvm/b/Functions2;->invoke(Ljava/lang/Object;)Ljava/lang/Object; - - move-result-object v1 - - check-cast v1, Lcom/vtosters/lite/data/Analytics$l; - - const-string v2, "popup" - - const-string v3, "background_v2" - - .line 47 - invoke-virtual {v1, v2, v3}, Lcom/vtosters/lite/data/Analytics$l;->a(Ljava/lang/String;Ljava/lang/Object;)Lcom/vtosters/lite/data/Analytics$l; - - const-string v2, "action" - - const-string v3, "link" - - .line 48 - invoke-virtual {v1, v2, v3}, Lcom/vtosters/lite/data/Analytics$l;->a(Ljava/lang/String;Ljava/lang/Object;)Lcom/vtosters/lite/data/Analytics$l; - - const-string v2, "newEventBuilder.invoke(T\u2026ION_POPUP_ACTION, \"link\")" - - invoke-static {v1, v2}, Lkotlin/jvm/internal/Intrinsics;->a(Ljava/lang/Object;Ljava/lang/String;)V - - .line 49 - invoke-virtual {v0, v1}, Lcom/vk/music/stats/VKMusicStatsTracker$a;->a(Lcom/vtosters/lite/data/Analytics$l;)V - - return-void -.end method - -.method public a(J)V - .locals 0 - - .line 3 - invoke-static {p0, p1, p2}, Lcom/vk/music/stats/MusicStatsTracker$a;->a(Lcom/vk/music/stats/MusicStatsTracker;J)V - - return-void -.end method - -.method public a(Landroid/content/Intent;Ljava/lang/String;)V - .locals 0 - - .line 2 - invoke-static {p0, p1, p2}, Lcom/vk/music/stats/MusicStatsTracker$a;->a(Lcom/vk/music/stats/MusicStatsTracker;Landroid/content/Intent;Ljava/lang/String;)V - - return-void -.end method - -.method public a(Lcom/vk/music/stats/PlayerStateChangedParams;)V - .locals 4 - - .line 8 - sget-object v0, Lcom/vk/music/stats/VKMusicStatsTracker;->c:Lcom/vk/music/stats/VKMusicStatsTracker$a; - - iget-object v1, p0, Lcom/vk/music/stats/VKMusicStatsTracker;->b:Lkotlin/jvm/b/Functions2; - - const-string v2, "audio_player" - - invoke-interface {v1, v2}, Lkotlin/jvm/b/Functions2;->invoke(Ljava/lang/Object;)Ljava/lang/Object; - - move-result-object v1 - - check-cast v1, Lcom/vtosters/lite/data/Analytics$l; - - .line 9 - invoke-virtual {p1}, Lcom/vk/music/stats/PlayerStateChangedParams;->a()Ljava/lang/String; - - move-result-object v2 - - const-string v3, "state" - - invoke-virtual {v1, v3, v2}, Lcom/vtosters/lite/data/Analytics$l;->a(Ljava/lang/String;Ljava/lang/Object;)Lcom/vtosters/lite/data/Analytics$l; - - .line 10 - invoke-virtual {p1}, Lcom/vk/music/stats/PlayerStateChangedParams;->c()Ljava/lang/String; - - move-result-object v2 - - const-string v3, "prev_state" - - invoke-virtual {v1, v3, v2}, Lcom/vtosters/lite/data/Analytics$l;->a(Ljava/lang/String;Ljava/lang/Object;)Lcom/vtosters/lite/data/Analytics$l; - - .line 11 - invoke-virtual {p1}, Lcom/vk/music/stats/PlayerStateChangedParams;->b()J - - move-result-wide v2 - - invoke-static {v2, v3}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long; - - move-result-object p1 - - const-string v2, "duration" - - invoke-virtual {v1, v2, p1}, Lcom/vtosters/lite/data/Analytics$l;->a(Ljava/lang/String;Ljava/lang/Object;)Lcom/vtosters/lite/data/Analytics$l; - - const-string p1, "newEventBuilder.invoke(T\u2026TION, params.durationSec)" - - invoke-static {v1, p1}, Lkotlin/jvm/internal/Intrinsics;->a(Ljava/lang/Object;Ljava/lang/String;)V - - .line 12 - invoke-virtual {v0, v1}, Lcom/vk/music/stats/VKMusicStatsTracker$a;->a(Lcom/vtosters/lite/data/Analytics$l;)V - - return-void -.end method - -.method public a(Lcom/vk/music/stats/i/MusicPlaybackParams;)V - .locals 2 - - .line 7 - sget-object v0, Lcom/vk/music/stats/VKMusicStatsTracker;->c:Lcom/vk/music/stats/VKMusicStatsTracker$a; - - const-string v1, "music_stop_playback" - - invoke-direct {p0, p1, v1}, Lcom/vk/music/stats/VKMusicStatsTracker;->a(Lcom/vk/music/stats/i/MusicPlaybackParams;Ljava/lang/String;)Lcom/vtosters/lite/data/Analytics$l; - - move-result-object p1 - - invoke-virtual {v0, p1}, Lcom/vk/music/stats/VKMusicStatsTracker$a;->a(Lcom/vtosters/lite/data/Analytics$l;)V - - return-void -.end method - -.method public a(Ljava/lang/String;)V - .locals 3 - - .line 13 - sget-object v0, Lcom/vk/music/stats/VKMusicStatsTracker;->c:Lcom/vk/music/stats/VKMusicStatsTracker$a; - - iget-object v1, p0, Lcom/vk/music/stats/VKMusicStatsTracker;->b:Lkotlin/jvm/b/Functions2; - - const-string v2, "playlist_start" - - invoke-interface {v1, v2}, Lkotlin/jvm/b/Functions2;->invoke(Ljava/lang/Object;)Ljava/lang/Object; - - move-result-object v1 - - check-cast v1, Lcom/vtosters/lite/data/Analytics$l; - - const-string v2, "type" - - .line 14 - invoke-virtual {v1, v2, p1}, Lcom/vtosters/lite/data/Analytics$l;->a(Ljava/lang/String;Ljava/lang/Object;)Lcom/vtosters/lite/data/Analytics$l; - - const-string p1, "newEventBuilder.invoke(T\u2026ING_STARTED_TYPE, source)" - - invoke-static {v1, p1}, Lkotlin/jvm/internal/Intrinsics;->a(Ljava/lang/Object;Ljava/lang/String;)V - - .line 15 - invoke-virtual {v0, v1}, Lcom/vk/music/stats/VKMusicStatsTracker$a;->a(Lcom/vtosters/lite/data/Analytics$l;)V - - return-void -.end method - -.method public a(Ljava/lang/String;Lcom/vk/music/stats/MusicStatsRefer;)V - .locals 2 - - .line 4 - sget-object p2, Lcom/vk/music/stats/VKMusicStatsTracker;->c:Lcom/vk/music/stats/VKMusicStatsTracker$a; - - iget-object v0, p0, Lcom/vk/music/stats/VKMusicStatsTracker;->b:Lkotlin/jvm/b/Functions2; - - const-string v1, "music_subscription_show" - - invoke-interface {v0, v1}, Lkotlin/jvm/b/Functions2;->invoke(Ljava/lang/Object;)Ljava/lang/Object; - - move-result-object v0 - - check-cast v0, Lcom/vtosters/lite/data/Analytics$l; - - const-string v1, "popup" - - .line 5 - invoke-virtual {v0, v1, p1}, Lcom/vtosters/lite/data/Analytics$l;->a(Ljava/lang/String;Ljava/lang/Object;)Lcom/vtosters/lite/data/Analytics$l; - - const-string p1, "newEventBuilder.invoke(T\u2026ION_POPUP_SOURCE, source)" - - invoke-static {v0, p1}, Lkotlin/jvm/internal/Intrinsics;->a(Ljava/lang/Object;Ljava/lang/String;)V - - .line 6 - invoke-virtual {p2, v0}, Lcom/vk/music/stats/VKMusicStatsTracker$a;->a(Lcom/vtosters/lite/data/Analytics$l;)V - - return-void -.end method - -.method public a(Ljava/lang/String;Ljava/lang/String;)V - .locals 4 - - const-string v0, "success" - - .line 40 - invoke-static {v0, p2}, Lkotlin/jvm/internal/Intrinsics;->a(Ljava/lang/Object;Ljava/lang/Object;)Z - - move-result v1 - - .line 41 - iget-object v2, p0, Lcom/vk/music/stats/VKMusicStatsTracker;->b:Lkotlin/jvm/b/Functions2; - - const-string v3, "music_subscription_purchase_result" - - invoke-interface {v2, v3}, Lkotlin/jvm/b/Functions2;->invoke(Ljava/lang/Object;)Ljava/lang/Object; - - move-result-object v2 - - check-cast v2, Lcom/vtosters/lite/data/Analytics$l; - - const-string v3, "popup" - - .line 42 - invoke-virtual {v2, v3, p1}, Lcom/vtosters/lite/data/Analytics$l;->a(Ljava/lang/String;Ljava/lang/Object;)Lcom/vtosters/lite/data/Analytics$l; - - if-eqz v1, :cond_0 - - goto :goto_0 - - :cond_0 - const-string v0, "fail" - - :goto_0 - const-string p1, "status" - - .line 43 - invoke-virtual {v2, p1, v0}, Lcom/vtosters/lite/data/Analytics$l;->a(Ljava/lang/String;Ljava/lang/Object;)Lcom/vtosters/lite/data/Analytics$l; - - if-nez v1, :cond_1 - - const-string p1, "reason" - - .line 44 - invoke-virtual {v2, p1, p2}, Lcom/vtosters/lite/data/Analytics$l;->a(Ljava/lang/String;Ljava/lang/Object;)Lcom/vtosters/lite/data/Analytics$l; - - .line 45 - :cond_1 - sget-object p1, Lcom/vk/music/stats/VKMusicStatsTracker;->c:Lcom/vk/music/stats/VKMusicStatsTracker$a; - - const-string p2, "builder" - - invoke-static {v2, p2}, Lkotlin/jvm/internal/Intrinsics;->a(Ljava/lang/Object;Ljava/lang/String;)V - - invoke-virtual {p1, v2}, Lcom/vk/music/stats/VKMusicStatsTracker$a;->a(Lcom/vtosters/lite/data/Analytics$l;)V - - return-void -.end method - -.method public a(Z)V - .locals 0 - - .line 1 - invoke-static {p0, p1}, Lcom/vk/music/stats/MusicStatsTracker$a;->a(Lcom/vk/music/stats/MusicStatsTracker;Z)V - - return-void -.end method - -.method public b()V - .locals 4 - - .line 6 - sget-object v0, Lcom/vk/music/stats/VKMusicStatsTracker;->c:Lcom/vk/music/stats/VKMusicStatsTracker$a; - - iget-object v1, p0, Lcom/vk/music/stats/VKMusicStatsTracker;->b:Lkotlin/jvm/b/Functions2; - - const-string v2, "music_subscription_push" - - invoke-interface {v1, v2}, Lkotlin/jvm/b/Functions2;->invoke(Ljava/lang/Object;)Ljava/lang/Object; - - move-result-object v1 - - check-cast v1, Lcom/vtosters/lite/data/Analytics$l; - - const-string v2, "action" - - const-string v3, "send" - - .line 7 - invoke-virtual {v1, v2, v3}, Lcom/vtosters/lite/data/Analytics$l;->a(Ljava/lang/String;Ljava/lang/Object;)Lcom/vtosters/lite/data/Analytics$l; - - const-string v2, "newEventBuilder.invoke(T\u2026ION_POPUP_ACTION, \"send\")" - - invoke-static {v1, v2}, Lkotlin/jvm/internal/Intrinsics;->a(Ljava/lang/Object;Ljava/lang/String;)V - - .line 8 - invoke-virtual {v0, v1}, Lcom/vk/music/stats/VKMusicStatsTracker$a;->a(Lcom/vtosters/lite/data/Analytics$l;)V - - return-void -.end method - -.method public b(Lcom/vk/music/stats/i/MusicPlaybackParams;)V - .locals 2 - - .line 1 - sget-object v0, Lcom/vk/music/stats/VKMusicStatsTracker;->c:Lcom/vk/music/stats/VKMusicStatsTracker$a; - - const-string v1, "music_start_playback" - - invoke-direct {p0, p1, v1}, Lcom/vk/music/stats/VKMusicStatsTracker;->a(Lcom/vk/music/stats/i/MusicPlaybackParams;Ljava/lang/String;)Lcom/vtosters/lite/data/Analytics$l; - - move-result-object p1 - - invoke-virtual {v0, p1}, Lcom/vk/music/stats/VKMusicStatsTracker$a;->a(Lcom/vtosters/lite/data/Analytics$l;)V - - return-void -.end method - -.method public b(Ljava/lang/String;)V - .locals 3 - - .line 9 - sget-object v0, Lcom/vk/music/stats/VKMusicStatsTracker;->c:Lcom/vk/music/stats/VKMusicStatsTracker$a; - - iget-object v1, p0, Lcom/vk/music/stats/VKMusicStatsTracker;->b:Lkotlin/jvm/b/Functions2; - - const-string v2, "music_subscription_free_displayed" - - invoke-interface {v1, v2}, Lkotlin/jvm/b/Functions2;->invoke(Ljava/lang/Object;)Ljava/lang/Object; - - move-result-object v1 - - check-cast v1, Lcom/vtosters/lite/data/Analytics$l; - - const-string v2, "popup" - - .line 10 - invoke-virtual {v1, v2, p1}, Lcom/vtosters/lite/data/Analytics$l;->a(Ljava/lang/String;Ljava/lang/Object;)Lcom/vtosters/lite/data/Analytics$l; - - const-string p1, "newEventBuilder.invoke(T\u2026ION_POPUP_SOURCE, source)" - - invoke-static {v1, p1}, Lkotlin/jvm/internal/Intrinsics;->a(Ljava/lang/Object;Ljava/lang/String;)V - - .line 11 - invoke-virtual {v0, v1}, Lcom/vk/music/stats/VKMusicStatsTracker$a;->a(Lcom/vtosters/lite/data/Analytics$l;)V - - return-void -.end method - -.method public b(Ljava/lang/String;Ljava/lang/String;)V - .locals 3 - - .line 2 - sget-object v0, Lcom/vk/music/stats/VKMusicStatsTracker;->c:Lcom/vk/music/stats/VKMusicStatsTracker$a; - - iget-object v1, p0, Lcom/vk/music/stats/VKMusicStatsTracker;->b:Lkotlin/jvm/b/Functions2; - - const-string v2, "music_subscription_action" - - invoke-interface {v1, v2}, Lkotlin/jvm/b/Functions2;->invoke(Ljava/lang/Object;)Ljava/lang/Object; - - move-result-object v1 - - check-cast v1, Lcom/vtosters/lite/data/Analytics$l; - - const-string v2, "popup" - - .line 3 - invoke-virtual {v1, v2, p1}, Lcom/vtosters/lite/data/Analytics$l;->a(Ljava/lang/String;Ljava/lang/Object;)Lcom/vtosters/lite/data/Analytics$l; - - const-string p1, "action" - - .line 4 - invoke-virtual {v1, p1, p2}, Lcom/vtosters/lite/data/Analytics$l;->a(Ljava/lang/String;Ljava/lang/Object;)Lcom/vtosters/lite/data/Analytics$l; - - const-string p1, "newEventBuilder.invoke(T\u2026ION_POPUP_ACTION, action)" - - invoke-static {v1, p1}, Lkotlin/jvm/internal/Intrinsics;->a(Ljava/lang/Object;Ljava/lang/String;)V - - .line 5 - invoke-virtual {v0, v1}, Lcom/vk/music/stats/VKMusicStatsTracker$a;->a(Lcom/vtosters/lite/data/Analytics$l;)V - - return-void -.end method - -.method public b(Z)V - .locals 0 - - return-void -.end method - -.method public c()V - .locals 4 - - .line 3 - sget-object v0, Lcom/vk/music/stats/VKMusicStatsTracker;->c:Lcom/vk/music/stats/VKMusicStatsTracker$a; - - iget-object v1, p0, Lcom/vk/music/stats/VKMusicStatsTracker;->b:Lkotlin/jvm/b/Functions2; - - const-string v2, "music_subscription_push" - - invoke-interface {v1, v2}, Lkotlin/jvm/b/Functions2;->invoke(Ljava/lang/Object;)Ljava/lang/Object; - - move-result-object v1 - - check-cast v1, Lcom/vtosters/lite/data/Analytics$l; - - const-string v2, "action" - - const-string v3, "open" - - .line 4 - invoke-virtual {v1, v2, v3}, Lcom/vtosters/lite/data/Analytics$l;->a(Ljava/lang/String;Ljava/lang/Object;)Lcom/vtosters/lite/data/Analytics$l; - - const-string v2, "newEventBuilder.invoke(T\u2026ION_POPUP_ACTION, \"open\")" - - invoke-static {v1, v2}, Lkotlin/jvm/internal/Intrinsics;->a(Ljava/lang/Object;Ljava/lang/String;)V - - .line 5 - invoke-virtual {v0, v1}, Lcom/vk/music/stats/VKMusicStatsTracker$a;->a(Lcom/vtosters/lite/data/Analytics$l;)V - - return-void -.end method - -.method public c(Lcom/vk/music/stats/i/MusicPlaybackParams;)V - .locals 0 - - .line 1 - invoke-static {p0, p1}, Lcom/vk/music/stats/MusicStatsTracker$a;->b(Lcom/vk/music/stats/MusicStatsTracker;Lcom/vk/music/stats/i/MusicPlaybackParams;)V - - return-void -.end method - -.method public c(Z)V - .locals 0 - - .line 2 - invoke-static {p0, p1}, Lcom/vk/music/stats/MusicStatsTracker$a;->b(Lcom/vk/music/stats/MusicStatsTracker;Z)V - - return-void -.end method - -.method public d()V - .locals 0 - - .line 1 - invoke-static {p0}, Lcom/vk/music/stats/MusicStatsTracker$a;->a(Lcom/vk/music/stats/MusicStatsTracker;)V - - return-void -.end method - -.method public d(Lcom/vk/music/stats/i/MusicPlaybackParams;)V - .locals 2 - - .line 2 - iget-object v0, p0, Lcom/vk/music/stats/VKMusicStatsTracker;->a:Ljava/lang/String; - - const-string v1, "pause" - - invoke-static {v1, v0}, Lkotlin/jvm/internal/Intrinsics;->a(Ljava/lang/Object;Ljava/lang/Object;)Z - - move-result v0 - - if-eqz v0, :cond_0 - - .line 3 - invoke-virtual {p0, p1}, Lcom/vk/music/stats/VKMusicStatsTracker;->a(Lcom/vk/music/stats/i/MusicPlaybackParams;)V - - :cond_0 - return-void -.end method