Bladeren bron

发送登录消息

master
徐勤民 1 jaar geleden
bovenliggende
commit
03a5b6ecb3
17 gewijzigde bestanden met toevoegingen van 172 en 69 verwijderingen
  1. +0
    -1
      SzyxImSdk/build.gradle
  2. +0
    -28
      SzyxImSdk/src/main/AndroidManifest.xml
  3. +1
    -1
      SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/common/DeviceHelper.java
  4. +3
    -0
      SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/im/kit/IMInterface.java
  5. +16
    -1
      SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/im/manager/ImManager.java
  6. +13
    -0
      SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/im/msg/ConnectMessage.java
  7. +10
    -0
      SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/im/msg/SZYXMessage.java
  8. +1
    -1
      SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/manager/SZYXImManager.java
  9. +4
    -0
      app/src/main/AndroidManifest.xml
  10. +23
    -0
      app/src/main/java/cn/org/bjca/trust/android/imdemo/ui/ChatActivity.java
  11. +20
    -1
      app/src/main/java/cn/org/bjca/trust/android/imdemo/ui/FriendsActivity.java
  12. +3
    -1
      app/src/main/java/cn/org/bjca/trust/android/imdemo/ui/login/LoginActivity.java
  13. +10
    -2
      app/src/main/java/cn/org/bjca/trust/android/imdemo/vm/FriendsVM.java
  14. +22
    -0
      app/src/main/res/layout/activity_chat.xml
  15. +39
    -27
      app/src/main/res/layout/item_friends.xml
  16. +2
    -2
      build.gradle
  17. +5
    -4
      settings.gradle

+ 0
- 1
SzyxImSdk/build.gradle Bestand weergeven

@@ -1,6 +1,5 @@
plugins {
id 'com.android.library'
id "io.sentry.android.gradle" version "3.4.2"
}

def versionCode = 1


+ 0
- 28
SzyxImSdk/src/main/AndroidManifest.xml Bestand weergeven

@@ -1,32 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">

<application>
<!-- Required: set your sentry.io project identifier (DSN) -->
<meta-data
android:name="io.sentry.dsn"
android:value="https://e0308587cb2041d4909b97f3e4549d8d@sentry.51trust.net/9" />

<!-- enable automatic breadcrumbs for user interactions (clicks, swipes, scrolls) -->
<meta-data
android:name="io.sentry.traces.user-interaction.enable"
android:value="true" />
<!-- enable screenshot for crashes -->
<meta-data
android:name="io.sentry.attach-screenshot"
android:value="true" />
<!-- enable view hierarchy for crashes -->
<meta-data
android:name="io.sentry.attach-view-hierarchy"
android:value="true" />

<!-- enable the performance API by setting a sample-rate, adjust in production env -->
<meta-data
android:name="io.sentry.traces.sample-rate"
android:value="1.0" />
<!-- enable profiling when starting transactions, adjust in production env -->
<meta-data
android:name="io.sentry.traces.profiling.sample-rate"
android:value="1.0" />
</application>
</manifest>

+ 1
- 1
SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/common/DeviceHelper.java Bestand weergeven

@@ -45,7 +45,7 @@ public class DeviceHelper {
device.setSupportedAbis(CommonHelper.anyToString(field.get(null)));
break;
}
} catch (Exception e) {
} catch (Exception ignored) {

}
}


+ 3
- 0
SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/im/kit/IMInterface.java Bestand weergeven

@@ -1,6 +1,8 @@
package cn.org.bjca.trust.android.lib.im.im.kit;

import cn.org.bjca.trust.android.lib.im.im.msg.SZYXMessage;
import cn.org.bjca.trust.android.lib.im.im.opt.ImConnectOptions;
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;

@@ -13,5 +15,6 @@ public interface IMInterface {
void logout();
boolean isConnect();
boolean isConnecting();
void sendSZYXMessage(SZYXMessage message, IMSDKCallback callback);

}

+ 16
- 1
SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/im/manager/ImManager.java Bestand weergeven

@@ -11,9 +11,12 @@ import org.eclipse.paho.client.mqttv3.MqttMessage;
import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence;

import cn.org.bjca.trust.android.lib.im.cfg.Constant;
import cn.org.bjca.trust.android.lib.im.common.DeviceHelper;
import cn.org.bjca.trust.android.lib.im.common.json.GsonImplHelp;
import cn.org.bjca.trust.android.lib.im.im.bean.PacketMessage;
import cn.org.bjca.trust.android.lib.im.im.kit.IMInterface;
import cn.org.bjca.trust.android.lib.im.im.msg.ConnectMessage;
import cn.org.bjca.trust.android.lib.im.im.msg.SZYXMessage;
import cn.org.bjca.trust.android.lib.im.im.opt.ImConnectOptions;
import cn.org.bjca.trust.android.lib.im.kit.IMSDKCallback;
import cn.org.bjca.trust.android.lib.im.kit.IMSDKListener;
@@ -81,6 +84,8 @@ public class ImManager implements IMInterface {
} catch (MqttException e) {
Log.e(TAG, "=====>connectComplete", e);
}
// 发送登录消息
sendConnectMsg();
}

