部分定义

这个提交包含在:
xuqm 2023-05-16 19:16:31 +08:00
父节点 0428571b34
当前提交 30cfc892c1
共有 15 个文件被更改,包括 447 次插入0 次删除

查看文件

@ -0,0 +1,44 @@
package cn.org.bjca.trust.android.lib.im;
import android.content.ContentProvider;
import android.content.ContentValues;
import android.database.Cursor;
import android.net.Uri;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
public class PushProvider extends ContentProvider {
@Override
public boolean onCreate() {
return false;
}
@Nullable
@Override
public Cursor query(@NonNull Uri uri, @Nullable String[] projection, @Nullable String selection, @Nullable String[] selectionArgs, @Nullable String sortOrder) {
return null;
}
@Nullable
@Override
public String getType(@NonNull Uri uri) {
return null;
}
@Nullable
@Override
public Uri insert(@NonNull Uri uri, @Nullable ContentValues values) {
return null;
}
@Override
public int delete(@NonNull Uri uri, @Nullable String selection, @Nullable String[] selectionArgs) {
return 0;
}
@Override
public int update(@NonNull Uri uri, @Nullable ContentValues values, @Nullable String selection, @Nullable String[] selectionArgs) {
return 0;
}
}

查看文件

@ -0,0 +1,16 @@
package cn.org.bjca.trust.android.lib.im;
import cn.org.bjca.trust.android.lib.im.kit.SdkInterface;
import cn.org.bjca.trust.android.lib.im.manager.PushSdkManager;
public class SzyxPush {
private static final class SdkInterfaceHolder {
static final SdkInterface instance = new PushSdkManager();
}
public static SdkInterface getInstance() {
return SdkInterfaceHolder.instance;
}
}

查看文件

@ -0,0 +1,4 @@
package cn.org.bjca.trust.android.lib.im.bean;
public class IMUserFullInfo {
}

查看文件

@ -0,0 +1,56 @@
package cn.org.bjca.trust.android.lib.im.bean;
import cn.org.bjca.trust.android.lib.im.bean.message.TextMessage;
import cn.org.bjca.trust.android.lib.im.enums.MsgType;
public class SZYXMessage {
/**
* 消息id
*/
private String msgId;
/**
*发送者信息
*/
private UserInfo fromClient;
/**
*接收者信息
*/
private UserInfo toClient;
/**
*真实讲话人
*/
private UserInfo speaker;
/**
*自定义信息
*/
private String describe;
/**
*是不是群消息
*/
private boolean isGroup;
/**
*是不是接收消息
*/
private boolean isArrive;
/**
*消息发送状态
*/
private boolean isSuccess;
/**
*时间戳
*/
private long timestamp;
/**
*租户编号
*/
private String tenantNo;
/**
*消息序列号
*/
private long seq;
/**
* 消息类型
*/
private MsgType msgType;
private TextMessage textMessage;
}

查看文件

