Browse Source

feat: 排行榜

tongmengxiao 1 year ago
parent
commit
d2ccb03e2a

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

@@ -68,6 +68,11 @@ class PersonDataDFragment : BaseXDFragment<DialogPersonDataBinding>() {
 
             UserInfo.getUserInfo()?.let {
                 if (it.id == uid){
+                    SwagoRoomManager.iRoomInfo?.let {
+                        if (it.getRoomType() == 2){
+                            binding.ivGift.visibility = View.GONE
+                        }
+                    }
 //                    binding.ivGift.visibility = View.GONE
                     binding.tvAt.visibility = View.GONE
                     binding.llChat.visibility = View.GONE

+ 2 - 0
baseswago/src/main/java/com/swago/baseswago/constant/UrlConstant.kt

@@ -83,6 +83,8 @@ object UrlConstant {
     val FAMILY_MANAGEMENT = "${BASE_WEB_URL}/agent/guildIncome"
     val WITHDRAW = "${BASE_WEB_URL}/withdrawal" //主播家族长跳这个
     val WITHDRAW_CUSTOMER = "${BASE_WEB_URL}/withdrawal/customer"//所有用户都跳跳这个 1.2.0版本改的
+    //排行榜
+    val RANKING = "${BASE_WEB_URL}/goldCoinRank"
 
     var appGameRootPath =
         AppContext.getContext().getExternalFilesDir("")?.absolutePath + File.separator + "gameFile"

BIN
baseswago/src/main/res/mipmap-xxhdpi/default_avatar.png


+ 1 - 0
baseswago/src/main/res/values-ar/strings.xml

@@ -163,6 +163,7 @@
     <string name="already_receive_red_envelope">لقد تلقيت بالفعل الصندوق الأحمر</string>
     <string name="cancel">يلغي</string>
     <string name="not_enough_coin">رصيد عملة غير كاف</string>
+    <string name="my_diamond">بلدي الماس</string>
 
     <string name="please_update">يرجى تحديث التطبيق أولا</string>
     <string name="upgrade_level">كيفية الترقية</string>

+ 1 - 0
baseswago/src/main/res/values-in/strings.xml

@@ -173,6 +173,7 @@
     <string name="not_enough_coin">Saldo koin tidak mencukupi</string>
     <string name="prepare_to_open_red_envelope">Saya mengirim Angpao keberuntungan, akan dirampok dalam 30-an, silakan persiapkan terlebih dahulu</string>
     <string name="thank_for_boss">Saya mendapat %s koin, terima kasih bos %s!</string>
+    <string name="my_diamond">Diamond Saya</string>
 
     <string name="please_update">Silakan perbarui aplikasi terlebih dahulu</string>
     <string name="upgrade_level">Bagaimana cara perbarui?</string>

+ 1 - 0
baseswago/src/main/res/values-ms/strings.xml

@@ -173,6 +173,7 @@
     <string name="already_receive_red_envelope">Awak dah ambik sampul merah tu</string>
     <string name="cancel">Batal</string>
     <string name="not_enough_coin">Baki syiling emas tidak mencukupi</string>
+    <string name="my_diamond">Diamond Saya</string>
 
     <string name="please_update">Kemas kini aplikasi anda ke versi yang terbaru.</string>
     <string name="upgrade_level">Bagaimana untuk kemas kini</string>

+ 1 - 0
baseswago/src/main/res/values-zh/strings.xml

@@ -163,6 +163,7 @@
     <string name="already_receive_red_envelope">你已经抢过该红包了</string>
     <string name="cancel">取消</string>
     <string name="not_enough_coin">金币余额不足</string>
+    <string name="my_diamond">我的钻石</string>
 
     <string name="please_update">请您先更新应用</string>
     <string name="upgrade_level">如何升级</string>

+ 1 - 0
baseswago/src/main/res/values/strings.xml

@@ -160,6 +160,7 @@
 
     <string name="update_now">update immediately</string>
     <string name="exchange_coin">Coin exchange</string>
+    <string name="my_diamond">My Diamond</string>
     <string name="exchange">Exchange</string>
     <string name="coin_balance">Coin balance</string>
     <string name="diamond_balance">Diamond balance</string>

+ 5 - 24
home/src/main/java/com/swago/home/HomeFragment.kt

@@ -106,44 +106,25 @@ class HomeFragment : BaseXFragment<FragmentHomeBinding>() {
             }
         })
 
-        binding.tvStartLive.setOnClickListener(object : NoDoubleClickListener() {
-            override fun onClick() {
-                binding.tvStartLive.isEnabled = false
-                PermissionX.init(this@HomeFragment)
-                    .permissions(Manifest.permission.CAMERA, Manifest.permission.RECORD_AUDIO)
-                    .request { allGranted, grantedList, deniedList ->
-                        if (allGranted) {
-                            ARouter.getInstance().build(ARouteConstant.Room.anchor).navigation()
-                        } else {
-                            binding.tvStartLive.isEnabled = true
-                            Toast.makeText(
-                                AppContext.getContext(),
-                                "These permissions are denied: $deniedList",
-                                Toast.LENGTH_LONG
-                            ).show()
-                        }
-                    }
-            }
-        })
 
         binding.ivRanking.setOnClickListener(object :NoDoubleClickListener(){
             override fun onClick() {
                 ARouter.getInstance().build(ARouteConstant.Base.webView)
-                    .withString("url", UrlConstant.USER_AGREEMENT)
+                    .withString("url", UrlConstant.RANKING)
                     .navigation()
             }
         })
 
-        binding.mtvLive.setOnClickListener(object :NoDoubleClickListener(){
+        binding.ivLive.setOnClickListener(object :NoDoubleClickListener(){
             override fun onClick() {
-                binding.tvStartLive.isEnabled = false
+                binding.ivLive.isEnabled = false
                 PermissionX.init(this@HomeFragment)
                     .permissions(Manifest.permission.CAMERA, Manifest.permission.RECORD_AUDIO)
                     .request { allGranted, grantedList, deniedList ->
                         if (allGranted) {
                             ARouter.getInstance().build(ARouteConstant.Room.anchor).navigation()
                         } else {
-                            binding.tvStartLive.isEnabled = true
+                            binding.ivLive.isEnabled = true
                             Toast.makeText(
                                 AppContext.getContext(),
                                 "These permissions are denied: $deniedList",
@@ -198,6 +179,6 @@ class HomeFragment : BaseXFragment<FragmentHomeBinding>() {
 
     override fun onResume() {
         super.onResume()
-        binding.tvStartLive.isEnabled = true
+        binding.ivLive.isEnabled = true
     }
 }

+ 6 - 46
home/src/main/res/layout/fragment_home.xml

@@ -52,26 +52,6 @@
         android:layout_marginEnd="10dp"
         android:src="@mipmap/ic_live"/>
 
-    <com.swago.baseswago.cusview.MediumTextView
-        android:id="@+id/tvStartLive"
-        android:gravity="center_vertical"
-        android:drawablePadding="4dp"
-        android:paddingStart="8dp"
-        android:paddingEnd="8dp"
-        android:paddingTop="5dp"
-        android:paddingBottom="5dp"
-        android:textSize="14dp"
-        android:textColor="@color/_000000"
-        android:drawableStart="@mipmap/icon_start_live"
-        app:layout_constraintTop_toTopOf="@+id/magicIndicator"
-        app:layout_constraintBottom_toBottomOf="@+id/magicIndicator"
-        app:layout_constraintEnd_toEndOf="parent"
-        android:layout_marginEnd="10dp"
-        android:background="@drawable/shape_white_20"
-        android:text="@string/live"
-        android:visibility="gone"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"/>
 
     <com.duolingo.open.rtlviewpager.RtlViewPager
         android:id="@+id/viewPager"
@@ -81,34 +61,14 @@
         android:layout_height="0dp"/>
 
     <ImageView
-        android:id="@+id/ivLive"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:src="@drawable/ic_add_contact"
+        android:id="@+id/iv_live"
+        android:layout_width="55dp"
+        android:layout_height="55dp"
         app:layout_constraintBottom_toBottomOf="parent"
         app:layout_constraintRight_toRightOf="parent"
-        android:layout_marginRight="10dp"
-        android:layout_marginBottom="10dp"
-        android:visibility="gone"/>
+        android:layout_marginRight="12dp"
+        android:layout_marginBottom="12dp"
+        android:background="@mipmap/ic_voice"/>
 
-    <com.swago.baseswago.cusview.MediumTextView
-        android:id="@+id/mtv_live"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintRight_toRightOf="parent"
-        android:layout_marginRight="10dp"
-        android:layout_marginBottom="10dp"
-        android:gravity="center_vertical"
-        android:drawablePadding="4dp"
-        android:paddingStart="16dp"
-        android:paddingEnd="16dp"
-        android:paddingTop="10dp"
-        android:paddingBottom="10dp"
-        android:textSize="14dp"
-        android:background="@drawable/shape_9b20fc_20"
-        android:text="@string/live"
-        android:textColor="@color/_ffffff"
-        android:drawableStart="@mipmap/ic_voice"/>
 
 </androidx.constraintlayout.widget.ConstraintLayout>

BIN
home/src/main/res/mipmap-xxhdpi/ic_voice.png


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

@@ -41,9 +41,13 @@ class LoginActivity : BaseXActivity<ActivityLoginBinding>() {
 
     }
 
+    override fun onResume() {
+        super.onResume()
+        loginVm.getApiDomain()
+    }
+
     override fun initOther() {
         IMMessageManager.groupMessageParser.clear()
-        loginVm.getApiDomain()
         GoogleLogin.init(this)
         FBLogin.init(object : IFacebook {
             override fun getToken(token: String) {

+ 7 - 1
room/src/main/java/com/swago/room/giftdandao/GiftDanDaoManager.kt

@@ -4,7 +4,9 @@ import com.swago.baseswago.baseroom.IRoomActiveListener
 import com.swago.baseswago.baseroom.IRoomInfo
 import com.swago.baseswago.baseroom.SwagoRoomManager
 import com.swago.baseswago.model.live.gift.IMGiftModel
+import com.swago.baseswago.util.AppContext
 import com.swago.baseswago.util.LogUtil
+import com.swago.room.sound.SoundPoolPlayer
 import kotlinx.coroutines.*
 import java.util.*
 import kotlin.collections.ArrayList
@@ -25,6 +27,7 @@ class GiftDanDaoManager  : IRoomActiveListener {
 
     fun init(){
         SwagoRoomManager.addListener(this)
+        SoundPoolPlayer.init(AppContext.getContext())
     }
 
     override fun changeRoom(iRoomInfo: IRoomInfo) {
@@ -54,6 +57,7 @@ class GiftDanDaoManager  : IRoomActiveListener {
         loopJob?.cancel()
         loopJob = null
         SwagoRoomManager.removeListener(this)
+        SoundPoolPlayer.release()
     }
 
 
@@ -63,7 +67,9 @@ class GiftDanDaoManager  : IRoomActiveListener {
             initQueue()
             loopJob?.start()
         }
-
+        if (imGiftModel.multiple >= 500){
+            SoundPoolPlayer.playSound()
+        }
     }
 
     private fun initQueue(){

+ 1 - 7
room/src/main/java/com/swago/room/piaotiao/WaftView.kt

@@ -122,10 +122,7 @@ class WaftView : FrameLayout {
                     val multiple = "<font color='#FFDB43'>${next.multiple}</font>"
                     binding?.ll?.setBackgroundResource(R.mipmap.waft_big_prize)
                     binding?.marqueeTextView?.text = Html.fromHtml("\u200E${AppContext.getContext().resources.getString(R.string.big_prize).format(sendName,giftName,multiple)}")
-                    with(SoundPoolPlayer){
-                        init(context)
-                        playSound()
-                    }
+
                 }else{
                     val sendName = "<font color='#FFDB43'>${next.senderName}</font>"
                     val giftName = "<font color='#FFDB43'>${localName}</font>"
@@ -170,9 +167,6 @@ class WaftView : FrameLayout {
         imGiftModelList.clear()
         animatorSet = null
         binding?.ll?.visibility = View.INVISIBLE
-        with( SoundPoolPlayer){
-            release()
-        }
     }
 
 }

+ 14 - 0
room/src/main/java/com/swago/room/sound/SoundPoolPlayer.kt

@@ -1,28 +1,42 @@
 package com.swago.room.sound
 
 import android.content.Context
+import android.content.Context.VIBRATOR_SERVICE
 import android.media.SoundPool
+import android.os.Vibrator
+import androidx.core.content.ContextCompat.getSystemService
 import com.swago.room.R
 
+
 object SoundPoolPlayer {
     private const val MAX_STREAMS = 5
     private var soundPool:SoundPool?=null
+    private var vibrator:Vibrator?=null
     private var soundId:Int = 0
+
+
     fun init(context:Context){
         if (soundPool == null) {
             soundPool = SoundPool.Builder().setMaxStreams(MAX_STREAMS).build()
             //加载音效
             soundId = soundPool!!.load(context, R.raw.gift_sound, 1)
         }
+        if (vibrator == null){
+            vibrator = context.getSystemService(VIBRATOR_SERVICE) as Vibrator
+
+        }
     }
 
     fun playSound(){
         soundPool?.play(soundId,1f,1f,1,0,1f)
+        vibrator?.vibrate(500)
     }
 
     fun release(){
         soundPool?.release()
         soundPool=null
+        vibrator?.cancel()
+
     }
 
 }

+ 1 - 1
room/src/main/res/layout/layout_user_header_view.xml

@@ -269,6 +269,6 @@
         android:text="id"
         android:layout_marginRight="12dp"
         android:textSize="@dimen/sp_12"
-        android:textColor="#33000000"/>
+        android:textColor="#66ffffff"/>
 
 </androidx.constraintlayout.widget.ConstraintLayout>

BIN
room/src/main/res/raw/gift_sound.mp3


BIN
room/src/main/res/raw/gift_sound.wav


+ 1 - 1
user/src/main/java/com/swago/user/exchange/DiamondCoinExchangeActivity.kt

@@ -45,7 +45,7 @@ class DiamondCoinExchangeActivity : BaseXActivity<ActivityDiamondCoinBinding>()
     override fun initOther() {
         setBackView(binding.toolbar.ivBack)
         binding.toolbar.tvTitle.text =
-            AppContext.getContext().resources.getString(R.string.exchange_coin)
+            AppContext.getContext().resources.getString(R.string.my_diamond)
 
         UserInfo.getUserInfo()?.let {
             binding.tvCoinBalance.text = it.user_coins