导航菜单

页面标题

页面副标题

Kreate v1.5.0 - KuGou.java 源代码

正在查看: Kreate v1.5.0 应用的 KuGou.java JAVA 源代码文件

本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。


package it.fast4x.kugou;

import io.ktor.client.HttpClient;
import io.ktor.client.HttpClientConfig;
import io.ktor.client.HttpClientKt;
import io.ktor.client.engine.okhttp.OkHttp;
import io.ktor.client.plugins.DefaultRequest;
import io.ktor.client.plugins.DefaultRequestKt;
import io.ktor.client.plugins.UserAgentKt;
import io.ktor.client.plugins.compression.ContentEncodingConfig;
import io.ktor.client.plugins.compression.ContentEncodingKt;
import io.ktor.client.plugins.contentnegotiation.ContentNegotiationConfig;
import io.ktor.client.plugins.contentnegotiation.ContentNegotiationKt;
import io.ktor.client.utils.CIOKt;
import io.ktor.http.ContentType;
import io.ktor.http.LinkHeader;
import io.ktor.serialization.kotlinx.json.JsonSupportKt;
import io.ktor.sse.ServerSentEventKt;
import it.fast4x.rimusic.service.modern.PlayerServiceModern;
import it.fast4x.rimusic.utils.IPCheckerKt;
import java.util.Iterator;
import java.util.List;
import kotlin.Lazy;
import kotlin.LazyKt;
import kotlin.Metadata;
import kotlin.Pair;
import kotlin.TuplesKt;
import kotlin.Unit;
import kotlin.collections.CollectionsKt;
import kotlin.jvm.JvmInline;
import kotlin.jvm.functions.Function0;
import kotlin.jvm.functions.Function1;
import kotlin.jvm.internal.Intrinsics;
import kotlin.text.CharsKt;
import kotlin.text.StringsKt;
import kotlinx.serialization.json.Json;
import kotlinx.serialization.json.JsonBuilder;
import kotlinx.serialization.json.JsonKt;

@Metadata(d1 = {"\u0000P\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\b\u0006\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000e\n\u0002\b\u0002\n\u0002\u0010\t\n\u0002\b\b\n\u0002\u0010 \n\u0002\u0018\u0002\n\u0002\b\u0005\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\f\n\u0002\b\u0002\bÆ\u0002\u0018\u00002\u00020\u0001:\u0001(B\t\b\u0002¢\u0006\u0004\b\u0002\u0010\u0003J2\u0010\u000b\u001a\f\u0012\u0006\u0012\u0004\u0018\u00010\r\u0018\u00010\f2\u0006\u0010\u000e\u001a\u00020\u000f2\u0006\u0010\u0010\u001a\u00020\u000f2\u0006\u0010\u0011\u001a\u00020\u0012H\u0086@¢\u0006\u0004\b\u0013\u0010\u0014J \u0010\u0015\u001a\u00020\r2\u0006\u0010\u0016\u001a\u00020\u00122\u0006\u0010\u0017\u001a\u00020\u000fH\u0082@¢\u0006\u0004\b\u0018\u0010\u0019J\u001c\u0010\u001a\u001a\b\u0012\u0004\u0012\u00020\u001c0\u001b2\u0006\u0010\u001d\u001a\u00020\u000fH\u0082@¢\u0006\u0002\u0010\u001eJ\u001c\u0010\u001f\u001a\b\u0012\u0004\u0012\u00020\u001c0\u001b2\u0006\u0010 \u001a\u00020\u000fH\u0082@¢\u0006\u0002\u0010\u001eJ\u001c\u0010!\u001a\b\u0012\u0004\u0012\u00020\"0\u001b2\u0006\u0010 \u001a\u00020\u000fH\u0082@¢\u0006\u0002\u0010\u001eJ\u0018\u0010 \u001a\u00020\u000f2\u0006\u0010\u000e\u001a\u00020\u000f2\u0006\u0010\u0010\u001a\u00020\u000fH\u0002J(\u0010#\u001a\u000e\u0012\u0004\u0012\u00020\u000f\u0012\u0004\u0012\u00020\u000f0$*\u00020\u000f2\u0006\u0010%\u001a\u00020\u000f2\u0006\u0010&\u001a\u00020'H\u0002R!\u0010\u0004\u001a\u00020\u00058BX\u0082\u0084\u0002¢\u0006\u0012\n\u0004\b\t\u0010\n\u0012\u0004\b\u0006\u0010\u0003\u001a\u0004\b\u0007\u0010\b¨\u0006)"}, d2 = {"Lit/fast4x/kugou/KuGou;", "", "<init>", "()V", "client", "Lio/ktor/client/HttpClient;", "getClient$annotations", "getClient", "()Lio/ktor/client/HttpClient;", "client$delegate", "Lkotlin/Lazy;", "lyrics", "Lkotlin/Result;", "Lit/fast4x/kugou/KuGou$Lyrics;", PlayerServiceModern.ARTIST, "", LinkHeader.Parameters.Title, "duration", "", "lyrics-rL6R5X8", "(Ljava/lang/String;Ljava/lang/String;JLkotlin/coroutines/Continuation;)Ljava/lang/Object;", "downloadLyrics", "id", "accessKey", "downloadLyrics-o2o68RI", "(JLjava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;", "searchLyricsByHash", "", "Lit/fast4x/kugou/models/SearchLyricsResponse$Candidate;", "hash", "(Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;", "searchLyricsByKeyword", "keyword", "searchSong", "Lit/fast4x/kugou/models/SearchSongResponse$Data$Info;", "extract", "Lkotlin/Pair;", "startDelimiter", "endDelimiter", "", "Lyrics", "kugou"}, k = 1, mv = {2, 1, 0}, xi = 48)
public final class KuGou {
    public static final KuGou INSTANCE = new KuGou();

