导航菜单

页面标题

页面副标题

Kreate v1.5.0 - InnertubeClientRequestInfo.java 源代码

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

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


package org.schabi.newpipe.extractor.services.youtube;

import javax.annotation.Nonnull;
import javax.annotation.Nullable;

public final class InnertubeClientRequestInfo {

    @Nonnull
    public ClientInfo clientInfo;

    @Nonnull
    public DeviceInfo deviceInfo;

    public static final class ClientInfo {

        @Nullable
        public String clientId;

        @Nonnull
        public String clientName;

        @Nonnull
        public String clientScreen;

        @Nonnull
        public String clientVersion;

        @Nullable
        public String visitorData;

        private ClientInfo(@Nonnull String str, @Nonnull String str2, @Nonnull String str3, @Nullable String str4, @Nullable String str5) {
            this.clientName = str;
            this.clientVersion = str2;
            this.clientScreen = str3;
            this.clientId = str4;
            this.visitorData = str5;
        }
    }

    public static final class DeviceInfo {
        public int androidSdkVersion;

        @Nullable
        public String deviceMake;

        @Nullable
        public String deviceModel;

        @Nullable
        public String osName;

        @Nullable
        public String osVersion;

        @Nonnull
        public String platform;

        private DeviceInfo(@Nonnull String str, @Nullable String str2, @Nullable String str3, @Nullable String str4, @Nullable String str5, int i) {
            this.platform = str;
            this.deviceMake = str2;
            this.deviceModel = str3;
            this.osName = str4;
            this.osVersion = str5;
            this.androidSdkVersion = i;
        }
    }

    private InnertubeClientRequestInfo(@Nonnull ClientInfo clientInfo, @Nonnull DeviceInfo deviceInfo) {
        this.clientInfo = clientInfo;
        this.deviceInfo = deviceInfo;
    }

    @Nonnull
    public static InnertubeClientRequestInfo ofWebClient() {
        String str = null;
        return new InnertubeClientRequestInfo(new ClientInfo("WEB", "2.20250122.04.00", "WATCH", "1", str), new DeviceInfo("DESKTOP", null, null, str, 0 == true ? 1 : 0, -1));
    }

    @Nonnull
    public static InnertubeClientRequestInfo ofWebEmbeddedPlayerClient() {
        String str = null;
        return new InnertubeClientRequestInfo(new ClientInfo("WEB_EMBEDDED_PLAYER", "1.20250122.01.00", "EMBED", "56", str), new DeviceInfo("DESKTOP", null, null, str, 0 == true ? 1 : 0, -1));
    }

    @Nonnull
    public static InnertubeClientRequestInfo ofAndroidClient() {
        return new InnertubeClientRequestInfo(new ClientInfo("ANDROID", "19.28.35", "WATCH", "3", null), new DeviceInfo("MOBILE", null, null, "Android", "15", 35));
    }

    @Nonnull
    public static InnertubeClientRequestInfo ofIosClient() {
        return new InnertubeClientRequestInfo(new ClientInfo("IOS", "20.03.02", "WATCH", "5", null), new DeviceInfo("MOBILE", "Apple", "iPhone16,2", "iOS", "18.2.1.22C161", -1));
    }
}