瀏覽代碼

feat: daodb proguard

tongmengxiao 10 月之前
父節點
當前提交
367a91f9e1

+ 14 - 1
app/proguard-rules.pro

@@ -247,4 +247,17 @@
 -keepclassmembers class com.facebook.applinks.** { *; }
 -keep class com.facebook.FacebookSdk { *; }
 -keep class com.huawei.hms.ads.** { *; }
--keep class com.facebook.login.** { *; }
+-keep class com.facebook.login.** { *; }
+
+-keepclassmembers class * extends org.greenrobot.greendao.AbstractDao {
+public static java.lang.String TABLENAME;
+}
+-keep class **$Properties { *; }
+
+# If you DO use SQLCipher:
+-keep class org.greenrobot.greendao.database.SqlCipherEncryptedHelper { *; }
+
+# If you do NOT use SQLCipher:
+-dontwarn net.sqlcipher.database.**
+# If you do NOT use RxJava:
+-dontwarn rx.**

+ 2 - 4
home/src/main/java/com/swago/home/ChatDetailActivity.kt

@@ -150,8 +150,7 @@ class ChatDetailActivity  : BaseXActivity<ActivityChatDetailBinding>() {
         if (!TextUtils.isEmpty(headSpecial)){
             svgaParser?.decodeFromURL(URL(headSpecial), object :SVGAParser.ParseCompletion{
                 override fun onComplete(videoItem: SVGAVideoEntity) {
-                    val drawable = SVGADrawable(videoItem)
-                    messageRecyclerView?.leftSvgaAvatar = drawable
+                    messageRecyclerView?.leftSvgaAvatar = videoItem
                 }
 
                 override fun onError() {
@@ -164,8 +163,7 @@ class ChatDetailActivity  : BaseXActivity<ActivityChatDetailBinding>() {
             UserInfo.getUserInfo()?.android_head_special?.let {
                 svgaParser?.decodeFromURL(URL(it), object :SVGAParser.ParseCompletion{
                     override fun onComplete(videoItem: SVGAVideoEntity) {
-                        val drawable = SVGADrawable(videoItem)
-                        messageRecyclerView?.rightSvgaAvatar = drawable
+                        messageRecyclerView?.rightSvgaAvatar = videoItem
                     }
 
                     override fun onError() {

+ 4 - 0
room/src/main/java/com/swago/room/adapter/RoomUserAdapter.kt

@@ -1,6 +1,7 @@
 package com.swago.room.adapter
 
 import android.text.TextUtils
+import android.view.View
 import com.bumptech.glide.Glide
 import com.chad.library.adapter.base.BaseQuickAdapter
 import com.chad.library.adapter.base.BaseViewHolder
@@ -31,6 +32,7 @@ class RoomUserAdapter : BaseQuickAdapter<RoomUserModel.ListBean,BaseViewHolder>(
                 .error(R.mipmap.default_avatar).into(ivAvatar)
 
             if (!item.android_head_special.isNullOrEmpty()){
+                svgAvatar.visibility = View.VISIBLE
                 svgaParser.decodeFromURL(URL(item.android_head_special), object :SVGAParser.ParseCompletion{
                     override fun onComplete(videoItem: SVGAVideoEntity) {
                         val drawable = SVGADrawable(videoItem)
@@ -41,6 +43,8 @@ class RoomUserAdapter : BaseQuickAdapter<RoomUserModel.ListBean,BaseViewHolder>(
                     override fun onError() {
                     }
                 })
+            } else{
+                svgAvatar.visibility = View.INVISIBLE
             }
 
         }

+ 3 - 1
room/src/main/java/com/swago/room/base/BaseComFragment.kt

@@ -253,6 +253,9 @@ abstract class BaseComFragment<T : FragmentBaseComBinding> : BaseXFragment<T>(),
                         roomVm.getAudioList(it.getAnchorId(), 2)
                     }
                 }
+                if (SwagoRoomManager.roleType == RoleType.anchor){
+                    roomVm.loadRoomData()
+                }
                 delay(10000)
             }
         }
@@ -751,7 +754,6 @@ abstract class BaseComFragment<T : FragmentBaseComBinding> : BaseXFragment<T>(),
         }
         AudioRoomManager.removeListener(this)
         SwagoRoomManager.removeListener(this)
-        job.cancel()
     }
 
     fun openSendMessageDialog(atName: String = "") {

+ 1 - 1
room/src/main/java/com/swago/room/database/DBManager.kt

@@ -6,7 +6,7 @@ object DBManager {
     private var daoSession: DaoSession? = null
 
     fun init(context: Context) {
-        val helper = DaoMaster.DevOpenHelper(context, "meliv_db")
+        val helper = DaoMaster.DevOpenHelper(context, "meliv.db")
         val db = helper.writableDb
         val daoMaster = DaoMaster(db)
         daoSession = daoMaster.newSession()

+ 31 - 10
room/src/main/res/layout/view_item_gift.xml

@@ -38,17 +38,38 @@
             android:layout_width="283dp"
             android:layout_height="60dp"/>
 
-        <de.hdodenhof.circleimageview.CircleImageView
-            android:id="@+id/ivAvatar"
+        <androidx.constraintlayout.widget.ConstraintLayout
+            android:id="@+id/clAvatar"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
             android:layout_marginStart="12dp"
             android:layout_marginTop="2dp"
             android:layout_marginBottom="2dp"
-            android:src="@mipmap/default_avatar"
             app:layout_constraintTop_toTopOf="parent"
             app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintStart_toStartOf="parent"
-            android:layout_width="36dp"
-            android:layout_height="36dp"/>
+            app:layout_constraintStart_toStartOf="parent">
+            <de.hdodenhof.circleimageview.CircleImageView
+                android:id="@+id/ivAvatar"
+                android:src="@mipmap/default_avatar"
+                app:layout_constraintTop_toTopOf="parent"
+                app:layout_constraintBottom_toBottomOf="parent"
+                app:layout_constraintStart_toStartOf="parent"
+                app:layout_constraintEnd_toEndOf="parent"
+                android:layout_width="30dp"
+                android:layout_height="30dp"/>
+
+            <com.opensource.svgaplayer.SVGAImageView
+                android:id="@+id/svgAvatar"
+                android:layout_width="36dp"
+                android:layout_height="36dp"
+                android:visibility="visible"
+                app:autoPlay="true"
+                app:loopCount="0"
+                app:layout_constraintStart_toStartOf="parent"
+                app:layout_constraintTop_toTopOf="parent"
+                app:layout_constraintEnd_toEndOf="parent"
+                app:layout_constraintBottom_toBottomOf="parent"/>
+        </androidx.constraintlayout.widget.ConstraintLayout>
 
         <TextView
             android:id="@+id/tvSenderName"
@@ -60,9 +81,9 @@
             android:scrollHorizontally="true"
             android:singleLine="true"
             android:layout_marginStart="5dp"
-            app:layout_constraintStart_toEndOf="@+id/ivAvatar"
+            app:layout_constraintStart_toEndOf="@+id/clAvatar"
             android:layout_marginTop="2dp"
-            app:layout_constraintTop_toTopOf="@+id/ivAvatar"
+            app:layout_constraintTop_toTopOf="@+id/clAvatar"
             android:layout_width="80dp"
             android:layout_height="wrap_content"/>
 
@@ -77,9 +98,9 @@
             android:scrollHorizontally="true"
             android:singleLine="true"
             android:layout_marginStart="5dp"
-            app:layout_constraintStart_toEndOf="@+id/ivAvatar"
+            app:layout_constraintStart_toEndOf="@+id/clAvatar"
             android:layout_marginBottom="2dp"
-            app:layout_constraintBottom_toBottomOf="@+id/ivAvatar"
+            app:layout_constraintBottom_toBottomOf="@+id/clAvatar"
             android:layout_width="80dp"
             android:layout_height="wrap_content"/>
 

+ 6 - 4
tuikit/src/main/java/com/tencent/qcloud/tim/uikit/modules/chat/interfaces/IMessageProperties.java

@@ -2,6 +2,8 @@ package com.tencent.qcloud.tim.uikit.modules.chat.interfaces;
 
 import android.graphics.drawable.Drawable;
 
+import com.opensource.svgaplayer.SVGAVideoEntity;
+
 public interface IMessageProperties {
 
     /// @name 设置头像
@@ -284,26 +286,26 @@ public interface IMessageProperties {
      *
      * @return
      */
-    Drawable getRightSvgaAvatar();
+    SVGAVideoEntity getRightSvgaAvatar();
 
     /**
      * 设置右边头像框
      *
      * @param drawable
      */
-    void setRightSvgaAvatar(Drawable drawable);
+    void setRightSvgaAvatar(SVGAVideoEntity drawable);
 
     /**
      * 获取左边头像框
      *
      * @return
      */
-    Drawable getLeftSvgaAvatar();
+    SVGAVideoEntity getLeftSvgaAvatar();
 
     /**
      * 设置左边头像框
      *
      * @param drawable
      */
-    void setLeftSvgaAvatar(Drawable drawable);
+    void setLeftSvgaAvatar(SVGAVideoEntity drawable);
 }

+ 11 - 10
tuikit/src/main/java/com/tencent/qcloud/tim/uikit/modules/chat/layout/message/MessageLayoutUI.java

@@ -9,6 +9,7 @@ import androidx.recyclerview.widget.RecyclerView;
 
 import android.util.AttributeSet;
 
+import com.opensource.svgaplayer.SVGAVideoEntity;
 import com.tencent.qcloud.tim.uikit.component.CustomLinearLayoutManager;
 import com.tencent.qcloud.tim.uikit.component.action.PopMenuAction;
 import com.tencent.qcloud.tim.uikit.modules.chat.interfaces.IMessageLayout;
@@ -105,22 +106,22 @@ public abstract class MessageLayoutUI extends RecyclerView implements IMessageLa
     }
 
     @Override
-    public Drawable getRightSvgaAvatar() {
+    public SVGAVideoEntity getRightSvgaAvatar() {
         return properties.getRightSvgaAvatar();
     }
 
     @Override
-    public void setRightSvgaAvatar(Drawable drawable) {
+    public void setRightSvgaAvatar(SVGAVideoEntity drawable) {
         properties.setRightSvgaAvatar(drawable);
     }
 
     @Override
-    public Drawable getLeftSvgaAvatar() {
+    public SVGAVideoEntity getLeftSvgaAvatar() {
         return properties.getLeftSvgaAvatar();
     }
 
     @Override
-    public void setLeftSvgaAvatar(Drawable drawable) {
+    public void setLeftSvgaAvatar(SVGAVideoEntity drawable) {
         properties.setLeftSvgaAvatar(drawable);
     }
 
@@ -305,8 +306,8 @@ public abstract class MessageLayoutUI extends RecyclerView implements IMessageLa
         private int mChatTimeFontSize;
         private int mChatTimeFontColor;
         private Drawable mChatTimeBubble;
-        private Drawable mMySvgaAvatar;
-        private Drawable mFriendSvgaAvatar;
+        private SVGAVideoEntity mMySvgaAvatar;
+        private SVGAVideoEntity mFriendSvgaAvatar;
 
         private Properties() {
 
@@ -504,22 +505,22 @@ public abstract class MessageLayoutUI extends RecyclerView implements IMessageLa
         }
 
         @Override
-        public Drawable getRightSvgaAvatar() {
+        public SVGAVideoEntity getRightSvgaAvatar() {
             return mMySvgaAvatar;
         }
 
         @Override
-        public void setRightSvgaAvatar(Drawable drawable) {
+        public void setRightSvgaAvatar(SVGAVideoEntity drawable) {
             this.mMySvgaAvatar = drawable;
         }
 
         @Override
-        public Drawable getLeftSvgaAvatar() {
+        public SVGAVideoEntity getLeftSvgaAvatar() {
             return mFriendSvgaAvatar;
         }
 
         @Override
-        public void setLeftSvgaAvatar(Drawable drawable) {
+        public void setLeftSvgaAvatar(SVGAVideoEntity drawable) {
             this.mFriendSvgaAvatar = drawable;
         }
     }

+ 5 - 2
tuikit/src/main/java/com/tencent/qcloud/tim/uikit/modules/chat/layout/message/holder/MessageContentHolder.java

@@ -10,6 +10,7 @@ import android.widget.ProgressBar;
 import android.widget.TextView;
 
 import com.bumptech.glide.Glide;
+import com.opensource.svgaplayer.SVGADrawable;
 import com.opensource.svgaplayer.SVGAImageView;
 import com.swago.baseswago.util.AppContext;
 import com.swago.baseswago.util.UserInfo;
@@ -128,8 +129,9 @@ public abstract class MessageContentHolder extends MessageEmptyHolder {
                 msgContentFrame.setBackgroundResource(R.drawable.bg_chat_purple);
             }
             if (properties.getRightSvgaAvatar() != null){
+                SVGADrawable drawable = new SVGADrawable(properties.getRightSvgaAvatar());
                 rightSvgaImage.setVisibility(View.VISIBLE);
-                rightSvgaImage.setImageDrawable(properties.getRightSvgaAvatar());
+                rightSvgaImage.setImageDrawable(drawable);
                 rightSvgaImage.startAnimation();
             }else {
                 rightSvgaImage.setVisibility(View.INVISIBLE);
@@ -142,8 +144,9 @@ public abstract class MessageContentHolder extends MessageEmptyHolder {
                 msgContentFrame.setBackgroundResource(R.drawable.bg_chat_white);
             }
             if (properties.getLeftSvgaAvatar() != null){
+                SVGADrawable drawable = new SVGADrawable(properties.getLeftSvgaAvatar());
                 leftSvgaImage.setVisibility(View.VISIBLE);
-                leftSvgaImage.setImageDrawable(properties.getLeftSvgaAvatar());
+                leftSvgaImage.setImageDrawable(drawable);
                 leftSvgaImage.startAnimation();
             } else {
                 leftSvgaImage.setVisibility(View.INVISIBLE);