    private static final Lazy client = LazyKt.lazy(new Function0() {
        @Override
        public final Object invoke() {
            HttpClient client_delegate$lambda$5;
            client_delegate$lambda$5 = KuGou.client_delegate$lambda$5();
            return client_delegate$lambda$5;
        }
    });

    private static void getClient$annotations() {
    }

    private KuGou() {
    }

    private final HttpClient getClient() {
        return (HttpClient) client.getValue();
    }

    public static final HttpClient client_delegate$lambda$5() {
        return HttpClientKt.HttpClient(OkHttp.INSTANCE, new Function1() {
            @Override
            public final Object invoke(Object obj) {
                Unit client_delegate$lambda$5$lambda$4;
                client_delegate$lambda$5$lambda$4 = KuGou.client_delegate$lambda$5$lambda$4((HttpClientConfig) obj);
                return client_delegate$lambda$5$lambda$4;
            }
        });
    }

    public static final Unit client_delegate$lambda$5$lambda$4(HttpClientConfig HttpClient) {
        Intrinsics.checkNotNullParameter(HttpClient, "$this$HttpClient");
        UserAgentKt.BrowserUserAgent(HttpClient);
        HttpClient.setExpectSuccess(true);
        HttpClient.install(ContentNegotiationKt.getContentNegotiation(), new Function1() {
            @Override
            public final Object invoke(Object obj) {
                Unit client_delegate$lambda$5$lambda$4$lambda$1;
                client_delegate$lambda$5$lambda$4$lambda$1 = KuGou.client_delegate$lambda$5$lambda$4$lambda$1((ContentNegotiationConfig) obj);
                return client_delegate$lambda$5$lambda$4$lambda$1;
            }
        });
        HttpClient.install(ContentEncodingKt.getContentEncoding(), new Function1() {
            @Override
            public final Object invoke(Object obj) {
                Unit client_delegate$lambda$5$lambda$4$lambda$2;
                client_delegate$lambda$5$lambda$4$lambda$2 = KuGou.client_delegate$lambda$5$lambda$4$lambda$2((ContentEncodingConfig) obj);
                return client_delegate$lambda$5$lambda$4$lambda$2;
            }
        });
        DefaultRequestKt.defaultRequest(HttpClient, new Function1() {
            @Override
            public final Object invoke(Object obj) {
                Unit client_delegate$lambda$5$lambda$4$lambda$3;
                client_delegate$lambda$5$lambda$4$lambda$3 = KuGou.client_delegate$lambda$5$lambda$4$lambda$3((DefaultRequest.DefaultRequestBuilder) obj);
                return client_delegate$lambda$5$lambda$4$lambda$3;
            }
        });
        return Unit.INSTANCE;
    }

