Commit 53b7c52b authored by sheteng's avatar sheteng

敏感词替换

语音转文字
parent 57f5faf0
ccwangluoIm
\ No newline at end of file
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
<component name="DesignSurface"> <component name="DesignSurface">
<option name="filePathToZoomLevelMap"> <option name="filePathToZoomLevelMap">
<map> <map>
<entry key="..\:/ccwangluo/ccim_sdk_android/app/src/main/res/layout/activity_login.xml" value="0.1612008072653885" />
<entry key="..\:/project/ccwangluoIm/app/src/main/res/layout/activity_connect.xml" value="0.3170289855072464" /> <entry key="..\:/project/ccwangluoIm/app/src/main/res/layout/activity_connect.xml" value="0.3170289855072464" />
<entry key="..\:/project/ccwangluoIm/app/src/main/res/layout/activity_connect_channel.xml" value="0.26403985507246375" /> <entry key="..\:/project/ccwangluoIm/app/src/main/res/layout/activity_connect_channel.xml" value="0.26403985507246375" />
<entry key="..\:/project/ccwangluoIm/app/src/main/res/layout/activity_login.xml" value="0.322463768115942" /> <entry key="..\:/project/ccwangluoIm/app/src/main/res/layout/activity_login.xml" value="0.322463768115942" />
...@@ -28,9 +29,6 @@ ...@@ -28,9 +29,6 @@
</map> </map>
</option> </option>
</component> </component>
<component name="ProjectPlainTextFileTypeManager">
<file url="file://$PROJECT_DIR$/app/release/output-metadata.json" />
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK"> <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" /> <output url="file://$PROJECT_DIR$/build/classes" />
</component> </component>
......
package com.ccwangluo.im.util; package com.ccwangluo.im.util;
import android.content.Context; import android.content.Context;
import android.os.Handler;
import android.os.Looper;
import android.widget.Toast; import android.widget.Toast;
public class ToastUtil { public class ToastUtil {
private Handler handler = new Handler(Looper.getMainLooper());
public static void show(Context context, String msg) { public static void show(Context context, String msg) {
if (context == null) {
return;
}
Toast.makeText(context, msg, Toast.LENGTH_SHORT).show();
} }
} }
...@@ -69,7 +69,7 @@ ...@@ -69,7 +69,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="8dp" android:layout_marginTop="8dp"
android:hint="ip" android:hint="ip"
android:text="106.15.237.67" android:text="10.17.4.207"
android:imeActionLabel="@string/action_sign_in_short" android:imeActionLabel="@string/action_sign_in_short"
android:imeOptions="actionDone" android:imeOptions="actionDone"
android:selectAllOnFocus="true" android:selectAllOnFocus="true"
......
...@@ -3,6 +3,8 @@ package com.ccwangluo.ccim; ...@@ -3,6 +3,8 @@ package com.ccwangluo.ccim;
import android.Manifest; import android.Manifest;
import android.content.Context; import android.content.Context;
import android.os.Environment; import android.os.Environment;
import android.os.Handler;
import android.os.Looper;
import android.text.TextUtils; import android.text.TextUtils;
import com.ccwangluo.ccim.listener.OnClientConnectListener; import com.ccwangluo.ccim.listener.OnClientConnectListener;
...@@ -56,8 +58,9 @@ public class CCIMClient { ...@@ -56,8 +58,9 @@ public class CCIMClient {
private int maxSendMsgInterval = 0; private int maxSendMsgInterval = 0;
private int maxAudioDuration = 0; private int maxAudioDuration = 0;
private final int minAudioDuration = 500; private final int minAudioDuration = 500;
private String downloadPrefix; public String downloadPrefix;
private String cachePath; public String cachePath;
private Handler handler = new Handler(Looper.getMainLooper());
private ExecutorService executor = Executors.newSingleThreadExecutor(); private ExecutorService executor = Executors.newSingleThreadExecutor();
......
package com.ccwangluo.ccim.database;
import androidx.room.TypeConverter;
import com.ccwangluo.ccim.modle.User;
import com.google.gson.Gson;
public class UserConverter {
@TypeConverter
public User jsonToModel(String json) {
return new Gson().fromJson(json,User.class);
}
@TypeConverter
public String modelToJson(User user) {
return new Gson().toJson(user);
}
}
...@@ -117,16 +117,20 @@ public class MessageManager { ...@@ -117,16 +117,20 @@ public class MessageManager {
if (chatResponseMessage.hasSendMsgRes()) { if (chatResponseMessage.hasSendMsgRes()) {
Message.SendMessageResponse sendMsgRes = chatResponseMessage.getSendMsgRes(); Message.SendMessageResponse sendMsgRes = chatResponseMessage.getSendMsgRes();
long msgId = sendMsgRes.getMsgId(); long msgId = sendMsgRes.getMsgId();
String text = content;
if (messageType == MessageSpec.MessageType.MESSAGE_TYPE_TEXT) {
text = sendMsgRes.getContent();
}
MessageContent message = new MessageContent(); MessageContent message = new MessageContent();
message.setSenderUserId(userId); message.setSenderUserId(userId);
message.setReciveUserId(reciveUserId); message.setReciveUserId(reciveUserId);
message.setMsgId(msgId); message.setMsgId(msgId);
message.setContent(content); message.setContent(text);
message.setMsgType(MessageContent.MessageType.valueOf(messageType.name())); message.setMsgType(MessageContent.MessageType.valueOf(messageType.name()));
message.setCreatedDate(System.currentTimeMillis()); message.setCreatedDate(System.currentTimeMillis());
message.setMsgSrcType(MessageContent.MessageSourceType.MESSAGE_SOURCE_TYPE_PRIVATE); message.setMsgSrcType(MessageContent.MessageSourceType.MESSAGE_SOURCE_TYPE_PRIVATE);
callback.onSuccess(message);
pushNewMessage(message); pushNewMessage(message);
callback.onSuccess(message);
} }
} }
...@@ -155,16 +159,20 @@ public class MessageManager { ...@@ -155,16 +159,20 @@ public class MessageManager {
if (chatResponseMessage.hasSendChannelMsgRes()) { if (chatResponseMessage.hasSendChannelMsgRes()) {
Message.SendMessageResponse sendMsgRes = chatResponseMessage.getSendMsgRes(); Message.SendMessageResponse sendMsgRes = chatResponseMessage.getSendMsgRes();
long msgId = sendMsgRes.getMsgId(); long msgId = sendMsgRes.getMsgId();
String text = content;
if (messageType == MessageSpec.MessageType.MESSAGE_TYPE_TEXT) {
text = sendMsgRes.getContent();
}
MessageContent message = new MessageContent(); MessageContent message = new MessageContent();
message.setSenderUserId(userId); message.setSenderUserId(userId);
message.setChannelId(channelId); message.setChannelId(channelId);
message.setMsgId(msgId); message.setMsgId(msgId);
message.setContent(content); message.setContent(text);
message.setMsgType(MessageContent.MessageType.valueOf(messageType.name())); message.setMsgType(MessageContent.MessageType.valueOf(messageType.name()));
message.setCreatedDate(System.currentTimeMillis()); message.setCreatedDate(System.currentTimeMillis());
message.setMsgSrcType(MessageContent.MessageSourceType.MESSAGE_SOURCE_TYPE_PRIVATE); message.setMsgSrcType(MessageContent.MessageSourceType.MESSAGE_SOURCE_TYPE_PRIVATE);
callback.onSuccess(message);
pushNewMessage(message); pushNewMessage(message);
callback.onSuccess(message);
} }
} }
...@@ -192,9 +200,21 @@ public class MessageManager { ...@@ -192,9 +200,21 @@ public class MessageManager {
FileUtils.uploadFile(filePath, preSignedUrl, new ResultEventCallback<Void>() { FileUtils.uploadFile(filePath, preSignedUrl, new ResultEventCallback<Void>() {
@Override @Override
public void onSuccess(Void unused) { public void onSuccess(Void unused) {
File file = new File(CCIMClient.getInstance().cachePath, filename);
FileUtils.downLoadFile(CCIMClient.getInstance().downloadPrefix + filename, file, new ResultEventCallback<File>() {
@Override
public void onSuccess(File file) {
logger.info("success");
callback.onSuccess(filename); callback.onSuccess(filename);
} }
@Override
public void onFailed(int errorCode) {
logger.info("onFailed");
}
});
}
@Override @Override
public void onFailed(int errorCode) { public void onFailed(int errorCode) {
callback.onFailed(errorCode); callback.onFailed(errorCode);
......
...@@ -2,7 +2,11 @@ package com.ccwangluo.ccim.modle; ...@@ -2,7 +2,11 @@ package com.ccwangluo.ccim.modle;
import androidx.room.Entity; import androidx.room.Entity;
import androidx.room.Index; import androidx.room.Index;
import androidx.room.TypeConverters;
import com.ccwangluo.ccim.database.UserConverter;
import com.google.gson.JsonObject;
@TypeConverters(UserConverter.class)
@Entity(primaryKeys = {"msgId"},indices = {@Index(value = {"msgId"},unique = true)}) @Entity(primaryKeys = {"msgId"},indices = {@Index(value = {"msgId"},unique = true)})
public class MessageContent { public class MessageContent {
...@@ -15,7 +19,9 @@ public class MessageContent { ...@@ -15,7 +19,9 @@ public class MessageContent {
private Long channelId; private Long channelId;
private MessageType msgType = MessageType.MESSAGE_TYPE_TEXT; private MessageType msgType = MessageType.MESSAGE_TYPE_TEXT;
private MessageSourceType msgSrcType = MessageSourceType.MESSAGE_SOURCE_TYPE_PRIVATE; private MessageSourceType msgSrcType = MessageSourceType.MESSAGE_SOURCE_TYPE_PRIVATE;
private User senderUser; private User senderUser;
private String voiceContent;//音频的语音转文字
public User getSenderUser() { public User getSenderUser() {
return senderUser; return senderUser;
...@@ -25,6 +31,14 @@ public class MessageContent { ...@@ -25,6 +31,14 @@ public class MessageContent {
this.senderUser = senderUser; this.senderUser = senderUser;
} }
public String getVoiceContent() {
return voiceContent;
}
public void setVoiceContent(String voiceContent) {
this.voiceContent = voiceContent;
}
public MessageType getMsgType() { public MessageType getMsgType() {
return msgType; return msgType;
} }
......
...@@ -3,6 +3,9 @@ package com.ccwangluo.ccim.util; ...@@ -3,6 +3,9 @@ package com.ccwangluo.ccim.util;
import android.media.MediaPlayer; import android.media.MediaPlayer;
import android.media.MediaRecorder; import android.media.MediaRecorder;
import android.os.Build; import android.os.Build;
import android.os.Handler;
import android.os.Looper;
import com.ccwangluo.ccim.listener.ResultEventCallback; import com.ccwangluo.ccim.listener.ResultEventCallback;
import java.io.File; import java.io.File;
...@@ -17,7 +20,6 @@ public class MediaHelper { ...@@ -17,7 +20,6 @@ public class MediaHelper {
/** /**
* 单例模式获取 MediaHelper * 单例模式获取 MediaHelper
* 双检锁/双重校验锁
*/ */
public static MediaHelper getInstance() { public static MediaHelper getInstance() {
if (mInstance == null) { if (mInstance == null) {
......
...@@ -12,18 +12,9 @@ message SendMessageRequest { ...@@ -12,18 +12,9 @@ message SendMessageRequest {
message SendMessageResponse { message SendMessageResponse {
int64 msg_id = 1; int64 msg_id = 1;
string content = 2;
} }
//message SendGroupMessageRequest {
// int64 group_id = 1;
// string content = 2;
// MessageType msg_type = 3;
//}
//
//message SendGroupMessageResponse {
// int64 msg_id = 1;
//}
message SendChannelMessageRequest { message SendChannelMessageRequest {
int64 channel_id = 1; int64 channel_id = 1;
string content = 2; string content = 2;
...@@ -32,6 +23,7 @@ message SendChannelMessageRequest { ...@@ -32,6 +23,7 @@ message SendChannelMessageRequest {
message SendChannelMessageResponse { message SendChannelMessageResponse {
int64 msg_id = 1; int64 msg_id = 1;
string content = 2;
} }
message PullOfflineMessageRequest { message PullOfflineMessageRequest {
......
...@@ -29,4 +29,5 @@ message ChatMessage { ...@@ -29,4 +29,5 @@ message ChatMessage {
int64 modified_date = 8; int64 modified_date = 8;
UserInfo sender_user = 9; UserInfo sender_user = 9;
string voice_content = 10;
} }
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment