honghengqiang 3 năm trước cách đây
mục cha
commit
9fd6510021
42 tập tin đã thay đổi với 176 bổ sung19 xóa
  1. 4 0
      .idea/misc.xml
  2. 9 0
      app/build.gradle
  3. 47 0
      app/google-services.json
  4. BIN
      app/src/main/ic_launcher-playstore.png
  5. 0 1
      app/src/main/java/com/swago/app/SplashActivity.kt
  6. 10 0
      app/src/main/java/com/swago/app/SwagoApp.kt
  7. BIN
      app/src/main/res/drawable/default_bg.png
  8. BIN
      app/src/main/res/drawable/default_logo.png
  9. 10 0
      app/src/main/res/drawable/default_splash.xml
  10. 0 2
      app/src/main/res/layout/activity_splash.xml
  11. BIN
      app/src/main/res/mipmap-hdpi/ic_launcher.png
  12. BIN
      app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png
  13. BIN
      app/src/main/res/mipmap-hdpi/ic_launcher_round.png
  14. BIN
      app/src/main/res/mipmap-mdpi/ic_launcher.png
  15. BIN
      app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png
  16. BIN
      app/src/main/res/mipmap-mdpi/ic_launcher_round.png
  17. BIN
      app/src/main/res/mipmap-xhdpi/ic_launcher.png
  18. BIN
      app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png
  19. BIN
      app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
  20. BIN
      app/src/main/res/mipmap-xxhdpi/ic_launcher.png
  21. BIN
      app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png
  22. BIN
      app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
  23. BIN
      app/src/main/res/mipmap-xxhdpi/splash.webp
  24. BIN
      app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
  25. BIN
      app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png
  26. BIN
      app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
  27. 3 4
      app/src/main/res/values/styles.xml
  28. 8 0
      baseswago/build.gradle
  29. 24 4
      baseswago/src/main/java/com/swago/baseswago/PersonDataDFragment.kt
  30. 2 1
      baseswago/src/main/java/com/swago/baseswago/util/IMUtil.kt
  31. 5 0
      baseswago/src/main/java/com/swago/baseswago/util/UserInfo.kt
  32. 3 1
      build.gradle
  33. 27 0
      home/src/main/java/com/swago/home/HomeActivity.kt
  34. 6 0
      home/src/main/java/com/swago/home/MineFragment.kt
  35. 1 1
      home/src/main/res/layout/fragment_mine.xml
  36. 1 0
      login/src/main/java/com/swago/login/LoginActivity.kt
  37. 2 0
      login/src/main/java/com/swago/login/LoginVm.kt
  38. 10 5
      room/src/main/java/com/swago/room/dialog/SendMsgDialog.kt
  39. 1 0
      room/src/main/java/com/swago/room/gift/GiftDialog.kt
  40. 1 0
      room/src/main/java/com/swago/room/gift/control/XSvgPlayer.kt
  41. 1 0
      room/src/main/res/layout/dialog_send_msg.xml
  42. 1 0
      user/src/main/res/layout/fragment_rich_level.xml

+ 4 - 0
.idea/misc.xml

@@ -12,9 +12,13 @@
   <component name="DesignSurface">
   <component name="DesignSurface">
     <option name="filePathToZoomLevelMap">
     <option name="filePathToZoomLevelMap">
       <map>
       <map>
+        <entry key="app/src/main/res/drawable-v24/ic_launcher_foreground.xml" value="0.39375" />
+        <entry key="app/src/main/res/drawable/default_splash.xml" value="0.3932291666666667" />
         <entry key="app/src/main/res/drawable/ic_launcher_background.xml" value="0.39375" />
         <entry key="app/src/main/res/drawable/ic_launcher_background.xml" value="0.39375" />
         <entry key="app/src/main/res/drawable/splash.xml" value="0.3932291666666667" />
         <entry key="app/src/main/res/drawable/splash.xml" value="0.3932291666666667" />
         <entry key="app/src/main/res/layout/activity_splash.xml" value="0.3259668508287293" />
         <entry key="app/src/main/res/layout/activity_splash.xml" value="0.3259668508287293" />