    public static final Unit client_delegate$lambda$5$lambda$4$lambda$1(ContentNegotiationConfig install) {
        Intrinsics.checkNotNullParameter(install, "$this$install");
        Json Json$default = JsonKt.Json$default((Json) null, new Function1() {
            @Override
            public final Object invoke(Object obj) {
                Unit client_delegate$lambda$5$lambda$4$lambda$1$lambda$0;
                client_delegate$lambda$5$lambda$4$lambda$1$lambda$0 = KuGou.client_delegate$lambda$5$lambda$4$lambda$1$lambda$0((JsonBuilder) obj);
                return client_delegate$lambda$5$lambda$4$lambda$1$lambda$0;
            }
        }, 1, (Object) null);
        ContentNegotiationConfig contentNegotiationConfig = install;
        JsonSupportKt.json$default(contentNegotiationConfig, Json$default, null, 2, null);
        JsonSupportKt.json(contentNegotiationConfig, Json$default, ContentType.Text.INSTANCE.getHtml());
        JsonSupportKt.json(contentNegotiationConfig, Json$default, ContentType.Text.INSTANCE.getPlain());
        return Unit.INSTANCE;
    }

    public static final Unit client_delegate$lambda$5$lambda$4$lambda$1$lambda$0(JsonBuilder Json) {
        Intrinsics.checkNotNullParameter(Json, "$this$Json");
        Json.setIgnoreUnknownKeys(true);
        Json.setExplicitNulls(false);
        Json.setEncodeDefaults(true);
        return Unit.INSTANCE;
    }

    public static final Unit client_delegate$lambda$5$lambda$4$lambda$2(ContentEncodingConfig install) {
        Intrinsics.checkNotNullParameter(install, "$this$install");
        ContentEncodingConfig.gzip$default(install, null, 1, null);
        ContentEncodingConfig.deflate$default(install, null, 1, null);
        return Unit.INSTANCE;
    }

    public static final Unit client_delegate$lambda$5$lambda$4$lambda$3(DefaultRequest.DefaultRequestBuilder defaultRequest) {
        Intrinsics.checkNotNullParameter(defaultRequest, "$this$defaultRequest");
        defaultRequest.url("https://krcs.kugou.com");
        return Unit.INSTANCE;
    }

    public final java.lang.Object m958lyricsrL6R5X8(java.lang.String r24, java.lang.String r25, long r26, kotlin.coroutines.Continuation<? super kotlin.Result<it.fast4x.kugou.KuGou.Lyrics>> r28) {
        throw new UnsupportedOperationException("Method not decompiled: it.fast4x.kugou.KuGou.m958lyricsrL6R5X8(java.lang.String, java.lang.String, long, kotlin.coroutines.Continuation):java.lang.Object");
    }

    public final java.lang.Object m957downloadLyricso2o68RI(long r8, java.lang.String r10, kotlin.coroutines.Continuation<? super it.fast4x.kugou.KuGou.Lyrics> r11) {
        throw new UnsupportedOperationException("Method not decompiled: it.fast4x.kugou.KuGou.m957downloadLyricso2o68RI(long, java.lang.String, kotlin.coroutines.Continuation):java.lang.Object");
    }

    public final java.lang.Object searchLyricsByHash(java.lang.String r8, kotlin.coroutines.Continuation<? super java.util.List<it.fast4x.kugou.models.SearchLyricsResponse.Candidate>> r9) {
        throw new UnsupportedOperationException("Method not decompiled: it.fast4x.kugou.KuGou.searchLyricsByHash(java.lang.String, kotlin.coroutines.Continuation):java.lang.Object");
    }

