From 31b1762ebb0b2ea05fd30d9a432efbec55cf9ee8 Mon Sep 17 00:00:00 2001 From: czp3009 Date: Sun, 13 May 2018 17:35:51 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=20LiveClient=20=E5=90=8C?= =?UTF-8?q?=E6=AD=A5=E8=BF=9E=E6=8E=A5=E7=9A=84=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- build.gradle | 2 +- .../bilibili/api/live/socket/LiveClient.java | 15 ++++++++++++--- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 2cfb886..2d2cafc 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ # 添加依赖 ## Gradle - compile group: 'com.hiczp', name: 'bilibili-api', version: '0.0.12' + compile group: 'com.hiczp', name: 'bilibili-api', version: '0.0.13' # 名词解释 B站不少参数都是瞎取的, 并且不统一, 经常混用, 以下给出一些常见参数对应的含义 diff --git a/build.gradle b/build.gradle index 1c92c13..7ad8558 100644 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,5 @@ group = 'com.hiczp' -version = '0.0.12' +version = '0.0.13' description = 'Bilibili android client API library written in Java' apply plugin: 'idea' diff --git a/src/main/java/com/hiczp/bilibili/api/live/socket/LiveClient.java b/src/main/java/com/hiczp/bilibili/api/live/socket/LiveClient.java index 9341a7a..6b55c63 100644 --- a/src/main/java/com/hiczp/bilibili/api/live/socket/LiveClient.java +++ b/src/main/java/com/hiczp/bilibili/api/live/socket/LiveClient.java @@ -24,7 +24,10 @@ import retrofit2.Call; import javax.annotation.Nonnull; import java.io.IOException; -import java.util.concurrent.*; +import java.util.concurrent.Callable; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Future; public class LiveClient { private static final Logger LOGGER = LoggerFactory.getLogger(LiveClient.class); @@ -38,6 +41,7 @@ public class LiveClient { private final EventBus eventBus = new EventBus("BilibiliLiveClientEventBus"); private Long showRoomId; private Long realRoomId; + private boolean useRealRoomIdForConstructing; private LiveRoomInfoEntity.LiveRoom liveRoom; @@ -46,6 +50,7 @@ public class LiveClient { public LiveClient(@Nonnull BilibiliServiceProvider bilibiliServiceProvider, @Nonnull EventLoopGroup eventLoopGroup, long roomId, boolean isRealRoomId, long userId) { this.bilibiliServiceProvider = bilibiliServiceProvider; this.eventLoopGroup = eventLoopGroup; + this.useRealRoomIdForConstructing = isRealRoomId; if (isRealRoomId) { realRoomId = roomId; } else { @@ -144,8 +149,8 @@ public class LiveClient { return future.get(); } - public LiveClient connect() throws InterruptedException, ExecutionException { - return connect(Executors.newSingleThreadExecutor()); + public synchronized LiveClient connect() throws Exception { + return connectAsync().call(); } public synchronized ChannelFuture closeChannelAsync() { @@ -221,6 +226,10 @@ public class LiveClient { return channel; } + public boolean isUseRealRoomIdForConstructing() { + return useRealRoomIdForConstructing; + } + private LiveClient self() { return this; }