+        <entry key="app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml" value="0.4015384615384615" />
+        <entry key="app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml" value="0.39375" />
         <entry key="baseswago/src/main/res/drawable/shape_80000000_20.xml" value="0.13229166666666667" />
         <entry key="baseswago/src/main/res/drawable/shape_80000000_20.xml" value="0.13229166666666667" />
         <entry key="baseswago/src/main/res/drawable/shape_9ffd88_5_stroke.xml" value="0.3145833333333333" />
         <entry key="baseswago/src/main/res/drawable/shape_9ffd88_5_stroke.xml" value="0.3145833333333333" />
         <entry key="baseswago/src/main/res/drawable/shape_9ffd88_63f2df.xml" value="0.39375" />
         <entry key="baseswago/src/main/res/drawable/shape_9ffd88_63f2df.xml" value="0.39375" />

+ 9 - 0
app/build.gradle

@@ -2,6 +2,9 @@ plugins {
     id 'com.android.application'
     id 'com.android.application'
     id 'kotlin-android'
     id 'kotlin-android'
     id 'kotlin-kapt'
     id 'kotlin-kapt'
+    id 'com.google.gms.google-services'
+    id 'com.google.firebase.crashlytics'
+    id 'com.google.firebase.firebase-perf'
 }
 }
 
 
 android {
 android {
@@ -62,6 +65,9 @@ android {
             shrinkResources false
             shrinkResources false
             signingConfig signingConfigs.release
             signingConfig signingConfigs.release
             proguardFiles 'proguard-rules.pro'
             proguardFiles 'proguard-rules.pro'
+            firebaseCrashlytics {
+                mappingFileUploadEnabled false
+            }
         }
         }
         release {
         release {
             debuggable false
             debuggable false
@@ -70,6 +76,9 @@ android {
             shrinkResources true
             shrinkResources true
             signingConfig signingConfigs.release
             signingConfig signingConfigs.release
             proguardFiles 'proguard-rules.pro'
             proguardFiles 'proguard-rules.pro'
+            firebaseCrashlytics {
+                mappingFileUploadEnabled false
+            }
         }
         }
     }
     }
 
 

+ 47 - 0
app/google-services.json

@@ -0,0 +1,47 @@
+{
+  "project_info": {
+    "project_number": "513792265744",
+    "project_id": "swago-chat-1636168047427",
+    "storage_bucket": "swago-chat-1636168047427.appspot.com"
+  },
+  "client": [
+    {
+      "client_info": {
+        "mobilesdk_app_id": "1:513792265744:android:5754dd85acc9b8a8c28495",
+        "android_client_info": {
+          "package_name": "com.swago.app"
+        }
+      },
+      "oauth_client": [
+        {
+          "client_id": "513792265744-jkinp70slusjpt8b63i0jl3na0o5vtfk.apps.googleusercontent.com",
+          "client_type": 1,
+          "android_info": {
+            "package_name": "com.swago.app",
+            "certificate_hash": "ff29a161380ad6ce465848bede4450e864862259"
+          }
+        },
+        {
+          "client_id": "513792265744-3fevv3crpsstn0ggt247hcob119c9f6n.apps.googleusercontent.com",
+          "client_type": 3
+        }
+      ],
+      "api_key": [
+        {
+          "current_key": "AIzaSyCWUVjaUCiQ5YMAefVQ3kRbr7u08SfAT98"
+        }
+      ],
+      "services": {
+        "appinvite_service": {
+          "other_platform_oauth_client": [
+            {
+              "client_id": "513792265744-3fevv3crpsstn0ggt247hcob119c9f6n.apps.googleusercontent.com",
+              "client_type": 3
+            }
+          ]
+        }
+      }
+    }
+  ],
+  "configuration_version": "1"
+}

BIN
app/src/main/ic_launcher-playstore.png


+ 0 - 1
app/src/main/java/com/swago/app/SplashActivity.kt

