Преглед изворни кода

修改部分IM样式适配机构端

Pq пре 1 година
родитељ
комит
6267210dd4

+ 20 - 1
TUIKit/TIMCommon/timcommon/src/main/java/com/tencent/qcloud/tuikit/timcommon/component/MessageProperties.java

@@ -26,8 +26,11 @@ public class MessageProperties implements IMessageProperties {
     private int mChatTimeFontColor;
     private Drawable mChatTimeBubble;
     private Drawable conversationListEmptyDrawable;
+    private int searchIconRes =-1;
+    private int mainStyleColor = -1;
 
-    private MessageProperties() {}
+    private MessageProperties() {
+    }
 
     public static MessageProperties getInstance() {
         if (sP == null) {
@@ -227,4 +230,20 @@ public class MessageProperties implements IMessageProperties {
     public void setConversationListEmptyDrawable(Drawable conversationListEmptyDrawable) {
         this.conversationListEmptyDrawable = conversationListEmptyDrawable;
     }
+
+    public int getSearchIconRes() {
+        return searchIconRes;
+    }
+
+    public void setSearchIconRes(int searchIconRes) {
+        this.searchIconRes = searchIconRes;
+    }
+
+    public int getMainStyleColor() {
+        return mainStyleColor;
+    }
+
+    public void setMainStyleColor(int mainStyleColor) {
+        this.mainStyleColor = mainStyleColor;
+    }
 }

+ 48 - 29
TUIKit/TUISearch/tuisearch/src/main/java/com/tencent/qcloud/tuikit/tuisearch/classicui/page/SearchMainActivity.java

@@ -3,6 +3,7 @@ package com.tencent.qcloud.tuikit.tuisearch.classicui.page;
 import android.content.Context;
 import android.content.Intent;
 import android.graphics.Color;
+import android.graphics.drawable.Drawable;
 import android.net.Uri;
 import android.os.Bundle;
 import android.os.IBinder;
@@ -22,10 +23,13 @@ import android.widget.EditText;
 import android.widget.ImageView;
 import android.widget.RelativeLayout;
 import android.widget.TextView;
+
 import androidx.recyclerview.widget.LinearLayoutManager;
 import androidx.recyclerview.widget.RecyclerView;
+
 import com.tencent.qcloud.tuicore.TUIConstants;
 import com.tencent.qcloud.tuicore.TUIThemeManager;
+import com.tencent.qcloud.tuikit.timcommon.component.MessageProperties;
 import com.tencent.qcloud.tuikit.timcommon.component.activities.BaseLightActivity;
 import com.tencent.qcloud.tuikit.timcommon.component.dialog.TUIKitDialog;
 import com.tencent.qcloud.tuikit.timcommon.component.interfaces.IUIKitCallback;
@@ -38,6 +42,7 @@ import com.tencent.qcloud.tuikit.tuisearch.classicui.widget.PageRecycleView;
 import com.tencent.qcloud.tuikit.tuisearch.classicui.widget.SearchResultAdapter;
 import com.tencent.qcloud.tuikit.tuisearch.presenter.SearchMainPresenter;
 import com.tencent.qcloud.tuikit.tuisearch.util.TUISearchLog;
+
 import java.util.ArrayList;
 import java.util.List;
 
@@ -70,6 +75,7 @@ public class SearchMainActivity extends BaseLightActivity {
     private List<SearchDataBean> mConversationData = new ArrayList<>();
 
     private SearchMainPresenter presenter;
+    private ImageView mIvSearch;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -82,6 +88,14 @@ public class SearchMainActivity extends BaseLightActivity {
 
     private void init() {
         initView();
+        int searchIconRes = MessageProperties.getInstance().getSearchIconRes();
+        if (searchIconRes != -1) {
+            mIvSearch.setImageResource(searchIconRes);
+        }
+        int mainStyleColor = MessageProperties.getInstance().getMainStyleColor();
+        if (mainStyleColor != -1) {
+            mCancleView.setTextColor(mainStyleColor);
+        }
 
         if (mContactRcSearchAdapter == null) {
             mContactRcSearchAdapter = new SearchResultAdapter(this);
@@ -112,10 +126,12 @@ public class SearchMainActivity extends BaseLightActivity {
     private void setListener() {
         mEdtSearch.addTextChangedListener(new TextWatcher() {
             @Override
-            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {}
+            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
+            }
 
             @Override
-            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {}
+            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
+            }
 
             @Override
             public void afterTextChanged(Editable editable) {
@@ -281,7 +297,9 @@ public class SearchMainActivity extends BaseLightActivity {
         }
 
         final List<String> keywordList = new ArrayList<String>() {
-            { add(keyWords); }
+            {
+                add(keyWords);
+            }
         };
 
         presenter.searchContact(keywordList, new IUIKitCallback<List<SearchDataBean>>() {
@@ -372,7 +390,7 @@ public class SearchMainActivity extends BaseLightActivity {
         String buyingGuidelines = getResources().getString(R.string.search_buying_guidelines);
         int buyingGuidelinesIndex = string.lastIndexOf(buyingGuidelines);
         final int foregroundColor =
-            getResources().getColor(TUIThemeManager.getAttrResId(SearchMainActivity.this, com.tencent.qcloud.tuicore.R.attr.core_primary_color));
+                getResources().getColor(TUIThemeManager.getAttrResId(SearchMainActivity.this, com.tencent.qcloud.tuicore.R.attr.core_primary_color));
         SpannableString spannedString = new SpannableString(string);
         ForegroundColorSpan colorSpan2 = new ForegroundColorSpan(foregroundColor);
         spannedString.setSpan(colorSpan2, buyingGuidelinesIndex, buyingGuidelinesIndex + buyingGuidelines.length(), Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
@@ -394,31 +412,31 @@ public class SearchMainActivity extends BaseLightActivity {
         };
         spannedString.setSpan(clickableSpan2, buyingGuidelinesIndex, buyingGuidelinesIndex + buyingGuidelines.length(), Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
         TUIKitDialog.TUIIMUpdateDialog.getInstance()
-            .createDialog(this)
-            .setShowOnlyDebug(true)
-            .setMovementMethod(LinkMovementMethod.getInstance())
-            .setHighlightColor(Color.TRANSPARENT)
-            .setCancelable(true)
-            .setCancelOutside(true)
-            .setTitle(spannedString)
-            .setDialogWidth(0.75f)
-            .setDialogFeatureName(TUIConstants.BuyingFeature.BUYING_FEATURE_SEARCH)
-            .setPositiveButton(getString(R.string.search_no_more_reminders),
-                new View.OnClickListener() {
-                    @Override
-                    public void onClick(View v) {
-                        TUIKitDialog.TUIIMUpdateDialog.getInstance().dismiss();
-                        TUIKitDialog.TUIIMUpdateDialog.getInstance().setNeverShow(true);
-                    }
-                })
-            .setNegativeButton(getString(R.string.search_i_know),
-                new View.OnClickListener() {
-                    @Override
-                    public void onClick(View v) {
-                        TUIKitDialog.TUIIMUpdateDialog.getInstance().dismiss();
-                    }
-                })
-            .show();
+                .createDialog(this)
+                .setShowOnlyDebug(true)
+                .setMovementMethod(LinkMovementMethod.getInstance())
+                .setHighlightColor(Color.TRANSPARENT)
+                .setCancelable(true)
+                .setCancelOutside(true)
+                .setTitle(spannedString)
+                .setDialogWidth(0.75f)
+                .setDialogFeatureName(TUIConstants.BuyingFeature.BUYING_FEATURE_SEARCH)
+                .setPositiveButton(getString(R.string.search_no_more_reminders),
+                        new View.OnClickListener() {
+                            @Override
+                            public void onClick(View v) {
+                                TUIKitDialog.TUIIMUpdateDialog.getInstance().dismiss();
+                                TUIKitDialog.TUIIMUpdateDialog.getInstance().setNeverShow(true);
+                            }
+                        })
+                .setNegativeButton(getString(R.string.search_i_know),
+                        new View.OnClickListener() {
+                            @Override
+                            public void onClick(View v) {
+                                TUIKitDialog.TUIIMUpdateDialog.getInstance().dismiss();
+                            }
+                        })
+                .show();
     }
 
     private void openWebUrl(String url) {
@@ -431,6 +449,7 @@ public class SearchMainActivity extends BaseLightActivity {
     }
 
     private void initView() {
+        mIvSearch = findViewById(R.id.iv_search);
         mEdtSearch = (EditText) findViewById(R.id.edt_search);
         mImgvDelete = (ImageView) findViewById(R.id.imgv_delete);
         mFriendRcSearch = (RecyclerView) findViewById(R.id.friend_rc_search);

+ 12 - 0
TUIKit/TUISearch/tuisearch/src/main/java/com/tencent/qcloud/tuikit/tuisearch/classicui/page/SearchMoreListActivity.java

@@ -16,6 +16,8 @@ import android.widget.RelativeLayout;
 import android.widget.TextView;
 import androidx.recyclerview.widget.LinearLayoutManager;
 import androidx.recyclerview.widget.RecyclerView;
+
+import com.tencent.qcloud.tuikit.timcommon.component.MessageProperties;
 import com.tencent.qcloud.tuikit.timcommon.component.activities.BaseLightActivity;
 import com.tencent.qcloud.tuikit.timcommon.component.interfaces.IUIKitCallback;
 import com.tencent.qcloud.tuikit.tuisearch.R;
@@ -60,6 +62,7 @@ public class SearchMoreListActivity extends BaseLightActivity {
     private int pageIndex = 0;
 
     private SearchMainPresenter presenter;
+    private ImageView mIvSearch;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -70,6 +73,14 @@ public class SearchMoreListActivity extends BaseLightActivity {
 
     private void init() {
         initView();
+        int searchIconRes = MessageProperties.getInstance().getSearchIconRes();
+        if (searchIconRes != -1) {
+            mIvSearch.setImageResource(searchIconRes);
+        }
+        int mainStyleColor = MessageProperties.getInstance().getMainStyleColor();
+        if (mainStyleColor != -1) {
+            mCancleView.setTextColor(mainStyleColor);
+        }
 
         if (mContactRcSearchAdapter == null) {
             mContactRcSearchAdapter = new SearchResultAdapter(this);
@@ -343,6 +354,7 @@ public class SearchMoreListActivity extends BaseLightActivity {
     }
 
     private void initView() {
+        mIvSearch = findViewById(R.id.iv_search);
         mEdtSearch = (EditText) findViewById(R.id.edt_search);
         mImgvDelete = (ImageView) findViewById(R.id.imgv_delete);
         mFriendRcSearch = (RecyclerView) findViewById(R.id.friend_rc_search);

+ 12 - 0
TUIKit/TUISearch/tuisearch/src/main/java/com/tencent/qcloud/tuikit/tuisearch/classicui/page/SearchMoreMsgListActivity.java

@@ -17,6 +17,7 @@ import android.widget.TextView;
 
 import androidx.recyclerview.widget.LinearLayoutManager;
 
+import com.tencent.qcloud.tuikit.timcommon.component.MessageProperties;
 import com.tencent.qcloud.tuikit.timcommon.component.activities.BaseLightActivity;
 import com.tencent.qcloud.tuikit.timcommon.component.interfaces.IUIKitCallback;
 import com.tencent.qcloud.tuikit.tuisearch.R;
@@ -55,6 +56,7 @@ public class SearchMoreMsgListActivity extends BaseLightActivity {
     private int pageIndex = 0;
 
     private SearchMoreMsgPresenter presenter;
+    private ImageView mIvSearch;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -67,6 +69,15 @@ public class SearchMoreMsgListActivity extends BaseLightActivity {
 
     private void init() {
         initView();
+        int searchIconRes = MessageProperties.getInstance().getSearchIconRes();
+        if (searchIconRes != -1) {
+            mIvSearch.setImageResource(searchIconRes);
+        }
+        int mainStyleColor = MessageProperties.getInstance().getMainStyleColor();
+        if (mainStyleColor != -1) {
+            mCancleView.setTextColor(mainStyleColor);
+        }
+
 
         if (mMessageRcSearchAdapter == null) {
             mMessageRcSearchAdapter = new SearchMoreMsgAdapter(this);
@@ -279,6 +290,7 @@ public class SearchMoreMsgListActivity extends BaseLightActivity {
     }
 
     private void initView() {
+        mIvSearch = findViewById(R.id.iv_search);
         mEdtSearch = (EditText) findViewById(R.id.edt_search);
         mImgvDelete = (ImageView) findViewById(R.id.imgv_delete);
         mMessageRcSearch = (PageRecycleView) findViewById(R.id.message_rc_search);

+ 3 - 0
chatModule/src/main/java/com/cooleshow/chatmodule/ui/ChatGroupSettingActivity.java

@@ -35,6 +35,7 @@ import com.cooleshow.chatmodule.contract.ChatGroupSettingContract;
 import com.cooleshow.chatmodule.databinding.TcActivityChatGroupSettingBinding;
 import com.cooleshow.chatmodule.presenter.ChatGroupSettingPresenter;
 import com.cooleshow.chatmodule.utils.helper.ChatGroupHelper;
+import com.cooleshow.chatmodule.utils.helper.IMThemManager;
 import com.tencent.qcloud.tuicore.TUICore;
 import com.tencent.qcloud.tuikit.tuigroup.bean.GroupInfo;
 
@@ -189,6 +190,8 @@ public class ChatGroupSettingActivity extends BaseMVPActivity<TcActivityChatGrou
         viewBinding.tvNotice.setOnClickListener(this);
         viewBinding.tvFeedback.setOnClickListener(this);
         viewBinding.btnConfirm.setOnClickListener(this);
+        IMThemManager.getInstance().setCheckButtonDrawable(viewBinding.cbMessage);
+        IMThemManager.getInstance().setMainButtonStyles(viewBinding.btnConfirm);
 
         if (BaseApplication.Companion.isTeacherClient()) {
             btnConfirm.setText("解散群组");

+ 2 - 0
chatModule/src/main/java/com/cooleshow/chatmodule/ui/ImAppealActivity.java

@@ -26,6 +26,7 @@ import com.cooleshow.chatmodule.constants.TCChatRouterPath;
 import com.cooleshow.chatmodule.contract.ImAppealContract;
 import com.cooleshow.chatmodule.databinding.TcActivityImAppealBinding;
 import com.cooleshow.chatmodule.presenter.ImAppealPresenter;
+import com.cooleshow.chatmodule.utils.helper.IMThemManager;
 import com.luck.picture.lib.PictureSelector;
 import com.luck.picture.lib.config.PictureConfig;
 import com.luck.picture.lib.config.PictureMimeType;
@@ -79,6 +80,7 @@ public class ImAppealActivity extends BaseMVPActivity<TcActivityImAppealBinding,
         type = intent.getStringExtra("type");
         et_content = viewBinding.etContent;
         btn_commit = viewBinding.btnCommit;
+        IMThemManager.getInstance().setMainButtonStyles(btn_commit);
         recyclerView = viewBinding.recyclerView;
         GridLayoutManager gridLayoutManager = new GridLayoutManager(this, 3);
         recyclerView.setLayoutManager(gridLayoutManager);

+ 15 - 3
chatModule/src/main/java/com/cooleshow/chatmodule/ui/NoticeActivity.java

@@ -1,5 +1,6 @@
 package com.cooleshow.chatmodule.ui;
 
+import android.graphics.drawable.Drawable;
 import android.os.Bundle;
 import android.view.View;
 import android.widget.ImageView;
@@ -26,9 +27,11 @@ import com.cooleshow.chatmodule.contract.NoticeContract;
 import com.cooleshow.chatmodule.databinding.TcActivityImAppealBinding;
 import com.cooleshow.chatmodule.databinding.TcActivityNoticeBinding;
 import com.cooleshow.chatmodule.presenter.NoticePresenter;
+import com.cooleshow.chatmodule.utils.helper.IMThemManager;
 import com.scwang.smart.refresh.footer.ClassicsFooter;
 import com.scwang.smart.refresh.layout.api.RefreshLayout;
 import com.scwang.smart.refresh.layout.listener.OnRefreshListener;
+import com.tencent.qcloud.tuikit.timcommon.component.MessageProperties;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -96,9 +99,7 @@ public class NoticeActivity extends BaseMVPActivity<TcActivityNoticeBinding, Not
         LinearLayoutManager manager = new LinearLayoutManager(this);
         recyclerView.setLayoutManager(manager);
         mAdapter = new NoticeListAdapter(noticeData);
-        EmptyViewLayout emptyViewLayout = new EmptyViewLayout(this);
-        emptyViewLayout.setContent(com.cooleshow.base.R.drawable.icon_empty_content, "暂无群公告");
-        mAdapter.setEmptyView(emptyViewLayout);
+        setEmpty();
         recyclerView.setAdapter(mAdapter);
 
         viewBinding.refreshLayout.setOnLoadMoreListener(new com.scwang.smart.refresh.layout.listener.OnLoadMoreListener() {
@@ -131,6 +132,17 @@ public class NoticeActivity extends BaseMVPActivity<TcActivityNoticeBinding, Not
 
     }
 
+    private void setEmpty() {
+        EmptyViewLayout emptyViewLayout = new EmptyViewLayout(this);
+        Drawable conversationListEmptyDrawable = MessageProperties.getInstance().getConversationListEmptyDrawable();
+        if (conversationListEmptyDrawable != null) {
+            emptyViewLayout.setContent(conversationListEmptyDrawable, "暂无群公告");
+        } else {
+            emptyViewLayout.setContent(com.cooleshow.base.R.drawable.icon_empty_content, "暂无群公告");
+        }
+        mAdapter.setEmptyView(emptyViewLayout);
+    }
+
     @Override
     protected void onCreate(@Nullable Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);

+ 38 - 8
chatModule/src/main/java/com/cooleshow/chatmodule/utils/helper/IMThemManager.java

@@ -6,6 +6,8 @@ import android.graphics.PorterDuff;
 import android.graphics.drawable.Drawable;
 import android.graphics.drawable.GradientDrawable;
 import android.graphics.drawable.LayerDrawable;
+import android.widget.Button;
+import android.widget.CheckBox;
 import android.widget.ImageView;
 import android.widget.TableLayout;
 import android.widget.TextView;
@@ -34,9 +36,11 @@ import com.tencent.qcloud.tuikit.tuichat.config.TUIChatConfigs;
  */
 public class IMThemManager {
     private Drawable tabIndicatorDrawable = null;
-    private int tabIndicatorColor = -1;
+    private int mainStyleColor = -1;
     private int searchIconRes = -1;
     private int searchBtBackgroundRes = -1;
+    private int checkBtDrawableRes = -1;
+    private int mainButtonBackgroundRes = -1;
 
 
     private IMThemManager() {
@@ -46,6 +50,7 @@ public class IMThemManager {
         return IMThemManagerHolder.mManager;
     }
 
+
     private static final class IMThemManagerHolder {
         private static IMThemManager mManager = new IMThemManager();
     }
@@ -82,8 +87,8 @@ public class IMThemManager {
             return;
         }
         Drawable tabSelectedIndicator = tableLayout.getTabSelectedIndicator();
-        if (tabIndicatorDrawable != null && tabIndicatorColor != -1) {
-            tabSelectedIndicator.setTint(tabIndicatorColor);
+        if (mainStyleColor != -1) {
+            tabSelectedIndicator.setTint(mainStyleColor);
         } else {
             tabSelectedIndicator.setTintList(null);
         }
@@ -107,28 +112,53 @@ public class IMThemManager {
         }
     }
 
+    public void setCheckButtonDrawable(CheckBox cbMessage) {
+        if (checkBtDrawableRes != -1) {
+            cbMessage.setCompoundDrawablesWithIntrinsicBounds(0, 0, checkBtDrawableRes, 0);
+        }
+    }
+
+    public void setMainButtonStyles(TextView btnConfirm) {
+        if (mainButtonBackgroundRes != -1) {
+            btnConfirm.setBackgroundResource(mainButtonBackgroundRes);
+        }
+    }
+
     public void setEmptyDrawable(Drawable emptyDrawable) {
         MessageProperties instance = MessageProperties.getInstance();
         instance.setConversationListEmptyDrawable(emptyDrawable);
     }
 
-    public void setTabIndicatorDrawable(Drawable tabIndicatorDrawable, int tabIndicatorColor) {
-        this.tabIndicatorDrawable = tabIndicatorDrawable;
-        this.tabIndicatorColor = tabIndicatorColor;
+    public void setMainStyleColor(int mainStyleColor) {
+        this.mainStyleColor = mainStyleColor;
+        MessageProperties instance = MessageProperties.getInstance();
+        instance.setMainStyleColor(mainStyleColor);
     }
 
     public void setSearchIconRes(int searchIconRes) {
         this.searchIconRes = searchIconRes;
+        MessageProperties.getInstance().setSearchIconRes(searchIconRes);
     }
 
     public void setSearchBtBackgroundRes(int searchBtBackgroundRes) {
         this.searchBtBackgroundRes = searchBtBackgroundRes;
     }
 
+    public void setCheckBtDrawableRes(int checkBtDrawableRes) {
+        this.checkBtDrawableRes = checkBtDrawableRes;
+    }
+
+    public void setMainButtonBackgroundRes(int mainButtonBackgroundRes) {
+        this.mainButtonBackgroundRes = mainButtonBackgroundRes;
+    }
+
     public void resetStyleValue() {
         this.tabIndicatorDrawable = null;
-        this.tabIndicatorColor = -1;
-        this.searchIconRes = -1;
+        setMainStyleColor(-1);
+        setSearchIconRes(-1);
         this.searchBtBackgroundRes = -1;
+        this.checkBtDrawableRes = -1;
+        this.mainButtonBackgroundRes = -1;
+        setEmptyDrawable(null);
     }
 }

+ 3 - 1
institution/src/main/java/com/cooleshow/institution/stu/ui/main/MainActivity.java

@@ -93,9 +93,11 @@ public class MainActivity extends BaseMVPActivity<ActivityInstitutionMainLayoutB
     private void setStyleConfig() {
         StyleConfig.isStudentStyle = false;
         IMThemManager.getInstance().setEmptyDrawable(getResources().getDrawable(R.drawable.jg_icon_empty_content));
-        IMThemManager.getInstance().setTabIndicatorDrawable(getResources().getDrawable(R.drawable.jg_custom_indicator_drawable),getResources().getColor(R.color.color_fe2451));
+        IMThemManager.getInstance().setMainStyleColor(getResources().getColor(R.color.color_fe2451));
         IMThemManager.getInstance().setSearchBtBackgroundRes(R.drawable.shape_ff3c81_toff76a6_14dp);
         IMThemManager.getInstance().setSearchIconRes(R.drawable.jg_icon_search);
+        IMThemManager.getInstance().setCheckBtDrawableRes(R.drawable.jg_switch_selector);
+        IMThemManager.getInstance().setMainButtonBackgroundRes(R.drawable.shape_fe2451_39dp);
     }
 
     public void onTabClick(View view) {

BIN
institution/src/main/res/drawable-xhdpi/jg_icon_switch_open.png


BIN
institution/src/main/res/drawable-xxhdpi/jg_icon_switch_open.png


+ 5 - 0
institution/src/main/res/drawable/jg_switch_selector.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:drawable="@drawable/icon_switch_off" android:state_checked="false"/>
+    <item android:drawable="@drawable/jg_icon_switch_open" android:state_checked="true"/>
+</selector>

+ 0 - 1
student/src/main/java/com/cooleshow/student/ui/main/MainActivity.java

@@ -253,7 +253,6 @@ public class MainActivity extends BaseMVPActivity<ActivityMainBinding, MainPrese
 
     private void setStyleConfig() {
         StyleConfig.isStudentStyle = true;
-        IMThemManager.getInstance().setEmptyDrawable(null);
         IMThemManager.getInstance().resetStyleValue();
     }