@Override
@@ -140,6 +145,16 @@ public class ImManager implements IMInterface {
return this.status == 1;
}

@Override
public void sendSZYXMessage(SZYXMessage message, IMSDKCallback callback) {
sendPacketMessage(message, callback);
}

private void sendConnectMsg() {
ConnectMessage message = new ConnectMessage(DeviceHelper.getDevice());
sendPacketMessage(message, null);
}

private void sendPacketMessage(PacketMessage message, IMSDKCallback callback) {
if (null == connectOptions) {
if (null != callback) callback.failed(204, "未登录");
@@ -153,7 +168,7 @@ public class ImManager implements IMInterface {
try {
mqttClient.publish("server", msg.getBytes(Charsets.UTF_8), 2, false);
} catch (MqttException e) {
if (null != callback) callback.failed(206, e.getMessage());
}

}


+ 13
- 0
SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/im/msg/ConnectMessage.java Bestand weergeven

@@ -9,4 +9,17 @@ public class ConnectMessage extends PacketMessage {
super(PacketType.CONNECT);
}
private DeviceEntity device;

public ConnectMessage(DeviceEntity device) {
super(PacketType.CONNECT);
this.device = device;
}

public DeviceEntity getDevice() {
return device;
}

public void setDevice(DeviceEntity device) {
this.device = device;
}
}

+ 10
- 0
SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/im/msg/SZYXMessage.java Bestand weergeven

@@ -0,0 +1,10 @@
package cn.org.bjca.trust.android.lib.im.im.msg;

import cn.org.bjca.trust.android.lib.im.enums.PacketType;
import cn.org.bjca.trust.android.lib.im.im.bean.PacketMessage;

public class SZYXMessage extends PacketMessage {
public SZYXMessage() {
super(PacketType.SEND);
}
}

+ 1
- 1
SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/manager/SZYXImManager.java Bestand weergeven

@@ -86,7 +86,7 @@ public class SZYXImManager implements SdkInterface {

@Override
public void sendMsgForTextToC(String toUserId, String text, IMSDKCallback callback) {
// IMHelper.getInstance().sendSZYXMessage();
}

@Override


+ 4
- 0
app/src/main/AndroidManifest.xml Bestand weergeven

@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">

<uses-permission android:name="android.permission.INTERNET" />

<application
@@ -15,6 +16,9 @@
android:usesCleartextTraffic="true"
tools:targetApi="31">
<activity
android:name=".ui.ChatActivity"
android:exported="false" />
<activity
android:name=".ui.login.LoginActivity"
android:exported="true"
android:label="@string/title_activity_login">


+ 23
- 0
app/src/main/java/cn/org/bjca/trust/android/imdemo/ui/ChatActivity.java Bestand weergeven

@@ -0,0 +1,23 @@
package cn.org.bjca.trust.android.imdemo.ui;

import android.os.Bundle;

import com.xuqm.base.ui.BaseActivity;

import cn.org.bjca.trust.android.imdemo.R;
import cn.org.bjca.trust.android.imdemo.databinding.ActivityChatBinding;

public class ChatActivity extends BaseActivity<ActivityChatBinding> {

@Override
public int getLayoutId() {
return R.layout.activity_chat;
}

@Override
public void initView(Bundle savedInstanceState) {
super.initView(savedInstanceState);
String userId = getIntent().getStringExtra("userId");
getBinding().text.setText(userId);
}
}

+ 20
- 1
app/src/main/java/cn/org/bjca/trust/android/imdemo/ui/FriendsActivity.java Bestand weergeven

@@ -1,6 +1,8 @@
package cn.org.bjca.trust.android.imdemo.ui;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;

import com.xuqm.base.adapter.BasePagedAdapter;
import com.xuqm.base.adapter.CommonPagedAdapter;
@@ -22,14 +24,31 @@ public class FriendsActivity extends BaseListActivity<UserItem, FriendsVM> {
}

@Override
public void itemClicked(View view, UserItem item, int position) {
if (item.getUserId().equals("001")) {

} else {
Intent intent = new Intent(mContext, ChatActivity.class);
intent.putExtra("userId", item.getUserId());
startActivity(intent);
}
}

@Override
public BasePagedAdapter<UserItem> adapter() {
return adapter;
}

private final CommonPagedAdapter<UserItem> adapter = new CommonPagedAdapter<UserItem>(R.layout.item_main) {
private final CommonPagedAdapter<UserItem> adapter = new CommonPagedAdapter<UserItem>(R.layout.item_friends) {
@Override
protected void convert(ViewHolder holder, UserItem item, int position) {
holder.setText(R.id.title, item.getNickName());
holder.setImage(R.id.icon, item.getFaceUrl());
holder.setText(R.id.des, item.getUserId());
if (item.getUserId().equals("001"))
holder.setBackgroundColor(R.id.root, 0x999999ff);
}

};

}

+ 3
- 1
app/src/main/java/cn/org/bjca/trust/android/imdemo/ui/login/LoginActivity.java Bestand weergeven

@@ -5,6 +5,7 @@ import android.content.Intent;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.view.inputmethod.EditorInfo;
@@ -20,8 +21,8 @@ import androidx.appcompat.app.AppCompatActivity;
import androidx.lifecycle.Observer;
import androidx.lifecycle.ViewModelProvider;

import cn.org.bjca.trust.android.imdemo.ui.MainActivity;
import cn.org.bjca.trust.android.imdemo.databinding.ActivityLoginBinding;
import cn.org.bjca.trust.android.imdemo.ui.MainActivity;
import cn.org.bjca.trust.android.lib.im.SZYXImSdk;
import cn.org.bjca.trust.android.lib.im.kit.IMSDKCallback;

@@ -69,6 +70,7 @@ public class LoginActivity extends AppCompatActivity {
}
loadingProgressBar.setVisibility(View.GONE);
if (loginResult.getError() != null) {
Log.e("=======>", loginResult.toString());
showLoginFailed(loginResult.getError());
}
if (loginResult.getSuccess() != null) {


+ 10
- 2
app/src/main/java/cn/org/bjca/trust/android/imdemo/vm/FriendsVM.java Bestand weergeven

@@ -6,12 +6,20 @@ import com.xuqm.base.viewmodel.callback.Response;
import java.util.ArrayList;

import cn.org.bjca.trust.android.imdemo.data.item.UserItem;
import cn.org.bjca.trust.android.lib.im.bean.UserInfo;

public class FriendsVM extends BaseListViewModel<UserItem> {

private final ArrayList<UserItem> list = new ArrayList<UserItem>() {
{
add(new UserItem("001", "群组", "https://i.buyiju.com/img/zidian2/766.jpg", "男"));
add(new UserItem("13666666666", "张小明", "https://c-ssl.dtstatic.com/uploads/item/201912/15/20191215202849_uvcka.thumb.1000_0.jpg", "男"));
add(new UserItem("13811111111", "王二三", "https://c-ssl.dtstatic.com/uploads/blog/202101/03/20210103220618_31c95.thumb.1000_0.jpg", "男"));
add(new UserItem("13222222222", "赵晓旭", "https://up.enterdesk.com/edpic/47/48/90/4748902b2485376b7735cfbaecb12ad3.jpg", "男"));
}
};

@Override
public void loadData(int page, Response<UserItem> onResponse) {
onResponse.onResponse(new ArrayList<>());
onResponse.onResponse(list);
}
}

+ 22
- 0
app/src/main/res/layout/activity_chat.xml Bestand weergeven

@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">

<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".ui.ChatActivity">

<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="hello"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>
</layout>

+ 39
- 27
app/src/main/res/layout/item_friends.xml Bestand weergeven

@@ -1,32 +1,44 @@
<?xml version="1.0" encoding="utf-8"?>
<layout>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="65dp"
android:id="@+id/root"
android:paddingHorizontal="15dp">

<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".ui.MainActivity">
<ImageView
android:id="@+id/icon"
android:layout_width="40dp"
android:layout_height="40dp"
android:text="title"
android:textColor="#666666"
android:scaleType="center"
android:textSize="21sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

<androidx.swiperefreshlayout.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/baseRefreshLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:tag="layout/activity_base_list_0">
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="15dp"
android:text="title"
android:textColor="#666666"
android:textSize="21sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@+id/icon"
app:layout_constraintTop_toTopOf="parent" />

<com.xuqm.base.view.EmptyView
android:id="@+id/baseEmptyView"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/des"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="des"
android:textColor="#999999"
android:textSize="15sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />

<androidx.recyclerview.widget.RecyclerView
android:id="@+id/baseRecyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:overScrollMode="never" />

</com.xuqm.base.view.EmptyView>

</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>

</androidx.constraintlayout.widget.ConstraintLayout>
</layout>
</androidx.constraintlayout.widget.ConstraintLayout>

+ 2
- 2
build.gradle Bestand weergeven

@@ -1,5 +1,5 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.
plugins {
id 'com.android.application' version '8.0.1' apply false
id 'com.android.library' version '8.0.1' apply false
id 'com.android.application' version '8.0.2' apply false
id 'com.android.library' version '8.0.2' apply false
}

+ 5
- 4
settings.gradle Bestand weergeven

@@ -1,24 +1,25 @@
pluginManagement {
repositories {
maven {
url 'http://nexus.51trust.net/repository/android-group/'
url 'http://127.0.0.1:1022/repository/maven-public/'
allowInsecureProtocol true
}
maven {
url 'http://nexus.51trust.net/repository/gradle-plugin/'
url 'http://127.0.0.1:1022/repository/gradle-plugin/'
allowInsecureProtocol true
}
// google()
}
}
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
maven {
url 'http://nexus.51trust.net/repository/android-group/'
url 'http://127.0.0.1:1022/repository/maven-public/'
allowInsecureProtocol true
}
maven {
url 'http://nexus.51trust.net/repository/gradle-plugin/'
url 'http://127.0.0.1:1022/repository/gradle-plugin/'
allowInsecureProtocol true
}
}


Laden…
Annuleren
Opslaan