From aa395ff9c79a369de44ff37be5ce7ee5e032edc6 Mon Sep 17 00:00:00 2001
From: acgist <289547414@qq.com>
Date: Wed, 29 Mar 2023 08:41:34 +0800
Subject: [PATCH] =?UTF-8?q?[*]=20android=E9=A1=B9=E7=9B=AE=E7=BB=93?=
=?UTF-8?q?=E6=9E=84=E8=B0=83=E6=95=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../com/acgist/taoyao/client/BootReceiver.java | 12 ++++--------
.../com/acgist/taoyao/client/MainActivity.java | 1 +
.../com/acgist/taoyao/client/MediaService.java | 18 ++++++++++++++++--
.../acgist/taoyao/client/SettingsActivity.java | 2 +-
.../acgist/taoyao/client/config/Config.java | 10 ----------
...ientManager.java => RoomClientManager.java} | 2 +-
.../taoyao/client/p2p/P2PClientManager.java | 4 ++++
.../acgist/taoyao/client/signal/Taoyao.java | 10 ++++------
.../taoyao/media/src/main/AndroidManifest.xml | 2 --
.../{ => taoyao}/media/AudioPublisher.java | 2 +-
.../{ => taoyao}/media/ClientRecorder.java | 2 +-
.../acgist/{ => taoyao}/media/RoomClient.java | 3 ++-
.../{ => taoyao}/media/VideoPublisher.java | 2 +-
.../java/com/acgist/taoyao/p2p/P2PClient.java | 10 ++++++++++
14 files changed, 46 insertions(+), 34 deletions(-)
delete mode 100644 taoyao-client-android/taoyao/client/src/main/java/com/acgist/taoyao/client/config/Config.java
rename taoyao-client-android/taoyao/client/src/main/java/com/acgist/taoyao/client/media/{ClientManager.java => RoomClientManager.java} (56%)
create mode 100644 taoyao-client-android/taoyao/client/src/main/java/com/acgist/taoyao/client/p2p/P2PClientManager.java
rename taoyao-client-android/taoyao/media/src/main/java/com/acgist/{ => taoyao}/media/AudioPublisher.java (50%)
rename taoyao-client-android/taoyao/media/src/main/java/com/acgist/{ => taoyao}/media/ClientRecorder.java (92%)
rename taoyao-client-android/taoyao/media/src/main/java/com/acgist/{ => taoyao}/media/RoomClient.java (50%)
rename taoyao-client-android/taoyao/media/src/main/java/com/acgist/{ => taoyao}/media/VideoPublisher.java (50%)
create mode 100644 taoyao-client-android/taoyao/media/src/main/java/com/acgist/taoyao/p2p/P2PClient.java
diff --git a/taoyao-client-android/taoyao/client/src/main/java/com/acgist/taoyao/client/BootReceiver.java b/taoyao-client-android/taoyao/client/src/main/java/com/acgist/taoyao/client/BootReceiver.java
index 724bb7f..a6c3745 100644
--- a/taoyao-client-android/taoyao/client/src/main/java/com/acgist/taoyao/client/BootReceiver.java
+++ b/taoyao-client-android/taoyao/client/src/main/java/com/acgist/taoyao/client/BootReceiver.java
@@ -1,14 +1,10 @@
package com.acgist.taoyao.client;
-import android.app.KeyguardManager;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.res.Resources;
-import android.os.Build;
-import android.os.PowerManager;
import android.util.Log;
-import android.view.Display;
/**
* 开机启动
@@ -21,7 +17,7 @@ public class BootReceiver extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
Log.i(BootReceiver.class.getSimpleName(), "onReceive");
final Resources resources = context.getResources();
- if ("android.intent.action.BOOT_COMPLETED".equals(intent.getAction())) {
+ if (Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())) {
if(resources.getBoolean(R.bool.preview)) {
this.launchPreview(context);
}
@@ -34,9 +30,9 @@ public class BootReceiver extends BroadcastReceiver {
* @param context 上下文
*/
private void launchPreview(Context context) {
- final Intent mainActivity = new Intent(context, MainActivity.class);
- mainActivity.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- context.startForegroundService(mainActivity);
+ final Intent intent = new Intent(context, MainActivity.class);
+ intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ context.startForegroundService(intent);
}
}
diff --git a/taoyao-client-android/taoyao/client/src/main/java/com/acgist/taoyao/client/MainActivity.java b/taoyao-client-android/taoyao/client/src/main/java/com/acgist/taoyao/client/MainActivity.java
index 1bdeab0..1d82219 100644
--- a/taoyao-client-android/taoyao/client/src/main/java/com/acgist/taoyao/client/MainActivity.java
+++ b/taoyao-client-android/taoyao/client/src/main/java/com/acgist/taoyao/client/MainActivity.java
@@ -79,6 +79,7 @@ public class MainActivity extends AppCompatActivity {
if(this.mainHandler == null) {
this.mainHandler = new MainHandler();
}
+ intent.setAction(MediaService.Action.CONNECT.name());
intent.putExtra("mainHandler", this.mainHandler);
intent.setAction("connect");
this.startService(intent);
diff --git a/taoyao-client-android/taoyao/client/src/main/java/com/acgist/taoyao/client/MediaService.java b/taoyao-client-android/taoyao/client/src/main/java/com/acgist/taoyao/client/MediaService.java
index cdb15ef..efd2b98 100644
--- a/taoyao-client-android/taoyao/client/src/main/java/com/acgist/taoyao/client/MediaService.java
+++ b/taoyao-client-android/taoyao/client/src/main/java/com/acgist/taoyao/client/MediaService.java
@@ -27,6 +27,20 @@ public class MediaService extends Service {
System.loadLibrary("taoyao");
}
+ /**
+ * 动作类型
+ *
+ * @author acgist
+ */
+ public enum Action {
+
+ // 连接
+ CONNECT,
+ // 重连
+ RECONNECT;
+
+ }
+
private Taoyao taoyao;
private Handler mainHandler;
@@ -45,7 +59,7 @@ public class MediaService extends Service {
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Log.i(MediaService.class.getSimpleName(), "onStartCommand");
- if("connect".equals(intent.getAction())) {
+ if(Action.CONNECT.name().equals(intent.getAction())) {
if(this.taoyao == null) {
Log.d(MediaService.class.getSimpleName(), "打开信令连接");
this.mainHandler = (Handler) intent.getSerializableExtra("mainHandler");
@@ -53,7 +67,7 @@ public class MediaService extends Service {
} else {
Log.d(MediaService.class.getSimpleName(), "信令已经连接");
}
- } else if("reconnect".equals(intent.getAction())) {
+ } else if(Action.RECONNECT.name().equals(intent.getAction())) {
Log.d(MediaService.class.getSimpleName(), "重新连接信令");
this.connect();
} else {
diff --git a/taoyao-client-android/taoyao/client/src/main/java/com/acgist/taoyao/client/SettingsActivity.java b/taoyao-client-android/taoyao/client/src/main/java/com/acgist/taoyao/client/SettingsActivity.java
index 86274e3..4a249c7 100644
--- a/taoyao-client-android/taoyao/client/src/main/java/com/acgist/taoyao/client/SettingsActivity.java
+++ b/taoyao-client-android/taoyao/client/src/main/java/com/acgist/taoyao/client/SettingsActivity.java
@@ -89,7 +89,7 @@ public class SettingsActivity extends AppCompatActivity {
editor.commit();
// 重连
final Intent intent = new Intent(this, MediaService.class);
- intent.setAction("reconnect");
+ intent.setAction(MediaService.Action.RECONNECT.name());
this.startService(intent);
// 返回预览页面
this.startActivity(new Intent(this, MainActivity.class));
diff --git a/taoyao-client-android/taoyao/client/src/main/java/com/acgist/taoyao/client/config/Config.java b/taoyao-client-android/taoyao/client/src/main/java/com/acgist/taoyao/client/config/Config.java
deleted file mode 100644
index 7512c5c..0000000
--- a/taoyao-client-android/taoyao/client/src/main/java/com/acgist/taoyao/client/config/Config.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package com.acgist.taoyao.client.config;
-
-/**
- * 配置
- *
- * @author acgist
- */
-public class Config {
-
-}
diff --git a/taoyao-client-android/taoyao/client/src/main/java/com/acgist/taoyao/client/media/ClientManager.java b/taoyao-client-android/taoyao/client/src/main/java/com/acgist/taoyao/client/media/RoomClientManager.java
similarity index 56%
rename from taoyao-client-android/taoyao/client/src/main/java/com/acgist/taoyao/client/media/ClientManager.java
rename to taoyao-client-android/taoyao/client/src/main/java/com/acgist/taoyao/client/media/RoomClientManager.java
index 3eec7b0..6cb60f5 100644
--- a/taoyao-client-android/taoyao/client/src/main/java/com/acgist/taoyao/client/media/ClientManager.java
+++ b/taoyao-client-android/taoyao/client/src/main/java/com/acgist/taoyao/client/media/RoomClientManager.java
@@ -1,4 +1,4 @@
package com.acgist.taoyao.client.media;
-public class ClientManager {
+public class RoomClientManager {
}
diff --git a/taoyao-client-android/taoyao/client/src/main/java/com/acgist/taoyao/client/p2p/P2PClientManager.java b/taoyao-client-android/taoyao/client/src/main/java/com/acgist/taoyao/client/p2p/P2PClientManager.java
new file mode 100644
index 0000000..93f3226
--- /dev/null
+++ b/taoyao-client-android/taoyao/client/src/main/java/com/acgist/taoyao/client/p2p/P2PClientManager.java
@@ -0,0 +1,4 @@
+package com.acgist.taoyao.client.p2p;
+
+public class P2PClientManager {
+}
diff --git a/taoyao-client-android/taoyao/client/src/main/java/com/acgist/taoyao/client/signal/Taoyao.java b/taoyao-client-android/taoyao/client/src/main/java/com/acgist/taoyao/client/signal/Taoyao.java
index 1a1d3b6..52af01c 100644
--- a/taoyao-client-android/taoyao/client/src/main/java/com/acgist/taoyao/client/signal/Taoyao.java
+++ b/taoyao-client-android/taoyao/client/src/main/java/com/acgist/taoyao/client/signal/Taoyao.java
@@ -20,7 +20,7 @@ import com.acgist.taoyao.boot.model.MessageCode;
import com.acgist.taoyao.boot.model.MessageCodeException;
import com.acgist.taoyao.boot.utils.CloseableUtils;
import com.acgist.taoyao.boot.utils.JSONUtils;
-import com.acgist.media.ClientRecorder;
+import com.acgist.taoyao.media.ClientRecorder;
import com.acgist.taoyao.client.utils.IdUtils;
import org.apache.commons.lang3.ArrayUtils;
@@ -314,9 +314,7 @@ public final class Taoyao {
}
} catch (Exception e) {
Log.e(Taoyao.class.getSimpleName(), "接收信令异常", e);
- if(this.socket.isClosed()) {
- this.disconnect();
- }
+ this.disconnect();
}
}
}
@@ -416,8 +414,8 @@ public final class Taoyao {
Log.d(Taoyao.class.getSimpleName(), "关闭信令:" + this.host + ":" + this.port);
this.close = true;
this.disconnect();
- this.executor.shutdownNow();
- this.scheduled.shutdownNow();
+ this.executor.shutdown();
+ this.scheduled.shutdown();
}
/**
diff --git a/taoyao-client-android/taoyao/media/src/main/AndroidManifest.xml b/taoyao-client-android/taoyao/media/src/main/AndroidManifest.xml
index ee6f84e..e4354c9 100644
--- a/taoyao-client-android/taoyao/media/src/main/AndroidManifest.xml
+++ b/taoyao-client-android/taoyao/media/src/main/AndroidManifest.xml
@@ -4,8 +4,6 @@
-
-
\ No newline at end of file
diff --git a/taoyao-client-android/taoyao/media/src/main/java/com/acgist/media/AudioPublisher.java b/taoyao-client-android/taoyao/media/src/main/java/com/acgist/taoyao/media/AudioPublisher.java
similarity index 50%
rename from taoyao-client-android/taoyao/media/src/main/java/com/acgist/media/AudioPublisher.java
rename to taoyao-client-android/taoyao/media/src/main/java/com/acgist/taoyao/media/AudioPublisher.java
index 4b3619f..66455bd 100644
--- a/taoyao-client-android/taoyao/media/src/main/java/com/acgist/media/AudioPublisher.java
+++ b/taoyao-client-android/taoyao/media/src/main/java/com/acgist/taoyao/media/AudioPublisher.java
@@ -1,4 +1,4 @@
-package com.acgist.media;
+package com.acgist.taoyao.media;
public class AudioPublisher {
}
diff --git a/taoyao-client-android/taoyao/media/src/main/java/com/acgist/media/ClientRecorder.java b/taoyao-client-android/taoyao/media/src/main/java/com/acgist/taoyao/media/ClientRecorder.java
similarity index 92%
rename from taoyao-client-android/taoyao/media/src/main/java/com/acgist/media/ClientRecorder.java
rename to taoyao-client-android/taoyao/media/src/main/java/com/acgist/taoyao/media/ClientRecorder.java
index b3f2d23..e95ba8d 100644
--- a/taoyao-client-android/taoyao/media/src/main/java/com/acgist/media/ClientRecorder.java
+++ b/taoyao-client-android/taoyao/media/src/main/java/com/acgist/taoyao/media/ClientRecorder.java
@@ -1,4 +1,4 @@
-package com.acgist.media;
+package com.acgist.taoyao.media;
/**
* 录像机
diff --git a/taoyao-client-android/taoyao/media/src/main/java/com/acgist/media/RoomClient.java b/taoyao-client-android/taoyao/media/src/main/java/com/acgist/taoyao/media/RoomClient.java
similarity index 50%
rename from taoyao-client-android/taoyao/media/src/main/java/com/acgist/media/RoomClient.java
rename to taoyao-client-android/taoyao/media/src/main/java/com/acgist/taoyao/media/RoomClient.java
index 34ff502..1d2ba9f 100644
--- a/taoyao-client-android/taoyao/media/src/main/java/com/acgist/media/RoomClient.java
+++ b/taoyao-client-android/taoyao/media/src/main/java/com/acgist/taoyao/media/RoomClient.java
@@ -1,7 +1,8 @@
-package com.acgist.media;
+package com.acgist.taoyao.media;
/**
* 房间终端
+ * 使用NDK + Mediasoup实现多人会话
*
* @author acgist
*/
diff --git a/taoyao-client-android/taoyao/media/src/main/java/com/acgist/media/VideoPublisher.java b/taoyao-client-android/taoyao/media/src/main/java/com/acgist/taoyao/media/VideoPublisher.java
similarity index 50%
rename from taoyao-client-android/taoyao/media/src/main/java/com/acgist/media/VideoPublisher.java
rename to taoyao-client-android/taoyao/media/src/main/java/com/acgist/taoyao/media/VideoPublisher.java
index 7255ea8..47a6735 100644
--- a/taoyao-client-android/taoyao/media/src/main/java/com/acgist/media/VideoPublisher.java
+++ b/taoyao-client-android/taoyao/media/src/main/java/com/acgist/taoyao/media/VideoPublisher.java
@@ -1,4 +1,4 @@
-package com.acgist.media;
+package com.acgist.taoyao.media;
public class VideoPublisher {
}
diff --git a/taoyao-client-android/taoyao/media/src/main/java/com/acgist/taoyao/p2p/P2PClient.java b/taoyao-client-android/taoyao/media/src/main/java/com/acgist/taoyao/p2p/P2PClient.java
new file mode 100644
index 0000000..d26d5b6
--- /dev/null
+++ b/taoyao-client-android/taoyao/media/src/main/java/com/acgist/taoyao/p2p/P2PClient.java
@@ -0,0 +1,10 @@
+package com.acgist.taoyao.p2p;
+
+/**
+ * P2P终端
+ * 使用安卓SDK + WebRTC实现P2P会话
+ *
+ * @author acgist
+ */
+public class P2PClient {
+}