Music metrics impl for recommendations (#1587)
This commit is contained in:
@@ -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<String, Analytics.l> b;
|
||||
private static final a c = new a();
|
||||
|
||||
public VKMusicStatsTracker(Functions2<String, Analytics.l> 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -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(
|
||||
|
||||
@@ -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;-><init>(Z)V
|
||||
|
||||
+35
-20
@@ -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;-><init>(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;-><init>(Ljava/lang/String;Ljava/lang/String;)V
|
||||
invoke-direct {v0, p1, v2}, Lcom/vk/api/audio/AudioSendStartEvent;-><init>(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;-><init>(Lcom/vk/music/notifications/restriction/MusicRestrictionModelImpl;)V
|
||||
invoke-direct {v0, p0}, Lcom/vk/music/notifications/restriction/MusicRestrictionModelImpl$d;-><init>(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
|
||||
|
||||
@@ -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 <init>()V
|
||||
.locals 0
|
||||
|
||||
.line 1
|
||||
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public synthetic constructor <init>(Lkotlin/jvm/internal/DefaultConstructorMarker;)V
|
||||
.locals 0
|
||||
|
||||
.line 2
|
||||
invoke-direct {p0}, Lcom/vk/music/stats/VKMusicStatsTracker$a;-><init>()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
|
||||
@@ -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 <clinit>()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;-><init>(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 <init>(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;-><init>()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
|
||||
Reference in New Issue
Block a user