@@ -21,7 +21,6 @@ class SplashActivity : AppCompatActivity() {
 
 
     override fun onCreate(savedInstanceState: Bundle?) {
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
         super.onCreate(savedInstanceState)
-        ImmersionBar.with(this).init()
         setContentView(R.layout.activity_splash)
         setContentView(R.layout.activity_splash)
 
 
         if (UserInfo.getLoginModel() == null){
         if (UserInfo.getLoginModel() == null){

+ 10 - 0
app/src/main/java/com/swago/app/SwagoApp.kt

@@ -5,9 +5,13 @@ import android.content.Context
 import android.net.http.HttpResponseCache
 import android.net.http.HttpResponseCache
 import androidx.multidex.MultiDex
 import androidx.multidex.MultiDex
 import com.alibaba.android.arouter.launcher.ARouter
 import com.alibaba.android.arouter.launcher.ARouter
+import com.google.firebase.analytics.ktx.analytics
+import com.google.firebase.crashlytics.ktx.crashlytics
+import com.google.firebase.ktx.Firebase
 import com.swago.baseswago.dialog.ForceOfflineDialog
 import com.swago.baseswago.dialog.ForceOfflineDialog
 import com.swago.baseswago.util.ActivityManagerUtil
 import com.swago.baseswago.util.ActivityManagerUtil
 import com.swago.baseswago.util.AppContext
 import com.swago.baseswago.util.AppContext
+import com.swago.baseswago.util.UserInfo
 import com.tencent.qcloud.tim.uikit.TUIKit
 import com.tencent.qcloud.tim.uikit.TUIKit
 import com.tencent.qcloud.tim.uikit.TUIKitImpl
 import com.tencent.qcloud.tim.uikit.TUIKitImpl
 import com.tencent.qcloud.tim.uikit.base.IMEventListener
 import com.tencent.qcloud.tim.uikit.base.IMEventListener
@@ -30,6 +34,12 @@ class SwagoApp : Application() {
             ARouter.openDebug()
             ARouter.openDebug()
 
 
         }
         }
+        //firebase
+        UserInfo.getLoginModel()?.let {
+            Firebase.analytics.setUserId(it.user_account)
+            Firebase.crashlytics.setUserId(it.user_account)
+        }
+        Firebase.crashlytics.setCrashlyticsCollectionEnabled(!BuildConfig.DEBUG)
         CrashHandler.getInstance().init(this)
         CrashHandler.getInstance().init(this)
         ActivityManagerUtil.get().init(this)
         ActivityManagerUtil.get().init(this)
         ARouter.init(this)
         ARouter.init(this)

BIN
app/src/main/res/drawable/default_bg.png


BIN
app/src/main/res/drawable/default_logo.png


+ 10 - 0
app/src/main/res/drawable/default_splash.xml

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
+    <item>
+        <bitmap android:src="@drawable/default_bg"/>
+    </item>
+
+    <item android:gravity="center">
+        <bitmap android:gravity="center" android:src="@drawable/default_logo"/>
+    </item>
+</layer-list>

+ 0 - 2
app/src/main/res/layout/activity_splash.xml

@@ -6,8 +6,6 @@
     tools:context=".SplashActivity">
     tools:context=".SplashActivity">
 
 
     <ImageView
     <ImageView
-        android:src="@mipmap/splash"
-        android:scaleType="fitXY"
         android:layout_width="match_parent"
         android:layout_width="match_parent"
         android:layout_height="match_parent"/>
         android:layout_height="match_parent"/>
 
 

BIN
app/src/main/res/mipmap-hdpi/ic_launcher.png


BIN
app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png


BIN
app/src/main/res/mipmap-hdpi/ic_launcher_round.png


BIN
app/src/main/res/mipmap-mdpi/ic_launcher.png


BIN
app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png


BIN
app/src/main/res/mipmap-mdpi/ic_launcher_round.png


BIN
app/src/main/res/mipmap-xhdpi/ic_launcher.png


BIN
app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png


BIN
app/src/main/res/mipmap-xhdpi/ic_launcher_round.png


BIN
app/src/main/res/mipmap-xxhdpi/ic_launcher.png


BIN
app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png


BIN
app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png


BIN
app/src/main/res/mipmap-xxhdpi/splash.webp


BIN
app/src/main/res/mipmap-xxxhdpi/ic_launcher.png


BIN
app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png


BIN
app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png


+ 3 - 4
app/src/main/res/values/styles.xml

@@ -2,9 +2,8 @@
 <resources>
 <resources>
     <style name="Theme.Swago.splashTheme" parent="Theme.Swago">
     <style name="Theme.Swago.splashTheme" parent="Theme.Swago">
         <item name="windowNoTitle">true</item>
         <item name="windowNoTitle">true</item>
-        <item name="android:windowFullscreen">true</item>
-        <item name="android:windowBackground">@android:color/transparent</item>
-        <item name="android:colorBackgroundCacheHint">@null</item>
-        <item name="android:windowIsTranslucent">true</item>
+        <item name="android:windowFullscreen">false</item>
+        <item name="android:windowBackground">@drawable/default_splash</item>
+        <item name="android:windowTranslucentStatus">true</item>
     </style>
     </style>
 </resources>
 </resources>

+ 8 - 0
baseswago/build.gradle

@@ -117,4 +117,12 @@ dependencies {
     api 'com.github.hackware1993:MagicIndicator:1.7.0'
     api 'com.github.hackware1993:MagicIndicator:1.7.0'
     //svgplayer
     //svgplayer
     api 'com.github.yyued:SVGAPlayer-Android:2.5.12'
     api 'com.github.yyued:SVGAPlayer-Android:2.5.12'
+    //#firebase
+    //firebase
+    api platform('com.google.firebase:firebase-bom:29.0.1')
+    api 'com.google.firebase:firebase-analytics-ktx'
+    api 'com.google.firebase:firebase-crashlytics-ktx'
+    api 'com.google.firebase:firebase-auth-ktx'
+    api 'com.google.firebase:firebase-firestore-ktx'
+    api 'com.google.firebase:firebase-perf-ktx'
 }
 }

+ 24 - 4
baseswago/src/main/java/com/swago/baseswago/PersonDataDFragment.kt

@@ -1,5 +1,6 @@
 package com.swago.baseswago
 package com.swago.baseswago
 
 
+import android.Manifest
 import android.os.Bundle
 import android.os.Bundle
 import android.text.TextUtils
 import android.text.TextUtils
 import android.view.View
 import android.view.View
@@ -7,6 +8,7 @@ import android.widget.Toast
 import androidx.fragment.app.viewModels
 import androidx.fragment.app.viewModels
 import com.alibaba.android.arouter.launcher.ARouter
 import com.alibaba.android.arouter.launcher.ARouter
 import com.bumptech.glide.Glide
 import com.bumptech.glide.Glide
+import com.permissionx.guolindev.PermissionX
 import com.swago.baseswago.constant.ARouteConstant
 import com.swago.baseswago.constant.ARouteConstant
 import com.swago.baseswago.databinding.DialogPersonDataBinding
 import com.swago.baseswago.databinding.DialogPersonDataBinding
 import com.swago.baseswago.dialog.BaseXDFragment
 import com.swago.baseswago.dialog.BaseXDFragment
@@ -14,6 +16,7 @@ import com.swago.baseswago.dialog.ReportDialog
 import com.swago.baseswago.util.AppContext
 import com.swago.baseswago.util.AppContext
 import com.swago.baseswago.util.IMUtil
 import com.swago.baseswago.util.IMUtil
 import com.swago.baseswago.util.NoDoubleClickListener
 import com.swago.baseswago.util.NoDoubleClickListener
+import com.tencent.imsdk.v2.V2TIMConversation
 
 
 /**
 /**
  *@date 2021/8/27 17:14
  *@date 2021/8/27 17:14
@@ -57,9 +60,26 @@ class PersonDataDFragment : BaseXDFragment<DialogPersonDataBinding>() {
 
 
             binding.llChat.setOnClickListener(object:NoDoubleClickListener(){
             binding.llChat.setOnClickListener(object:NoDoubleClickListener(){
                 override fun onClick() {
                 override fun onClick() {
-                    ARouter.getInstance().build(ARouteConstant.Home.chatDetail)
-                        .withString("id",account)
-                        .withString("chatName",binding.tvName.text.toString()).navigation()
+                    activity?.let {
+                        PermissionX.init(it)
+                            .permissions(
+                                Manifest.permission.RECORD_AUDIO,
+                                Manifest.permission.CAMERA,
+                                Manifest.permission.READ_EXTERNAL_STORAGE)
+                            .request { allGranted, grantedList, deniedList ->
+                                if (allGranted) {
+                                    ARouter.getInstance().build(ARouteConstant.Home.chatDetail)
+                                        .withString("id",account)
+                                        .withString("chatName",binding.tvName.text.toString()).navigation()
+                                } else {
+                                    Toast.makeText(
+                                        AppContext.getContext(),
+                                        "These permissions are denied: $deniedList",
+                                        Toast.LENGTH_LONG
+                                    ).show()
+                                }
+                            }
+                    }
                 }
                 }
             })
             })
 
 
@@ -69,7 +89,7 @@ class PersonDataDFragment : BaseXDFragment<DialogPersonDataBinding>() {
                         //拉黑操作
                         //拉黑操作
                         //腾讯IM拉黑操作
                         //腾讯IM拉黑操作
                         val list = ArrayList<String>()
                         val list = ArrayList<String>()
-                        list.add(uid)
+                        list.add(account)
                         IMUtil.addToBlackList(list){
                         IMUtil.addToBlackList(list){
                             userVm.addBlack(uid,0)
                             userVm.addBlack(uid,0)
                         }
                         }

+ 2 - 1
baseswago/src/main/java/com/swago/baseswago/util/IMUtil.kt

@@ -1,5 +1,6 @@
 package com.swago.baseswago.util
 package com.swago.baseswago.util
 
 
+import android.content.Intent
 import android.util.Log
 import android.util.Log
 import android.widget.Toast
 import android.widget.Toast
 import com.alibaba.android.arouter.launcher.ARouter
 import com.alibaba.android.arouter.launcher.ARouter
@@ -25,7 +26,7 @@ object IMUtil {
             }
             }
 
 
             override fun onError(code: Int, desc: String?) {
             override fun onError(code: Int, desc: String?) {
-                Log.d("hhq","$code")
+                Toast.makeText(AppContext.getContext(), "black fail code-$code", Toast.LENGTH_SHORT).show()
             }
             }
 
 
         })
         })

+ 5 - 0
baseswago/src/main/java/com/swago/baseswago/util/UserInfo.kt

@@ -1,5 +1,8 @@
 package com.swago.baseswago.util
 package com.swago.baseswago.util
 
 
+import com.google.firebase.analytics.ktx.analytics
+import com.google.firebase.crashlytics.ktx.crashlytics
+import com.google.firebase.ktx.Firebase
 import com.google.gson.Gson
 import com.google.gson.Gson
 import com.swago.baseswago.model.LoginModel
 import com.swago.baseswago.model.LoginModel
 import com.swago.baseswago.model.UserInfoModel
 import com.swago.baseswago.model.UserInfoModel
@@ -14,6 +17,8 @@ object UserInfo {
     private var loginModel:LoginModel? = null
     private var loginModel:LoginModel? = null
 
 
     fun setLoginInfo(loginModel: LoginModel){
     fun setLoginInfo(loginModel: LoginModel){
+        Firebase.analytics.setUserId(loginModel.user_account)
+        Firebase.crashlytics.setUserId(loginModel.user_account)
         this.loginModel = loginModel
         this.loginModel = loginModel
     }
     }
 
 

+ 3 - 1
build.gradle

@@ -10,7 +10,9 @@ buildscript {
     dependencies {
     dependencies {
         classpath "com.android.tools.build:gradle:4.2.1"
         classpath "com.android.tools.build:gradle:4.2.1"
         classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.30'
         classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.30'
-
+        classpath 'com.google.gms:google-services:4.3.10'
+        classpath 'com.google.firebase:firebase-crashlytics-gradle:2.7.1'
+        classpath 'com.google.firebase:perf-plugin:1.4.0'
         // NOTE: Do not place your application dependencies here; they belong
         // NOTE: Do not place your application dependencies here; they belong
         // in the individual module build.gradle files
         // in the individual module build.gradle files
     }
     }

+ 27 - 0
home/src/main/java/com/swago/home/HomeActivity.kt

@@ -1,6 +1,7 @@
 package com.swago.home
 package com.swago.home
 
 
 import android.Manifest
 import android.Manifest
+import android.content.Intent
 import android.os.Bundle
 import android.os.Bundle
 import android.widget.Toast
 import android.widget.Toast
 import androidx.activity.viewModels
 import androidx.activity.viewModels
@@ -22,8 +23,12 @@ import com.swago.baseswago.libpay.IPayCallback
 import com.swago.baseswago.libpay.PayManager
 import com.swago.baseswago.libpay.PayManager
 import com.swago.baseswago.model.pay.PayModel
 import com.swago.baseswago.model.pay.PayModel
 import com.swago.baseswago.util.AppContext
 import com.swago.baseswago.util.AppContext
+import com.swago.baseswago.util.IMUtil
+import com.swago.baseswago.util.UserInfo
 import com.swago.home.databinding.ActivityHomeBinding
 import com.swago.home.databinding.ActivityHomeBinding
 import com.swago.home.official.OfficialVm
 import com.swago.home.official.OfficialVm
+import com.tencent.qcloud.tim.uikit.TUIKit
+import com.tencent.qcloud.tim.uikit.base.IUIKitCallBack
 
 
 /**
 /**
  *@date 2021/8/17 22:39
  *@date 2021/8/17 22:39
@@ -142,6 +147,9 @@ class HomeActivity : BaseXActivity<ActivityHomeBinding>(), IPayCallback {
         super.onResume()
         super.onResume()
         binding.ivStartLive.isEnabled = true
         binding.ivStartLive.isEnabled = true
         PayManager.listener.add(this)
         PayManager.listener.add(this)
+        if (!IMUtil.checkIsLogin()){
+            IMUtil.joinGroup(loginFun)
+        }
     }
     }
 
 
     override fun onPause() {
     override fun onPause() {
@@ -186,4 +194,23 @@ class HomeActivity : BaseXActivity<ActivityHomeBinding>(), IPayCallback {
     override fun onBackPressed() {
     override fun onBackPressed() {
         moveTaskToBack(true)
         moveTaskToBack(true)
     }
     }
+
+
+    var loginFun:(()->Unit) = {
+        UserInfo.getLoginModel()?.let {
+            TUIKit.login(it.user_account,it.user_sig,object:
+                IUIKitCallBack {
+                override fun onSuccess(data: Any?) {
+                    ARouter.getInstance().build(ARouteConstant.Home.home)
+                        .withFlags(Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TOP).navigation()
+                    IMUtil.joinGroup(null)
+                }
+
+                override fun onError(module: String?, errCode: Int, errMsg: String?) {
+                    Toast.makeText(AppContext.getContext(), "IM Login error-$errCode", Toast.LENGTH_SHORT).show()
+                }
+
+            })
+        }
+    }
 }
 }

+ 6 - 0
home/src/main/java/com/swago/home/MineFragment.kt

@@ -44,6 +44,12 @@ class MineFragment : BaseXFragment<FragmentMineBinding>() {
 
 
         })
         })
 
 
+        binding.llCoin.setOnClickListener(object:NoDoubleClickListener(){
+            override fun onClick() {
+                ARouter.getInstance().build(ARouteConstant.User.recharge).navigation()
+            }
+        })
+
         binding.ivEdit.setOnClickListener(object: NoDoubleClickListener(){
         binding.ivEdit.setOnClickListener(object: NoDoubleClickListener(){
             override fun onClick() {
             override fun onClick() {
                 ARouter.getInstance().build(ARouteConstant.User.editInfo).navigation()
                 ARouter.getInstance().build(ARouteConstant.User.editInfo).navigation()

+ 1 - 1
home/src/main/res/layout/fragment_mine.xml

@@ -276,7 +276,7 @@
         android:layout_marginBottom="30dp"
         android:layout_marginBottom="30dp"
         android:gravity="center"
         android:gravity="center"
         app:layout_constraintBottom_toBottomOf="parent"
         app:layout_constraintBottom_toBottomOf="parent"
-        android:textColor="#000"
+        android:textColor="#8F8F8F"
         android:textSize="14dp"
         android:textSize="14dp"
         android:layout_width="wrap_content"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"/>
         android:layout_height="wrap_content"/>

+ 1 - 0
login/src/main/java/com/swago/login/LoginActivity.kt

@@ -23,6 +23,7 @@ import com.swago.baseswago.util.AppContext
 import com.swago.baseswago.util.NoDoubleClickListener
 import com.swago.baseswago.util.NoDoubleClickListener
 import com.swago.baseswago.util.SwagoLoading
 import com.swago.baseswago.util.SwagoLoading
 import com.swago.login.databinding.ActivityLoginBinding
 import com.swago.login.databinding.ActivityLoginBinding
+import java.util.concurrent.TimeoutException
 
 
 /**
 /**
  *@date 2021/8/24 10:57
  *@date 2021/8/24 10:57

+ 2 - 0
login/src/main/java/com/swago/login/LoginVm.kt

@@ -25,6 +25,7 @@ class LoginVm(application: Application) : BaseViewModel(application) {
         requestData2 {
         requestData2 {
             requestData {
             requestData {
                 val data = ApiManager.loginApi.login(source,token)
                 val data = ApiManager.loginApi.login(source,token)
+                UserInfo.setLoginInfo(data)
                 SpUtil.putString("login_info", Gson().toJson(data))
                 SpUtil.putString("login_info", Gson().toJson(data))
                 TUIKit.login(data.user_account,data.user_sig,object:
                 TUIKit.login(data.user_account,data.user_sig,object:
                     IUIKitCallBack {
                     IUIKitCallBack {
@@ -69,6 +70,7 @@ class LoginVm(application: Application) : BaseViewModel(application) {
         requestData2 {
         requestData2 {
             requestData {
             requestData {
                 val data = ApiManager.loginApi.loginByAccount(account,pwd)
                 val data = ApiManager.loginApi.loginByAccount(account,pwd)
+                UserInfo.setLoginInfo(data)
                 SpUtil.putString("login_info", Gson().toJson(data))
                 SpUtil.putString("login_info", Gson().toJson(data))
                 SwagoLoading.cancelLoadingDialog()
                 SwagoLoading.cancelLoadingDialog()
                 TUIKit.login(data.user_account,data.user_sig,object:
                 TUIKit.login(data.user_account,data.user_sig,object:

+ 10 - 5
room/src/main/java/com/swago/room/dialog/SendMsgDialog.kt

@@ -6,18 +6,22 @@ import android.text.TextWatcher
 import android.view.Gravity
 import android.view.Gravity
 import android.view.View
 import android.view.View
 import androidx.core.content.ContextCompat
 import androidx.core.content.ContextCompat
+import androidx.lifecycle.lifecycleScope
 import com.gyf.immersionbar.ImmersionBar
 import com.gyf.immersionbar.ImmersionBar
 import com.swago.baseswago.baseroom.SwagoRoomManager
 import com.swago.baseswago.baseroom.SwagoRoomManager
 import com.swago.baseswago.dialog.BaseXDFragment
 import com.swago.baseswago.dialog.BaseXDFragment
 import com.swago.baseswago.im.ImConstant.room_chat_text
 import com.swago.baseswago.im.ImConstant.room_chat_text
 import com.swago.baseswago.model.im.RoomChatMsgBean
 import com.swago.baseswago.model.im.RoomChatMsgBean
 import com.swago.baseswago.util.*
 import com.swago.baseswago.util.*
+import com.swago.baseswago.util.KeyboardUtil.closeKeyboard
 import com.swago.room.R
 import com.swago.room.R
 import com.swago.room.databinding.DialogSendMsgBinding
 import com.swago.room.databinding.DialogSendMsgBinding
 import com.swago.room.util.IMSender
 import com.swago.room.util.IMSender
 import com.tencent.imsdk.v2.V2TIMMessage
 import com.tencent.imsdk.v2.V2TIMMessage
 import com.tencent.imsdk.v2.V2TIMValueCallback
 import com.tencent.imsdk.v2.V2TIMValueCallback
 import com.tencent.qcloud.tim.uikit.utils.SoftKeyBoardUtil
 import com.tencent.qcloud.tim.uikit.utils.SoftKeyBoardUtil
+import kotlinx.coroutines.delay
+import kotlinx.coroutines.launch
 import org.json.JSONObject
 import org.json.JSONObject
 
 
 /**
 /**
@@ -43,9 +47,10 @@ class SendMsgDialog : BaseXDFragment<DialogSendMsgBinding>() {
 
 
     override fun initOther() {
     override fun initOther() {
         context?.let {
         context?.let {
-            binding.et.isFocusable = true
-            binding.et.requestFocus()
-            KeyboardUtil.openKeyboard(binding.et,it)
+            lifecycleScope.launch {
+                delay(100)
+                KeyboardUtils.showSoftInput(binding.et)
+            }
         }
         }
 
 
         binding.ivSend.isEnabled = false
         binding.ivSend.isEnabled = false
@@ -53,7 +58,7 @@ class SendMsgDialog : BaseXDFragment<DialogSendMsgBinding>() {
         binding.cl.setOnClickListener(object : NoDoubleClickListener() {
         binding.cl.setOnClickListener(object : NoDoubleClickListener() {
             override fun onClick() {
             override fun onClick() {
                 context?.let {
                 context?.let {
-                    KeyboardUtil.closeKeyboard(binding.et, it)
+                    KeyboardUtils.hideSoftInput(binding.et)
                     dismissAllowingStateLoss()
                     dismissAllowingStateLoss()
                 }
                 }
 
 
@@ -133,7 +138,7 @@ class SendMsgDialog : BaseXDFragment<DialogSendMsgBinding>() {
     }
     }
 
 
     override fun dismiss() {
     override fun dismiss() {
-        super.dismiss()
         binding.et.setText("")
         binding.et.setText("")
+        super.dismiss()
     }
     }
 }
 }

+ 1 - 0
room/src/main/java/com/swago/room/gift/GiftDialog.kt

@@ -229,6 +229,7 @@ class GiftDialog : BaseXDFragment<DialogGiftBinding>() {
         giftVm.sendResultLiveData.observe(this){
         giftVm.sendResultLiveData.observe(this){
             if (it != null){
             if (it != null){
                 if (returnGiftBatch<it.gift_batch){
                 if (returnGiftBatch<it.gift_batch){
+                    UserInfo.getUserInfo()?.user_coins = it.user_coins
                     binding.tvCoins.text = it.user_coins?:"0"
                     binding.tvCoins.text = it.user_coins?:"0"
                     returnGiftBatch = it.gift_batch
                     returnGiftBatch = it.gift_batch
                 }
                 }

+ 1 - 0
room/src/main/java/com/swago/room/gift/control/XSvgPlayer.kt

@@ -82,6 +82,7 @@ class XSvgPlayer : ConstraintLayout {
 
 
         override fun onFinished() {
         override fun onFinished() {
             Log.d("svgPlayer","dddd--结束")
             Log.d("svgPlayer","dddd--结束")
+            isCanplay = false
             binding?.svgaImageView?.visibility = View.GONE
             binding?.svgaImageView?.visibility = View.GONE
             nextSvgPlay?.invoke()
             nextSvgPlay?.invoke()
         }
         }

+ 1 - 0
room/src/main/res/layout/dialog_send_msg.xml

@@ -6,6 +6,7 @@
     android:layout_height="match_parent">
     android:layout_height="match_parent">
 
 
     <androidx.constraintlayout.widget.ConstraintLayout
     <androidx.constraintlayout.widget.ConstraintLayout
+        android:id="@+id/root"
         app:layout_constraintBottom_toBottomOf="parent"
         app:layout_constraintBottom_toBottomOf="parent"
         android:background="#f7f7f7"
         android:background="#f7f7f7"
         android:layout_width="match_parent"
         android:layout_width="match_parent"

+ 1 - 0
user/src/main/res/layout/fragment_rich_level.xml

@@ -157,6 +157,7 @@
             android:id="@+id/tvKnowDetail"
             android:id="@+id/tvKnowDetail"
             android:textColor="#fff"
             android:textColor="#fff"
             android:textSize="11dp"
             android:textSize="11dp"
+            android:visibility="gone"
             android:drawablePadding="5dp"
             android:drawablePadding="5dp"
             android:drawableEnd="@mipmap/more_small"
             android:drawableEnd="@mipmap/more_small"
             android:layout_gravity="center_vertical|end"
             android:layout_gravity="center_vertical|end"