honghengqiang 3 anos atrás
pai
commit
bd04cb7d62

BIN
app/release/app-release.aab → app/release/com.swago.app-release-1.0.4.apk


+ 18 - 0
app/release/output-metadata.json

@@ -0,0 +1,18 @@
+{
+  "version": 2,
+  "artifactType": {
+    "type": "APK",
+    "kind": "Directory"
+  },
+  "applicationId": "com.swago.app",
+  "variantName": "release",
+  "elements": [
+    {
+      "type": "SINGLE",
+      "filters": [],
+      "versionCode": 5,
+      "versionName": "1.0.4",
+      "outputFile": "com.swago.app-release-1.0.4.apk"
+    }
+  ]
+}

+ 8 - 14
app/src/main/java/com/swago/app/SplashActivity.kt

@@ -1,5 +1,6 @@
 package com.swago.app
 
+import android.content.Intent
 import androidx.appcompat.app.AppCompatActivity
 import android.os.Bundle
 import android.util.Log
@@ -30,7 +31,9 @@ class SplashActivity : AppCompatActivity() {
             TUIKit.login(UserInfo.getLoginModel()!!.user_account,UserInfo.getLoginModel()!!.user_sig,object:
                 IUIKitCallBack {
                 override fun onSuccess(data: Any?) {
-                    IMUtil.joinGroup(loginFun,joinGroupCallback)
+                    ARouter.getInstance().build(ARouteConstant.Home.home)
+                        .withFlags(Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TOP).navigation()
+                    IMUtil.joinGroup(loginFun)
                 }
 
                 override fun onError(module: String?, errCode: Int, errMsg: String?) {
@@ -47,7 +50,10 @@ class SplashActivity : AppCompatActivity() {
             TUIKit.login(it.user_account,it.user_sig,object:
                 IUIKitCallBack {
                 override fun onSuccess(data: Any?) {
-                    IMUtil.joinGroup(null,joinGroupCallback)
+                    ARouter.getInstance().build(ARouteConstant.Home.home)
+                        .withFlags(Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TOP).navigation()
+                    IMUtil.joinGroup(null)
+                    finish()
                 }
 
                 override fun onError(module: String?, errCode: Int, errMsg: String?) {
@@ -57,16 +63,4 @@ class SplashActivity : AppCompatActivity() {
             })
         }
     }
-
-
-    var joinGroupCallback = object: V2TIMCallback {
-        override fun onSuccess() {
-            ARouter.getInstance().build(ARouteConstant.Home.home).navigation()
-            finish()
-        }
-
-        override fun onError(code: Int, desc: String?) {
-            Toast.makeText(AppContext.getContext(), "IM join group error-$code", Toast.LENGTH_SHORT).show()
-        }
-    }
 }

+ 2 - 1
app/src/main/java/com/swago/app/SwagoApp.kt

@@ -25,8 +25,9 @@ class SwagoApp : Application() {
         if (BuildConfig.DEBUG) {
             ARouter.openLog()
             ARouter.openDebug()
-            CrashHandler.getInstance().init(this)
+
         }
+        CrashHandler.getInstance().init(this)
         ActivityManagerUtil.get().init(this)
         ARouter.init(this)
         TUIKit.init(this,AppContext.getContext().resources.getString(R.string.im_id).toInt(), TUIKitConfigs.getConfigs())

+ 1 - 1
baseswago/build.gradle

@@ -99,7 +99,7 @@ dependencies {
     api 'top.zibin:Luban:1.1.8'
     api 'com.github.HuanTanSheng:EasyPhotos:3.1.3'
     //facebook
-    api 'com.facebook.android:facebook-login:8.2.0'
+    api 'com.facebook.android:facebook-android-sdk:[8,9)'
     //google
     api 'com.google.android.gms:play-services-auth:19.0.0'
     //im

+ 3 - 4
baseswago/src/main/java/com/swago/baseswago/UserVm.kt

@@ -7,10 +7,7 @@ import com.huantansheng.easyphotos.ui.dialog.LoadingDialog
 import com.swago.baseswago.inter.ApiManager
 import com.swago.baseswago.model.*
 import com.swago.baseswago.model.mine.LevelModel
-import com.swago.baseswago.util.ActivityManagerUtil
-import com.swago.baseswago.util.AppContext
-import com.swago.baseswago.util.BaseViewModel
-import com.swago.baseswago.util.SwagoLoading
+import com.swago.baseswago.util.*
 import okhttp3.MediaType.Companion.toMediaTypeOrNull
 import okhttp3.MultipartBody
 import okhttp3.RequestBody
@@ -167,6 +164,8 @@ class UserVm(application: Application) : BaseViewModel(application) {
             requestData {
                 SwagoLoading.showLoadingDialog(ActivityManagerUtil.get().currentActivity())
                 ApiManager.userApi.logout()
+                UserInfo.clearUserInfo()
+                SpUtil.clearSp()
                 logoutLiveData.value = ""
                 SwagoLoading.cancelLoadingDialog()
             }

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

@@ -59,11 +59,20 @@ object IMUtil {
         return true
     }
 
-    fun joinGroup(loginCallback:(()->Unit)?,callback:V2TIMCallback){
+    fun joinGroup(loginCallback:(()->Unit)?){
         if (checkIsLogin()){
             //已登录
             V2TIMManager.getInstance().quitGroup(UserInfo.getLoginModel()!!.group_id,null)
-            V2TIMManager.getInstance().joinGroup(UserInfo.getLoginModel()!!.group_id, "", callback)
+            V2TIMManager.getInstance().joinGroup(UserInfo.getLoginModel()!!.group_id, "",object:V2TIMCallback{
+                override fun onSuccess() {
+                    LogUtil.d("加入大群成功")
+                }
+
+                override fun onError(code: Int, desc: String?) {
+                    Toast.makeText(AppContext.getContext(), "IM join group error-$code", Toast.LENGTH_SHORT).show()
+                }
+
+            })
         }else{
             //未登录成功
             loginCallback?.invoke()

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

@@ -46,6 +46,7 @@ object UserInfo {
     }
 
     fun clearUserInfo() {
+        loginModel= null
         userInfoModel = null
     }
 }

+ 1 - 2
build.gradle

@@ -9,7 +9,7 @@ buildscript {
     }
     dependencies {
         classpath "com.android.tools.build:gradle:4.2.1"
-        classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.0'
+        classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.30'
 
         // NOTE: Do not place your application dependencies here; they belong
         // in the individual module build.gradle files
@@ -22,7 +22,6 @@ allprojects {
         maven { url 'https://jitpack.io' }
         mavenCentral()
         maven { url "https://mirrors.tencent.com/nexus/repository/maven-public/" }
-        jcenter() // Warning: this repository is going to shut down soon
     }
 }
 

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

@@ -35,7 +35,7 @@ class HomeActivity : BaseXActivity<ActivityHomeBinding>(), IPayCallback {
     private val payVm by viewModels<PayVm>()
 
     private val listFragment =
-        arrayListOf(HomeFragment(), MomentFragment(), MessageFragment(), MineFragment())
+        arrayListOf(MomentFragment(), HomeFragment(),MessageFragment(), MineFragment())
 
     override fun loadData() {
 
@@ -48,12 +48,12 @@ class HomeActivity : BaseXActivity<ActivityHomeBinding>(), IPayCallback {
         binding.viewPager.offscreenPageLimit = 4
         binding.rg.setOnCheckedChangeListener { _, checkedId ->
             when (checkedId) {
-                R.id.rbHome -> {
-                    binding.viewPager.currentItem = 0
-                }
                 R.id.rbCircle -> {
                     binding.viewPager.currentItem = 1
                 }
+                R.id.rbHome -> {
+                    binding.viewPager.currentItem = 0
+                }
                 R.id.rbMessage -> {
                     binding.viewPager.currentItem = 2
                 }
@@ -74,16 +74,16 @@ class HomeActivity : BaseXActivity<ActivityHomeBinding>(), IPayCallback {
             override fun onPageSelected(position: Int) {
                 when (position) {
                     0 -> {
-                        if (binding.rbHome.isChecked) {
+                        if (binding.rbCircle.isChecked) {
                             return
                         }
-                        binding.rg.check(R.id.rbHome)
+                        binding.rg.check(R.id.rbCircle)
                     }
                     1 -> {
-                        if (binding.rbCircle.isChecked) {
+                        if (binding.rbHome.isChecked) {
                             return
                         }
-                        binding.rg.check(R.id.rbCircle)
+                        binding.rg.check(R.id.rbHome)
                     }
                     2 -> {
                         if (binding.rbMessage.isChecked) {

+ 28 - 29
home/src/main/res/layout/activity_home.xml

@@ -1,77 +1,76 @@
 <?xml version="1.0" encoding="utf-8"?>
 <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="match_parent"
-    xmlns:app="http://schemas.android.com/apk/res-auto">
+    android:layout_height="match_parent">
 
     <androidx.viewpager.widget.ViewPager
         android:id="@+id/viewPager"
-        app:layout_constraintTop_toTopOf="parent"
-        app:layout_constraintBottom_toTopOf="@+id/rg"
         android:layout_width="match_parent"
-        android:layout_height="0dp"/>
-
+        android:layout_height="0dp"
+        app:layout_constraintBottom_toTopOf="@+id/rg"
+        app:layout_constraintTop_toTopOf="parent" />
 
 
     <RadioGroup
         android:id="@+id/rg"
-        android:orientation="horizontal"
-        app:layout_constraintBottom_toBottomOf="parent"
-        android:gravity="center_vertical"
         android:layout_width="match_parent"
-        android:layout_height="50dp">
+        android:layout_height="50dp"
+        android:gravity="center_vertical"
+        android:orientation="horizontal"
+        app:layout_constraintBottom_toBottomOf="parent">
 
         <RadioButton
-            android:id="@+id/rbHome"
+            android:id="@+id/rbCircle"
             android:layout_width="0dp"
+            android:layout_height="wrap_content"
             android:layout_weight="1"
             android:button="@null"
             android:checked="true"
-            android:paddingTop="15dp"
-            android:drawableTop="@drawable/selector_home"
-            android:layout_height="wrap_content"/>
+            android:drawableTop="@drawable/selector_square"
+            android:paddingTop="15dp" />
 
         <RadioButton
-            android:id="@+id/rbCircle"
+            android:id="@+id/rbHome"
             android:layout_width="0dp"
+            android:layout_height="wrap_content"
             android:layout_weight="1"
             android:button="@null"
-            android:paddingTop="15dp"
-            android:drawableTop="@drawable/selector_square"
-            android:layout_height="wrap_content"/>
+            android:drawableTop="@drawable/selector_home"
+            android:paddingTop="15dp" />
+
 
         <RadioButton
             android:id="@+id/rbMessage"
             android:layout_width="0dp"
-            android:layout_weight="1"
+            android:layout_height="wrap_content"
             android:layout_marginStart="60dp"
+            android:layout_weight="1"
             android:button="@null"
-            android:paddingTop="15dp"
             android:drawableTop="@drawable/selector_message"
-            android:layout_height="wrap_content"/>
+            android:paddingTop="15dp" />
 
         <RadioButton
             android:id="@+id/rbMine"
             android:layout_width="0dp"
+            android:layout_height="wrap_content"
             android:layout_weight="1"
             android:button="@null"
-            android:paddingTop="15dp"
             android:drawableTop="@drawable/selector_mine"
-            android:layout_height="wrap_content"/>
-
+            android:paddingTop="15dp" />
 
 
     </RadioGroup>
 
     <ImageView
         android:id="@+id/ivStartLive"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginBottom="4dp"
         android:src="@mipmap/start_live"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintEnd_toEndOf="parent"
         app:layout_constraintBottom_toBottomOf="parent"
-        android:layout_marginBottom="4dp"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"/>
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent" />
 
 
 </androidx.constraintlayout.widget.ConstraintLayout>

+ 27 - 20
login/src/main/java/com/swago/login/LoginActivity.kt

@@ -18,8 +18,10 @@ import com.swago.baseswago.activity.BaseXActivity
 import com.swago.baseswago.constant.ARouteConstant
 import com.swago.baseswago.constant.UrlConstant
 import com.swago.baseswago.im.IMMessageManager
+import com.swago.baseswago.util.ActivityManagerUtil
 import com.swago.baseswago.util.AppContext
 import com.swago.baseswago.util.NoDoubleClickListener
+import com.swago.baseswago.util.SwagoLoading
 import com.swago.login.databinding.ActivityLoginBinding
 
 /**
@@ -43,6 +45,7 @@ class LoginActivity : BaseXActivity<ActivityLoginBinding>() {
         GoogleLogin.init(this)
         FBLogin.init(object : IFacebook {
             override fun getToken(token: String) {
+                SwagoLoading.showLoadingDialog(this@LoginActivity)
                 loginVm.login("facebook", token)
             }
         })
@@ -50,27 +53,29 @@ class LoginActivity : BaseXActivity<ActivityLoginBinding>() {
 
         binding.clFaceBook.setOnClickListener(object : NoDoubleClickListener() {
             override fun onClick() {
-                if (isInstall(this@LoginActivity,FACEBOOK)){
-                    PermissionX.init(this@LoginActivity)
-                        .permissions(
-                            Manifest.permission.CAMERA,
-                            Manifest.permission.RECORD_AUDIO,
-                            Manifest.permission.READ_EXTERNAL_STORAGE
-                        )
-                        .request { allGranted, grantedList, deniedList ->
-                            if (allGranted) {
-                                FBLogin.login(this@LoginActivity)
-                            } else {
-                                Toast.makeText(
-                                    this@LoginActivity,
-                                    "These permissions are denied: $deniedList",
-                                    Toast.LENGTH_LONG
-                                ).show()
-                            }
+//                if (isInstall(this@LoginActivity,FACEBOOK)){
+//
+//                }else{
+//                    Toast.makeText(AppContext.getContext(), AppContext.getContext().resources.getString(R.string.install_facebook), Toast.LENGTH_SHORT).show()
+//                }
+
+                PermissionX.init(this@LoginActivity)
+                    .permissions(
+                        Manifest.permission.CAMERA,
+                        Manifest.permission.RECORD_AUDIO,
+                        Manifest.permission.READ_EXTERNAL_STORAGE
+                    )
+                    .request { allGranted, grantedList, deniedList ->
+                        if (allGranted) {
+                            FBLogin.login(this@LoginActivity)
+                        } else {
+                            Toast.makeText(
+                                this@LoginActivity,
+                                "These permissions are denied: $deniedList",
+                                Toast.LENGTH_LONG
+                            ).show()
                         }
-                }else{
-                    Toast.makeText(AppContext.getContext(), AppContext.getContext().resources.getString(R.string.install_facebook), Toast.LENGTH_SHORT).show()
-                }
+                    }
 
             }
         })
@@ -157,6 +162,7 @@ class LoginActivity : BaseXActivity<ActivityLoginBinding>() {
                     )
                     .request { allGranted, grantedList, deniedList ->
                         if (allGranted) {
+                            SwagoLoading.showLoadingDialog(this@LoginActivity)
                             val account = binding.etAccount.text.toString()
                             val secret = binding.etSecret.text.toString()
                             loginVm.loginByAccount(account, secret)
@@ -184,6 +190,7 @@ class LoginActivity : BaseXActivity<ActivityLoginBinding>() {
                     val result = task.getResult(ApiException::class.java)
                     result?.let {
                         it.idToken?.apply {
+                            SwagoLoading.showLoadingDialog(this@LoginActivity)
                             loginVm.login("google", this)
                         }
                     }

+ 12 - 17
login/src/main/java/com/swago/login/LoginVm.kt

@@ -1,6 +1,7 @@
 package com.swago.login
 
 import android.app.Application
+import android.content.Intent
 import android.util.Log
 import android.widget.Toast
 import androidx.lifecycle.MutableLiveData
@@ -22,13 +23,16 @@ class LoginVm(application: Application) : BaseViewModel(application) {
     fun login(source:String,token:String){
         requestData2 {
             requestData {
-                SwagoLoading.showLoadingDialog(ActivityManagerUtil.get().currentActivity())
                 val data = ApiManager.loginApi.login(source,token)
                 SpUtil.putString("login_info", Gson().toJson(data))
+                SwagoLoading.cancelLoadingDialog()
                 TUIKit.login(data.user_account,data.user_sig,object:
                     IUIKitCallBack {
                     override fun onSuccess(data: Any?) {
-                        IMUtil.joinGroup(loginFun,joinGroupCallback)
+
+                        ARouter.getInstance().build(ARouteConstant.Home.home)
+                            .withFlags(Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TOP).navigation()
+                        IMUtil.joinGroup(loginFun)
                     }
 
                     override fun onError(module: String?, errCode: Int, errMsg: String?) {
@@ -48,7 +52,9 @@ class LoginVm(application: Application) : BaseViewModel(application) {
             TUIKit.login(it.user_account,it.user_sig,object:
                 IUIKitCallBack {
                 override fun onSuccess(data: Any?) {
-                    IMUtil.joinGroup(null,joinGroupCallback)
+                    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?) {
@@ -60,31 +66,20 @@ class LoginVm(application: Application) : BaseViewModel(application) {
     }
 
 
-    var joinGroupCallback = object:V2TIMCallback{
-        override fun onSuccess() {
-            ARouter.getInstance().build(ARouteConstant.Home.home).navigation()
-        }
-
-        override fun onError(code: Int, desc: String?) {
-            Toast.makeText(AppContext.getContext(), "IM join group error-$code", Toast.LENGTH_SHORT).show()
-        }
-    }
-
     fun loginByAccount(account: String, pwd: String) {
         requestData2 {
             requestData {
-                SwagoLoading.showLoadingDialog(ActivityManagerUtil.get().currentActivity())
                 val data = ApiManager.loginApi.loginByAccount(account,pwd)
                 SpUtil.putString("login_info", Gson().toJson(data))
+                SwagoLoading.cancelLoadingDialog()
                 TUIKit.login(data.user_account,data.user_sig,object:
                     IUIKitCallBack {
                     override fun onSuccess(data: Any?) {
-                        SwagoLoading.cancelLoadingDialog()
-                        IMUtil.joinGroup(loginFun,joinGroupCallback)
+                        ARouter.getInstance().build(ARouteConstant.Home.home).navigation()
+                        IMUtil.joinGroup(loginFun)
                     }
 
                     override fun onError(module: String?, errCode: Int, errMsg: String?) {
-                        SwagoLoading.cancelLoadingDialog()
                         Toast.makeText(AppContext.getContext(), "Login fail code=$errCode", Toast.LENGTH_SHORT).show()
                     }
                 })