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);
}
}