[*] android项目结构调整
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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));
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
package com.acgist.taoyao.client.config;
|
||||
|
||||
/**
|
||||
* 配置
|
||||
*
|
||||
* @author acgist
|
||||
*/
|
||||
public class Config {
|
||||
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.acgist.taoyao.client.media;
|
||||
|
||||
public class ClientManager {
|
||||
public class RoomClientManager {
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
package com.acgist.taoyao.client.p2p;
|
||||
|
||||
public class P2PClientManager {
|
||||
}
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -4,8 +4,6 @@
|
||||
<uses-permission android:name="android.permission.CAMERA" />
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
<uses-permission android:name="android.permission.RECORD_AUDIO" />
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
||||
|
||||
</manifest>
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.acgist.media;
|
||||
package com.acgist.taoyao.media;
|
||||
|
||||
public class AudioPublisher {
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.acgist.media;
|
||||
package com.acgist.taoyao.media;
|
||||
|
||||
/**
|
||||
* 录像机
|
||||
@@ -1,7 +1,8 @@
|
||||
package com.acgist.media;
|
||||
package com.acgist.taoyao.media;
|
||||
|
||||
/**
|
||||
* 房间终端
|
||||
* 使用NDK + Mediasoup实现多人会话
|
||||
*
|
||||
* @author acgist
|
||||
*/
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.acgist.media;
|
||||
package com.acgist.taoyao.media;
|
||||
|
||||
public class VideoPublisher {
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
package com.acgist.taoyao.p2p;
|
||||
|
||||
/**
|
||||
* P2P终端
|
||||
* 使用安卓SDK + WebRTC实现P2P会话
|
||||
*
|
||||
* @author acgist
|
||||
*/
|
||||
public class P2PClient {
|
||||
}
|
||||
Reference in New Issue
Block a user