Kate Mobile v109.1版本的 MD5 值为:fcd76ded5f363ecbfac46035a4ed2a23

以下内容为反编译后的 Video.java 源代码,内容仅作参考


package com.perm.kate.api;

import java.io.Serializable;
import org.json.JSONArray;
import org.json.JSONObject;
public class Video implements Serializable {
    private static final long serialVersionUID = 1;
    public String access_key;
    public String content_restricted_message;
    public long date;
    public String description;
    public long duration;
    public String external;
    public String flv_320;
    public String hls;
    public String hls_ondemand;
    public String image;
    public String image_big;
    public Integer like_count;
    public String live;
    public String mp4_1080;
    public String mp4_240;
    public String mp4_360;
    public String mp4_480;
    public String mp4_720;
    public long owner_id;
    public String platform;
    public String player;
    public Privacy privacy_comment;
    public Privacy privacy_view;
    public String title;
    public Boolean user_likes;
    public long vid;
    public int views;

    public static String getVideoUrl(long j, long j2) {
        return "https://vk.com/video" + j + "_" + j2;
    }

    public static Video parse(JSONObject jSONObject) {
        Video video = new Video();
        video.vid = jSONObject.getLong("id");
        video.owner_id = jSONObject.optLong("owner_id");
        video.title = Api.unescape(jSONObject.optString("title"));
        video.duration = jSONObject.optLong("duration");
        video.description = Api.unescape(jSONObject.optString("description"));
        parseImage(jSONObject, video);
        video.date = jSONObject.optLong("date");
        video.player = jSONObject.optString("player");
        if (jSONObject.has("views")) {
            video.views = jSONObject.getInt("views");
        }
        if (jSONObject.has("likes")) {
            JSONObject jSONObject2 = jSONObject.getJSONObject("likes");
            video.like_count = Integer.valueOf(jSONObject2.optInt("count"));
            video.user_likes = Boolean.valueOf(jSONObject2.optInt("user_likes") == 1);
        }
        JSONObject optJSONObject = jSONObject.optJSONObject("files");
        if (optJSONObject != null) {
            video.external = optJSONObject.optString("external");
            video.mp4_240 = optJSONObject.optString("mp4_240");
            video.mp4_360 = optJSONObject.optString("mp4_360");
            video.mp4_480 = optJSONObject.optString("mp4_480");
            video.mp4_720 = optJSONObject.optString("mp4_720");
            video.mp4_1080 = optJSONObject.optString("mp4_1080");
            video.flv_320 = optJSONObject.optString("flv_320");
            video.live = optJSONObject.optString("live");
            video.hls = optJSONObject.optString("hls");
            video.hls_ondemand = optJSONObject.optString("hls_ondemand");
        }
        video.privacy_view = Privacy.parse(jSONObject.optJSONObject("privacy_view"));
        video.privacy_comment = Privacy.parse(jSONObject.optJSONObject("privacy_comment"));
        video.access_key = jSONObject.optString("access_key");
        video.platform = jSONObject.optString("platform");
        video.content_restricted_message = jSONObject.optString("content_restricted_message");
        return video;
    }

    public static Video parseForAttachments(JSONObject jSONObject) {
        Video video = new Video();
        video.vid = jSONObject.getLong("id");
        video.owner_id = jSONObject.optLong("owner_id");
        video.title = Api.unescape(jSONObject.optString("title"));
        video.duration = jSONObject.optLong("duration");
        video.description = Api.unescape(jSONObject.optString("description"));
        parseImage(jSONObject, video);
        video.date = jSONObject.optLong("date");
        video.player = jSONObject.optString("player");
        video.access_key = jSONObject.optString("access_key");
        video.platform = jSONObject.optString("platform");
        return video;
    }

    private static void parseImage(JSONObject jSONObject, Video video) {
        JSONArray optJSONArray = jSONObject.optJSONArray("image");
        if (optJSONArray != null) {
            for (int i = 0; i < optJSONArray.length(); i++) {
                JSONObject jSONObject2 = optJSONArray.getJSONObject(i);
                int optInt = jSONObject2.optInt("width");
                String optString = jSONObject2.optString("url");
                if (optInt == 130) {
                    video.image = optString;
                }
                if (optInt == 320) {
                    video.image_big = optString;
                }
            }
        }
    }

    public String getVideoUrl() {
        return getVideoUrl(this.owner_id, this.vid);
    }
}