This commit is contained in:
Martin
2024-07-26 18:38:53 +08:00
parent 5d0f29db42
commit d167ae82b4
48 changed files with 1506 additions and 340 deletions

View File

@@ -535,7 +535,8 @@ public class PDLiveConversationActivity extends AbsActivity implements View.OnCl
if (!TextUtils.isEmpty(content)) {
IMCenter.getInstance().saveTextMessageDraft(Conversation.ConversationType.PRIVATE, targetId, content, null);
}
//关闭对话框后,刷新未读数量
MessageIMManager.get(mContext).resetImUnReadMessageCount(mContext);
EventBus.getDefault().unregister(this);
}
@@ -560,4 +561,5 @@ public class PDLiveConversationActivity extends AbsActivity implements View.OnCl
hideUserCard();
}
}
}

View File

@@ -471,8 +471,9 @@ public class RegisterActivity extends AbsActivity {
mDialog.dismiss();
}
if (bean != null) {
netHandler.post(getRandJoinAnchor);
// EventBus.getDefault().post(new RegSuccessEvent());
//netHandler.post(getRandJoinAnchor);
jumpMain(false, null);
EventBus.getDefault().post(new RegSuccessEvent());
}
}
});
@@ -488,22 +489,27 @@ public class RegisterActivity extends AbsActivity {
HttpClient.getInstance().post("Home.getRandJoinAnchor", "Home.getRandJoinAnchor").params("uid", userInfo.getId()).params("token", userInfo.getToken()).execute(new HttpCallback() {
@Override
public void onSuccess(int code, String msg, String[] info) {
if (info[0] != null) {
JSONObject obj = JSON.parseObject(info[0]);
IMLoginManager.get(activity).setisNewUserOne(true);
IMLoginManager.get(activity).setNewUserGif(true);
if (obj.containsKey("home_zdy_img_us")) {
home_zdy_img_us = obj.getString("home_zdy_img_us");
home_zdy_img_cn = obj.getString("home_zdy_img_cn");
if(info!=null){
if (info[0] != null) {
JSONObject obj = JSON.parseObject(info[0]);
IMLoginManager.get(activity).setisNewUserOne(true);
IMLoginManager.get(activity).setNewUserGif(true);
if (obj.containsKey("home_zdy_img_us")) {
home_zdy_img_us = obj.getString("home_zdy_img_us");
home_zdy_img_cn = obj.getString("home_zdy_img_cn");
}
// gotoLive(obj.getString("anchor_id"));
if (obj.containsKey("home_zdy_pop")) {
NoviceInstructorManager.get(mContext).setHomeZdyPop(obj.getString("home_zdy_pop"));
}
jumpMain(false, obj.getString("anchor_id"));
} else {
jumpMain(false, null);
}
// gotoLive(obj.getString("anchor_id"));
if (obj.containsKey("home_zdy_pop")) {
NoviceInstructorManager.get(mContext).setHomeZdyPop(obj.getString("home_zdy_pop"));
}
jumpMain(false, obj.getString("anchor_id"));
} else {
}else{
jumpMain(false, null);
}
EventBus.getDefault().post(new RegSuccessEvent());
}
});

View File

@@ -52,6 +52,7 @@ import com.yunbao.common.bean.NewLevelModel;
import com.yunbao.common.bean.UserHomeImgBean;
import com.yunbao.common.dialog.ImagePreviewDialog;
import com.yunbao.common.event.LiveRoomChangeEvent;
import com.yunbao.common.event.MainHomeCommunityToChatEvent;
import com.yunbao.common.glide.ImgLoader;
import com.yunbao.common.http.CommonHttpUtil;
import com.yunbao.common.http.LiveHttpUtil;
@@ -167,6 +168,7 @@ public class UserHomeActivity extends AbsActivity {
private TextView authorNum;
private TextView levelNum;
private View top_bg;
private LinearLayout msgLayout;
@Override
protected int getLayoutId() {
@@ -586,6 +588,31 @@ public class UserHomeActivity extends AbsActivity {
communityRecyclerView.setLayoutManager(new LinearLayoutManager(mContext, LinearLayoutManager.VERTICAL, false));
communityRecyclerView.setOverScrollMode(View.OVER_SCROLL_NEVER);
msgLayout = findViewById(R.id.msgLayout);
msgLayout.setVisibility(uid.equals(CommonAppConfig.getInstance().getUid())?View.GONE:View.VISIBLE);
msgLayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//私聊
if (CommonAppConfig.getInstance().getUserBean().getUsers_type().equals("C") && userInfo.getUserHomeTopInfo().getType().equals("C")) {
showMsgError();
return;
}
if (CommonAppConfig.getInstance().getUserBean().getUsers_type().equals("A") && userInfo.getUserHomeTopInfo().getType().equals("A")) {
showMsgError();
return;
}
if (CommonAppConfig.getInstance().getUserBean().getUsers_type().equals("A") && userInfo.getUserHomeTopInfo().getType().equals("B")) {
showMsgError();
return;
}
if (CommonAppConfig.getInstance().getUserBean().getUsers_type().equals("B") && userInfo.getUserHomeTopInfo().getType().equals("A")) {
showMsgError();
return;
}
EventBus.getDefault().post(new MainHomeCommunityToChatEvent().setTargetId(String.valueOf(userInfo.getUserHomeTopInfo().getUser_id())));
}
});
findViewById(R.id.back).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
@@ -815,6 +842,11 @@ public class UserHomeActivity extends AbsActivity {
});
}
public void showMsgError() {
ToastUtil.show(WordUtil.isNewZh()?"無法聊天,待開發":"Unable to chat, awaiting development");
}
private void selectImg() {
String permission1 = Manifest.permission.READ_EXTERNAL_STORAGE;
String permission2 = Manifest.permission.WRITE_EXTERNAL_STORAGE;

View File

@@ -289,7 +289,7 @@ public class MainStartDialogFragment extends AbsDialogFragment implements View.O
@Override
public void run() {
Intent intent = new Intent(mContext, CommunitySendActivity.class);
startActivity(intent);
mContext.startActivity(intent);
/*String mBeautySdkType = CommonAppConfig.getInstance().getBeautySdkType();
if ("2".equals(mBeautySdkType)) {
Constants.myIntoIndex = 2;

View File

@@ -21,17 +21,20 @@ import com.google.gson.Gson;
import com.lxj.xpopup.XPopup;
import com.yunbao.common.bean.IMLoginModel;
import com.yunbao.common.bean.VipModel;
import com.yunbao.common.event.LiveMsgWindowsCloseEvent;
import com.yunbao.common.http.CommonHttpUtil;
import com.yunbao.common.http.HttpCallback;
import com.yunbao.common.http.live.LiveNetManager;
import com.yunbao.common.interfaces.OnItemClickListener;
import com.yunbao.common.manager.InstructorRemarkManager;
import com.yunbao.common.utils.Bus;
import com.yunbao.common.utils.RouteUtil;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.utils.WordUtil;
import com.yunbao.live.activity.PDLIiveChatActivity;
import com.yunbao.live.bean.SearchUserBean;
import com.yunbao.live.dialog.PDLIiveChatConversationFragment;
import com.yunbao.live.event.LiveOpenSuccessEvent;
import com.yunbao.main.R;
import com.yunbao.main.activity.PDLiveConversationActivity;
import com.yunbao.main.activity.PDLiveConversationListActivity;
@@ -231,6 +234,7 @@ public class ConversationIMListManager {
context.runOnUiThread(() -> {
Conversation.ConversationType type = Conversation.ConversationType.PRIVATE;
RouteUtils.routeToConversationActivity(context, type, userId, null);
Bus.get().post(new LiveMsgWindowsCloseEvent());
});
}
conversationIMListHandler.post(getUserBaseinfoRunnable);

View File

@@ -1,13 +1,23 @@
package com.yunbao.main.views;
import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.graphics.drawable.Drawable;
import android.os.Handler;
import android.text.Editable;
import android.text.Layout;
import android.text.Spannable;
import android.text.SpannableString;
import android.text.Spanned;
import android.text.TextPaint;
import android.text.TextUtils;
import android.text.TextWatcher;
import android.text.method.LinkMovementMethod;
import android.text.style.ClickableSpan;
import android.text.style.ImageSpan;
import android.util.Log;
import android.util.TypedValue;
import android.view.KeyEvent;
@@ -16,9 +26,13 @@ import android.view.ViewGroup;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.core.content.ContextCompat;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentActivity;
import androidx.viewpager2.adapter.FragmentStateAdapter;
@@ -29,10 +43,14 @@ import com.binioter.guideview.Guide;
import com.binioter.guideview.GuideBuilder;
import com.facebook.appevents.AppEventsLogger;
import com.lxj.xpopup.XPopup;
import com.lxj.xpopup.enums.PopupPosition;
import com.opensource.svgaplayer.SVGADrawable;
import com.opensource.svgaplayer.SVGAImageView;
import com.opensource.svgaplayer.SVGAParser;
import com.opensource.svgaplayer.SVGAVideoEntity;
import com.yunbao.common.CommonAppConfig;
import com.yunbao.common.fragment.MainMessageRecommendFragment;
import com.yunbao.common.utils.DialogUitl;
import com.yunbao.common.utils.DpUtil;
import com.yunbao.common.utils.MobclickAgent;
import com.yunbao.common.bean.ImUserInfoModel;
@@ -48,11 +66,14 @@ import com.yunbao.common.utils.DeviceUtils;
import com.yunbao.common.utils.LiveRoomCheckLivePresenter;
import com.yunbao.common.utils.RouteUtil;
import com.yunbao.common.utils.SVGAViewUtils;
import com.yunbao.common.utils.SpUtil;
import com.yunbao.common.utils.StringUtil;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.utils.ViewPageIndicatorUtils;
import com.yunbao.common.utils.WordUtil;
import com.yunbao.common.views.AbsMainViewHolder;
import com.yunbao.common.views.MsgRecommendPopupView;
import com.yunbao.common.views.MsgSysDelPopupView;
import com.yunbao.common.views.weight.ViewClicksAntiShake;
import com.yunbao.live.activity.SystemMessageActivity;
import com.yunbao.live.bean.ImUserBean;
@@ -110,6 +131,18 @@ public class MainMessageViewHolder extends AbsMainViewHolder {
private MagicIndicator mIndicator;
private List<AbsMainMessageChatListFragment> fragmentList;
private ConstraintLayout tabLayout1, tabLayout2, tabLayout3;
private TextView tab1, tab2, tab3;
private View tab_line1, tab_line2, tab_line3;
private ImageView tab_icon;
private List<ConstraintLayout> relativeLayouts = new ArrayList<>();
private List<TextView> tabTexts = new ArrayList<>();
private List<View> tabLine = new ArrayList<>();
private LinearLayout tabLayouts;
private int userType = 0; // (0)普通用户 (1)主播A (2)主播B
public MainMessageViewHolder setHomeZdyPop(String homeZdyPop) {
this.homeZdyPop = homeZdyPop;
if (TextUtils.equals(homeZdyPop, "1")) {
@@ -156,6 +189,21 @@ public class MainMessageViewHolder extends AbsMainViewHolder {
contacts = findViewById(R.id.news_icon_contacts);
more = findViewById(R.id.news_icon_more);
search = findViewById(R.id.search);
tabLayouts = findViewById(R.id.tabLayouts);
tab_icon = findViewById(R.id.tab_icon);
tabLayout1 = findViewById(R.id.tabLayout1);
tabLayout2 = findViewById(R.id.tabLayout2);
tabLayout3 = findViewById(R.id.tabLayout3);
tab1 = findViewById(R.id.tab1);
tab2 = findViewById(R.id.tab2);
tab3 = findViewById(R.id.tab3);
tab_line1 = findViewById(R.id.tab_line1);
tab_line2 = findViewById(R.id.tab_line2);
tab_line3 = findViewById(R.id.tab_line3);
contacts.setOnClickListener(view -> {
//通讯录
RouteUtil.forwardActivity(RouteUtil.PATH_ADDRESSBOOK);
@@ -168,6 +216,133 @@ public class MainMessageViewHolder extends AbsMainViewHolder {
return i == KeyEvent.KEYCODE_ENTER || i == KeyEvent.KEYCODE_NUMPAD_ENTER;
}
});
netHandler = new Handler();
moreXPopup = new XPopup.Builder(mContext).atView(more);
more.setOnClickListener(view -> {
moreXPopup.asCustom(new MsgMoreDialog(mContext)).show();
});
}
private void initFragment() {
final String[] titles;
fragmentList = new ArrayList<>();
ViewGroup.LayoutParams params = mIndicator.getLayoutParams();
if (userType == 0) { //普通用户
params.width = ViewGroup.LayoutParams.WRAP_CONTENT;
mIndicator.setLayoutParams(params);
titles = new String[]{WordUtil.getNewString(R.string.message_chat_msg_all_an_a)};
fragmentList.add(new MainMessageChatListFragment(AppManager.getInstance().getMainActivity()));
} else if (userType == 1) {//主播A
params.width = ViewGroup.LayoutParams.MATCH_PARENT;
mIndicator.setLayoutParams(params);
titles = new String[]{WordUtil.getNewString(R.string.message_chat_msg_recommend), WordUtil.getNewString(R.string.message_chat_msg_all_an_a)};
fragmentList.add(new MainMessageRecommendFragment(AppManager.getInstance().getMainActivity()));
fragmentList.add(new MainMessageChatListFragment(AppManager.getInstance().getMainActivity()));
} else { //主播B
params.width = ViewGroup.LayoutParams.MATCH_PARENT;
mIndicator.setLayoutParams(params);
fragmentList.add(new MainMessageChatListFragment(AppManager.getInstance().getMainActivity()));
fragmentList.add(new MainMessageChatListSystemFragment());
fragmentList.add(new MainMessageChatListUserFragment());
titles = new String[]{WordUtil.getNewString(R.string.message_chat_msg_all), WordUtil.getNewString(R.string.message_chat_msg_system), WordUtil.getNewString(R.string.message_chat_msg_user)};
}
initTabView();
ToastUtil.showDebug("列表数量x" + fragmentList.size());
viewPager.setAdapter(new FragmentStateAdapter((FragmentActivity) AppManager.getInstance().getMainActivity()) {
@Override
public int getItemCount() {
Log.i(TAG, "viewpage 列表 getItemCount: " + fragmentList.size());
return fragmentList.size();
}
@NonNull
@Override
public Fragment createFragment(int i) {
Log.i(TAG, "createFragment: 创建fragment :" + i + " | " + fragmentList.get(i));
return fragmentList.get(i);
}
});
if(userType==1){
viewPager.setCurrentItem(1);
}else{
viewPager.setCurrentItem(0);
}
viewPager.setUserInputEnabled(false);
ConversationIMListManager.get(mContext).addUserInfoProvider();
CommonNavigator commonNavigator = new CommonNavigator(AppManager.getInstance().getMainActivity());
commonNavigator.setAdjustMode(true);
commonNavigator.setAdapter(new CommonNavigatorAdapter() {
@Override
public int getCount() {
return titles.length;
}
@Override
public IPagerTitleView getTitleView(Context context, final int index) {
SimplePagerTitleView simplePagerTitleView = new ColorTransitionPagerTitleView(context);
simplePagerTitleView.setNormalColor(Color.parseColor("#777777"));
simplePagerTitleView.setSelectedColor(Color.parseColor("#333333"));
if (titles.length == 2 && index == 0) {
Drawable drawable = ContextCompat.getDrawable(context, R.mipmap.icon_msg_recommend);
drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight()); // 设置Drawable的边界
SpannableString spannableString = new SpannableString(" " + titles[index] + " ");
ImageSpan imageSpan = new ImageSpan(drawable, ImageSpan.ALIGN_BASELINE);
spannableString.setSpan(imageSpan, 0, 1, Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
spannableString.setSpan(new ClickableSpan() {
@Override
public void onClick(View widget) {
// 点击事件的处理逻辑
/*XPopup.Builder builder = new XPopup.Builder(mContext).atView(simplePagerTitleView);
builder.hasShadowBg(false).isLightStatusBar(false).popupPosition(PopupPosition.Top).asCustom(new MsgRecommendPopupView(mContext).show());*/
}
@Override
public void updateDrawState(TextPaint ds) {
//super.updateDrawState(ds);
//ds.setUnderlineText(false);
}
}, 0, 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
simplePagerTitleView.setText(spannableString);
simplePagerTitleView.setMovementMethod(LinkMovementMethod.getInstance()); // 必须调用此方法
} else {
simplePagerTitleView.setText(titles[index]);
}
simplePagerTitleView.setTextSize(15);
simplePagerTitleView.getPaint().setFakeBoldText(true);
simplePagerTitleView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (viewPager != null) {
viewPager.setCurrentItem(index);
}
}
});
return simplePagerTitleView;
}
@Override
public IPagerIndicator getIndicator(Context context) {
LinePagerIndicator linePagerIndicator = new LinePagerIndicator(context);
linePagerIndicator.setMode(LinePagerIndicator.MODE_WRAP_CONTENT);
linePagerIndicator.setXOffset(DpUtil.dp2px(5));
linePagerIndicator.setRoundRadius(DpUtil.dp2px(2));
linePagerIndicator.setColors(Color.parseColor("#EB6FFF"), Color.parseColor("#FF83C6"));
return linePagerIndicator;
}
});
mIndicator.setNavigator(commonNavigator);
ViewPageIndicatorUtils.bind(mIndicator, viewPager, new ViewPager2.OnPageChangeCallback() {
@Override
public void onPageSelected(int position) {
super.onPageSelected(position);
search.setText("");
selectTab(position);
}
});
search.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
@@ -189,96 +364,84 @@ public class MainMessageViewHolder extends AbsMainViewHolder {
}
}
});
netHandler = new Handler();
moreXPopup = new XPopup.Builder(mContext).atView(more);
more.setOnClickListener(view -> {
moreXPopup.asCustom(new MsgMoreDialog(mContext)).show();
});
initFragment();
initIndicator();
}
private void initFragment() {
fragmentList = new ArrayList<>();
fragmentList.add(new MainMessageChatListFragment(AppManager.getInstance().getMainActivity()));
fragmentList.add(new MainMessageChatListSystemFragment());
fragmentList.add(new MainMessageChatListUserFragment());
private void initTabView() {
relativeLayouts = new ArrayList<>();
tabTexts = new ArrayList<>();
tabLine = new ArrayList<>();
ToastUtil.showDebug("列表数量x" + fragmentList.size());
viewPager.setAdapter(new FragmentStateAdapter((FragmentActivity) AppManager.getInstance().getMainActivity()) {
relativeLayouts.add(tabLayout1);
relativeLayouts.add(tabLayout2);
relativeLayouts.add(tabLayout3);
@Override
public int getItemCount() {
Log.i(TAG, "viewpage 列表 getItemCount: " + fragmentList.size());
return fragmentList.size();
}
@NonNull
@Override
public Fragment createFragment(int i) {
Log.i(TAG, "createFragment: 创建fragment :" + i + " | " + fragmentList.get(i));
return fragmentList.get(i);
}
});
viewPager.setCurrentItem(0);
viewPager.setUserInputEnabled(false);
ConversationIMListManager.get(mContext).addUserInfoProvider();
}
private void initIndicator() {
final String[] titles = new String[]{
WordUtil.getNewString(R.string.message_chat_msg_all),
WordUtil.getNewString(R.string.message_chat_msg_system),
WordUtil.getNewString(R.string.message_chat_msg_user)
};
CommonNavigator commonNavigator = new CommonNavigator(AppManager.getInstance().getMainActivity());
commonNavigator.setAdjustMode(true);
commonNavigator.setAdapter(new CommonNavigatorAdapter() {
@Override
public int getCount() {
return titles.length;
}
@Override
public IPagerTitleView getTitleView(Context context, final int index) {
SimplePagerTitleView simplePagerTitleView = new ColorTransitionPagerTitleView(context);
simplePagerTitleView.setNormalColor(Color.parseColor("#777777"));
simplePagerTitleView.setSelectedColor(Color.parseColor("#333333"));
simplePagerTitleView.setText(titles[index]);
simplePagerTitleView.setTextSize(18);
simplePagerTitleView.getPaint().setFakeBoldText(true);
simplePagerTitleView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (viewPager != null) {
viewPager.setCurrentItem(index);
tabTexts.add(tab1);
tabTexts.add(tab2);
tabTexts.add(tab3);
tabLine.add(tab_line1);
tabLine.add(tab_line2);
tabLine.add(tab_line3);
if (userType == 0) { //普通用户
relativeLayouts.get(0).setVisibility(View.VISIBLE);
tabTexts.get(0).setText(WordUtil.getNewString(R.string.message_chat_msg_all_an_a));
ViewGroup.LayoutParams params = tabLayouts.getLayoutParams();
params.width = LinearLayout.LayoutParams.WRAP_CONTENT;
tabLayouts.setLayoutParams(params);
} else if (userType == 1) {//主播A
tab_icon.setVisibility(View.VISIBLE);
tab_icon.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
/*XPopup.Builder builder = new XPopup.Builder(mContext).atView(v);
builder.hasShadowBg(false).isLightStatusBar(false).popupPosition(PopupPosition.Top).asCustom(new MsgRecommendPopupView(mContext).show());*/
XPopup.Builder builder = new XPopup.Builder(mContext).atView(v);
builder.hasShadowBg(false).isDestroyOnDismiss(true).isLightStatusBar(false).popupPosition(PopupPosition.Bottom).asCustom(new MsgRecommendPopupView(mContext, new MsgRecommendPopupView.ItemDelListener() {
@Override
public void onItemDel() {
}
}
});
return simplePagerTitleView;
}
})).show();
}
});
relativeLayouts.get(0).setVisibility(View.VISIBLE);
tabTexts.get(0).setText(WordUtil.getNewString(R.string.message_chat_msg_recommend));
relativeLayouts.get(1).setVisibility(View.VISIBLE);
tabTexts.get(1).setText(WordUtil.getNewString(R.string.message_chat_msg_all_an_a));
} else { //主播B
relativeLayouts.get(0).setVisibility(View.VISIBLE);
tabTexts.get(0).setText(WordUtil.getNewString(R.string.message_chat_msg_all));
relativeLayouts.get(1).setVisibility(View.VISIBLE);
tabTexts.get(1).setText(WordUtil.getNewString(R.string.message_chat_msg_system));
relativeLayouts.get(2).setVisibility(View.VISIBLE);
tabTexts.get(2).setText(WordUtil.getNewString(R.string.message_chat_msg_user));
}
for (int i = 0; i < relativeLayouts.size(); i++) {
int finalI = i;
relativeLayouts.get(i).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
selectTab(finalI);
viewPager.setCurrentItem(finalI);
}
});
}
if(userType==1){
selectTab(1);
}else{
selectTab(0);
}
}
@Override
public IPagerIndicator getIndicator(Context context) {
LinePagerIndicator linePagerIndicator = new LinePagerIndicator(context);
linePagerIndicator.setMode(LinePagerIndicator.MODE_WRAP_CONTENT);
linePagerIndicator.setXOffset(DpUtil.dp2px(5));
linePagerIndicator.setRoundRadius(DpUtil.dp2px(2));
linePagerIndicator.setColors(Color.parseColor("#EB6FFF"), Color.parseColor("#FF83C6"));
return linePagerIndicator;
public void selectTab(int position) {
for (int i = 0; i < relativeLayouts.size(); i++) {
if (position == i) {
tabTexts.get(i).setTextColor(Color.parseColor("#333333"));
tabLine.get(i).setVisibility(View.VISIBLE);
} else {
tabTexts.get(i).setTextColor(Color.parseColor("#777777"));
tabLine.get(i).setVisibility(View.INVISIBLE);
}
});
mIndicator.setNavigator(commonNavigator);
ViewPageIndicatorUtils.bind(mIndicator, viewPager, new ViewPager2.OnPageChangeCallback() {
@Override
public void onPageSelected(int position) {
super.onPageSelected(position);
search.setText("");
}
});
}
}
@Override
@@ -292,10 +455,7 @@ public class MainMessageViewHolder extends AbsMainViewHolder {
MessageGuideView guideView = new MessageGuideView((Activity) mContext);
//top_noback
GuideBuilder builder = new GuideBuilder();
builder.setTargetView(topLayout)
.setAlpha(180)
.setHighTargetCorner(20)
.setHighTargetPadding(10);
builder.setTargetView(topLayout).setAlpha(180).setHighTargetCorner(20).setHighTargetPadding(10);
builder.setOverlayTarget(true);
builder.setAutoDismiss(false);
@@ -345,27 +505,31 @@ public class MainMessageViewHolder extends AbsMainViewHolder {
Log.i(TAG, "initData: 初始化数据");
//获取一下系统通知
MessageIMManager.get(mContext).getSystemMessages();
LiveNetManager.get(mContext)
.getIsAnchor(new com.yunbao.common.http.base.HttpCallback<MessageChatIsAnchor>() {
@Override
public void onSuccess(MessageChatIsAnchor data) {
AppManager.runDebugCode(() -> {
more.setVisibility(View.VISIBLE);
});
if (data.getIsAnchor() == 1) {
more.setVisibility(View.VISIBLE);
viewPager.setUserInputEnabled(true);
mIndicator.setVisibility(View.VISIBLE);
}
IMLoginManager.get(mContext)
.setAnchorB(data.getIsAnchor());
}
@Override
public void onError(String error) {
}
LiveNetManager.get(mContext).getIsAnchor(new com.yunbao.common.http.base.HttpCallback<MessageChatIsAnchor>() {
@Override
public void onSuccess(MessageChatIsAnchor data) {
AppManager.runDebugCode(() -> {
more.setVisibility(View.VISIBLE);
});
if (data.getIsAnchor() == 1 && CommonAppConfig.getInstance().getUserBean().getUsers_type().equals("C")) {
userType = 2;//主播B
more.setVisibility(View.VISIBLE);
viewPager.setUserInputEnabled(true);
//mIndicator.setVisibility(View.VISIBLE);
} else if (CommonAppConfig.getInstance().getUserBean().getUsers_type().equals("C")) {
userType = 1;//主播A
} else {
userType = 0;
}
IMLoginManager.get(mContext).setAnchorB(data.getIsAnchor());
initFragment();
}
@Override
public void onError(String error) {
}
});
}
@@ -405,11 +569,7 @@ public class MainMessageViewHolder extends AbsMainViewHolder {
MobclickAgent.onEvent(mContext, "information_official_notice", "官方通知");
type = userBean.getType();
netHandler.post(systemNumberRunnable);
mContext.startActivity(new Intent(mContext, SystemMessageActivity.class)
.putExtra("type", userBean.getType())
.putExtra("uid", "")
.putExtra("title", userBean.getTitle())
.putExtra("headImg", ""));
mContext.startActivity(new Intent(mContext, SystemMessageActivity.class).putExtra("type", userBean.getType()).putExtra("uid", "").putExtra("title", userBean.getTitle()).putExtra("headImg", ""));
});
break;
//互動消息
@@ -432,11 +592,7 @@ public class MainMessageViewHolder extends AbsMainViewHolder {
MobclickAgent.onEvent(mContext, "information_system_interactive", "互動消息");
type = userBean.getType();
netHandler.post(systemNumberRunnable);
mContext.startActivity(new Intent(mContext, SystemMessageActivity.class)
.putExtra("type", userBean.getType())
.putExtra("uid", "")
.putExtra("title", userBean.getTitle())
.putExtra("headImg", ""));
mContext.startActivity(new Intent(mContext, SystemMessageActivity.class).putExtra("type", userBean.getType()).putExtra("uid", "").putExtra("title", userBean.getTitle()).putExtra("headImg", ""));
});
break;
//在線客服
@@ -464,11 +620,7 @@ public class MainMessageViewHolder extends AbsMainViewHolder {
// WebViewActivity.forward(mContext, userBean.getLink());
RouteUtil.forwardCustomerService(userBean.getLink());
} else {
mContext.startActivity(new Intent(mContext, SystemMessageActivity.class)
.putExtra("type", userBean.getType())
.putExtra("uid", "")
.putExtra("title", userBean.getTitle())
.putExtra("headImg", ""));
mContext.startActivity(new Intent(mContext, SystemMessageActivity.class).putExtra("type", userBean.getType()).putExtra("uid", "").putExtra("title", userBean.getTitle()).putExtra("headImg", ""));
}
});
break;
@@ -492,11 +644,7 @@ public class MainMessageViewHolder extends AbsMainViewHolder {
MobclickAgent.onEvent(mContext, "information_system_notice", "系统消息");
type = userBean.getType();
netHandler.post(systemNumberRunnable);
mContext.startActivity(new Intent(mContext, SystemMessageActivity.class)
.putExtra("type", userBean.getType())
.putExtra("uid", "")
.putExtra("title", userBean.getTitle())
.putExtra("headImg", ""));
mContext.startActivity(new Intent(mContext, SystemMessageActivity.class).putExtra("type", userBean.getType()).putExtra("uid", "").putExtra("title", userBean.getTitle()).putExtra("headImg", ""));
});
break;
}
@@ -675,8 +823,8 @@ public class MainMessageViewHolder extends AbsMainViewHolder {
LiveBean liveBean = JSON.parseObject(info[0], LiveBean.class);
new LiveRoomCheckLivePresenter(mContext, liveBean.getUid(), liveBean.getStream(), new LiveRoomCheckLivePresenter.NewActionListener() {
@Override
public void onLiveRoomChanged(String liveUid, String stream, int liveType, String liveTypeVal, String liveSdk,boolean isSw) {
RouteUtil.forwardLiveAudienceActivity(liveBean, liveType, Integer.parseInt(liveSdk), Integer.parseInt(liveTypeVal),isSw);
public void onLiveRoomChanged(String liveUid, String stream, int liveType, String liveTypeVal, String liveSdk, boolean isSw) {
RouteUtil.forwardLiveAudienceActivity(liveBean, liveType, Integer.parseInt(liveSdk), Integer.parseInt(liveTypeVal), isSw);
}
@Override

View File

@@ -301,22 +301,196 @@
android:id="@+id/indicator"
android:layout_width="match_parent"
android:layout_height="37dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/line" />
android:visibility="gone" />
<LinearLayout
android:id="@+id/tabLayouts"
android:layout_width="match_parent"
android:layout_height="40dp"
android:gravity="center_vertical"
android:paddingStart="20dp"
android:paddingEnd="20dp">
<androidx.constraintlayout.widget.ConstraintLayout
android:visibility="gone"
tools:visibility="visible"
android:id="@+id/tabLayout1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1">
<ImageView
android:id="@+id/tab_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="5dp"
android:layout_toStartOf="@+id/tab_top1"
android:src="@mipmap/icon_msg_recommend"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/tab_top1"
app:layout_constraintTop_toTopOf="parent"
tools:visibility="visible" />
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/tab_top1"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_centerHorizontal="true"
android:gravity="center_horizontal"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="MissingConstraints">
<TextView
android:id="@+id/tab1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text="tab1"
android:textSize="15dp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<View
android:id="@+id/tab_line1"
android:layout_width="0dp"
android:layout_height="3dp"
android:layout_marginStart="3dp"
android:layout_marginEnd="3dp"
android:layout_marginTop="3dp"
android:layout_below="@+id/tab_top1"
android:layout_centerHorizontal="true"
android:background="@drawable/bg_main_com_type"
app:layout_constraintEnd_toEndOf="@+id/tab1"
app:layout_constraintStart_toStartOf="@+id/tab1"
app:layout_constraintTop_toBottomOf="@+id/tab1" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:visibility="gone"
tools:visibility="visible"
android:id="@+id/tabLayout2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/tab_top2"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_centerHorizontal="true"
android:gravity="center_horizontal"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="MissingConstraints">
<TextView
android:id="@+id/tab2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text="tab1"
android:textSize="15dp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<View
android:id="@+id/tab_line2"
android:layout_width="0dp"
android:layout_marginTop="3dp"
android:layout_marginStart="3dp"
android:layout_marginEnd="3dp"
android:layout_height="3dp"
android:layout_below="@+id/tab_top2"
android:layout_centerHorizontal="true"
android:background="@drawable/bg_main_com_type"
app:layout_constraintEnd_toEndOf="@+id/tab2"
app:layout_constraintStart_toStartOf="@+id/tab2"
app:layout_constraintTop_toBottomOf="@+id/tab2" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:visibility="gone"
tools:visibility="visible"
android:id="@+id/tabLayout3"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/tab_top3"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_centerHorizontal="true"
android:gravity="center_horizontal"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="MissingConstraints">
<TextView
android:id="@+id/tab3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text="tab1"
android:textSize="15dp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<View
android:id="@+id/tab_line3"
android:layout_width="0dp"
android:layout_marginStart="3dp"
android:layout_marginEnd="3dp"
android:layout_height="3dp"
android:layout_marginTop="3dp"
android:layout_below="@+id/tab_top3"
android:layout_centerHorizontal="true"
android:background="@drawable/bg_main_com_type"
app:layout_constraintEnd_toEndOf="@+id/tab3"
app:layout_constraintStart_toStartOf="@+id/tab3"
app:layout_constraintTop_toBottomOf="@+id/tab3" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</LinearLayout>
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/viewPager"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="50dp"
android:layout_marginTop="10dp"
android:layout_marginBottom="50dp"
android:overScrollMode="never"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/indicator" />
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
<!-- 此容器用于动态放置 fragment-->

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB