diff --git a/app/build.gradle b/app/build.gradle index fa37ab5..d9c15c0 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -65,7 +65,7 @@ dependencies { androidTestImplementation 'androidx.test.ext:junit:1.1.3' androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' - implementation 'com.xuqm.android:base:0.0.2' + implementation 'com.xuqm.android:base:0.0.5' // implementation 'cn.org.bjca.trus:push:0.0.1.011' implementation project(path: ':push') } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index a7a8aec..1dd5584 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -9,13 +9,13 @@ android:fullBackupContent="@xml/backup_rules" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" - android:usesCleartextTraffic="true" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/Theme.PushDemo" + android:usesCleartextTraffic="true" tools:targetApi="31"> @@ -27,6 +27,9 @@ android:name="android.app.lib_name" android:value="" /> + \ No newline at end of file diff --git a/app/src/main/java/cn/org/bjca/trust/Myapplication.kt b/app/src/main/java/cn/org/bjca/trust/Myapplication.kt index a907991..49daea0 100644 --- a/app/src/main/java/cn/org/bjca/trust/Myapplication.kt +++ b/app/src/main/java/cn/org/bjca/trust/Myapplication.kt @@ -1,6 +1,10 @@ package cn.org.bjca.trust +import cn.org.bjca.trust.push.PushSdk import cn.org.bjca.trust.push.common.LogHelper +import cn.org.bjca.trust.push.enums.OsType +import cn.org.bjca.trust.push.message.callback.CallbackListener +import cn.org.bjca.trust.push.message.msg.Message import com.xuqm.base.App import com.xuqm.base.di.manager.HttpManager @@ -9,5 +13,39 @@ class Myapplication : App() { super.onCreate() LogHelper.e("+++++++++++++++Application") appComponent = HttpManager.getAppComponent(""); + + PushSdk.instance.setMsgCallback(object : CallbackListener { + override fun sendComplete(msg: Message) { + LogHelper.d("------发送消息完成------") + } + + override fun sendError(code: String, msg: Message) { + LogHelper.d("消息发送失败::${code}") + } + + override fun messageArrived(msg: Message) { + } + + override fun connected() { + LogHelper.d("------im连接成功------") + } + + override fun connectionKicked(var1: OsType) { + LogHelper.d("------其它设备登录::${var1}------") + } + + override fun connectError(code: String) { + LogHelper.d("im连接失败") + } + + override fun connectionLost() { + LogHelper.d("------im连接丢失,正在重连...------") + } + + override fun exceptionCause(var1: Throwable) { + LogHelper.e("------im出现错误------", var1) + } + }) + } } \ No newline at end of file diff --git a/app/src/main/java/cn/org/bjca/trust/pushdemo/LoginActivity.kt b/app/src/main/java/cn/org/bjca/trust/pushdemo/LoginActivity.kt new file mode 100644 index 0000000..e03d12a --- /dev/null +++ b/app/src/main/java/cn/org/bjca/trust/pushdemo/LoginActivity.kt @@ -0,0 +1,35 @@ +package cn.org.bjca.trust.pushdemo + +import android.content.Intent +import android.os.Bundle +import cn.org.bjca.trust.push.PushSdk +import cn.org.bjca.trust.pushdemo.databinding.ActivityLoginBinding +import com.xuqm.base.dialog.loading.LoadingDialog +import com.xuqm.base.extensions.showMessage +import com.xuqm.base.ui.BaseActivity +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.delay +import kotlinx.coroutines.launch + +class LoginActivity : BaseActivity() { + override fun showStatus(): Int = R.color.purple_700 + override fun getLayoutId(): Int = R.layout.activity_login + override fun initView(savedInstanceState: Bundle?) { + super.initView(savedInstanceState) + binding.button.setOnClickListener { + + if (binding.username.text.isNotEmpty()) { + LoadingDialog.showDialog("正在登录,请稍候···") + CoroutineScope(Dispatchers.IO).launch { + delay(2000L) + LoadingDialog.dismissDialog() + PushSdk.instance.register(binding.username.text.toString()) + startActivity(Intent(mContext, MainActivity::class.java)) + } + } + else "请输入用户名".showMessage() + + } + } +} \ No newline at end of file diff --git a/app/src/main/java/cn/org/bjca/trust/pushdemo/MainActivity.kt b/app/src/main/java/cn/org/bjca/trust/pushdemo/MainActivity.kt index f695435..80585d4 100644 --- a/app/src/main/java/cn/org/bjca/trust/pushdemo/MainActivity.kt +++ b/app/src/main/java/cn/org/bjca/trust/pushdemo/MainActivity.kt @@ -1,9 +1,17 @@ package cn.org.bjca.trust.pushdemo import android.os.Bundle +import android.provider.MediaStore +import androidx.activity.result.contract.ActivityResultContracts import cn.org.bjca.trust.push.PushSdk +import cn.org.bjca.trust.push.common.GraphicHelper +import cn.org.bjca.trust.push.common.LogHelper +import cn.org.bjca.trust.push.common.MessageHelper import cn.org.bjca.trust.push.common.SendMessageHelper +import cn.org.bjca.trust.push.enums.MsgType +import cn.org.bjca.trust.push.message.bean.PictureMessage import cn.org.bjca.trust.pushdemo.databinding.ActivityMainBinding +import com.xuqm.base.extensions.loge import com.xuqm.base.ui.BaseActivity class MainActivity : BaseActivity() { @@ -15,10 +23,26 @@ class MainActivity : BaseActivity() { super.initView(savedInstanceState) PushSdk.instance.register("xuqinmin") + + val r = registerForActivityResult(ActivityResultContracts.GetContent()) { + it.loge() + SendMessageHelper.sendImageMessage( + "xuqinmin", MediaStore.Images.Media.getBitmap( + contentResolver, it + ) + ) + } + binding.register.setOnClickListener { + val m = MessageHelper.getMessageForPage(1, 10) + LogHelper.e(m[0]) + if (m[0].msgType == MsgType.Image) { + binding.iv.setImageBitmap(GraphicHelper.base64ToBitmap((m[0] as PictureMessage).thumbnail)) + } } binding.send.setOnClickListener { - SendMessageHelper.sendTextMessage("xuqinmin", "你好啊${System.currentTimeMillis()}") +// SendMessageHelper.sendTextMessage("xuqinmin", "hello${System.currentTimeMillis()}") + r.launch("image/*") } } diff --git a/app/src/main/res/layout/activity_login.xml b/app/src/main/res/layout/activity_login.xml new file mode 100644 index 0000000..ea97f41 --- /dev/null +++ b/app/src/main/res/layout/activity_login.xml @@ -0,0 +1,43 @@ + + + + + + + + + +