From 3c76744b877e52b3b1ad1ef09bd7bf47ccbb761d Mon Sep 17 00:00:00 2001
From: LMJ_Company <447180005@qq.com>
Date: Mon, 19 Sep 2016 16:41:48 +0800
Subject: [PATCH] =?UTF-8?q?=E6=96=97=E9=B1=BCAPI=EF=BC=88capi.douyucdn.cn?=
=?UTF-8?q?=EF=BC=89=E6=9B=BF=E6=8D=A2=E4=B8=BAMax+=EF=BC=88api.maxjia.com?=
=?UTF-8?q?=EF=BC=89?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.idea/misc.xml | 2 +-
.../java/com/c9mj/platform/MyApplication.java | 2 +
...eRoomAdapter.java => LiveListAdapter.java} | 20 +-
.../com/c9mj/platform/live/api/LiveAPI.java | 75 +-
.../c9mj/platform/live/bean/LiveBaseBean.java | 33 +-
.../platform/live/bean/LiveIndicatorBean.java | 72 --
.../platform/live/bean/LiveListItemBean.java | 208 ++++
.../platform/live/bean/LiveRoomInfoBean.java | 895 ------------------
.../platform/live/bean/LiveRoomItemBean.java | 262 -----
.../mvp/presenter/ILiveListPresenter.java | 9 +
.../live/mvp/presenter/ILivePresenter.java | 9 -
.../mvp/presenter/ILiveRoomListPresenter.java | 10 -
.../presenter/impl/LiveListPresenterImpl.java | 57 ++
.../mvp/presenter/impl/LivePresenterImpl.java | 45 -
.../impl/LiveRoomListPresenterImpl.java | 64 --
.../platform/live/mvp/view/ILiveFragment.java | 14 -
...stFragment.java => ILiveListFragment.java} | 6 +-
.../c9mj/platform/live/ui/LiveFragment.java | 43 +-
...istFragment.java => LiveListFragment.java} | 74 +-
.../platform/live/ui/LivePlayActivity.java | 15 +-
.../c9mj/platform/user/ui/UserFragment.java | 8 +-
.../com/c9mj/platform/util/ToastUtil.java | 19 +-
.../util/retrofit/RetrofitHelper.java | 10 +-
.../main/res/layout/activity_live_play.xml | 7 +
...ve_roomlist.xml => fragment_live_list.xml} | 2 +-
...e_layout.xml => item_live_list_layout.xml} | 0
app/src/main/res/values/strings.xml | 12 +-
gradlew.bat | 4 +-
28 files changed, 430 insertions(+), 1547 deletions(-)
rename app/src/main/java/com/c9mj/platform/live/adapter/{LiveRoomAdapter.java => LiveListAdapter.java} (62%)
delete mode 100644 app/src/main/java/com/c9mj/platform/live/bean/LiveIndicatorBean.java
create mode 100644 app/src/main/java/com/c9mj/platform/live/bean/LiveListItemBean.java
delete mode 100644 app/src/main/java/com/c9mj/platform/live/bean/LiveRoomInfoBean.java
delete mode 100644 app/src/main/java/com/c9mj/platform/live/bean/LiveRoomItemBean.java
create mode 100644 app/src/main/java/com/c9mj/platform/live/mvp/presenter/ILiveListPresenter.java
delete mode 100644 app/src/main/java/com/c9mj/platform/live/mvp/presenter/ILivePresenter.java
delete mode 100644 app/src/main/java/com/c9mj/platform/live/mvp/presenter/ILiveRoomListPresenter.java
create mode 100644 app/src/main/java/com/c9mj/platform/live/mvp/presenter/impl/LiveListPresenterImpl.java
delete mode 100644 app/src/main/java/com/c9mj/platform/live/mvp/presenter/impl/LivePresenterImpl.java
delete mode 100644 app/src/main/java/com/c9mj/platform/live/mvp/presenter/impl/LiveRoomListPresenterImpl.java
delete mode 100644 app/src/main/java/com/c9mj/platform/live/mvp/view/ILiveFragment.java
rename app/src/main/java/com/c9mj/platform/live/mvp/view/{ILiveRoomListFragment.java => ILiveListFragment.java} (52%)
rename app/src/main/java/com/c9mj/platform/live/ui/{LiveRoomListFragment.java => LiveListFragment.java} (62%)
rename app/src/main/res/layout/{fragment_live_roomlist.xml => fragment_live_list.xml} (94%)
rename app/src/main/res/layout/{item_live_layout.xml => item_live_list_layout.xml} (100%)
diff --git a/.idea/misc.xml b/.idea/misc.xml
index cca2cda..7158618 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -37,7 +37,7 @@
-
+
diff --git a/app/src/main/java/com/c9mj/platform/MyApplication.java b/app/src/main/java/com/c9mj/platform/MyApplication.java
index 6b8e651..6c793e9 100644
--- a/app/src/main/java/com/c9mj/platform/MyApplication.java
+++ b/app/src/main/java/com/c9mj/platform/MyApplication.java
@@ -2,6 +2,7 @@
import android.app.Application;
+import com.c9mj.platform.util.ToastUtil;
import com.squareup.leakcanary.LeakCanary;
/**
@@ -14,5 +15,6 @@ public class MyApplication extends Application{
public void onCreate() {
super.onCreate();
LeakCanary.install(this);
+ ToastUtil.init(getApplicationContext());
}
}
diff --git a/app/src/main/java/com/c9mj/platform/live/adapter/LiveRoomAdapter.java b/app/src/main/java/com/c9mj/platform/live/adapter/LiveListAdapter.java
similarity index 62%
rename from app/src/main/java/com/c9mj/platform/live/adapter/LiveRoomAdapter.java
rename to app/src/main/java/com/c9mj/platform/live/adapter/LiveListAdapter.java
index 640e798..dc7f9e0 100644
--- a/app/src/main/java/com/c9mj/platform/live/adapter/LiveRoomAdapter.java
+++ b/app/src/main/java/com/c9mj/platform/live/adapter/LiveListAdapter.java
@@ -4,7 +4,7 @@
import com.bumptech.glide.Glide;
import com.c9mj.platform.R;
-import com.c9mj.platform.live.bean.LiveRoomItemBean;
+import com.c9mj.platform.live.bean.LiveListItemBean;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
@@ -15,24 +15,24 @@
* date: 2016/9/12
* 直播房间列表的Adapter
*/
-public class LiveRoomAdapter extends BaseQuickAdapter{
- public LiveRoomAdapter(List data) {
- super(R.layout.item_live_layout, data);
+public class LiveListAdapter extends BaseQuickAdapter{
+ public LiveListAdapter(List data) {
+ super(R.layout.item_live_list_layout, data);
}
@Override
- protected void convert(BaseViewHolder viewHolder, LiveRoomItemBean bean) {
- viewHolder.setText(R.id.live_tv_roomname, bean.getRoom_name())//房间名称
- .setText(R.id.live_tv_nickname, bean.getNickname())//主播昵称
- .setText(R.id.live_tv_online, String.valueOf(bean.getOnline()))//在线人数
+ protected void convert(BaseViewHolder viewHolder, LiveListItemBean bean) {
+ viewHolder.setText(R.id.live_tv_roomname, bean.getLive_title())//房间名称
+ .setText(R.id.live_tv_nickname, bean.getLive_nickname())//主播昵称
+ .setText(R.id.live_tv_online, String.valueOf(bean.getLive_online()))//在线人数
.setOnClickListener(R.id.live_cardview, new OnItemChildClickListener());//添加子Item点击监听,在UI中实现回调接口
Glide.with(mContext)//直播房间截图
- .load(bean.getRoom_src())
+ .load(bean.getLive_img())
.crossFade()
.centerCrop()
.into((ImageView) viewHolder.getView(R.id.live_iv_roomsrc));
Glide.with(mContext)//主播头像
- .load(bean.getAvatar_mid())
+ .load(bean.getLive_userimg())
.crossFade()
.centerCrop()
.into((ImageView) viewHolder.getView(R.id.live_iv_avatar));
diff --git a/app/src/main/java/com/c9mj/platform/live/api/LiveAPI.java b/app/src/main/java/com/c9mj/platform/live/api/LiveAPI.java
index 164ab29..f02820d 100644
--- a/app/src/main/java/com/c9mj/platform/live/api/LiveAPI.java
+++ b/app/src/main/java/com/c9mj/platform/live/api/LiveAPI.java
@@ -2,13 +2,11 @@
import com.c9mj.platform.live.bean.LiveBaseBean;
-import com.c9mj.platform.live.bean.LiveIndicatorBean;
-import com.c9mj.platform.live.bean.LiveRoomItemBean;
+import com.c9mj.platform.live.bean.LiveListItemBean;
import java.util.List;
import retrofit2.http.GET;
-import retrofit2.http.Path;
import retrofit2.http.Query;
import rx.Observable;
@@ -18,63 +16,26 @@
*/
public interface LiveAPI {
- public static final String CLIENT_SYS = "client_sys";
public static final int LIMIT = 20;
-
- /**
- * 请求顶部栏目标题
- * @return
- */
- @GET("/api/v1/getColumnList?client_sys=android")
- Observable>> getColumnList();
-
- /**
- * 请求全部直播
- * @param offset 分页偏移量
- * @return
- */
- @GET("/api/v1/live")
- Observable>> getAllLiveList(
+ public static final String MAX_ID = "0";
+ public static final String IMEI = "123456789101234";
+ public static final String OS_TYPE = "Android";
+ public static final String OS_VERSION = "5.1.1";
+ public static final String VERSION = "3.6.6";
+ public static final String LANG = "zh-cn";
+
+ //请求获取不同游戏的直播列表
+ @GET("/api/live/list/")
+ Observable>> getLiveList(
@Query("offset") int offset,
@Query("limit") int limit,
- @Query("client_sys") String client_sys
+ @Query("game_type") String game_type,
+ @Query("max_id") String max_id,
+ @Query("imei") String imei,
+ @Query("os_type") String os_type,
+ @Query("os_version") String os_version,
+ @Query("version") String version,
+ @Query("lang") String lang
);
- /**
- * 根据cate_id请求不同分类节目的直播
- * @param cate_id
- * @param offset
- * @param limit
- * @param client_sys
- * @return
- */
- @GET("/api/v1/getColumnRoom/{cate_id}")
- Observable>> getColumnLiveList(
- @Path("cate_id") String cate_id,
- @Query("offset") int offset,
- @Query("limit") int limit,
- @Query("client_sys") String client_sys
- );
-
- /**
- * 请求直播间信息
- * @param room_id
- * @param aid
- * @param client_sys
- * @param ne
- * @param support_pwd
- * @param time
- * @param auth
- * @return
- */
- @GET("/api/v1/room/{room_id}")
- Observable>> getRoomInfo(
- @Path("room_id") String room_id,
- @Query("aid") String aid,
- @Query("client_sys") String client_sys,
- @Query("ne") String ne,
- @Query("support_pwd") String support_pwd,
- @Query("time") String time,
- @Query("auth") String auth
- );
}
diff --git a/app/src/main/java/com/c9mj/platform/live/bean/LiveBaseBean.java b/app/src/main/java/com/c9mj/platform/live/bean/LiveBaseBean.java
index 4ba3572..a537f59 100644
--- a/app/src/main/java/com/c9mj/platform/live/bean/LiveBaseBean.java
+++ b/app/src/main/java/com/c9mj/platform/live/bean/LiveBaseBean.java
@@ -7,27 +7,36 @@
public class LiveBaseBean {
/**
- * error : 0
+ * status : 0
* message : 成功
- * data : {}
+ * result : {}
*/
- private int error;
- private T data;
+ private String status;
+ private String msg;
+ private T result;
- public int getError() {
- return error;
+ public String getStatus() {
+ return status;
}
- public void setError(int error) {
- this.error = error;
+ public void setStatus(String status) {
+ this.status = status;
}
- public T getData() {
- return data;
+ public String getMsg() {
+ return msg;
}
- public void setData(T data) {
- this.data = data;
+ public void setMsg(String msg) {
+ this.msg = msg;
+ }
+
+ public T getResult() {
+ return result;
+ }
+
+ public void setResult(T result) {
+ this.result = result;
}
}
diff --git a/app/src/main/java/com/c9mj/platform/live/bean/LiveIndicatorBean.java b/app/src/main/java/com/c9mj/platform/live/bean/LiveIndicatorBean.java
deleted file mode 100644
index cb0bd1f..0000000
--- a/app/src/main/java/com/c9mj/platform/live/bean/LiveIndicatorBean.java
+++ /dev/null
@@ -1,72 +0,0 @@
-package com.c9mj.platform.live.bean;
-
-/**
- * author: LMJ
- * date: 2016/9/9
- * 用于顶部Indicator
- */
-public class LiveIndicatorBean {
- /**
- * cate_id : 1
- * cate_name : 热门游戏
- * short_name : game
- * push_ios : 1
- * push_show : 0
- * push_vertical_screen : 0
- */
-
- private String cate_id;
- private String cate_name;
- private String short_name;
- private String push_ios;
- private String push_show;
- private String push_vertical_screen;
-
- public String getCate_id() {
- return cate_id;
- }
-
- public void setCate_id(String cate_id) {
- this.cate_id = cate_id;
- }
-
- public String getCate_name() {
- return cate_name;
- }
-
- public void setCate_name(String cate_name) {
- this.cate_name = cate_name;
- }
-
- public String getShort_name() {
- return short_name;
- }
-
- public void setShort_name(String short_name) {
- this.short_name = short_name;
- }
-
- public String getPush_ios() {
- return push_ios;
- }
-
- public void setPush_ios(String push_ios) {
- this.push_ios = push_ios;
- }
-
- public String getPush_show() {
- return push_show;
- }
-
- public void setPush_show(String push_show) {
- this.push_show = push_show;
- }
-
- public String getPush_vertical_screen() {
- return push_vertical_screen;
- }
-
- public void setPush_vertical_screen(String push_vertical_screen) {
- this.push_vertical_screen = push_vertical_screen;
- }
-}
diff --git a/app/src/main/java/com/c9mj/platform/live/bean/LiveListItemBean.java b/app/src/main/java/com/c9mj/platform/live/bean/LiveListItemBean.java
new file mode 100644
index 0000000..667d261
--- /dev/null
+++ b/app/src/main/java/com/c9mj/platform/live/bean/LiveListItemBean.java
@@ -0,0 +1,208 @@
+package com.c9mj.platform.live.bean;
+
+/**
+ * author: LMJ
+ * date: 2016/9/12
+ */
+public class LiveListItemBean {
+
+ /**
+ * enable : 1
+ * game_type : dota2
+ * live_id : 246195
+ * live_img : https://rpic.douyucdn.cn/z1609/19/15/246195_160919152708.jpg
+ * live_name : douyu
+ * live_nickname : 叶子长青K
+ * live_online : 41
+ * live_title : 叶中天 品火猫 感冒我需要打稳重点
+ * live_type : douyu
+ * live_userimg : http://uc.douyutv.com/avatar.php?uid=2350097&size=small
+ * offline_time : 1474226479.5676
+ * online_time : 1474207228.6536
+ * push_time : 1474129572.6225
+ * show_type : native
+ * sort_num : 41
+ * url_info : {"Referer":"http://api.douyutv.com/","User_Agent":"Mozilla/5.0 (iPhone; CPU iPhone OS 7_0 like Mac OS X; en-us) AppleWebKit/537.51.2 (KHTML, like Gecko) Version/7.0 Mobile/11A465 Safari/9537.54","url":"http://capi.douyucdn.cn/api/v1/room/246195?aid=dotamax&time=1474270860&auth=d5cf3a2479f1b17fd7631adddf41cde7"}
+ */
+
+ private int enable;
+ private String game_type;
+ private String live_id;
+ private String live_img;
+ private String live_name;
+ private String live_nickname;
+ private int live_online;
+ private String live_title;
+ private String live_type;
+ private String live_userimg;
+ private String offline_time;
+ private String online_time;
+ private String push_time;
+ private String show_type;
+ private int sort_num;
+ /**
+ * Referer : http://api.douyutv.com/
+ * User_Agent : Mozilla/5.0 (iPhone; CPU iPhone OS 7_0 like Mac OS X; en-us) AppleWebKit/537.51.2 (KHTML, like Gecko) Version/7.0 Mobile/11A465 Safari/9537.54
+ * url : http://capi.douyucdn.cn/api/v1/room/246195?aid=dotamax&time=1474270860&auth=d5cf3a2479f1b17fd7631adddf41cde7
+ */
+
+ private UrlInfoBean url_info;
+
+ public int getEnable() {
+ return enable;
+ }
+
+ public void setEnable(int enable) {
+ this.enable = enable;
+ }
+
+ public String getGame_type() {
+ return game_type;
+ }
+
+ public void setGame_type(String game_type) {
+ this.game_type = game_type;
+ }
+
+ public String getLive_id() {
+ return live_id;
+ }
+
+ public void setLive_id(String live_id) {
+ this.live_id = live_id;
+ }
+
+ public String getLive_img() {
+ return live_img;
+ }
+
+ public void setLive_img(String live_img) {
+ this.live_img = live_img;
+ }
+
+ public String getLive_name() {
+ return live_name;
+ }
+
+ public void setLive_name(String live_name) {
+ this.live_name = live_name;
+ }
+
+ public String getLive_nickname() {
+ return live_nickname;
+ }
+
+ public void setLive_nickname(String live_nickname) {
+ this.live_nickname = live_nickname;
+ }
+
+ public int getLive_online() {
+ return live_online;
+ }
+
+ public void setLive_online(int live_online) {
+ this.live_online = live_online;
+ }
+
+ public String getLive_title() {
+ return live_title;
+ }
+
+ public void setLive_title(String live_title) {
+ this.live_title = live_title;
+ }
+
+ public String getLive_type() {
+ return live_type;
+ }
+
+ public void setLive_type(String live_type) {
+ this.live_type = live_type;
+ }
+
+ public String getLive_userimg() {
+ return live_userimg;
+ }
+
+ public void setLive_userimg(String live_userimg) {
+ this.live_userimg = live_userimg;
+ }
+
+ public String getOffline_time() {
+ return offline_time;
+ }
+
+ public void setOffline_time(String offline_time) {
+ this.offline_time = offline_time;
+ }
+
+ public String getOnline_time() {
+ return online_time;
+ }
+
+ public void setOnline_time(String online_time) {
+ this.online_time = online_time;
+ }
+
+ public String getPush_time() {
+ return push_time;
+ }
+
+ public void setPush_time(String push_time) {
+ this.push_time = push_time;
+ }
+
+ public String getShow_type() {
+ return show_type;
+ }
+
+ public void setShow_type(String show_type) {
+ this.show_type = show_type;
+ }
+
+ public int getSort_num() {
+ return sort_num;
+ }
+
+ public void setSort_num(int sort_num) {
+ this.sort_num = sort_num;
+ }
+
+ public UrlInfoBean getUrl_info() {
+ return url_info;
+ }
+
+ public void setUrl_info(UrlInfoBean url_info) {
+ this.url_info = url_info;
+ }
+
+ public static class UrlInfoBean {
+ private String Referer;
+ private String User_Agent;
+ private String url;
+
+ public String getReferer() {
+ return Referer;
+ }
+
+ public void setReferer(String Referer) {
+ this.Referer = Referer;
+ }
+
+ public String getUser_Agent() {
+ return User_Agent;
+ }
+
+ public void setUser_Agent(String User_Agent) {
+ this.User_Agent = User_Agent;
+ }
+
+ public String getUrl() {
+ return url;
+ }
+
+ public void setUrl(String url) {
+ this.url = url;
+ }
+ }
+}
diff --git a/app/src/main/java/com/c9mj/platform/live/bean/LiveRoomInfoBean.java b/app/src/main/java/com/c9mj/platform/live/bean/LiveRoomInfoBean.java
deleted file mode 100644
index 4974f37..0000000
--- a/app/src/main/java/com/c9mj/platform/live/bean/LiveRoomInfoBean.java
+++ /dev/null
@@ -1,895 +0,0 @@
-package com.c9mj.platform.live.bean;
-
-import java.util.List;
-
-/**
- * author: LMJ
- * date: 2016/9/18
- * 获取直播间详细信息
- */
-public class LiveRoomInfoBean {
-
- /**
- * error : 0
- * data : {"use_p2p":"0","show_details":"更多资讯请关注微博Jerry_寅子 百度寅子吧","nickname":"寅子","rtmp_url":"http://hdl3.douyucdn.cn/live","anchor_city":"鱼塘","specific_status":"1","url":"/yinzitv","servers":[{"ip":"119.90.49.88","port":"8090"},{"ip":"119.90.49.89","port":"8093"},{"ip":"119.90.49.86","port":"8078"},{"ip":"119.90.49.90","port":"8100"},{"ip":"119.90.49.88","port":"8086"},{"ip":"119.90.49.95","port":"8074"},{"ip":"119.90.49.89","port":"8095"},{"ip":"119.90.49.87","port":"8084"},{"ip":"119.90.49.92","port":"8059"},{"ip":"119.90.49.92","port":"8058"},{"ip":"119.90.49.107","port":"8032"},{"ip":"119.90.49.105","port":"8022"},{"ip":"119.90.49.104","port":"8018"},{"ip":"119.90.49.109","port":"8044"},{"ip":"119.90.49.87","port":"8081"},{"ip":"119.90.49.87","port":"8082"},{"ip":"119.90.49.109","port":"8041"},{"ip":"119.90.49.106","port":"8029"},{"ip":"119.90.49.93","port":"8065"},{"ip":"119.90.49.105","port":"8025"},{"ip":"119.90.49.92","port":"8057"},{"ip":"119.90.49.103","port":"8012"},{"ip":"119.90.49.102","port":"8006"},{"ip":"119.90.49.108","port":"8039"},{"ip":"119.90.49.109","port":"8043"},{"ip":"119.90.49.103","port":"8011"},{"ip":"119.90.49.104","port":"8019"},{"ip":"119.90.49.101","port":"8005"},{"ip":"119.90.49.87","port":"8083"},{"ip":"119.90.49.105","port":"8023"}],"rtmp_cdn":"ws","specific_catalog":"yinzitv","cate_id1":1,"show_status":"1","game_icon_url":"https://staticlive.douyucdn.cn/upload/game_cate/602c38f19a4fe9af40fdb64a00ce9ed5.jpg","game_name":"主机游戏","cdnsWithName":[{"name":"主线路","cdn":"ws"},{"name":"备用线路5","cdn":"tct"},{"name":"备用线路2","cdn":"ws2"},{"name":"备用线路3","cdn":"dl"}],"show_time":"1474192791","isVertical":0,"rtmp_live":"71415rOQQY4ughwh.flv?wsAuth=52ff32cd2a1bde42eada0c8a8af08bc8&token=app-android1-0-71415-7daf98dd26d986af276fc121cd96ce2f&logo=0&expire=0&did=40f898e5-09d2-4ebd-af57-4fc70c7a2cb4","fans":"1013218","game_url":"/directory/game/TVgame","room_src":"http://rpic.douyucdn.cn/z1609/18/19/71415_160918195249.jpg","is_white_list":"0","room_name":"斗鱼NO.1声优-NBA2K17巨猩崛起","owner_uid":"2488316","owner_avatar":"https://apic.douyucdn.cn/upload/avatar/002/48/83/16_avatar_big.jpg","black":[],"vertical_src":"http://rpic.douyucdn.cn/z1609/18/19/71415_160918195249.jpg","room_dm_delay":30,"owner_weight":"203.6t","is_pass_player":0,"hls_url":"http://hls3.douyucdn.cn/live/71415rOQQY4ughwh/playlist.m3u8?wsSecret=9c5cf4cb31b8e4f6f526a15352b4373b&wsTime=1474200325","room_id":"71415","cur_credit":"12","gift_ver":"v2.2.9.1","low_credit":"4","gift":[{"himg":"http://staticlive.douyucdn.cn/upload/dygift/1606/6b81104cddfc8e4180595ddabe2175e9.gif","pdhimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/31143be41f9ff98220b739d5681b2f4a.gif","gx":1000,"mobile_big_effect_icon_0":"http://staticlive.douyucdn.cn/upload/dygift/1606/a7c2d1fd8a8f4a332bd6ad200a7fad07.gif","cimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/2883a0029f72e982f42276db50d8295e.gif","mobile_big_effect_icon_1":"http://staticlive.douyucdn.cn/upload/dygift/1606/475c160777db69a58d511f040c23987c.png","big_effect_icon":"http://staticlive.douyucdn.cn/upload/dygift/1606/08b9cd1fe7b3e88524af33f1ad7d633c.png","pdbimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/80f1c6874d2736bed8e996130bbe674a.png","mobile_big_effect_icon_2":"http://staticlive.douyucdn.cn/upload/dygift/1606/adaa674619c27283ec8722744e9adf8b.png","mimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/e3858afacdf2470373e58c8a97178583.png","brgb":"#9a76c5","mobile_big_effect_icon_3":"http://staticlive.douyucdn.cn/upload/dygift/1606/5cc70f77e75a5c4b4933d71e62d1b815.png","m_ef_gif_2":"","pimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/39e0edd5a6201b88d6c4309cde848449.png","pt":"余额不足,飞机还在滑行中","id":"54","intro":"主播带我飞","pc":"10000","m_ef_gif_1":"http://staticlive.douyucdn.cn/upload/dygift/1606/a7c2d1fd8a8f4a332bd6ad200a7fad07.gif","urgb":"#581c86","ef":2,"sort":"56766","ch":"1","stay_time":60000,"desc":"赠送房间广播","mobile_stay_time":"50000","mobile_small_effect_icon":"","grgb":"#9104af","drgb":"#210101","pad_big_effect_icon":"http://staticlive.douyucdn.cn/upload/dygift/1606/ad6896bd52fcd1b63da12ce46d8edd0b.png","type":"2","mobimg":"http://staticlive.douyucdn.cn/upload/dygift/95b474c513a2a0b7ddee9c72e05cf0fc.png","small_effect_icon":"http://staticlive.douyucdn.cn/upload/dygift/1606/7d378950c5be267d93ad0522b6909d79.png","name":"飞机","mobile_icon_v2":"http://staticlive.douyucdn.cn/upload/dygift/1606/7ec31cfe83b4de01377c7e435371e4d6.png"},{"himg":"http://staticlive.douyucdn.cn/upload/dygift/1606/b90d1ba81b9448c012e057d5b387e60b.gif","pdhimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/8e424060ec7d2fccd91292cf029c82d6.gif","gx":60,"mobile_big_effect_icon_0":"","cimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/6c15b652ed0de9e8236081452d03ad8c.gif","mobile_big_effect_icon_1":"","big_effect_icon":"","pdbimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/0839305733dacc9f3225d147104d91c5.png","mobile_big_effect_icon_2":"","mimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/28eb351ecd47ff1de8ec9266ff13f9f9.png","brgb":"#ffa0a0","mobile_big_effect_icon_3":"","m_ef_gif_2":"","pimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/777039db9e85e95a04c2abbccfecb63b.png","pt":"余额不足,666还在酝酿中","id":"52","intro":"主播这么6,你麻麻知道吗","pc":"600","m_ef_gif_1":"","urgb":"#e61324","ef":0,"sort":"56730","ch":"1","stay_time":6000,"desc":"","mobile_stay_time":"6000","mobile_small_effect_icon":"","grgb":"#902c00","drgb":"#210101","pad_big_effect_icon":"","type":"2","mobimg":"","small_effect_icon":"","name":"666","mobile_icon_v2":"http://staticlive.douyucdn.cn/upload/dygift/1606/d0f0b2e347138368dabcd1a7a0d5804e.png"},{"himg":"http://staticlive.douyucdn.cn/upload/dygift/1606/d76029bc0f1f8c95bc74dd9a1d35f60e.gif","pdhimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/37e882815c4291a6b80518d7fa412118.gif","gx":1,"mobile_big_effect_icon_0":"","cimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/81ce1befcbb82236342510d487a45ccf.gif","mobile_big_effect_icon_1":"","big_effect_icon":"","pdbimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/7b0451a9c6ae4e7dc70dd109f896e8db.png","mobile_big_effect_icon_2":"","mimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/d6f46156d7265c30e472ba56d523f4f8.png","brgb":"#f79b5e","mobile_big_effect_icon_3":"","m_ef_gif_2":"","pimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/80bda610a81072efdcc94cb8846957a1.png","pt":"余额不足,赞还在笔划生成中","id":"57","intro":"赞一个","pc":"10","m_ef_gif_1":"","urgb":"#a20b0b","ef":0,"sort":"32589","ch":"1","stay_time":4000,"desc":"","mobile_stay_time":"2000","mobile_small_effect_icon":"","grgb":"#6a2f00","drgb":"#210101","pad_big_effect_icon":"","type":"2","mobimg":"","small_effect_icon":"","name":"赞","mobile_icon_v2":"http://staticlive.douyucdn.cn/upload/dygift/1606/df66a7c0fe8f77ca51021cbc198a0257.png"},{"himg":"http://staticlive.douyucdn.cn/upload/dygift/1606/66e93802817e71f6b9543b11670c7048.gif","pdhimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/52205fdfd37b1b002d2de4d91c3afd99.gif","gx":5000,"mobile_big_effect_icon_0":"http://staticlive.douyucdn.cn/upload/dygift/1606/f3eb5d9c1573a373aacca7466f5050ab.gif","cimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/52417ea2f7c9bdff262a364c653ec047.gif","mobile_big_effect_icon_1":"http://staticlive.douyucdn.cn/upload/dygift/1606/180a0ad10fbf582e6990efd31add8426.png","big_effect_icon":"http://staticlive.douyucdn.cn/upload/dygift/1606/33d2f977b12205e10a9a3522a1e9fd90.gif","pdbimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/7167a38ffe55949df05c7a661071b39d.png","mobile_big_effect_icon_2":"http://staticlive.douyucdn.cn/upload/dygift/1606/fa553dcf79565f7b8a2d6e96b6c7da90.png","mimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/c659808dbe34657b2bddd788a0eecfe4.png","brgb":"#ff831f","mobile_big_effect_icon_3":"http://staticlive.douyucdn.cn/upload/dygift/1606/287527403ec8b6788a0ead58c15cb7eb.png","m_ef_gif_2":"","pimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/7964d4092fcb0fc1af5a5e09f5b76d94.gif","pt":"余额不足,火箭被卡在发射塔上了","id":"59","intro":"我们的征途是星辰大海","pc":"50000","m_ef_gif_1":"http://staticlive.douyucdn.cn/upload/dygift/1606/f3eb5d9c1573a373aacca7466f5050ab.gif","urgb":"#750101","ef":1,"sort":"6","ch":"0","stay_time":200000,"desc":"赠送网站广播并派送出神秘宝箱","mobile_stay_time":"150000","mobile_small_effect_icon":"http://staticlive.douyucdn.cn/upload/dygift/1606/149b382f03945f6a0a9dbd5a67e6acc0.png","grgb":"#a20b0b","drgb":"#210101","pad_big_effect_icon":"http://staticlive.douyucdn.cn/upload/dygift/1606/37a9d72b1821753fe2950ca00c8d57c9.gif","type":"2","mobimg":"http://staticlive.douyucdn.cn/upload/dygift/4a6604a94ee694ff2f8f7782d525de86.png","small_effect_icon":"http://staticlive.douyucdn.cn/upload/dygift/1606/01d7d7288adfd424bdd4a6a8e8c0b9ea.png","name":"火箭","mobile_icon_v2":"http://staticlive.douyucdn.cn/upload/dygift/1606/4b612f6c5753dffc8b51b7dbd9f05d35.png"},{"himg":"http://staticlive.douyucdn.cn/upload/dygift/1606/93daef170894a9d6bd8495fa0f81e165.gif","pdhimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/f0ae1148d092f0cb2fe162152e4bff16.gif","gx":1000,"mobile_big_effect_icon_0":"http://staticlive.douyucdn.cn/upload/dygift/1606/a7c2d1fd8a8f4a332bd6ad200a7fad07.gif","cimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/3ef88917e109e6e54667098af5c03d67.gif","mobile_big_effect_icon_1":"http://staticlive.douyucdn.cn/upload/dygift/1606/475c160777db69a58d511f040c23987c.png","big_effect_icon":"http://staticlive.douyucdn.cn/upload/dygift/1606/08b9cd1fe7b3e88524af33f1ad7d633c.png","pdbimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/f7a44c0b6ac21210e905447929e8de39.png","mobile_big_effect_icon_2":"http://staticlive.douyucdn.cn/upload/dygift/1606/adaa674619c27283ec8722744e9adf8b.png","mimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/76dd0d8c803b133467e4f0196c7d071d.png","brgb":"#9a76c5","mobile_big_effect_icon_3":"http://staticlive.douyucdn.cn/upload/dygift/1606/5cc70f77e75a5c4b4933d71e62d1b815.png","m_ef_gif_2":"","pimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/d8993d42da06ae6c625ace3dff6448a1.png","pt":"余额不足,飞机还在滑行中","id":"195","intro":"主播带我飞","pc":"10000","m_ef_gif_1":"http://staticlive.douyucdn.cn/upload/dygift/1606/a7c2d1fd8a8f4a332bd6ad200a7fad07.gif","urgb":"#581c86","ef":2,"sort":"5","ch":"0","stay_time":60000,"desc":"赠送房间广播","mobile_stay_time":"50000","mobile_small_effect_icon":"","grgb":"#9104af","drgb":"#210101","pad_big_effect_icon":"http://staticlive.douyucdn.cn/upload/dygift/1606/ad6896bd52fcd1b63da12ce46d8edd0b.png","type":"2","mobimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/ac245d735b62dcae65dd3eea9352b7e3.png","small_effect_icon":"http://staticlive.douyucdn.cn/upload/dygift/1606/7d378950c5be267d93ad0522b6909d79.png","name":"飞机","mobile_icon_v2":"http://staticlive.douyucdn.cn/upload/dygift/1606/da5a1fd20028953ad93a8a2bbd359a89.png"},{"himg":"http://staticlive.douyucdn.cn/upload/dygift/1606/6681d1a713ece37912a1dac339c9fb29.gif","pdhimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/f70971ba31d835fe7f6ec70102a5ed6a.gif","gx":60,"mobile_big_effect_icon_0":"","cimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/c7cbf10ede359644ca193cd95369cc48.gif","mobile_big_effect_icon_1":"","big_effect_icon":"","pdbimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/0316cb9c7b06164adae71819ff27bb0c.png","mobile_big_effect_icon_2":"","mimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/9c30da343dc3b1e65156ae0570603d06.png","brgb":"#ffa0a0","mobile_big_effect_icon_3":"","m_ef_gif_2":"","pimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/9665f1867726d057fc6b72df6d3e4110.png","pt":"余额不足,666还在酝酿中","id":"194","intro":"主播这么6,你麻麻知道吗","pc":"600","m_ef_gif_1":"","urgb":"#e61324","ef":0,"sort":"4","ch":"0","stay_time":6000,"desc":"","mobile_stay_time":"6000","mobile_small_effect_icon":"","grgb":"#902c00","drgb":"#210101","pad_big_effect_icon":"","type":"2","mobimg":"","small_effect_icon":"","name":"666","mobile_icon_v2":"http://staticlive.douyucdn.cn/upload/dygift/1606/863edbbfdcc8256a461f99cf01527fe0.png"},{"himg":"http://staticlive.douyucdn.cn/upload/dygift/1606/e144b05fd7dec1b194909e02b6dff92f.gif","pdhimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/179fc49b64440ac5c9d6d2c13ef58921.gif","gx":2,"mobile_big_effect_icon_0":"","cimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/344fe065475cc90728b7744818ffe2b5.gif","mobile_big_effect_icon_1":"","big_effect_icon":"","pdbimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/d97486ec2260c2ab3697ee183df2a892.png","mobile_big_effect_icon_2":"","mimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/3cecdd879dc9e9ec5f0c77099201ca94.png","brgb":"#6075b6","mobile_big_effect_icon_3":"","m_ef_gif_2":"","pimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/94f7e067812518652383ae608f59392a.png","pt":"余额不足,小鸡还在孵化中","id":"193","intro":"真是太鶸拉~","pc":"20","m_ef_gif_1":"","urgb":"#616e84","ef":0,"sort":"3","ch":"0","stay_time":4000,"desc":"","mobile_stay_time":"4000","mobile_small_effect_icon":"","grgb":"#616e84","drgb":"#31364b","pad_big_effect_icon":"","type":"2","mobimg":"","small_effect_icon":"","name":"弱鸡","mobile_icon_v2":"http://staticlive.douyucdn.cn/upload/dygift/1606/487fb96a74ecd9412b9c6cbf0a14623a.png"},{"himg":"http://staticlive.douyucdn.cn/upload/dygift/1606/b09488ff5ebe85c4f66e72e27b53d517.gif","pdhimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/e66c37cea4049c3168e89ce4e464f16f.gif","gx":1,"mobile_big_effect_icon_0":"","cimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/09d957288d2dfb811de4c5784ec74414.gif","mobile_big_effect_icon_1":"","big_effect_icon":"","pdbimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/8b795f4ee116c22af81ba2e3441c0625.png","mobile_big_effect_icon_2":"","mimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/d1ebe78032472a3146b5f8e717ead680.png","brgb":"#f79b5e","mobile_big_effect_icon_3":"","m_ef_gif_2":"","pimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/ecb0d4c424ff0bafbf4ba52a3284268b.png","pt":"余额不足,赞还在笔划生成中","id":"192","intro":"赞一个!","pc":"10","m_ef_gif_1":"","urgb":"#a20b0b","ef":0,"sort":"2","ch":"0","stay_time":2000,"desc":"","mobile_stay_time":"2000","mobile_small_effect_icon":"","grgb":"#6a2f00","drgb":"#210101","pad_big_effect_icon":"","type":"2","mobimg":"","small_effect_icon":"","name":"赞","mobile_icon_v2":"http://staticlive.douyucdn.cn/upload/dygift/1606/4e4d80671f23025f901a054bf3febcf7.png"},{"himg":"http://staticlive.douyucdn.cn/upload/dygift/1606/072dc9aea67fb42f095f973c8e0a183e.png","pdhimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/af31b1e87d5ce95abb9e63d2cb73b821.png","gx":1,"mobile_big_effect_icon_0":"","cimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/c3226805223b413ff84fa972b4ebdb13.png","mobile_big_effect_icon_1":"","big_effect_icon":"","pdbimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/9cae286a5687e8709c6fe957bea41c06.png","mobile_big_effect_icon_2":"","mimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/37a913eb1d9b3e8e6278d8a309696d58.png","brgb":"#fdd592","mobile_big_effect_icon_3":"","m_ef_gif_2":"","pimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/9251ec1e5badb67527b99b15e1f96a95.png","pt":"","id":"191","intro":"绝佳的增重美食","pc":"100","m_ef_gif_1":"","urgb":"#dd4e00","ef":0,"sort":"1","ch":"0","stay_time":1000,"desc":"","mobile_stay_time":"1500","mobile_small_effect_icon":"","grgb":"#c64b00","drgb":"#210101","pad_big_effect_icon":"","type":"1","mobimg":"","small_effect_icon":"","name":"100鱼丸","mobile_icon_v2":"http://staticlive.douyucdn.cn/upload/dygift/1606/96f05ad1f8b1eb5bb37526533c9d6bfb.png"}],"rtmp_multi_bitrate":{"middle":"71415rOQQY4ughwh_550.flv?wsAuth=3555423c8385328d59d6b21808d5058d&token=app-android1-0-71415-4cc21b2d56b781c7e65d2413e6323fcb&logo=0&expire=0&did=40f898e5-09d2-4ebd-af57-4fc70c7a2cb4","middle2":"71415rOQQY4ughwh_900.flv?wsAuth=820e61fef21ce0ac05ede18981934d95&token=app-android1-0-71415-cc8ed1a19716ce16019d927a9c6053aa&logo=0&expire=0&did=40f898e5-09d2-4ebd-af57-4fc70c7a2cb4"},"cdns":["ws","tct","ws2","dl"],"online":423056,"credit_illegal":"0","vod_quality":"0","cate_id":"19"}
- */
-
- private int error;
- /**
- * use_p2p : 0
- * show_details : 更多资讯请关注微博Jerry_寅子 百度寅子吧
- * nickname : 寅子
- * rtmp_url : http://hdl3.douyucdn.cn/live
- * anchor_city : 鱼塘
- * specific_status : 1
- * url : /yinzitv
- * servers : [{"ip":"119.90.49.88","port":"8090"},{"ip":"119.90.49.89","port":"8093"},{"ip":"119.90.49.86","port":"8078"},{"ip":"119.90.49.90","port":"8100"},{"ip":"119.90.49.88","port":"8086"},{"ip":"119.90.49.95","port":"8074"},{"ip":"119.90.49.89","port":"8095"},{"ip":"119.90.49.87","port":"8084"},{"ip":"119.90.49.92","port":"8059"},{"ip":"119.90.49.92","port":"8058"},{"ip":"119.90.49.107","port":"8032"},{"ip":"119.90.49.105","port":"8022"},{"ip":"119.90.49.104","port":"8018"},{"ip":"119.90.49.109","port":"8044"},{"ip":"119.90.49.87","port":"8081"},{"ip":"119.90.49.87","port":"8082"},{"ip":"119.90.49.109","port":"8041"},{"ip":"119.90.49.106","port":"8029"},{"ip":"119.90.49.93","port":"8065"},{"ip":"119.90.49.105","port":"8025"},{"ip":"119.90.49.92","port":"8057"},{"ip":"119.90.49.103","port":"8012"},{"ip":"119.90.49.102","port":"8006"},{"ip":"119.90.49.108","port":"8039"},{"ip":"119.90.49.109","port":"8043"},{"ip":"119.90.49.103","port":"8011"},{"ip":"119.90.49.104","port":"8019"},{"ip":"119.90.49.101","port":"8005"},{"ip":"119.90.49.87","port":"8083"},{"ip":"119.90.49.105","port":"8023"}]
- * rtmp_cdn : ws
- * specific_catalog : yinzitv
- * cate_id1 : 1
- * show_status : 1
- * game_icon_url : https://staticlive.douyucdn.cn/upload/game_cate/602c38f19a4fe9af40fdb64a00ce9ed5.jpg
- * game_name : 主机游戏
- * cdnsWithName : [{"name":"主线路","cdn":"ws"},{"name":"备用线路5","cdn":"tct"},{"name":"备用线路2","cdn":"ws2"},{"name":"备用线路3","cdn":"dl"}]
- * show_time : 1474192791
- * isVertical : 0
- * rtmp_live : 71415rOQQY4ughwh.flv?wsAuth=52ff32cd2a1bde42eada0c8a8af08bc8&token=app-android1-0-71415-7daf98dd26d986af276fc121cd96ce2f&logo=0&expire=0&did=40f898e5-09d2-4ebd-af57-4fc70c7a2cb4
- * fans : 1013218
- * game_url : /directory/game/TVgame
- * room_src : http://rpic.douyucdn.cn/z1609/18/19/71415_160918195249.jpg
- * is_white_list : 0
- * room_name : 斗鱼NO.1声优-NBA2K17巨猩崛起
- * owner_uid : 2488316
- * owner_avatar : https://apic.douyucdn.cn/upload/avatar/002/48/83/16_avatar_big.jpg
- * black : []
- * vertical_src : http://rpic.douyucdn.cn/z1609/18/19/71415_160918195249.jpg
- * room_dm_delay : 30
- * owner_weight : 203.6t
- * is_pass_player : 0
- * hls_url : http://hls3.douyucdn.cn/live/71415rOQQY4ughwh/playlist.m3u8?wsSecret=9c5cf4cb31b8e4f6f526a15352b4373b&wsTime=1474200325
- * room_id : 71415
- * cur_credit : 12
- * gift_ver : v2.2.9.1
- * low_credit : 4
- * gift : [{"himg":"http://staticlive.douyucdn.cn/upload/dygift/1606/6b81104cddfc8e4180595ddabe2175e9.gif","pdhimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/31143be41f9ff98220b739d5681b2f4a.gif","gx":1000,"mobile_big_effect_icon_0":"http://staticlive.douyucdn.cn/upload/dygift/1606/a7c2d1fd8a8f4a332bd6ad200a7fad07.gif","cimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/2883a0029f72e982f42276db50d8295e.gif","mobile_big_effect_icon_1":"http://staticlive.douyucdn.cn/upload/dygift/1606/475c160777db69a58d511f040c23987c.png","big_effect_icon":"http://staticlive.douyucdn.cn/upload/dygift/1606/08b9cd1fe7b3e88524af33f1ad7d633c.png","pdbimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/80f1c6874d2736bed8e996130bbe674a.png","mobile_big_effect_icon_2":"http://staticlive.douyucdn.cn/upload/dygift/1606/adaa674619c27283ec8722744e9adf8b.png","mimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/e3858afacdf2470373e58c8a97178583.png","brgb":"#9a76c5","mobile_big_effect_icon_3":"http://staticlive.douyucdn.cn/upload/dygift/1606/5cc70f77e75a5c4b4933d71e62d1b815.png","m_ef_gif_2":"","pimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/39e0edd5a6201b88d6c4309cde848449.png","pt":"余额不足,飞机还在滑行中","id":"54","intro":"主播带我飞","pc":"10000","m_ef_gif_1":"http://staticlive.douyucdn.cn/upload/dygift/1606/a7c2d1fd8a8f4a332bd6ad200a7fad07.gif","urgb":"#581c86","ef":2,"sort":"56766","ch":"1","stay_time":60000,"desc":"赠送房间广播","mobile_stay_time":"50000","mobile_small_effect_icon":"","grgb":"#9104af","drgb":"#210101","pad_big_effect_icon":"http://staticlive.douyucdn.cn/upload/dygift/1606/ad6896bd52fcd1b63da12ce46d8edd0b.png","type":"2","mobimg":"http://staticlive.douyucdn.cn/upload/dygift/95b474c513a2a0b7ddee9c72e05cf0fc.png","small_effect_icon":"http://staticlive.douyucdn.cn/upload/dygift/1606/7d378950c5be267d93ad0522b6909d79.png","name":"飞机","mobile_icon_v2":"http://staticlive.douyucdn.cn/upload/dygift/1606/7ec31cfe83b4de01377c7e435371e4d6.png"},{"himg":"http://staticlive.douyucdn.cn/upload/dygift/1606/b90d1ba81b9448c012e057d5b387e60b.gif","pdhimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/8e424060ec7d2fccd91292cf029c82d6.gif","gx":60,"mobile_big_effect_icon_0":"","cimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/6c15b652ed0de9e8236081452d03ad8c.gif","mobile_big_effect_icon_1":"","big_effect_icon":"","pdbimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/0839305733dacc9f3225d147104d91c5.png","mobile_big_effect_icon_2":"","mimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/28eb351ecd47ff1de8ec9266ff13f9f9.png","brgb":"#ffa0a0","mobile_big_effect_icon_3":"","m_ef_gif_2":"","pimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/777039db9e85e95a04c2abbccfecb63b.png","pt":"余额不足,666还在酝酿中","id":"52","intro":"主播这么6,你麻麻知道吗","pc":"600","m_ef_gif_1":"","urgb":"#e61324","ef":0,"sort":"56730","ch":"1","stay_time":6000,"desc":"","mobile_stay_time":"6000","mobile_small_effect_icon":"","grgb":"#902c00","drgb":"#210101","pad_big_effect_icon":"","type":"2","mobimg":"","small_effect_icon":"","name":"666","mobile_icon_v2":"http://staticlive.douyucdn.cn/upload/dygift/1606/d0f0b2e347138368dabcd1a7a0d5804e.png"},{"himg":"http://staticlive.douyucdn.cn/upload/dygift/1606/d76029bc0f1f8c95bc74dd9a1d35f60e.gif","pdhimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/37e882815c4291a6b80518d7fa412118.gif","gx":1,"mobile_big_effect_icon_0":"","cimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/81ce1befcbb82236342510d487a45ccf.gif","mobile_big_effect_icon_1":"","big_effect_icon":"","pdbimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/7b0451a9c6ae4e7dc70dd109f896e8db.png","mobile_big_effect_icon_2":"","mimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/d6f46156d7265c30e472ba56d523f4f8.png","brgb":"#f79b5e","mobile_big_effect_icon_3":"","m_ef_gif_2":"","pimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/80bda610a81072efdcc94cb8846957a1.png","pt":"余额不足,赞还在笔划生成中","id":"57","intro":"赞一个","pc":"10","m_ef_gif_1":"","urgb":"#a20b0b","ef":0,"sort":"32589","ch":"1","stay_time":4000,"desc":"","mobile_stay_time":"2000","mobile_small_effect_icon":"","grgb":"#6a2f00","drgb":"#210101","pad_big_effect_icon":"","type":"2","mobimg":"","small_effect_icon":"","name":"赞","mobile_icon_v2":"http://staticlive.douyucdn.cn/upload/dygift/1606/df66a7c0fe8f77ca51021cbc198a0257.png"},{"himg":"http://staticlive.douyucdn.cn/upload/dygift/1606/66e93802817e71f6b9543b11670c7048.gif","pdhimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/52205fdfd37b1b002d2de4d91c3afd99.gif","gx":5000,"mobile_big_effect_icon_0":"http://staticlive.douyucdn.cn/upload/dygift/1606/f3eb5d9c1573a373aacca7466f5050ab.gif","cimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/52417ea2f7c9bdff262a364c653ec047.gif","mobile_big_effect_icon_1":"http://staticlive.douyucdn.cn/upload/dygift/1606/180a0ad10fbf582e6990efd31add8426.png","big_effect_icon":"http://staticlive.douyucdn.cn/upload/dygift/1606/33d2f977b12205e10a9a3522a1e9fd90.gif","pdbimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/7167a38ffe55949df05c7a661071b39d.png","mobile_big_effect_icon_2":"http://staticlive.douyucdn.cn/upload/dygift/1606/fa553dcf79565f7b8a2d6e96b6c7da90.png","mimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/c659808dbe34657b2bddd788a0eecfe4.png","brgb":"#ff831f","mobile_big_effect_icon_3":"http://staticlive.douyucdn.cn/upload/dygift/1606/287527403ec8b6788a0ead58c15cb7eb.png","m_ef_gif_2":"","pimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/7964d4092fcb0fc1af5a5e09f5b76d94.gif","pt":"余额不足,火箭被卡在发射塔上了","id":"59","intro":"我们的征途是星辰大海","pc":"50000","m_ef_gif_1":"http://staticlive.douyucdn.cn/upload/dygift/1606/f3eb5d9c1573a373aacca7466f5050ab.gif","urgb":"#750101","ef":1,"sort":"6","ch":"0","stay_time":200000,"desc":"赠送网站广播并派送出神秘宝箱","mobile_stay_time":"150000","mobile_small_effect_icon":"http://staticlive.douyucdn.cn/upload/dygift/1606/149b382f03945f6a0a9dbd5a67e6acc0.png","grgb":"#a20b0b","drgb":"#210101","pad_big_effect_icon":"http://staticlive.douyucdn.cn/upload/dygift/1606/37a9d72b1821753fe2950ca00c8d57c9.gif","type":"2","mobimg":"http://staticlive.douyucdn.cn/upload/dygift/4a6604a94ee694ff2f8f7782d525de86.png","small_effect_icon":"http://staticlive.douyucdn.cn/upload/dygift/1606/01d7d7288adfd424bdd4a6a8e8c0b9ea.png","name":"火箭","mobile_icon_v2":"http://staticlive.douyucdn.cn/upload/dygift/1606/4b612f6c5753dffc8b51b7dbd9f05d35.png"},{"himg":"http://staticlive.douyucdn.cn/upload/dygift/1606/93daef170894a9d6bd8495fa0f81e165.gif","pdhimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/f0ae1148d092f0cb2fe162152e4bff16.gif","gx":1000,"mobile_big_effect_icon_0":"http://staticlive.douyucdn.cn/upload/dygift/1606/a7c2d1fd8a8f4a332bd6ad200a7fad07.gif","cimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/3ef88917e109e6e54667098af5c03d67.gif","mobile_big_effect_icon_1":"http://staticlive.douyucdn.cn/upload/dygift/1606/475c160777db69a58d511f040c23987c.png","big_effect_icon":"http://staticlive.douyucdn.cn/upload/dygift/1606/08b9cd1fe7b3e88524af33f1ad7d633c.png","pdbimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/f7a44c0b6ac21210e905447929e8de39.png","mobile_big_effect_icon_2":"http://staticlive.douyucdn.cn/upload/dygift/1606/adaa674619c27283ec8722744e9adf8b.png","mimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/76dd0d8c803b133467e4f0196c7d071d.png","brgb":"#9a76c5","mobile_big_effect_icon_3":"http://staticlive.douyucdn.cn/upload/dygift/1606/5cc70f77e75a5c4b4933d71e62d1b815.png","m_ef_gif_2":"","pimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/d8993d42da06ae6c625ace3dff6448a1.png","pt":"余额不足,飞机还在滑行中","id":"195","intro":"主播带我飞","pc":"10000","m_ef_gif_1":"http://staticlive.douyucdn.cn/upload/dygift/1606/a7c2d1fd8a8f4a332bd6ad200a7fad07.gif","urgb":"#581c86","ef":2,"sort":"5","ch":"0","stay_time":60000,"desc":"赠送房间广播","mobile_stay_time":"50000","mobile_small_effect_icon":"","grgb":"#9104af","drgb":"#210101","pad_big_effect_icon":"http://staticlive.douyucdn.cn/upload/dygift/1606/ad6896bd52fcd1b63da12ce46d8edd0b.png","type":"2","mobimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/ac245d735b62dcae65dd3eea9352b7e3.png","small_effect_icon":"http://staticlive.douyucdn.cn/upload/dygift/1606/7d378950c5be267d93ad0522b6909d79.png","name":"飞机","mobile_icon_v2":"http://staticlive.douyucdn.cn/upload/dygift/1606/da5a1fd20028953ad93a8a2bbd359a89.png"},{"himg":"http://staticlive.douyucdn.cn/upload/dygift/1606/6681d1a713ece37912a1dac339c9fb29.gif","pdhimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/f70971ba31d835fe7f6ec70102a5ed6a.gif","gx":60,"mobile_big_effect_icon_0":"","cimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/c7cbf10ede359644ca193cd95369cc48.gif","mobile_big_effect_icon_1":"","big_effect_icon":"","pdbimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/0316cb9c7b06164adae71819ff27bb0c.png","mobile_big_effect_icon_2":"","mimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/9c30da343dc3b1e65156ae0570603d06.png","brgb":"#ffa0a0","mobile_big_effect_icon_3":"","m_ef_gif_2":"","pimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/9665f1867726d057fc6b72df6d3e4110.png","pt":"余额不足,666还在酝酿中","id":"194","intro":"主播这么6,你麻麻知道吗","pc":"600","m_ef_gif_1":"","urgb":"#e61324","ef":0,"sort":"4","ch":"0","stay_time":6000,"desc":"","mobile_stay_time":"6000","mobile_small_effect_icon":"","grgb":"#902c00","drgb":"#210101","pad_big_effect_icon":"","type":"2","mobimg":"","small_effect_icon":"","name":"666","mobile_icon_v2":"http://staticlive.douyucdn.cn/upload/dygift/1606/863edbbfdcc8256a461f99cf01527fe0.png"},{"himg":"http://staticlive.douyucdn.cn/upload/dygift/1606/e144b05fd7dec1b194909e02b6dff92f.gif","pdhimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/179fc49b64440ac5c9d6d2c13ef58921.gif","gx":2,"mobile_big_effect_icon_0":"","cimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/344fe065475cc90728b7744818ffe2b5.gif","mobile_big_effect_icon_1":"","big_effect_icon":"","pdbimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/d97486ec2260c2ab3697ee183df2a892.png","mobile_big_effect_icon_2":"","mimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/3cecdd879dc9e9ec5f0c77099201ca94.png","brgb":"#6075b6","mobile_big_effect_icon_3":"","m_ef_gif_2":"","pimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/94f7e067812518652383ae608f59392a.png","pt":"余额不足,小鸡还在孵化中","id":"193","intro":"真是太鶸拉~","pc":"20","m_ef_gif_1":"","urgb":"#616e84","ef":0,"sort":"3","ch":"0","stay_time":4000,"desc":"","mobile_stay_time":"4000","mobile_small_effect_icon":"","grgb":"#616e84","drgb":"#31364b","pad_big_effect_icon":"","type":"2","mobimg":"","small_effect_icon":"","name":"弱鸡","mobile_icon_v2":"http://staticlive.douyucdn.cn/upload/dygift/1606/487fb96a74ecd9412b9c6cbf0a14623a.png"},{"himg":"http://staticlive.douyucdn.cn/upload/dygift/1606/b09488ff5ebe85c4f66e72e27b53d517.gif","pdhimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/e66c37cea4049c3168e89ce4e464f16f.gif","gx":1,"mobile_big_effect_icon_0":"","cimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/09d957288d2dfb811de4c5784ec74414.gif","mobile_big_effect_icon_1":"","big_effect_icon":"","pdbimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/8b795f4ee116c22af81ba2e3441c0625.png","mobile_big_effect_icon_2":"","mimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/d1ebe78032472a3146b5f8e717ead680.png","brgb":"#f79b5e","mobile_big_effect_icon_3":"","m_ef_gif_2":"","pimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/ecb0d4c424ff0bafbf4ba52a3284268b.png","pt":"余额不足,赞还在笔划生成中","id":"192","intro":"赞一个!","pc":"10","m_ef_gif_1":"","urgb":"#a20b0b","ef":0,"sort":"2","ch":"0","stay_time":2000,"desc":"","mobile_stay_time":"2000","mobile_small_effect_icon":"","grgb":"#6a2f00","drgb":"#210101","pad_big_effect_icon":"","type":"2","mobimg":"","small_effect_icon":"","name":"赞","mobile_icon_v2":"http://staticlive.douyucdn.cn/upload/dygift/1606/4e4d80671f23025f901a054bf3febcf7.png"},{"himg":"http://staticlive.douyucdn.cn/upload/dygift/1606/072dc9aea67fb42f095f973c8e0a183e.png","pdhimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/af31b1e87d5ce95abb9e63d2cb73b821.png","gx":1,"mobile_big_effect_icon_0":"","cimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/c3226805223b413ff84fa972b4ebdb13.png","mobile_big_effect_icon_1":"","big_effect_icon":"","pdbimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/9cae286a5687e8709c6fe957bea41c06.png","mobile_big_effect_icon_2":"","mimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/37a913eb1d9b3e8e6278d8a309696d58.png","brgb":"#fdd592","mobile_big_effect_icon_3":"","m_ef_gif_2":"","pimg":"http://staticlive.douyucdn.cn/upload/dygift/1606/9251ec1e5badb67527b99b15e1f96a95.png","pt":"","id":"191","intro":"绝佳的增重美食","pc":"100","m_ef_gif_1":"","urgb":"#dd4e00","ef":0,"sort":"1","ch":"0","stay_time":1000,"desc":"","mobile_stay_time":"1500","mobile_small_effect_icon":"","grgb":"#c64b00","drgb":"#210101","pad_big_effect_icon":"","type":"1","mobimg":"","small_effect_icon":"","name":"100鱼丸","mobile_icon_v2":"http://staticlive.douyucdn.cn/upload/dygift/1606/96f05ad1f8b1eb5bb37526533c9d6bfb.png"}]
- * rtmp_multi_bitrate : {"middle":"71415rOQQY4ughwh_550.flv?wsAuth=3555423c8385328d59d6b21808d5058d&token=app-android1-0-71415-4cc21b2d56b781c7e65d2413e6323fcb&logo=0&expire=0&did=40f898e5-09d2-4ebd-af57-4fc70c7a2cb4","middle2":"71415rOQQY4ughwh_900.flv?wsAuth=820e61fef21ce0ac05ede18981934d95&token=app-android1-0-71415-cc8ed1a19716ce16019d927a9c6053aa&logo=0&expire=0&did=40f898e5-09d2-4ebd-af57-4fc70c7a2cb4"}
- * cdns : ["ws","tct","ws2","dl"]
- * online : 423056
- * credit_illegal : 0
- * vod_quality : 0
- * cate_id : 19
- */
-
- private DataBean data;
-
- public int getError() {
- return error;
- }
-
- public void setError(int error) {
- this.error = error;
- }
-
- public DataBean getData() {
- return data;
- }
-
- public void setData(DataBean data) {
- this.data = data;
- }
-
- public static class DataBean {
- private String use_p2p;
- private String show_details;
- private String nickname;
- private String rtmp_url;
- private String anchor_city;
- private String specific_status;
- private String url;
- private String rtmp_cdn;
- private String specific_catalog;
- private int cate_id1;
- private String show_status;
- private String game_icon_url;
- private String game_name;
- private String show_time;
- private int isVertical;
- private String rtmp_live;
- private String fans;
- private String game_url;
- private String room_src;
- private String is_white_list;
- private String room_name;
- private String owner_uid;
- private String owner_avatar;
- private String vertical_src;
- private int room_dm_delay;
- private String owner_weight;
- private int is_pass_player;
- private String hls_url;
- private String room_id;
- private String cur_credit;
- private String gift_ver;
- private String low_credit;
- /**
- * middle : 71415rOQQY4ughwh_550.flv?wsAuth=3555423c8385328d59d6b21808d5058d&token=app-android1-0-71415-4cc21b2d56b781c7e65d2413e6323fcb&logo=0&expire=0&did=40f898e5-09d2-4ebd-af57-4fc70c7a2cb4
- * middle2 : 71415rOQQY4ughwh_900.flv?wsAuth=820e61fef21ce0ac05ede18981934d95&token=app-android1-0-71415-cc8ed1a19716ce16019d927a9c6053aa&logo=0&expire=0&did=40f898e5-09d2-4ebd-af57-4fc70c7a2cb4
- */
-
- private RtmpMultiBitrateBean rtmp_multi_bitrate;
- private int online;
- private String credit_illegal;
- private String vod_quality;
- private String cate_id;
- /**
- * ip : 119.90.49.88
- * port : 8090
- */
-
- private List servers;
- /**
- * name : 主线路
- * cdn : ws
- */
-
- private List cdnsWithName;
- private List black;
- /**
- * himg : http://staticlive.douyucdn.cn/upload/dygift/1606/6b81104cddfc8e4180595ddabe2175e9.gif
- * pdhimg : http://staticlive.douyucdn.cn/upload/dygift/1606/31143be41f9ff98220b739d5681b2f4a.gif
- * gx : 1000
- * mobile_big_effect_icon_0 : http://staticlive.douyucdn.cn/upload/dygift/1606/a7c2d1fd8a8f4a332bd6ad200a7fad07.gif
- * cimg : http://staticlive.douyucdn.cn/upload/dygift/1606/2883a0029f72e982f42276db50d8295e.gif
- * mobile_big_effect_icon_1 : http://staticlive.douyucdn.cn/upload/dygift/1606/475c160777db69a58d511f040c23987c.png
- * big_effect_icon : http://staticlive.douyucdn.cn/upload/dygift/1606/08b9cd1fe7b3e88524af33f1ad7d633c.png
- * pdbimg : http://staticlive.douyucdn.cn/upload/dygift/1606/80f1c6874d2736bed8e996130bbe674a.png
- * mobile_big_effect_icon_2 : http://staticlive.douyucdn.cn/upload/dygift/1606/adaa674619c27283ec8722744e9adf8b.png
- * mimg : http://staticlive.douyucdn.cn/upload/dygift/1606/e3858afacdf2470373e58c8a97178583.png
- * brgb : #9a76c5
- * mobile_big_effect_icon_3 : http://staticlive.douyucdn.cn/upload/dygift/1606/5cc70f77e75a5c4b4933d71e62d1b815.png
- * m_ef_gif_2 :
- * pimg : http://staticlive.douyucdn.cn/upload/dygift/1606/39e0edd5a6201b88d6c4309cde848449.png
- * pt : 余额不足,飞机还在滑行中
- * id : 54
- * intro : 主播带我飞
- * pc : 10000
- * m_ef_gif_1 : http://staticlive.douyucdn.cn/upload/dygift/1606/a7c2d1fd8a8f4a332bd6ad200a7fad07.gif
- * urgb : #581c86
- * ef : 2
- * sort : 56766
- * ch : 1
- * stay_time : 60000
- * desc : 赠送房间广播
- * mobile_stay_time : 50000
- * mobile_small_effect_icon :
- * grgb : #9104af
- * drgb : #210101
- * pad_big_effect_icon : http://staticlive.douyucdn.cn/upload/dygift/1606/ad6896bd52fcd1b63da12ce46d8edd0b.png
- * type : 2
- * mobimg : http://staticlive.douyucdn.cn/upload/dygift/95b474c513a2a0b7ddee9c72e05cf0fc.png
- * small_effect_icon : http://staticlive.douyucdn.cn/upload/dygift/1606/7d378950c5be267d93ad0522b6909d79.png
- * name : 飞机
- * mobile_icon_v2 : http://staticlive.douyucdn.cn/upload/dygift/1606/7ec31cfe83b4de01377c7e435371e4d6.png
- */
-
- private List gift;
- private List cdns;
-
- public String getUse_p2p() {
- return use_p2p;
- }
-
- public void setUse_p2p(String use_p2p) {
- this.use_p2p = use_p2p;
- }
-
- public String getShow_details() {
- return show_details;
- }
-
- public void setShow_details(String show_details) {
- this.show_details = show_details;
- }
-
- public String getNickname() {
- return nickname;
- }
-
- public void setNickname(String nickname) {
- this.nickname = nickname;
- }
-
- public String getRtmp_url() {
- return rtmp_url;
- }
-
- public void setRtmp_url(String rtmp_url) {
- this.rtmp_url = rtmp_url;
- }
-
- public String getAnchor_city() {
- return anchor_city;
- }
-
- public void setAnchor_city(String anchor_city) {
- this.anchor_city = anchor_city;
- }
-
- public String getSpecific_status() {
- return specific_status;
- }
-
- public void setSpecific_status(String specific_status) {
- this.specific_status = specific_status;
- }
-
- public String getUrl() {
- return url;
- }
-
- public void setUrl(String url) {
- this.url = url;
- }
-
- public String getRtmp_cdn() {
- return rtmp_cdn;
- }
-
- public void setRtmp_cdn(String rtmp_cdn) {
- this.rtmp_cdn = rtmp_cdn;
- }
-
- public String getSpecific_catalog() {
- return specific_catalog;
- }
-
- public void setSpecific_catalog(String specific_catalog) {
- this.specific_catalog = specific_catalog;
- }
-
- public int getCate_id1() {
- return cate_id1;
- }
-
- public void setCate_id1(int cate_id1) {
- this.cate_id1 = cate_id1;
- }
-
- public String getShow_status() {
- return show_status;
- }
-
- public void setShow_status(String show_status) {
- this.show_status = show_status;
- }
-
- public String getGame_icon_url() {
- return game_icon_url;
- }
-
- public void setGame_icon_url(String game_icon_url) {
- this.game_icon_url = game_icon_url;
- }
-
- public String getGame_name() {
- return game_name;
- }
-
- public void setGame_name(String game_name) {
- this.game_name = game_name;
- }
-
- public String getShow_time() {
- return show_time;
- }
-
- public void setShow_time(String show_time) {
- this.show_time = show_time;
- }
-
- public int getIsVertical() {
- return isVertical;
- }
-
- public void setIsVertical(int isVertical) {
- this.isVertical = isVertical;
- }
-
- public String getRtmp_live() {
- return rtmp_live;
- }
-
- public void setRtmp_live(String rtmp_live) {
- this.rtmp_live = rtmp_live;
- }
-
- public String getFans() {
- return fans;
- }
-
- public void setFans(String fans) {
- this.fans = fans;
- }
-
- public String getGame_url() {
- return game_url;
- }
-
- public void setGame_url(String game_url) {
- this.game_url = game_url;
- }
-
- public String getRoom_src() {
- return room_src;
- }
-
- public void setRoom_src(String room_src) {
- this.room_src = room_src;
- }
-
- public String getIs_white_list() {
- return is_white_list;
- }
-
- public void setIs_white_list(String is_white_list) {
- this.is_white_list = is_white_list;
- }
-
- public String getRoom_name() {
- return room_name;
- }
-
- public void setRoom_name(String room_name) {
- this.room_name = room_name;
- }
-
- public String getOwner_uid() {
- return owner_uid;
- }
-
- public void setOwner_uid(String owner_uid) {
- this.owner_uid = owner_uid;
- }
-
- public String getOwner_avatar() {
- return owner_avatar;
- }
-
- public void setOwner_avatar(String owner_avatar) {
- this.owner_avatar = owner_avatar;
- }
-
- public String getVertical_src() {
- return vertical_src;
- }
-
- public void setVertical_src(String vertical_src) {
- this.vertical_src = vertical_src;
- }
-
- public int getRoom_dm_delay() {
- return room_dm_delay;
- }
-
- public void setRoom_dm_delay(int room_dm_delay) {
- this.room_dm_delay = room_dm_delay;
- }
-
- public String getOwner_weight() {
- return owner_weight;
- }
-
- public void setOwner_weight(String owner_weight) {
- this.owner_weight = owner_weight;
- }
-
- public int getIs_pass_player() {
- return is_pass_player;
- }
-
- public void setIs_pass_player(int is_pass_player) {
- this.is_pass_player = is_pass_player;
- }
-
- public String getHls_url() {
- return hls_url;
- }
-
- public void setHls_url(String hls_url) {
- this.hls_url = hls_url;
- }
-
- public String getRoom_id() {
- return room_id;
- }
-
- public void setRoom_id(String room_id) {
- this.room_id = room_id;
- }
-
- public String getCur_credit() {
- return cur_credit;
- }
-
- public void setCur_credit(String cur_credit) {
- this.cur_credit = cur_credit;
- }
-
- public String getGift_ver() {
- return gift_ver;
- }
-
- public void setGift_ver(String gift_ver) {
- this.gift_ver = gift_ver;
- }
-
- public String getLow_credit() {
- return low_credit;
- }
-
- public void setLow_credit(String low_credit) {
- this.low_credit = low_credit;
- }
-
- public RtmpMultiBitrateBean getRtmp_multi_bitrate() {
- return rtmp_multi_bitrate;
- }
-
- public void setRtmp_multi_bitrate(RtmpMultiBitrateBean rtmp_multi_bitrate) {
- this.rtmp_multi_bitrate = rtmp_multi_bitrate;
- }
-
- public int getOnline() {
- return online;
- }
-
- public void setOnline(int online) {
- this.online = online;
- }
-
- public String getCredit_illegal() {
- return credit_illegal;
- }
-
- public void setCredit_illegal(String credit_illegal) {
- this.credit_illegal = credit_illegal;
- }
-
- public String getVod_quality() {
- return vod_quality;
- }
-
- public void setVod_quality(String vod_quality) {
- this.vod_quality = vod_quality;
- }
-
- public String getCate_id() {
- return cate_id;
- }
-
- public void setCate_id(String cate_id) {
- this.cate_id = cate_id;
- }
-
- public List getServers() {
- return servers;
- }
-
- public void setServers(List servers) {
- this.servers = servers;
- }
-
- public List getCdnsWithName() {
- return cdnsWithName;
- }
-
- public void setCdnsWithName(List cdnsWithName) {
- this.cdnsWithName = cdnsWithName;
- }
-
- public List getBlack() {
- return black;
- }
-
- public void setBlack(List black) {
- this.black = black;
- }
-
- public List getGift() {
- return gift;
- }
-
- public void setGift(List gift) {
- this.gift = gift;
- }
-
- public List getCdns() {
- return cdns;
- }
-
- public void setCdns(List cdns) {
- this.cdns = cdns;
- }
-
- public static class RtmpMultiBitrateBean {
- private String middle;
- private String middle2;
-
- public String getMiddle() {
- return middle;
- }
-
- public void setMiddle(String middle) {
- this.middle = middle;
- }
-
- public String getMiddle2() {
- return middle2;
- }
-
- public void setMiddle2(String middle2) {
- this.middle2 = middle2;
- }
- }
-
- public static class ServersBean {
- private String ip;
- private String port;
-
- public String getIp() {
- return ip;
- }
-
- public void setIp(String ip) {
- this.ip = ip;
- }
-
- public String getPort() {
- return port;
- }
-
- public void setPort(String port) {
- this.port = port;
- }
- }
-
- public static class CdnsWithNameBean {
- private String name;
- private String cdn;
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public String getCdn() {
- return cdn;
- }
-
- public void setCdn(String cdn) {
- this.cdn = cdn;
- }
- }
-
- public static class GiftBean {
- private String himg;
- private String pdhimg;
- private int gx;
- private String mobile_big_effect_icon_0;
- private String cimg;
- private String mobile_big_effect_icon_1;
- private String big_effect_icon;
- private String pdbimg;
- private String mobile_big_effect_icon_2;
- private String mimg;
- private String brgb;
- private String mobile_big_effect_icon_3;
- private String m_ef_gif_2;
- private String pimg;
- private String pt;
- private String id;
- private String intro;
- private String pc;
- private String m_ef_gif_1;
- private String urgb;
- private int ef;
- private String sort;
- private String ch;
- private int stay_time;
- private String desc;
- private String mobile_stay_time;
- private String mobile_small_effect_icon;
- private String grgb;
- private String drgb;
- private String pad_big_effect_icon;
- private String type;
- private String mobimg;
- private String small_effect_icon;
- private String name;
- private String mobile_icon_v2;
-
- public String getHimg() {
- return himg;
- }
-
- public void setHimg(String himg) {
- this.himg = himg;
- }
-
- public String getPdhimg() {
- return pdhimg;
- }
-
- public void setPdhimg(String pdhimg) {
- this.pdhimg = pdhimg;
- }
-
- public int getGx() {
- return gx;
- }
-
- public void setGx(int gx) {
- this.gx = gx;
- }
-
- public String getMobile_big_effect_icon_0() {
- return mobile_big_effect_icon_0;
- }
-
- public void setMobile_big_effect_icon_0(String mobile_big_effect_icon_0) {
- this.mobile_big_effect_icon_0 = mobile_big_effect_icon_0;
- }
-
- public String getCimg() {
- return cimg;
- }
-
- public void setCimg(String cimg) {
- this.cimg = cimg;
- }
-
- public String getMobile_big_effect_icon_1() {
- return mobile_big_effect_icon_1;
- }
-
- public void setMobile_big_effect_icon_1(String mobile_big_effect_icon_1) {
- this.mobile_big_effect_icon_1 = mobile_big_effect_icon_1;
- }
-
- public String getBig_effect_icon() {
- return big_effect_icon;
- }
-
- public void setBig_effect_icon(String big_effect_icon) {
- this.big_effect_icon = big_effect_icon;
- }
-
- public String getPdbimg() {
- return pdbimg;
- }
-
- public void setPdbimg(String pdbimg) {
- this.pdbimg = pdbimg;
- }
-
- public String getMobile_big_effect_icon_2() {
- return mobile_big_effect_icon_2;
- }
-
- public void setMobile_big_effect_icon_2(String mobile_big_effect_icon_2) {
- this.mobile_big_effect_icon_2 = mobile_big_effect_icon_2;
- }
-
- public String getMimg() {
- return mimg;
- }
-
- public void setMimg(String mimg) {
- this.mimg = mimg;
- }
-
- public String getBrgb() {
- return brgb;
- }
-
- public void setBrgb(String brgb) {
- this.brgb = brgb;
- }
-
- public String getMobile_big_effect_icon_3() {
- return mobile_big_effect_icon_3;
- }
-
- public void setMobile_big_effect_icon_3(String mobile_big_effect_icon_3) {
- this.mobile_big_effect_icon_3 = mobile_big_effect_icon_3;
- }
-
- public String getM_ef_gif_2() {
- return m_ef_gif_2;
- }
-
- public void setM_ef_gif_2(String m_ef_gif_2) {
- this.m_ef_gif_2 = m_ef_gif_2;
- }
-
- public String getPimg() {
- return pimg;
- }
-
- public void setPimg(String pimg) {
- this.pimg = pimg;
- }
-
- public String getPt() {
- return pt;
- }
-
- public void setPt(String pt) {
- this.pt = pt;
- }
-
- public String getId() {
- return id;
- }
-
- public void setId(String id) {
- this.id = id;
- }
-
- public String getIntro() {
- return intro;
- }
-
- public void setIntro(String intro) {
- this.intro = intro;
- }
-
- public String getPc() {
- return pc;
- }
-
- public void setPc(String pc) {
- this.pc = pc;
- }
-
- public String getM_ef_gif_1() {
- return m_ef_gif_1;
- }
-
- public void setM_ef_gif_1(String m_ef_gif_1) {
- this.m_ef_gif_1 = m_ef_gif_1;
- }
-
- public String getUrgb() {
- return urgb;
- }
-
- public void setUrgb(String urgb) {
- this.urgb = urgb;
- }
-
- public int getEf() {
- return ef;
- }
-
- public void setEf(int ef) {
- this.ef = ef;
- }
-
- public String getSort() {
- return sort;
- }
-
- public void setSort(String sort) {
- this.sort = sort;
- }
-
- public String getCh() {
- return ch;
- }
-
- public void setCh(String ch) {
- this.ch = ch;
- }
-
- public int getStay_time() {
- return stay_time;
- }
-
- public void setStay_time(int stay_time) {
- this.stay_time = stay_time;
- }
-
- public String getDesc() {
- return desc;
- }
-
- public void setDesc(String desc) {
- this.desc = desc;
- }
-
- public String getMobile_stay_time() {
- return mobile_stay_time;
- }
-
- public void setMobile_stay_time(String mobile_stay_time) {
- this.mobile_stay_time = mobile_stay_time;
- }
-
- public String getMobile_small_effect_icon() {
- return mobile_small_effect_icon;
- }
-
- public void setMobile_small_effect_icon(String mobile_small_effect_icon) {
- this.mobile_small_effect_icon = mobile_small_effect_icon;
- }
-
- public String getGrgb() {
- return grgb;
- }
-
- public void setGrgb(String grgb) {
- this.grgb = grgb;
- }
-
- public String getDrgb() {
- return drgb;
- }
-
- public void setDrgb(String drgb) {
- this.drgb = drgb;
- }
-
- public String getPad_big_effect_icon() {
- return pad_big_effect_icon;
- }
-
- public void setPad_big_effect_icon(String pad_big_effect_icon) {
- this.pad_big_effect_icon = pad_big_effect_icon;
- }
-
- public String getType() {
- return type;
- }
-
- public void setType(String type) {
- this.type = type;
- }
-
- public String getMobimg() {
- return mobimg;
- }
-
- public void setMobimg(String mobimg) {
- this.mobimg = mobimg;
- }
-
- public String getSmall_effect_icon() {
- return small_effect_icon;
- }
-
- public void setSmall_effect_icon(String small_effect_icon) {
- this.small_effect_icon = small_effect_icon;
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public String getMobile_icon_v2() {
- return mobile_icon_v2;
- }
-
- public void setMobile_icon_v2(String mobile_icon_v2) {
- this.mobile_icon_v2 = mobile_icon_v2;
- }
- }
- }
-}
diff --git a/app/src/main/java/com/c9mj/platform/live/bean/LiveRoomItemBean.java b/app/src/main/java/com/c9mj/platform/live/bean/LiveRoomItemBean.java
deleted file mode 100644
index d798a06..0000000
--- a/app/src/main/java/com/c9mj/platform/live/bean/LiveRoomItemBean.java
+++ /dev/null
@@ -1,262 +0,0 @@
-package com.c9mj.platform.live.bean;
-
-/**
- * author: LMJ
- * date: 2016/9/12
- */
-public class LiveRoomItemBean {
-
- /**
- * room_id : 4809
- * room_src : https://rpic.douyucdn.cn/z1609/12/09/4809_160912094308.jpg
- * vertical_src : https://rpic.douyucdn.cn/z1609/12/09/4809_160912094308.jpg
- * isVertical : 0
- * cate_id : 1
- * room_name : 饼干:牧魂人打野!!挖坟走起来!
- * show_status : 1
- * subject :
- * show_time : 1473642332
- * owner_uid : 184165
- * specific_catalog :
- * specific_status : 0
- * vod_quality : 0
- * nickname : 饼干狂魔MasterB
- * online : 414490
- * url : /4809
- * game_url : /directory/game/LOL
- * game_name : 英雄联盟
- * child_id : 33
- * avatar : https://apic.douyucdn.cn/upload/avatar/000/18/41/65_avatar_big.jpg
- * avatar_mid : https://apic.douyucdn.cn/upload/avatar/000/18/41/65_avatar_middle.jpg
- * avatar_small : https://apic.douyucdn.cn/upload/avatar/000/18/41/65_avatar_small.jpg
- * fans : 1845827
- * ranktype : 0
- * anchor_city : 鱼塘
- */
-
- private String room_id;
- private String room_src;
- private String vertical_src;
- private int isVertical;
- private String cate_id;
- private String room_name;
- private String show_status;
- private String subject;
- private String show_time;
- private String owner_uid;
- private String specific_catalog;
- private String specific_status;
- private String vod_quality;
- private String nickname;
- private int online;
- private String url;
- private String game_url;
- private String game_name;
- private String child_id;
- private String avatar;
- private String avatar_mid;
- private String avatar_small;
- private String fans;
- private int ranktype;
- private String anchor_city;
-
- public String getRoom_id() {
- return room_id;
- }
-
- public void setRoom_id(String room_id) {
- this.room_id = room_id;
- }
-
- public String getRoom_src() {
- return room_src;
- }
-
- public void setRoom_src(String room_src) {
- this.room_src = room_src;
- }
-
- public String getVertical_src() {
- return vertical_src;
- }
-
- public void setVertical_src(String vertical_src) {
- this.vertical_src = vertical_src;
- }
-
- public int getIsVertical() {
- return isVertical;
- }
-
- public void setIsVertical(int isVertical) {
- this.isVertical = isVertical;
- }
-
- public String getCate_id() {
- return cate_id;
- }
-
- public void setCate_id(String cate_id) {
- this.cate_id = cate_id;
- }
-
- public String getRoom_name() {
- return room_name;
- }
-
- public void setRoom_name(String room_name) {
- this.room_name = room_name;
- }
-
- public String getShow_status() {
- return show_status;
- }
-
- public void setShow_status(String show_status) {
- this.show_status = show_status;
- }
-
- public String getSubject() {
- return subject;
- }
-
- public void setSubject(String subject) {
- this.subject = subject;
- }
-
- public String getShow_time() {
- return show_time;
- }
-
- public void setShow_time(String show_time) {
- this.show_time = show_time;
- }
-
- public String getOwner_uid() {
- return owner_uid;
- }
-
- public void setOwner_uid(String owner_uid) {
- this.owner_uid = owner_uid;
- }
-
- public String getSpecific_catalog() {
- return specific_catalog;
- }
-
- public void setSpecific_catalog(String specific_catalog) {
- this.specific_catalog = specific_catalog;
- }
-
- public String getSpecific_status() {
- return specific_status;
- }
-
- public void setSpecific_status(String specific_status) {
- this.specific_status = specific_status;
- }
-
- public String getVod_quality() {
- return vod_quality;
- }
-
- public void setVod_quality(String vod_quality) {
- this.vod_quality = vod_quality;
- }
-
- public String getNickname() {
- return nickname;
- }
-
- public void setNickname(String nickname) {
- this.nickname = nickname;
- }
-
- public int getOnline() {
- return online;
- }
-
- public void setOnline(int online) {
- this.online = online;
- }
-
- public String getUrl() {
- return url;
- }
-
- public void setUrl(String url) {
- this.url = url;
- }
-
- public String getGame_url() {
- return game_url;
- }
-
- public void setGame_url(String game_url) {
- this.game_url = game_url;
- }
-
- public String getGame_name() {
- return game_name;
- }
-
- public void setGame_name(String game_name) {
- this.game_name = game_name;
- }
-
- public String getChild_id() {
- return child_id;
- }
-
- public void setChild_id(String child_id) {
- this.child_id = child_id;
- }
-
- public String getAvatar() {
- return avatar;
- }
-
- public void setAvatar(String avatar) {
- this.avatar = avatar;
- }
-
- public String getAvatar_mid() {
- return avatar_mid;
- }
-
- public void setAvatar_mid(String avatar_mid) {
- this.avatar_mid = avatar_mid;
- }
-
- public String getAvatar_small() {
- return avatar_small;
- }
-
- public void setAvatar_small(String avatar_small) {
- this.avatar_small = avatar_small;
- }
-
- public String getFans() {
- return fans;
- }
-
- public void setFans(String fans) {
- this.fans = fans;
- }
-
- public int getRanktype() {
- return ranktype;
- }
-
- public void setRanktype(int ranktype) {
- this.ranktype = ranktype;
- }
-
- public String getAnchor_city() {
- return anchor_city;
- }
-
- public void setAnchor_city(String anchor_city) {
- this.anchor_city = anchor_city;
- }
-}
diff --git a/app/src/main/java/com/c9mj/platform/live/mvp/presenter/ILiveListPresenter.java b/app/src/main/java/com/c9mj/platform/live/mvp/presenter/ILiveListPresenter.java
new file mode 100644
index 0000000..143580d
--- /dev/null
+++ b/app/src/main/java/com/c9mj/platform/live/mvp/presenter/ILiveListPresenter.java
@@ -0,0 +1,9 @@
+package com.c9mj.platform.live.mvp.presenter;
+
+/**
+ * author: LMJ
+ * date: 2016/9/9
+ */
+public interface ILiveListPresenter {
+ void getLiveList(int offset, int limit, String game_type);//请求不同游戏的直播列表
+}
diff --git a/app/src/main/java/com/c9mj/platform/live/mvp/presenter/ILivePresenter.java b/app/src/main/java/com/c9mj/platform/live/mvp/presenter/ILivePresenter.java
deleted file mode 100644
index f33c56f..0000000
--- a/app/src/main/java/com/c9mj/platform/live/mvp/presenter/ILivePresenter.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package com.c9mj.platform.live.mvp.presenter;
-
-/**
- * author: LMJ
- * date: 2016/9/9
- */
-public interface ILivePresenter {
- void getColumnList();//得到顶部Tab的具体数据
-}
diff --git a/app/src/main/java/com/c9mj/platform/live/mvp/presenter/ILiveRoomListPresenter.java b/app/src/main/java/com/c9mj/platform/live/mvp/presenter/ILiveRoomListPresenter.java
deleted file mode 100644
index 7ecd982..0000000
--- a/app/src/main/java/com/c9mj/platform/live/mvp/presenter/ILiveRoomListPresenter.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package com.c9mj.platform.live.mvp.presenter;
-
-/**
- * author: LMJ
- * date: 2016/9/9
- */
-public interface ILiveRoomListPresenter {
- void getAllRoomList(int offset, int limit, String client_sys);//请求全部直播
- void getColumnRoomList(String cate_id, int offset, int limit, String clientSys);//请求不同栏目直播
-}
diff --git a/app/src/main/java/com/c9mj/platform/live/mvp/presenter/impl/LiveListPresenterImpl.java b/app/src/main/java/com/c9mj/platform/live/mvp/presenter/impl/LiveListPresenterImpl.java
new file mode 100644
index 0000000..03fcbc2
--- /dev/null
+++ b/app/src/main/java/com/c9mj/platform/live/mvp/presenter/impl/LiveListPresenterImpl.java
@@ -0,0 +1,57 @@
+package com.c9mj.platform.live.mvp.presenter.impl;
+
+import android.content.Context;
+
+import com.c9mj.platform.live.api.LiveAPI;
+import com.c9mj.platform.live.bean.LiveListItemBean;
+import com.c9mj.platform.live.mvp.presenter.ILiveListPresenter;
+import com.c9mj.platform.live.mvp.view.ILiveListFragment;
+import com.c9mj.platform.util.retrofit.HttpSubscriber;
+import com.c9mj.platform.util.retrofit.RetrofitHelper;
+
+import java.util.List;
+
+/**
+ * author: LMJ
+ * date: 2016/9/9
+ */
+public class LiveListPresenterImpl implements ILiveListPresenter {
+
+ private Context context;
+ private ILiveListFragment view;
+
+ public LiveListPresenterImpl(Context context, ILiveListFragment view) {
+ this.context = context;
+ this.view = view;
+ }
+
+
+ @Override
+ public void getLiveList(int offset, int limit, String game_type) {
+ RetrofitHelper.getLiveHelper().create(LiveAPI.class)
+ .getLiveList(
+ offset,
+ limit,
+ game_type,
+ LiveAPI.MAX_ID,
+ LiveAPI.IMEI,
+ LiveAPI.OS_TYPE,
+ LiveAPI.OS_VERSION,
+ LiveAPI.VERSION,
+ LiveAPI.LANG
+ )
+ .compose(RetrofitHelper.>handleLiveResult())
+ .subscribe(new HttpSubscriber>() {
+ @Override
+ public void _onNext(List roomBeanList) {
+ view.updateRecyclerView(roomBeanList);
+ }
+
+ @Override
+ public void _onError(String message) {
+ view.showError(message);
+ }
+ });
+ }
+
+}
diff --git a/app/src/main/java/com/c9mj/platform/live/mvp/presenter/impl/LivePresenterImpl.java b/app/src/main/java/com/c9mj/platform/live/mvp/presenter/impl/LivePresenterImpl.java
deleted file mode 100644
index 04a5dfa..0000000
--- a/app/src/main/java/com/c9mj/platform/live/mvp/presenter/impl/LivePresenterImpl.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package com.c9mj.platform.live.mvp.presenter.impl;
-
-import android.content.Context;
-
-import com.c9mj.platform.live.bean.LiveIndicatorBean;
-import com.c9mj.platform.live.mvp.presenter.ILivePresenter;
-import com.c9mj.platform.live.mvp.view.ILiveFragment;
-import com.c9mj.platform.util.retrofit.HttpSubscriber;
-import com.c9mj.platform.util.retrofit.RetrofitHelper;
-import com.c9mj.platform.live.api.LiveAPI;
-
-import java.util.List;
-
-/**
- * author: LMJ
- * date: 2016/9/9
- */
-public class LivePresenterImpl implements ILivePresenter {
-
- private Context context;
- private ILiveFragment view;
-
- public LivePresenterImpl(Context context, ILiveFragment view) {
- this.context = context;
- this.view = view;
- }
-
- @Override
- public void getColumnList() {
- RetrofitHelper.getLiveHelper().create(LiveAPI.class)
- .getColumnList()
- .compose(RetrofitHelper.>handleLiveResult())
- .subscribe(new HttpSubscriber>() {
- @Override
- public void _onNext(List columnBeanList) {
- view.updateIndicator(columnBeanList);
- }
-
- @Override
- public void _onError(String message) {
- view.showError(message);
- }
- });
- }
-}
diff --git a/app/src/main/java/com/c9mj/platform/live/mvp/presenter/impl/LiveRoomListPresenterImpl.java b/app/src/main/java/com/c9mj/platform/live/mvp/presenter/impl/LiveRoomListPresenterImpl.java
deleted file mode 100644
index 77185c4..0000000
--- a/app/src/main/java/com/c9mj/platform/live/mvp/presenter/impl/LiveRoomListPresenterImpl.java
+++ /dev/null
@@ -1,64 +0,0 @@
-package com.c9mj.platform.live.mvp.presenter.impl;
-
-import android.content.Context;
-
-import com.c9mj.platform.live.api.LiveAPI;
-import com.c9mj.platform.live.bean.LiveRoomItemBean;
-import com.c9mj.platform.live.mvp.presenter.ILiveRoomListPresenter;
-import com.c9mj.platform.live.mvp.view.ILiveRoomListFragment;
-import com.c9mj.platform.util.retrofit.HttpSubscriber;
-import com.c9mj.platform.util.retrofit.RetrofitHelper;
-
-import java.util.List;
-
-/**
- * author: LMJ
- * date: 2016/9/9
- */
-public class LiveRoomListPresenterImpl implements ILiveRoomListPresenter {
-
- private Context context;
- private ILiveRoomListFragment view;
-
- public LiveRoomListPresenterImpl(Context context, ILiveRoomListFragment view) {
- this.context = context;
- this.view = view;
- }
-
- @Override
- public void getAllRoomList(int offset, int limit, String client_sys) {
- RetrofitHelper.getLiveHelper().create(LiveAPI.class)
- .getAllLiveList(offset, limit, client_sys)
- .compose(RetrofitHelper.>handleLiveResult())
- .subscribe(new HttpSubscriber>() {
- @Override
- public void _onNext(List roomBeanList) {
- view.updateRecyclerView(roomBeanList);
- }
-
- @Override
- public void _onError(String message) {
- view.showError(message);
- }
- });
- }
-
- @Override
- public void getColumnRoomList(String cate_id, int offset, int limit, String client_sys) {
- RetrofitHelper.getLiveHelper().create(LiveAPI.class)
- .getColumnLiveList(cate_id, offset, limit, client_sys)
- .compose(RetrofitHelper.>handleLiveResult())
- .subscribe(new HttpSubscriber>() {
- @Override
- public void _onNext(List roomBeanList) {
- view.updateRecyclerView(roomBeanList);
- }
-
- @Override
- public void _onError(String message) {
- view.showError(message);
- }
- });
- }
-
-}
diff --git a/app/src/main/java/com/c9mj/platform/live/mvp/view/ILiveFragment.java b/app/src/main/java/com/c9mj/platform/live/mvp/view/ILiveFragment.java
deleted file mode 100644
index b753579..0000000
--- a/app/src/main/java/com/c9mj/platform/live/mvp/view/ILiveFragment.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package com.c9mj.platform.live.mvp.view;
-
-import com.c9mj.platform.live.bean.LiveIndicatorBean;
-
-import java.util.List;
-
-/**
- * author: LMJ
- * date: 2016/9/9
- */
-public interface ILiveFragment {
- void updateIndicator(List columnBeanList);//更新分类的Indicator
- void showError(String message);//异常错误
-}
diff --git a/app/src/main/java/com/c9mj/platform/live/mvp/view/ILiveRoomListFragment.java b/app/src/main/java/com/c9mj/platform/live/mvp/view/ILiveListFragment.java
similarity index 52%
rename from app/src/main/java/com/c9mj/platform/live/mvp/view/ILiveRoomListFragment.java
rename to app/src/main/java/com/c9mj/platform/live/mvp/view/ILiveListFragment.java
index abc83fb..9f0dcff 100644
--- a/app/src/main/java/com/c9mj/platform/live/mvp/view/ILiveRoomListFragment.java
+++ b/app/src/main/java/com/c9mj/platform/live/mvp/view/ILiveListFragment.java
@@ -1,6 +1,6 @@
package com.c9mj.platform.live.mvp.view;
-import com.c9mj.platform.live.bean.LiveRoomItemBean;
+import com.c9mj.platform.live.bean.LiveListItemBean;
import java.util.List;
@@ -8,7 +8,7 @@
* author: LMJ
* date: 2016/9/9
*/
-public interface ILiveRoomListFragment {
- void updateRecyclerView(List roomBeanList);//更新列表
+public interface ILiveListFragment {
+ void updateRecyclerView(List roomBeanList);//更新列表
void showError(String message);//异常错误
}
diff --git a/app/src/main/java/com/c9mj/platform/live/ui/LiveFragment.java b/app/src/main/java/com/c9mj/platform/live/ui/LiveFragment.java
index 7473b3e..316326b 100644
--- a/app/src/main/java/com/c9mj/platform/live/ui/LiveFragment.java
+++ b/app/src/main/java/com/c9mj/platform/live/ui/LiveFragment.java
@@ -11,10 +11,6 @@
import android.view.ViewGroup;
import com.c9mj.platform.R;
-import com.c9mj.platform.live.bean.LiveIndicatorBean;
-import com.c9mj.platform.live.mvp.presenter.impl.LivePresenterImpl;
-import com.c9mj.platform.live.mvp.view.ILiveFragment;
-import com.c9mj.platform.util.ToastUtil;
import com.c9mj.platform.util.adapter.FragmentAdapter;
import com.c9mj.platform.widget.fragment.LazyFragment;
@@ -39,14 +35,12 @@
* date: 2016/9/1
* 直播主页面
*/
-public class LiveFragment extends LazyFragment implements ILiveFragment {
+public class LiveFragment extends LazyFragment{
private List fragmentList = new ArrayList<>();
private List titleList = new ArrayList<>();
private Context context;
- private LivePresenterImpl presenter;
-
@BindView(R.id.magic_indicator)
MagicIndicator indicator;
@@ -71,7 +65,6 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container,
context = view.getContext();
- initMVP();
initFragment();
initViewPager();
initIndicator();
@@ -81,16 +74,19 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container,
@Override
protected void initLazyView(@Nullable Bundle savedInstanceState) {
- presenter.getColumnList();
- }
-
- private void initMVP() {
- presenter = new LivePresenterImpl(context, this);
}
private void initFragment() {
- fragmentList.add(LiveRoomListFragment.newInstance());
- titleList.add(getString(R.string.live_all));
+ titleList.add(getString(R.string.live_lol));
+ titleList.add(getString(R.string.live_ow));
+ titleList.add(getString(R.string.live_dota2));
+ titleList.add(getString(R.string.live_hs));
+ titleList.add(getString(R.string.live_csgo));
+ fragmentList.add(LiveListFragment.newInstance(getString(R.string.game_type_lol)));
+ fragmentList.add(LiveListFragment.newInstance(getString(R.string.game_type_ow)));
+ fragmentList.add(LiveListFragment.newInstance(getString(R.string.game_type_dota2)));
+ fragmentList.add(LiveListFragment.newInstance(getString(R.string.game_type_hs)));
+ fragmentList.add(LiveListFragment.newInstance(getString(R.string.game_type_csgo)));
}
private void initViewPager() {
@@ -101,7 +97,7 @@ private void initViewPager() {
private void initIndicator() {
CommonNavigator navigator = new CommonNavigator(context);
- navigator.setAdjustMode(false);
+ navigator.setAdjustMode(true);
navigator.setFollowTouch(true);
navigatorAdapter = new CommonNavigatorAdapter() {
@Override
@@ -142,19 +138,4 @@ public IPagerIndicator getIndicator(Context context) {
ViewPagerHelper.bind(indicator, viewPager);
}
- @Override
- public void updateIndicator(List list) {
- for (LiveIndicatorBean bean :
- list) {
- fragmentList.add(LiveRoomListFragment.newInstance(bean.getCate_id()));
- titleList.add(bean.getCate_name());
- }
- fragmentAdapter.notifyDataSetChanged();
- navigatorAdapter.notifyDataSetChanged();
- }
-
- @Override
- public void showError(String message) {
- ToastUtil.show(context, message);
- }
}
diff --git a/app/src/main/java/com/c9mj/platform/live/ui/LiveRoomListFragment.java b/app/src/main/java/com/c9mj/platform/live/ui/LiveListFragment.java
similarity index 62%
rename from app/src/main/java/com/c9mj/platform/live/ui/LiveRoomListFragment.java
rename to app/src/main/java/com/c9mj/platform/live/ui/LiveListFragment.java
index 0b98a06..ae39308 100644
--- a/app/src/main/java/com/c9mj/platform/live/ui/LiveRoomListFragment.java
+++ b/app/src/main/java/com/c9mj/platform/live/ui/LiveListFragment.java
@@ -2,23 +2,22 @@
import android.content.Context;
+import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
-import android.support.v4.app.Fragment;
import android.support.v4.widget.SwipeRefreshLayout;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.RecyclerView;
-import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.c9mj.platform.R;
-import com.c9mj.platform.live.adapter.LiveRoomAdapter;
+import com.c9mj.platform.live.adapter.LiveListAdapter;
import com.c9mj.platform.live.api.LiveAPI;
-import com.c9mj.platform.live.bean.LiveRoomItemBean;
-import com.c9mj.platform.live.mvp.presenter.impl.LiveRoomListPresenterImpl;
-import com.c9mj.platform.live.mvp.view.ILiveRoomListFragment;
+import com.c9mj.platform.live.bean.LiveListItemBean;
+import com.c9mj.platform.live.mvp.presenter.impl.LiveListPresenterImpl;
+import com.c9mj.platform.live.mvp.view.ILiveListFragment;
import com.c9mj.platform.util.ToastUtil;
import com.c9mj.platform.widget.animation.CustionAnimation;
import com.c9mj.platform.widget.fragment.LazyFragment;
@@ -31,35 +30,37 @@
import butterknife.ButterKnife;
/**
- * A simple {@link Fragment} subclass.
+ * author: LMJ
+ * date: 2016/9/19
+ * 直播列表
*/
-public class LiveRoomListFragment extends LazyFragment implements ILiveRoomListFragment,
+public class LiveListFragment extends LazyFragment implements ILiveListFragment,
SwipeRefreshLayout.OnRefreshListener,
BaseQuickAdapter.RequestLoadMoreListener {
- private static final String CATE_ID = "cate_id";
+ private static final String GAME_TYPE = "game_type";
- private String cate_id;
+ private String game_type;
private int offset = 0;//用于记录分页偏移量
- private List roomBeanList = new ArrayList<>();
+ private List roomBeanList = new ArrayList<>();
private Context context;
- private LiveRoomListPresenterImpl presenter;
+ private LiveListPresenterImpl presenter;
@BindView(R.id.refreshlayout)
SwipeRefreshLayout refreshLayout;
@BindView(R.id.recyclerview)
RecyclerView recyclerView;
- LiveRoomAdapter adapter;
+ LiveListAdapter adapter;
- public static LiveRoomListFragment newInstance() {
+ public static LiveListFragment newInstance() {
return newInstance("");
}
- public static LiveRoomListFragment newInstance(String cate_id) {
- LiveRoomListFragment fragment = new LiveRoomListFragment();
+ public static LiveListFragment newInstance(String game_type) {
+ LiveListFragment fragment = new LiveListFragment();
Bundle args = new Bundle();
- args.putString(CATE_ID, cate_id);
+ args.putString(GAME_TYPE, game_type);
fragment.setArguments(args);
return fragment;
}
@@ -69,11 +70,11 @@ public static LiveRoomListFragment newInstance(String cate_id) {
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
- View view = inflater.inflate(R.layout.fragment_live_roomlist, container, false);
+ View view = inflater.inflate(R.layout.fragment_live_list, container, false);
ButterKnife.bind(this, view);
context = view.getContext();
- cate_id = getArguments().getString(CATE_ID);//得到传入的cate_id
+ game_type = getArguments().getString(GAME_TYPE);//得到传入的cate_id
initMVP();
initRefreshView();
@@ -87,20 +88,16 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container,
@Override
protected void initLazyView(@Nullable Bundle savedInstanceState) {
if (savedInstanceState == null) {
-
refreshLayout.setProgressViewOffset(false, 0, 30);// 这句话是为了,第一次进入页面初始化数据的时候显示加载进度条
refreshLayout.setRefreshing(true);
- if (TextUtils.isEmpty(cate_id)) {//传入cate_id为空,请求全部直播
- presenter.getAllRoomList(offset, LiveAPI.LIMIT, LiveAPI.CLIENT_SYS);
- } else {//不为空,根据cate_id分类请求直播数据
- presenter.getColumnRoomList(cate_id, offset, LiveAPI.LIMIT, LiveAPI.CLIENT_SYS);
- }
+ //根据game_type分类请求直播数据
+ presenter.getLiveList(offset, LiveAPI.LIMIT, game_type );
}
}
private void initMVP() {
- presenter = new LiveRoomListPresenterImpl(context, this);
+ presenter = new LiveListPresenterImpl(context, this);
}
private void initRefreshView() {
@@ -109,7 +106,7 @@ private void initRefreshView() {
}
private void initRecyclerView() {
- adapter = new LiveRoomAdapter(roomBeanList);
+ adapter = new LiveListAdapter(roomBeanList);
recyclerView.setLayoutManager(new GridLayoutManager(context, 2));
adapter.openLoadAnimation(new CustionAnimation());
adapter.isFirstOnly(true);
@@ -122,17 +119,18 @@ private void initRecyclerView() {
@Override
public void onItemChildClick(BaseQuickAdapter baseQuickAdapter, View view, int i) {
roomBeanList.get(i);
+ startActivity(new Intent(getActivity(), LivePlayActivity.class));
}
});
}
@Override
- public void updateRecyclerView(List list) {
+ public void updateRecyclerView(List list) {
refreshLayout.setRefreshing(false);
roomBeanList.addAll(offset, list);//在roomBeanList的尾部添加
offset = roomBeanList.size();
- if (list.size() < LiveAPI.LIMIT){
- adapter.notifyDataChangedAfterLoadMore(false);
+ if (list.size() < LiveAPI.LIMIT){//分页数据size比每页数据的limit小,说明已全部加载数据
+ adapter.notifyDataChangedAfterLoadMore(false);//下一次不再加载更多,并显示FooterView
adapter.addFooterView(LayoutInflater.from(context).inflate(R.layout.layout_footer, (ViewGroup) recyclerView.getParent(), false));
return;
}
@@ -142,7 +140,7 @@ public void updateRecyclerView(List list) {
@Override
public void showError(String message) {
refreshLayout.setRefreshing(false);
- ToastUtil.show(context, message);
+ ToastUtil.show(message);
}
@Override
@@ -151,19 +149,13 @@ public void onRefresh() {
roomBeanList.clear();//清空原数据
adapter.removeAllFooterView();
refreshLayout.setRefreshing(true);
- if (TextUtils.isEmpty(cate_id)){//传入cate_id为空,请求全部直播
- presenter.getAllRoomList(offset, LiveAPI.LIMIT, LiveAPI.CLIENT_SYS);
- }else {//不为空,根据cate_id分类请求直播数据
- presenter.getColumnRoomList(cate_id, offset, LiveAPI.LIMIT, LiveAPI.CLIENT_SYS);
- }
+ //根据game_type分类请求直播数据
+ presenter.getLiveList(offset, LiveAPI.LIMIT, game_type );
}
@Override
public void onLoadMoreRequested() {
- if (TextUtils.isEmpty(cate_id)){//传入cate_id为空,请求全部直播
- presenter.getAllRoomList(offset, LiveAPI.LIMIT, LiveAPI.CLIENT_SYS);
- }else {//不为空,根据cate_id分类请求直播数据
- presenter.getColumnRoomList(cate_id, offset, LiveAPI.LIMIT, LiveAPI.CLIENT_SYS);
- }
+ //根据game_type分类请求直播数据
+ presenter.getLiveList(offset, LiveAPI.LIMIT, game_type );
}
}
diff --git a/app/src/main/java/com/c9mj/platform/live/ui/LivePlayActivity.java b/app/src/main/java/com/c9mj/platform/live/ui/LivePlayActivity.java
index ce6c02d..16a0927 100644
--- a/app/src/main/java/com/c9mj/platform/live/ui/LivePlayActivity.java
+++ b/app/src/main/java/com/c9mj/platform/live/ui/LivePlayActivity.java
@@ -1,11 +1,13 @@
package com.c9mj.platform.live.ui;
-import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
+import android.widget.Button;
import com.c9mj.platform.R;
-import me.yokeyword.fragmentation.SupportActivity;
+import butterknife.BindView;
+import butterknife.ButterKnife;
+import butterknife.OnClick;
import me.yokeyword.fragmentation_swipeback.SwipeBackActivity;
/**
@@ -15,9 +17,18 @@
*/
public class LivePlayActivity extends SwipeBackActivity {
+ @BindView(R.id.button)
+ Button button;
+
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_live_play);
+ ButterKnife.bind(this);
+ }
+
+ @OnClick(R.id.button)
+ public void onClick() {
}
+
}
diff --git a/app/src/main/java/com/c9mj/platform/user/ui/UserFragment.java b/app/src/main/java/com/c9mj/platform/user/ui/UserFragment.java
index 5ca9e72..dfb612a 100644
--- a/app/src/main/java/com/c9mj/platform/user/ui/UserFragment.java
+++ b/app/src/main/java/com/c9mj/platform/user/ui/UserFragment.java
@@ -138,9 +138,9 @@ public void onActivityResult(int requestCode, int resultCode, Intent data) {
Glide.with(this).load(filePath).into(iv_appbar);
SpHelper.with(this.getContext()).setString(SpHelper.STRING_USER, filePath);//保存图片路径
} else if (resultCode == Activity.RESULT_CANCELED) {
- ToastUtil.show(getContext(), getString(R.string.user_carema_cancel));
+ ToastUtil.show(getString(R.string.user_carema_cancel));
} else {
- ToastUtil.show(getContext(), getString(R.string.error_unknown));
+ ToastUtil.show( getString(R.string.error_unknown));
}
}
break;
@@ -150,9 +150,9 @@ public void onActivityResult(int requestCode, int resultCode, Intent data) {
Glide.with(this).load(filePath).into(iv_appbar);
SpHelper.with(this.getContext()).setString(SpHelper.STRING_USER, filePath);//保存图片路径
} else if (resultCode == Activity.RESULT_CANCELED) {
- ToastUtil.show(getContext(), getString(R.string.user_carema_cancel));
+ ToastUtil.show( getString(R.string.user_carema_cancel));
} else {
- ToastUtil.show(getContext(), getString(R.string.error_unknown));
+ ToastUtil.show(getString(R.string.error_unknown));
}
}
break;
diff --git a/app/src/main/java/com/c9mj/platform/util/ToastUtil.java b/app/src/main/java/com/c9mj/platform/util/ToastUtil.java
index d610471..3b65dd8 100644
--- a/app/src/main/java/com/c9mj/platform/util/ToastUtil.java
+++ b/app/src/main/java/com/c9mj/platform/util/ToastUtil.java
@@ -9,18 +9,24 @@
* 用于维护唯一Toastd工具类
*/
public class ToastUtil {
+ private static Context context;
private static Toast toast;
private static boolean isShow = false;
+ public static void init(Context applicationContext) {
+ context = applicationContext;
+ initToast(context);
+ }
+
private static void initToast(Context context) {
if (toast == null){
synchronized (ToastUtil.class){
- toast = new Toast(context.getApplicationContext());
+ toast = new Toast(context);
}
}
}
- public static void show(Context context, CharSequence content, int duration){
+ public static void show(CharSequence content, int duration){
initToast(context);
if (isShow == true){
isShow = false;
@@ -31,13 +37,14 @@ public static void show(Context context, CharSequence content, int duration){
isShow = true;
}
- public static void show(Context context, CharSequence content){
- show(context, content, Toast.LENGTH_SHORT);
+ public static void show(CharSequence content){
+ show(content, Toast.LENGTH_SHORT);
}
- public static void show(Context context, int resId){
- show(context, context.getString(resId), Toast.LENGTH_SHORT);
+ public static void show(int resId){
+ show(context.getString(resId), Toast.LENGTH_SHORT);
}
+
}
diff --git a/app/src/main/java/com/c9mj/platform/util/retrofit/RetrofitHelper.java b/app/src/main/java/com/c9mj/platform/util/retrofit/RetrofitHelper.java
index 7dea6f2..c3c3e2d 100644
--- a/app/src/main/java/com/c9mj/platform/util/retrofit/RetrofitHelper.java
+++ b/app/src/main/java/com/c9mj/platform/util/retrofit/RetrofitHelper.java
@@ -22,9 +22,9 @@
public class RetrofitHelper{
public static final String BASE_EXPLORE_URL = "http://api.douban.com/v2/movie/";
- public static final String BASE_LIVE_URL = "http://capi.douyucdn.cn";
+ public static final String BASE_LIVE_URL = "http://api.maxjia.com";
public static final String BASE_USER_URL = "http://api.douban.com/v2/movie/";
- public static final String BASE_DANMU_URL = "openbarrage.douyutv.com";
+ public static final String BASE_DANMU_URL = "http://api.douban.com/v2/movie/";
private static Retrofit retrofit = null;
@@ -76,12 +76,12 @@ public Observable call(Observable> baseBeanObservable) {//Ste
return baseBeanObservable.flatMap(new Func1, Observable>() {//Step 2:把Observable>转换为Observable
@Override
public Observable call(final LiveBaseBean baseBean) {//Step 3:根据返回码决定是否发送事件
- if (baseBean.getError() == 0){// 0:成功
+ if (baseBean.getStatus().equals("ok")){// ok:成功
return Observable.create(new Observable.OnSubscribe() {
@Override
public void call(Subscriber super T> subscriber) {
try {
- subscriber.onNext(baseBean.getData());//发送事件给Subscriber
+ subscriber.onNext(baseBean.getResult());//发送事件给Subscriber
subscriber.onCompleted();
}catch (Exception e){
subscriber.onError(e);
@@ -89,7 +89,7 @@ public void call(Subscriber super T> subscriber) {
}
});
}else {//error:错误Exception
- return Observable.error(new RetrofitException(baseBean.getError()));
+ return Observable.error(new RetrofitException(baseBean.getMsg()));
}
}
diff --git a/app/src/main/res/layout/activity_live_play.xml b/app/src/main/res/layout/activity_live_play.xml
index 65ac691..4e61a5b 100644
--- a/app/src/main/res/layout/activity_live_play.xml
+++ b/app/src/main/res/layout/activity_live_play.xml
@@ -9,4 +9,11 @@
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.c9mj.platform.live.ui.LivePlayActivity">
+
diff --git a/app/src/main/res/layout/fragment_live_roomlist.xml b/app/src/main/res/layout/fragment_live_list.xml
similarity index 94%
rename from app/src/main/res/layout/fragment_live_roomlist.xml
rename to app/src/main/res/layout/fragment_live_list.xml
index 5a89485..5a74e6c 100644
--- a/app/src/main/res/layout/fragment_live_roomlist.xml
+++ b/app/src/main/res/layout/fragment_live_list.xml
@@ -3,7 +3,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/color_layout_background"
- tools:context=".live.ui.LiveRoomListFragment">
+ tools:context=".live.ui.LiveListFragment">
"再按一次Back键退出程序"
- 全部直播
+ 英雄联盟
+ 守望先锋
+ DOTA2
+ 炉石传说
+ CSGO
无更多直播
暂无直播
+ lol
+ ow
+ dota2
+ hs
+ csgo
拍照
@@ -19,6 +28,7 @@
相册取消
+ ok
token过期,请重新登陆!
网络错误,请检查网络连接设置!
服务器内部错误,请稍后再试!
diff --git a/gradlew.bat b/gradlew.bat
index 8e8fbb5..8b9c640 100644
--- a/gradlew.bat
+++ b/gradlew.bat
@@ -79,8 +79,8 @@ set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
if "%ERRORLEVEL%"=="0" goto mainEnd
:fail
-rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return error instead of
-rem the _cmd.exe /c_ return error!
+rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return status instead of
+rem the _cmd.exe /c_ return status!
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
exit /b 1