    public final java.lang.Object searchLyricsByKeyword(java.lang.String r8, kotlin.coroutines.Continuation<? super java.util.List<it.fast4x.kugou.models.SearchLyricsResponse.Candidate>> r9) {
        throw new UnsupportedOperationException("Method not decompiled: it.fast4x.kugou.KuGou.searchLyricsByKeyword(java.lang.String, kotlin.coroutines.Continuation):java.lang.Object");
    }

    public final java.lang.Object searchSong(java.lang.String r9, kotlin.coroutines.Continuation<? super java.util.List<it.fast4x.kugou.models.SearchSongResponse.Data.Info>> r10) {
        throw new UnsupportedOperationException("Method not decompiled: it.fast4x.kugou.KuGou.searchSong(java.lang.String, kotlin.coroutines.Continuation):java.lang.Object");
    }

    private final String keyword(String artist, String title) {
        Pair<String, String> extract = extract(title, " (feat. ", ')');
        String component1 = extract.component1();
        String component2 = extract.component2();
        if (component2.length() != 0) {
            artist = artist + ", " + component2;
        }
        return StringsKt.replace$default(StringsKt.replace$default(StringsKt.replace$default(artist, ", ", "、", false, 4, (Object) null), " & ", "、", false, 4, (Object) null), IPCheckerKt.DELIM, "", false, 4, (Object) null) + " - " + component1;
    }

    private final Pair<String, String> extract(String str, String str2, char c) {
        String str3 = str;
        int indexOf$default = StringsKt.indexOf$default((CharSequence) str3, str2, 0, false, 6, (Object) null);
        if (indexOf$default == -1) {
            return TuplesKt.to(str, "");
        }
        int indexOf$default2 = StringsKt.indexOf$default((CharSequence) str3, c, indexOf$default, false, 4, (Object) null);
        if (indexOf$default2 == -1) {
            return TuplesKt.to(str, "");
        }
        String obj = StringsKt.removeRange((CharSequence) str3, indexOf$default, indexOf$default2 + 1).toString();
        String substring = str.substring(indexOf$default + str2.length(), indexOf$default2);
        Intrinsics.checkNotNullExpressionValue(substring, "substring(...)");
        return TuplesKt.to(obj, substring);
    }

