diff --git a/app-sdk/depends_sdk_qnim/build.gradle b/app-sdk/depends_sdk_qnim/build.gradle index 1b5f153..5a9e6ca 100644 --- a/app-sdk/depends_sdk_qnim/build.gradle +++ b/app-sdk/depends_sdk_qnim/build.gradle @@ -1,2 +1,2 @@ configurations.maybeCreate("default") -artifacts.add("default", file('qndroid-imsdk-1.0.9.aar')) \ No newline at end of file +artifacts.add("default", file('qndroid-imsdk-1.1.1.aar')) \ No newline at end of file diff --git a/app-sdk/depends_sdk_qnim/qndroid-imsdk-1.0.9.aar b/app-sdk/depends_sdk_qnim/qndroid-imsdk-1.1.1.aar similarity index 59% rename from app-sdk/depends_sdk_qnim/qndroid-imsdk-1.0.9.aar rename to app-sdk/depends_sdk_qnim/qndroid-imsdk-1.1.1.aar index ed6806c..d58296c 100644 Binary files a/app-sdk/depends_sdk_qnim/qndroid-imsdk-1.0.9.aar and b/app-sdk/depends_sdk_qnim/qndroid-imsdk-1.1.1.aar differ diff --git a/app-sdk/qlive-sdk-uikit/build.gradle b/app-sdk/qlive-sdk-uikit/build.gradle index aa7e4bb..3c56139 100644 --- a/app-sdk/qlive-sdk-uikit/build.gradle +++ b/app-sdk/qlive-sdk-uikit/build.gradle @@ -1,2 +1,2 @@ configurations.maybeCreate("default") -artifacts.add("default", file('qlive-uikit-1.0.7.aar')) \ No newline at end of file +artifacts.add("default", file('qlive-uikit-1.0.8.aar')) \ No newline at end of file diff --git a/app-sdk/qlive-sdk-uikit/qlive-uikit-1.0.7.aar b/app-sdk/qlive-sdk-uikit/qlive-uikit-1.0.8.aar similarity index 52% rename from app-sdk/qlive-sdk-uikit/qlive-uikit-1.0.7.aar rename to app-sdk/qlive-sdk-uikit/qlive-uikit-1.0.8.aar index 26e5962..107d1d6 100644 Binary files a/app-sdk/qlive-sdk-uikit/qlive-uikit-1.0.7.aar and b/app-sdk/qlive-sdk-uikit/qlive-uikit-1.0.8.aar differ diff --git a/app-sdk/qlive-sdk/build.gradle b/app-sdk/qlive-sdk/build.gradle index 765aa52..817ee31 100644 --- a/app-sdk/qlive-sdk/build.gradle +++ b/app-sdk/qlive-sdk/build.gradle @@ -1,2 +1,2 @@ configurations.maybeCreate("default") -artifacts.add("default", file('qlive-sdk-1.0.7.aar')) \ No newline at end of file +artifacts.add("default", file('qlive-sdk-1.0.8.aar')) \ No newline at end of file diff --git a/app-sdk/qlive-sdk/qlive-sdk-1.0.7.aar b/app-sdk/qlive-sdk/qlive-sdk-1.0.8.aar similarity index 53% rename from app-sdk/qlive-sdk/qlive-sdk-1.0.7.aar rename to app-sdk/qlive-sdk/qlive-sdk-1.0.8.aar index a59eb76..a3527bd 100644 Binary files a/app-sdk/qlive-sdk/qlive-sdk-1.0.7.aar and b/app-sdk/qlive-sdk/qlive-sdk-1.0.8.aar differ diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 2eaeda0..04ac70d 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,9 +1,14 @@ + + + DemoLiveFinishedActivity.checkStart(context, roomInfo) } + } override fun onTrimMemory(level: Int) { diff --git a/app/src/main/java/com/qlive/qnlivekit/MainActivity.kt b/app/src/main/java/com/qlive/qnlivekit/MainActivity.kt index b1a749a..871cd8b 100644 --- a/app/src/main/java/com/qlive/qnlivekit/MainActivity.kt +++ b/app/src/main/java/com/qlive/qnlivekit/MainActivity.kt @@ -1,5 +1,6 @@ package com.qlive.qnlivekit +import android.Manifest import android.content.Intent import android.graphics.Color import android.graphics.Typeface @@ -21,6 +22,8 @@ import com.qlive.qnlivekit.databinding.ActivityMainBinding import com.qlive.qnlivekit.uitil.* import com.qlive.uikitcore.activity.BaseBindingActivity import com.qlive.uikitcore.dialog.LoadingDialog +import com.qlive.uikitcore.ext.permission.PermissionAnywhere +import com.qlive.uikitcore.ext.permission.PermissionCallback import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.delay import kotlinx.coroutines.launch @@ -34,6 +37,12 @@ import kotlin.coroutines.suspendCoroutine class MainActivity : BaseBindingActivity() { override fun init() { + PermissionAnywhere.requestPermission(this, arrayOf( + Manifest.permission.READ_EXTERNAL_STORAGE, + Manifest.permission.WRITE_EXTERNAL_STORAGE + ) + ) { _, _, _ -> } + //登陆按钮 binding.btLoginLogin.setOnClickListener { diff --git a/doc/sdkbuilder/build.gradle b/doc/sdkbuilder/build.gradle index af87e33..d7cadc7 100644 --- a/doc/sdkbuilder/build.gradle +++ b/doc/sdkbuilder/build.gradle @@ -66,8 +66,8 @@ android { fataar { transitive = true } -def uikitversion = 'qlive-uikit-1.0.7' -def qliveversion = 'qlive-sdk-1.0.7' +def uikitversion = 'qlive-uikit-1.0.8' +def qliveversion = 'qlive-sdk-1.0.8' task makeAAR(type: Copy) { def localProperties = new Properties() diff --git a/liveroom-libs/comp_imadapter/src/main/java/com/qlive/qnim/QNIMAdapter.kt b/liveroom-libs/comp_imadapter/src/main/java/com/qlive/qnim/QNIMAdapter.kt index 0eee65b..1a773fa 100644 --- a/liveroom-libs/comp_imadapter/src/main/java/com/qlive/qnim/QNIMAdapter.kt +++ b/liveroom-libs/comp_imadapter/src/main/java/com/qlive/qnim/QNIMAdapter.kt @@ -147,6 +147,7 @@ class QNIMAdapter : RtmAdapter { QNIMClient.getUserManager()?.removeUserListener(mBMXUserServiceListener) QNIMClient.getChatManager()?.removeChatListener(mChatListener) } + QNIMClient.delete() QNIMClient.init(config) mContext = context isInit = true @@ -154,10 +155,19 @@ class QNIMAdapter : RtmAdapter { QNIMClient.getChatManager().addChatListener(mChatListener) } - fun loginOut(callBack: BMXCallBack) { - QNIMClient.getUserManager().signOut { - isLogin = false - callBack.onResult(it) + private fun loginOut(callBack: BMXCallBack) { + if(loginImUid.isNotEmpty()){ + QNIMClient.getUserManager().signOut(loginImUid.toLong()){ + QNIMClient.getUserManager().signOut { + isLogin = false + callBack.onResult(it) + } + } + }else{ + QNIMClient.getUserManager().signOut { + isLogin = false + callBack.onResult(it) + } } } diff --git a/liveroom-libs/comp_imadapter/src/main/java/com/qlive/qnim/QNIMConfig.kt b/liveroom-libs/comp_imadapter/src/main/java/com/qlive/qnim/QNIMConfig.kt index 4adc27d..600ad98 100644 --- a/liveroom-libs/comp_imadapter/src/main/java/com/qlive/qnim/QNIMConfig.kt +++ b/liveroom-libs/comp_imadapter/src/main/java/com/qlive/qnim/QNIMConfig.kt @@ -1,6 +1,8 @@ package com.qlive.qnim import android.content.Context +import android.os.Build +import android.os.Environment import com.qlive.liblog.QLiveLogUtil import im.floo.floolib.BMXClientType import im.floo.floolib.BMXLogLevel @@ -12,17 +14,34 @@ import java.io.File *用户自定义im初始化 */ object QNIMConfig { + private fun getFilesPath(context: Context): String { + val filePath: String = + if ((Environment.MEDIA_MOUNTED == Environment.getExternalStorageState() || !Environment.isExternalStorageRemovable()) + ) { + QLiveLogUtil.d("data_dir", "外部存储可用") + //外部存储可用 + context.getExternalFilesDir(null)!!.path + } else { + QLiveLogUtil.d("data_dir", "外部存储不可用") + //外部存储不可用 + context.filesDir.path + + } + return filePath + } + /** * 自定义初始化 * 如果需要自定义初始化参数 */ var imSDKConfigGetter: (appId: String, context: Context) -> BMXSDKConfig = { appId: String, context: Context -> - val appPath = context.filesDir.path + val appPath = getFilesPath(context) val dataPath = File("$appPath/data_dir") val cachePath = File("$appPath/cache_dir") dataPath.mkdirs() cachePath.mkdirs() + QLiveLogUtil.d("data_dir", dataPath.absolutePath) // 配置sdk config BMXSDKConfig( BMXClientType.Android, "1", dataPath.absolutePath, diff --git a/qlivesdk/src/main/java/com/qlive/pushclient/QPusherClient.java b/qlivesdk/src/main/java/com/qlive/pushclient/QPusherClient.java index bbed65b..2f4517a 100644 --- a/qlivesdk/src/main/java/com/qlive/pushclient/QPusherClient.java +++ b/qlivesdk/src/main/java/com/qlive/pushclient/QPusherClient.java @@ -157,8 +157,17 @@ public interface QPusherClient extends QLiveClient { */ void setDefaultBeauty(QBeautySetting beautySetting); + /** + * 耳返 + * @param isEnable + */ void enableEarMonitor(boolean isEnable); boolean isEarMonitorEnable(); + + /** + * 音量大小 + * @param volume + */ void setMicrophoneVolume(double volume); double getMicrophoneVolume(); }