فهرست منبع

feat: 集成腾讯云IM,增加IM模块

DoggyZhang 4 ماه پیش
والد
کامیت
e92e5bb035

+ 1 - 0
module/im/.gitignore

@@ -0,0 +1 @@
+/build

+ 64 - 0
module/im/build.gradle

@@ -0,0 +1,64 @@
+plugins {
+    id 'com.android.dynamic-feature'
+    id 'org.jetbrains.kotlin.android'
+    id 'org.jetbrains.kotlin.kapt'
+    id 'kotlin-parcelize'
+}
+
+android {
+    namespace 'com.adealink.weparty.im'
+    compileSdk libs.versions.compileSdk.get().toInteger()
+
+    defaultConfig {
+        minSdk libs.versions.minSdk.get().toInteger()
+
+        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
+        manifestPlaceholders = [
+                appAuthRedirectScheme: "",
+        ]
+    }
+
+    buildTypes {
+        release {
+            debuggable false
+        }
+    }
+
+    viewBinding {
+        enabled = true
+    }
+
+    compileOptions {
+        sourceCompatibility JavaVersion.VERSION_17
+        targetCompatibility JavaVersion.VERSION_17
+    }
+
+    kotlinOptions {
+        jvmTarget = JavaVersion.VERSION_17.majorVersion
+    }
+}
+
+dependencies {
+    implementation project(":app")
+
+    //frame
+    kapt libs.frame.router.compiler
+
+    implementation project(":tuicore")
+    implementation project(":timcommon")
+    implementation project(":tuichat")
+    implementation project(":tuicontact")
+    implementation project(":tuiconversation")
+    implementation project(":tuisearch")
+    implementation project(":tuicallkit-kt")
+    implementation project(":tuicommunity")
+    implementation project(":tuitranslationplugin")
+    implementation project(":tuicustomerserviceplugin")
+    implementation project(":tuiroomkit")
+
+
+    //test
+    testImplementation libs.junit
+    androidTestImplementation libs.androidx.junit
+    androidTestImplementation libs.androidx.espresso.core
+}

+ 30 - 0
module/im/src/main/AndroidManifest.xml

@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:dist="http://schemas.android.com/apk/distribution"
+    xmlns:tools="http://schemas.android.com/tools"
+    tools:ignore="LockedOrientationActivity">
+
+    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
+    <uses-permission android:name="android.permission.READ_PHONE_NUMBERS" />
+
+    <dist:module
+        dist:instant="false"
+        dist:title="@string/module_account">
+        <dist:fusing dist:include="true" />
+        <dist:delivery>
+            <dist:install-time>
+                <dist:removable dist:value="true" />
+            </dist:install-time>
+        </dist:delivery>
+    </dist:module>
+
+    <application>
+
+        <activity
+            android:name=".SessionListActivity"
+            android:screenOrientation="portrait"
+            android:theme="@style/AppTheme" />
+
+    </application>
+
+</manifest>

+ 27 - 0
module/im/src/main/java/com/adealink/weparty/im/IMServiceImpl.kt

@@ -0,0 +1,27 @@
+package com.adealink.weparty.im
+
+import android.app.Application
+import com.adealink.frame.spi.RegisterService
+import com.adealink.weparty.im.manager.imLoginManager
+import com.adealink.weparty.module.im.IIMService
+
+@RegisterService(value = IIMService::class)
+class IMServiceImpl : IIMService {
+
+    override fun activityOnCreateMainTask() {
+    }
+
+    override fun activityOnCreateSubTask() {
+    }
+
+    override fun appOnCreateMainTask(application: Application) {
+        imLoginManager.init(application)
+    }
+
+    override fun appOnCreateSubTask(application: Application) {
+    }
+
+    override fun getService(): IMServiceImpl {
+        return this
+    }
+}

+ 4 - 0
module/im/src/main/res/values-in/strings.xml

@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+
+</resources>

+ 4 - 0
module/im/src/main/res/values-zh/strings.xml

@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+
+</resources>

+ 4 - 0
module/im/src/main/res/values/strings.xml

@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+
+</resources>

+ 1 - 0
module/im/src/main/resources/META-INF/services/com.adealink.weparty.module.im.IIMService

@@ -0,0 +1 @@
+com.adealink.weparty.im.IMServiceImpl