@ -0,0 +1,44 @@
package cn.org.bjca.trust.android.lib.im.bean;
public class UserInfo {
private String userId;
private String nickName;
private String faceUrl;
private String gender;
public UserInfo(String userId) {
this.userId = userId;
}
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public String getNickName() {
return nickName;
}
public void setNickName(String nickName) {
this.nickName = nickName;
}
public String getFaceUrl() {
return faceUrl;
}
public void setFaceUrl(String faceUrl) {
this.faceUrl = faceUrl;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
}

查看文件

@ -0,0 +1,27 @@
package cn.org.bjca.trust.android.lib.im.bean.message;
import androidx.annotation.NonNull;
public class TextMessage {
private String text;
public TextMessage(String text) {
this.text = text;
}
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
@NonNull
@Override
public String toString() {
return "TextMessage{" +
"text='" + text + '\'' +
'}';
}
}

查看文件

@ -0,0 +1,35 @@
package cn.org.bjca.trust.android.lib.im.enums;
public enum MsgType {
UNKNOWN(-1) /* 未知 */,
Text(1) /* 文本 */,
Voice(2) /* 语音 */,
Image(3) /* 图片 */,
Location(4) /* 位置 */,
Video(5) /* 视频 */,
File(6) /* 文件 */,
At(7) /* @我 */,
READ(8) /* 已读 */,
REVOKE(9) /* 撤回 */,
DELETE(10) /* 删除 */,
Other(101) /* 自定义消息 */,
Notify(999);
private int type = -1;
MsgType(final int type) {
this.type = type;
}
public int type() {
return this.type;
}
public static MsgType getType(final int type) {
for (final MsgType value : MsgType.values()) {
if (value.type == type) {
return value;
}
}
return UNKNOWN;
}
}

查看文件

@ -0,0 +1,34 @@
package cn.org.bjca.trust.android.lib.im.enums;
public enum PacketType {
//连接请求
CONNECT(10),
CONNACK(11),
//发送消息
SEND(20),
SENDACK(21),
//心跳包
PING(30),
PANG(31),
// 离线通知
DISCONNECT(40),
UNKNOWN(-1);
private int type = -1;
PacketType(final int type) {
this.type = type;
}
public int type() {
return this.type;
}
public static PacketType getType(final int type) {
for (final PacketType value : PacketType.values()) {
if (value.type == type) {
return value;
}
}
return UNKNOWN;
}
}

查看文件

@ -0,0 +1,6 @@
package cn.org.bjca.trust.android.lib.im.kit;
public interface IMSDKCallback {
void success();
void failed (int code, String error);
}

查看文件

@ -0,0 +1,33 @@
package cn.org.bjca.trust.android.lib.im.kit;
import cn.org.bjca.trust.android.lib.im.bean.IMUserFullInfo;
public interface IMSDKListener {
/**
* 连接中
*/
void onConnecting ();
/**
* 连接成功
*/
void onConnectSuccess ();
/**
*连接失败
* @param code 错误码
* @param error 错误信息
*/
void onConnectFailed (int code, String error);
/**
*用户被踢出
*/
void onKickedOffline ();
/**
*用户信息变更
*/
void onSelfInfoUpdated (IMUserFullInfo info);
}

查看文件

@ -0,0 +1,9 @@
package cn.org.bjca.trust.android.lib.im.kit;
import java.util.List;
import cn.org.bjca.trust.android.lib.im.bean.SZYXMessage;
public interface MsgListener {
void messageArrive(List<SZYXMessage> messages);
}

查看文件

@ -0,0 +1,26 @@
package cn.org.bjca.trust.android.lib.im.kit;
import android.content.Context;
public interface SdkInterface {
void addIMSDKListener(IMSDKListener listener);
void removeIMSDKListener(IMSDKListener listener);
void init(Context context, String sdkAppID, IMSDKCallback callback);
void login(String userID, String userSig, IMSDKCallback callback);
void logout( IMSDKCallback callback);
void addMsgListener(MsgListener listener);
void removeMsgListener(MsgListener listener);
void sendMsgForTextToC(String toUserId, String text, IMSDKCallback callback);
void sendMsgForTextToG(String toGroupId, String text, IMSDKCallback callback);
String getVersion();
}

查看文件

@ -0,0 +1,60 @@
package cn.org.bjca.trust.android.lib.im.manager;
import android.content.Context;
import cn.org.bjca.trust.android.lib.im.kit.IMSDKCallback;
import cn.org.bjca.trust.android.lib.im.kit.IMSDKListener;
import cn.org.bjca.trust.android.lib.im.kit.MsgListener;
import cn.org.bjca.trust.android.lib.im.kit.SdkInterface;
public class PushSdkManager implements SdkInterface {
@Override
public void addIMSDKListener(IMSDKListener listener) {
}
@Override
public void removeIMSDKListener(IMSDKListener listener) {
}
@Override
public void init(Context context, String sdkAppID, IMSDKCallback callback) {
}
@Override
public void login(String userID, String userSig, IMSDKCallback callback) {
}
@Override
public void logout(IMSDKCallback callback) {
}
@Override
public void addMsgListener(MsgListener listener) {
}
@Override
public void removeMsgListener(MsgListener listener) {
}
@Override
public void sendMsgForTextToC(String toUserId, String text, IMSDKCallback callback) {
}
@Override
public void sendMsgForTextToG(String toGroupId, String text, IMSDKCallback callback) {
}
@Override
public String getVersion() {
return null;
}
}

查看文件

@ -3,6 +3,7 @@
xmlns:tools="http://schemas.android.com/tools">
<application
android:name=".MyApplication"
android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/backup_rules"

查看文件

@ -0,0 +1,52 @@
package cn.org.bjca.trust.android.imdemo;
import android.app.Application;
import cn.org.bjca.trust.android.lib.im.SzyxPush;
import cn.org.bjca.trust.android.lib.im.bean.IMUserFullInfo;
import cn.org.bjca.trust.android.lib.im.kit.IMSDKCallback;
import cn.org.bjca.trust.android.lib.im.kit.IMSDKListener;
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
SzyxPush.getInstance().addIMSDKListener(new IMSDKListener() {
@Override
public void onConnecting() {
}
@Override
public void onConnectSuccess() {
}
@Override
public void onConnectFailed(int code, String error) {
}
@Override
public void onKickedOffline() {
}
@Override
public void onSelfInfoUpdated(IMUserFullInfo info) {
}
});
SzyxPush.getInstance().init(this, "202305161853245", new IMSDKCallback() {
@Override
public void success() {
}
@Override
public void failed(int code, String error) {
}
});
}
}