    @Metadata(d1 = {"\u0000B\n\u0002\u0018\u0002\n\u0002\u0010\r\n\u0000\n\u0002\u0010\u000e\n\u0002\b\u0005\n\u0002\u0010 \n\u0002\u0018\u0002\n\u0002\u0010\t\n\u0002\b\u0005\n\u0002\u0010\u000b\n\u0002\b\u0002\n\u0002\u0010\b\n\u0002\b\u0007\n\u0002\u0010\u0000\n\u0002\b\u0003\n\u0002\u0010\f\n\u0002\b\u000f\b\u0087@\u0018\u00002\u00020\u0001B\u000f\u0012\u0006\u0010\u0002\u001a\u00020\u0003¢\u0006\u0004\b\u0004\u0010\u0005J\r\u0010\u000e\u001a\u00020\u0000¢\u0006\u0004\b\u000f\u0010\u0005J#\u0010\u0010\u001a\u00020\u0011*\u00020\u00032\u0006\u0010\u0012\u001a\u00020\u00012\u0006\u0010\u0013\u001a\u00020\u0014H\u0002¢\u0006\u0004\b\u0015\u0010\u0016J\u0013\u0010\u0017\u001a\u00020\u0003*\u00020\u0003H\u0002¢\u0006\u0004\b\u0018\u0010\u0019J\u001a\u0010\u001a\u001a\u00020\u00112\b\u0010\u001b\u001a\u0004\u0018\u00010\u001cHÖ\u0003¢\u0006\u0004\b\u001d\u0010\u001eJ\u0018\u0010\u001f\u001a\u00020 2\u0006\u0010!\u001a\u00020\u0014H\u0096\u0003¢\u0006\u0004\b\"\u0010#J\u0010\u0010$\u001a\u00020\u0014HÖ\u0001¢\u0006\u0004\b%\u0010&J \u0010'\u001a\u00020\u00012\u0006\u0010\u0013\u001a\u00020\u00142\u0006\u0010(\u001a\u00020\u0014H\u0096\u0001¢\u0006\u0004\b)\u0010*J\u0010\u0010+\u001a\u00020\u0003HÖ\u0001¢\u0006\u0004\b,\u0010\u0005R\u0011\u0010\u0002\u001a\u00020\u0003¢\u0006\b\n\u0000\u001a\u0004\b\u0006\u0010\u0007R#\u0010\b\u001a\u0014\u0012\u0010\u0012\u000e\u0012\u0004\u0012\u00020\u000b\u0012\u0004\u0012\u00020\u00030\n0\t8F¢\u0006\u0006\u001a\u0004\b\f\u0010\rR\u0012\u0010-\u001a\u00020\u0014X\u0096\u0005¢\u0006\u0006\u001a\u0004\b.\u0010&\u0088\u0001\u0002¨\u0006/"}, d2 = {"Lit/fast4x/kugou/KuGou$Lyrics;", "", "value", "", "constructor-impl", "(Ljava/lang/String;)Ljava/lang/String;", "getValue", "()Ljava/lang/String;", "sentences", "", "Lkotlin/Pair;", "", "getSentences-impl", "(Ljava/lang/String;)Ljava/util/List;", "normalize", "normalize-tz8mM1A", "containsAt", "", "charSequence", "startIndex", "", "containsAt-impl", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/CharSequence;I)Z", "removeHtmlEntities", "removeHtmlEntities-impl", "(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;", "equals", "other", "", "equals-impl", "(Ljava/lang/String;Ljava/lang/Object;)Z", "get", "", "index", "get-impl", "(Ljava/lang/String;I)C", "hashCode", "hashCode-impl", "(Ljava/lang/String;)I", "subSequence", "endIndex", "subSequence-impl", "(Ljava/lang/String;II)Ljava/lang/CharSequence;", "toString", "toString-impl", "length", "getLength-impl", "kugou"}, k = 1, mv = {2, 1, 0}, xi = 48)
    @JvmInline
    public static final class Lyrics implements CharSequence {
        private final String value;

        public static final Lyrics m959boximpl(String str) {
            return new Lyrics(str);
        }

        public static String m960constructorimpl(String value) {
            Intrinsics.checkNotNullParameter(value, "value");
            return value;
        }

        public static boolean m962equalsimpl(String str, Object obj) {
            return (obj instanceof Lyrics) && Intrinsics.areEqual(str, ((Lyrics) obj).m972unboximpl());
        }

        public static final boolean m963equalsimpl0(String str, String str2) {
            return Intrinsics.areEqual(str, str2);
        }

        public static char m964getimpl(String str, int i) {
            return str.charAt(i);
        }

        public static int m965getLengthimpl(String str) {
            return str.length();
        }

        public static int m967hashCodeimpl(String str) {
            return str.hashCode();
        }

        public static CharSequence m970subSequenceimpl(String str, int i, int i2) {
            return str.subSequence(i, i2);
        }

        public static String m971toStringimpl(String str) {
            return "Lyrics(value=" + str + ")";
        }

        public boolean equals(Object obj) {
            return m962equalsimpl(this.value, obj);
        }

        public char get(int i) {
            return m964getimpl(this.value, i);
        }

        @Override
        public int length() {
            return m965getLengthimpl(this.value);
        }

        public int hashCode() {
            return m967hashCodeimpl(this.value);
        }

        @Override
        public CharSequence subSequence(int i, int i2) {
            return m970subSequenceimpl(this.value, i, i2);
        }

        @Override
        public String toString() {
            return m971toStringimpl(this.value);
        }

        public final String m972unboximpl() {
            return this.value;
        }

        @Override
        public final char charAt(int i) {
            return get(i);
        }

        private Lyrics(String str) {
            this.value = str;
        }

        public final String getValue() {
            return this.value;
        }

        public static final List<Pair<Long, String>> m966getSentencesimpl(String str) {
            List<Pair<Long, String>> mutableListOf = CollectionsKt.mutableListOf(TuplesKt.to(0L, ""));
            for (String str2 : StringsKt.lines(StringsKt.trim((CharSequence) str).toString())) {
                try {
                    String take = StringsKt.take(str2, 10);
                    Long valueOf = Long.valueOf((CharsKt.digitToInt(take.charAt(8)) * 10) + (CharsKt.digitToInt(take.charAt(7)) * 100) + (CharsKt.digitToInt(take.charAt(5)) * CIOKt.DEFAULT_HTTP_POOL_SIZE) + (CharsKt.digitToInt(take.charAt(4)) * 10000) + (CharsKt.digitToInt(take.charAt(2)) * 60000) + (CharsKt.digitToInt(take.charAt(1)) * 600000));
                    String substring = str2.substring(10);
                    Intrinsics.checkNotNullExpressionValue(substring, "substring(...)");
                    mutableListOf.add(TuplesKt.to(valueOf, substring));
                } catch (Throwable unused) {
                }
            }
            return mutableListOf;
        }

        public static final String m968normalizetz8mM1A(String str) {
            String obj = StringsKt.trim((CharSequence) StringsKt.replace$default(str, ServerSentEventKt.END_OF_LINE, "\n", false, 4, (Object) null)).toString();
            Iterator<String> it2 = StringsKt.lineSequence(obj).iterator();
            int i = 0;
            int i2 = 0;
            int i3 = 0;
            while (true) {
                if (!it2.hasNext()) {
                    i = i2;
                    break;
                }
                String next = it2.next();
                if (!StringsKt.startsWith$default(next, "[ti:", false, 2, (Object) null) && !StringsKt.startsWith$default(next, "[ar:", false, 2, (Object) null) && !StringsKt.startsWith$default(next, "[al:", false, 2, (Object) null) && !StringsKt.startsWith$default(next, "[by:", false, 2, (Object) null) && !StringsKt.startsWith$default(next, "[hash:", false, 2, (Object) null) && !StringsKt.startsWith$default(next, "[sign:", false, 2, (Object) null) && !StringsKt.startsWith$default(next, "[qq:", false, 2, (Object) null) && !StringsKt.startsWith$default(next, "[total:", false, 2, (Object) null) && !StringsKt.startsWith$default(next, "[offset:", false, 2, (Object) null) && !StringsKt.startsWith$default(next, "[id:", false, 2, (Object) null) && !m961containsAtimpl(str, next, "]Written by:", 9) && !m961containsAtimpl(str, next, "]Lyrics by:", 9) && !m961containsAtimpl(str, next, "]Composed by:", 9) && !m961containsAtimpl(str, next, "]Producer:", 9) && !m961containsAtimpl(str, next, "]作曲 : ", 9) && !m961containsAtimpl(str, next, "]作词 : ", 9)) {
                    if (i2 != 0) {
                        break;
                    }
                    i2 = next.length() + 1;
                } else {
                    i3 += next.length() + 1 + i2;
                    i2 = 0;
                }
            }
            return m960constructorimpl(m969removeHtmlEntitiesimpl(str, StringsKt.drop(obj, i3 + i)));
        }

        private static final boolean m961containsAtimpl(String str, String str2, CharSequence charSequence, int i) {
            boolean regionMatches;
            regionMatches = StringsKt.regionMatches(str2, i, charSequence, 0, charSequence.length(), (r12 & 16) != 0 ? false : false);
            return regionMatches;
        }

        private static final String m969removeHtmlEntitiesimpl(String str, String str2) {
            return StringsKt.replace$default(str2, "&apos;", "'", false, 4, (Object) null);
        }
    }
}