diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 4ed018636..8f70aa85b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -981,16 +981,6 @@ - - @@ -1012,12 +1002,7 @@ android:name=".avroom.recommendcard.MyRecommendCardActivity" android:launchMode="singleTask" android:screenOrientation="portrait" /> - - + @@ -1136,7 +1121,7 @@ android:screenOrientation="portrait" /> diff --git a/app/src/main/java/com/yizhuan/erban/avroom/widget/MessageView.java b/app/src/main/java/com/yizhuan/erban/avroom/widget/MessageView.java index 9ef3f147b..71364d9ec 100644 --- a/app/src/main/java/com/yizhuan/erban/avroom/widget/MessageView.java +++ b/app/src/main/java/com/yizhuan/erban/avroom/widget/MessageView.java @@ -206,7 +206,6 @@ public class MessageView extends FrameLayout { private Consumer clickConsumer; @Setter private OnClick onClick; - private Disposable subscribe; public MessageView(Context context) { this(context, null); @@ -235,8 +234,7 @@ public class MessageView extends FrameLayout { @Override protected void onDetachedFromWindow() { - disposable.dispose(); - subscribe.dispose(); + if (disposable != null) disposable.dispose(); super.onDetachedFromWindow(); } diff --git a/app/src/main/java/com/yizhuan/erban/home/fragment/CommunityNoticeAct.java b/app/src/main/java/com/yizhuan/erban/home/activity/CommunityNoticeAct.java similarity index 99% rename from app/src/main/java/com/yizhuan/erban/home/fragment/CommunityNoticeAct.java rename to app/src/main/java/com/yizhuan/erban/home/activity/CommunityNoticeAct.java index 5501653ba..44139a377 100644 --- a/app/src/main/java/com/yizhuan/erban/home/fragment/CommunityNoticeAct.java +++ b/app/src/main/java/com/yizhuan/erban/home/activity/CommunityNoticeAct.java @@ -1,4 +1,4 @@ -package com.yizhuan.erban.home.fragment; +package com.yizhuan.erban.home.activity; import android.content.Context; import android.content.Intent; diff --git a/app/src/main/java/com/yizhuan/erban/home/activity/HomeMoreRoomActivity.java b/app/src/main/java/com/yizhuan/erban/home/activity/HomeMoreRoomActivity.java index 6c71282ab..9051398c1 100644 --- a/app/src/main/java/com/yizhuan/erban/home/activity/HomeMoreRoomActivity.java +++ b/app/src/main/java/com/yizhuan/erban/home/activity/HomeMoreRoomActivity.java @@ -150,31 +150,6 @@ public class HomeMoreRoomActivity extends BaseMvpActivity tagListInfoList) { - - } - - @Override - public void titleListFail(String msg) { - - } - - @Override - public void onGetFirstPageBannerFailed(String message) { - - } - - @Override - public void roomWorldModeCloseSuccess() { - - } - - @Override - public void roomWorldModeCloseFail(String error) { - - } - @Override public void onGetHomeBannerSuccess(List bannerInfos) { @@ -221,11 +196,6 @@ public class HomeMoreRoomActivity extends BaseMvpActivity 公共多个滑动tab样式

- * - * @author Administrator - * @date 2017/11/15 - */ -public class CommonMagicIndicatorAdapter extends CommonNavigatorAdapter { - - private Context mContext; - private List mTitleList; - private int mBottomMargin; - - public CommonMagicIndicatorAdapter(Context context, List titleList, int bottomMargin) { - mContext = context; - mTitleList = titleList; - mBottomMargin = bottomMargin; - } - - @Override - public int getCount() { - return mTitleList == null ? 0 : mTitleList.size(); - } - - @Override - public IPagerTitleView getTitleView(Context context, final int i) { - ScaleTransitionPagerTitleView scaleTransitionPagerTitleView = new ScaleTransitionPagerTitleView(context); - scaleTransitionPagerTitleView.setNormalColor(ContextCompat.getColor(mContext, R.color.color_666666)); - scaleTransitionPagerTitleView.setSelectedColor(ContextCompat.getColor(mContext, R.color.color_000000)); - scaleTransitionPagerTitleView.setMinScale(1); - scaleTransitionPagerTitleView.setTextSize(16); - scaleTransitionPagerTitleView.setText(mTitleList.get(i).getName()); - scaleTransitionPagerTitleView.setOnClickListener(view -> { - if (mOnItemSelectListener != null) { - mOnItemSelectListener.onItemSelect(i); - } - }); - return scaleTransitionPagerTitleView; - } - - - @Override - public IPagerIndicator getIndicator(Context context) { - LinePagerIndicator indicator = new LinePagerIndicator(context); - indicator.setMode(LinePagerIndicator.MODE_WRAP_CONTENT); - indicator.setLineHeight(UIUtil.dip2px(mContext, 2.5)); - indicator.setRoundRadius(UIUtil.dip2px(mContext, 1.25)); - indicator.setLineWidth(UIUtil.dip2px(mContext, 27)); - indicator.setColors(context.getResources().getColor(R.color.appColor)); - FrameLayout.LayoutParams lp = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT); - lp.bottomMargin = mBottomMargin; - indicator.setLayoutParams(lp); - return indicator; - } - - private OnItemSelectListener mOnItemSelectListener; - - public void setOnItemSelectListener(OnItemSelectListener onItemSelectListener) { - mOnItemSelectListener = onItemSelectListener; - } - - public interface OnItemSelectListener { - void onItemSelect(int position); - } -} diff --git a/app/src/main/java/com/yizhuan/erban/home/adapter/ErbanRecommendAdapter.java b/app/src/main/java/com/yizhuan/erban/home/adapter/ErbanRecommendAdapter.java deleted file mode 100644 index 8a1704f02..000000000 --- a/app/src/main/java/com/yizhuan/erban/home/adapter/ErbanRecommendAdapter.java +++ /dev/null @@ -1,172 +0,0 @@ -package com.yizhuan.erban.home.adapter; - -import android.content.Context; -import android.graphics.Color; -import android.graphics.drawable.Drawable; -import androidx.annotation.Nullable; -import android.text.TextUtils; -import android.view.View; -import android.view.ViewGroup; -import android.widget.ImageView; - -import com.bumptech.glide.load.DataSource; -import com.bumptech.glide.load.engine.GlideException; -import com.bumptech.glide.load.resource.bitmap.CenterCrop; -import com.bumptech.glide.load.resource.bitmap.RoundedCorners; -import com.bumptech.glide.request.RequestListener; -import com.bumptech.glide.request.target.Target; -import com.chad.library.adapter.base.BaseMultiItemQuickAdapter; -import com.chad.library.adapter.base.BaseViewHolder; -import com.netease.nim.uikit.support.glide.GlideApp; -import com.yizhuan.erban.R; -import com.yizhuan.erban.avroom.activity.AVRoomActivity; -import com.yizhuan.erban.ui.utils.ImageLoadUtils; -import com.yizhuan.erban.ui.widget.LivingIconView; -import com.yizhuan.erban.ui.widget.RoomItemView; -import com.yizhuan.erban.ui.widget.marqueeview.Utils; -import com.yizhuan.xchat_android_core.home.bean.HomeRoom; - -import java.util.List; - -/** - * @author jack - * @Description - * @Date 2018/4/16 - */ - -public class ErbanRecommendAdapter extends BaseMultiItemQuickAdapter { - - private Context mContext; - private int mRound, mTagHeight, mBadgeHeight; - - public ErbanRecommendAdapter(Context context, @Nullable List data) { - super(data); - addItemType(HomeRoom.TYPE_GIRD, R.layout.item_erban_recommend); - addItemType(HomeRoom.TYPE_LINEAR, R.layout.item_room_recommended); - addItemType(HomeRoom.TYPE_GIRD_EMPTY, R.layout.item_erban_grid_empty); - this.mContext = context; - mRound = Utils.dip2px(mContext, 9); - mTagHeight = (int) context.getResources().getDimension(R.dimen.tag_height); - mBadgeHeight = (int) context.getResources().getDimension(R.dimen.tag_height); - } - private void setLinearTypeData(BaseViewHolder helper, HomeRoom homeRoom) { - RoomItemView roomItemView = helper.getView(R.id.riv_room_view); - roomItemView.bindData(homeRoom); - } - - private void setGridEmptyData(BaseViewHolder helper, HomeRoom homeRoom) { - - } - - @Override - protected void convert(BaseViewHolder helper, HomeRoom homeRoom) { - if (homeRoom.getItemType() == HomeRoom.TYPE_LINEAR) { - setLinearTypeData(helper, homeRoom); - return; - } - if (homeRoom.getItemType() == HomeRoom.TYPE_GIRD_EMPTY) { - setGridEmptyData(helper, homeRoom); - return; - } - - helper.itemView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - AVRoomActivity.start(mContext, homeRoom.getUid()); - } - }); - - - LivingIconView livingIconView = helper.getView(R.id.liv_living_icon); - livingIconView.setColor(Color.WHITE); - livingIconView.start(); - - helper.setText(R.id.tv_online_number, mContext.getString(R.string.online_number_text, homeRoom.getOnlineNum())) - .setText(R.id.tv_title, homeRoom.getTitle()); - - helper.getView(R.id.lock_bg).setVisibility(!TextUtils.isEmpty(homeRoom.getRoomPwd()) ? View.VISIBLE : View.GONE); - - ImageView mIvTabLabel = helper.getView(R.id.iv_tab_label); -// -// mIvEmperorRecommend.setVisibility(homeRoom.getIsRecom() > 0 ? View.VISIBLE : View.GONE); -// GlideApp.with(mContext) -// .load(mContext.getResources().getDrawable(R.drawable.ic_king_recommend)) -//// .load(homeRoom.getIsRecom() > 0 ? NobleUtil.getEmperorRecommendTag(7) : 0) -// .fitCenter() -// .into(mIvEmperorRecommend); - - if (homeRoom.getIsRecom() > 0) { - mIvTabLabel.setVisibility(View.VISIBLE); - GlideApp.with(mContext) - .load(mContext.getResources().getDrawable(R.drawable.ic_king_recommend)) - .fitCenter() - .into(mIvTabLabel); - } else if (!TextUtils.isEmpty(homeRoom.badge)) { - mIvTabLabel.setVisibility(View.VISIBLE); - GlideApp.with(mContext) - .load(homeRoom.badge) - .listener(new RequestListener() { - @Override - public boolean onLoadFailed(@Nullable GlideException e, Object o, Target target, boolean b) { - return false; - } - - @Override - public boolean onResourceReady(Drawable drawable, Object o, Target target, DataSource dataSource, boolean b) { - float ratio = (drawable.getIntrinsicHeight() + 0.F) / drawable.getIntrinsicWidth(); - int width = Math.round(mBadgeHeight / ratio); - int height = mBadgeHeight; - ViewGroup.LayoutParams params = mIvTabLabel.getLayoutParams(); - params.width = width; - params.height = height; - mIvTabLabel.setLayoutParams(params); - mIvTabLabel.setImageDrawable(drawable); - return true; - } - }) - .into(mIvTabLabel); - - } else - mIvTabLabel.setVisibility(View.INVISIBLE); - -// mIvTabLabel.setVisibility(TextUtils.isEmpty(homeRoom.badge) ? View.INVISIBLE : View.VISIBLE); - -// GlideApp.with(mContext) -// .load(homeRoom.badge) -// .listener(new RequestListener() { -// @Override -// public boolean onLoadFailed(@Nullable GlideException e, Object o, Target target, boolean b) { -// return false; -// } -// -// @Override -// public boolean onResourceReady(Drawable drawable, Object o, Target target, DataSource dataSource, boolean b) { -// float ratio = (drawable.getIntrinsicHeight() + 0.F) / drawable.getIntrinsicWidth(); -// int width = Math.round(mBadgeHeight / ratio); -// int height = mBadgeHeight; -// ViewGroup.LayoutParams params = mIvTabLabel.getLayoutParams(); -// params.width = width; -// params.height = height; -// mIvTabLabel.setLayoutParams(params); -// mIvTabLabel.setImageDrawable(drawable); -// return true; -// } -// }) -// .into(mIvTabLabel); - - - ImageView ivCover = helper.getView(R.id.iv_cover); - if (!TextUtils.isEmpty(homeRoom.getAvatar())) { - ImageLoadUtils.loadAvatarBig(homeRoom.getAvatar(), ivCover, R.drawable.default_cover); - } else { - GlideApp.with(mContext) - .load(R.drawable.default_cover) - .placeholder(R.drawable.default_cover) - .transforms(new CenterCrop(), new RoundedCorners(mRound)) - .into(ivCover); - } - - } - - -} diff --git a/app/src/main/java/com/yizhuan/erban/home/adapter/ErbanTopMessageAdapter.java b/app/src/main/java/com/yizhuan/erban/home/adapter/ErbanTopMessageAdapter.java deleted file mode 100644 index abb46a726..000000000 --- a/app/src/main/java/com/yizhuan/erban/home/adapter/ErbanTopMessageAdapter.java +++ /dev/null @@ -1,112 +0,0 @@ -package com.yizhuan.erban.home.adapter; - -import android.content.Context; -import android.text.TextUtils; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.ImageView; -import android.widget.TextView; - -import com.yizhuan.erban.R; -import com.yizhuan.erban.ui.utils.ImageLoadUtils; -import com.yizhuan.erban.ui.widget.marqueeview.BetterMarqueeView; -import com.yizhuan.xchat_android_core.home.bean.TopMessage; -import com.yizhuan.xchat_android_core.home.bean.VMTopMessage; - -import java.util.List; - -/** - * @author jack - * @Description 滚动轮播适配器 - * @Date 2018/5/3 - */ - -public class ErbanTopMessageAdapter extends BetterMarqueeView.Adapter { - private Context context; - private List vmTopMessageList; - - public ErbanTopMessageAdapter(Context context,List vmTopMessageList) { - this.context = context; - this.vmTopMessageList = vmTopMessageList; - } - - @Override - public ErbanTopMessageAdapter.ErBanTopMessageViewHolder onCreateView(ViewGroup parent) { - return new ErBanTopMessageViewHolder(LayoutInflater.from(this.context).inflate(R.layout.item_erban_top_message,parent,false)); - } - - @Override - public void onBindViewHolder(ErbanTopMessageAdapter.ErBanTopMessageViewHolder holder, int position) { - VMTopMessage item = vmTopMessageList.get(position); - - TextView[] textViews = new TextView[]{holder.tvMsg1,holder.tvMsg2}; - for (TextView textView : textViews) { - textView.setText(""); - } - ImageView[] imageViews = new ImageView[]{holder.ivMsg1,holder.ivMsg2}; - for (ImageView imageView : imageViews) { - imageView.setVisibility(View.GONE); - - } - String imgUrl = null; - for (int i = 0; i < item.getTopMessageList().size() ; i++) { - if (i >= textViews.length) break; - TopMessage topMessage = item.getTopMessageList().get(i); - if (!TextUtils.isEmpty(topMessage.getImg()) && imgUrl == null){ - imgUrl = topMessage.getImg(); - } - if (!TextUtils.isEmpty(topMessage.getTitle())){ - textViews[i].setText(topMessage.getTitle()); - if (topMessage.getTipType() == TopMessage.TIP_TYPE_ABOUT_ME){ - imageViews[i].setVisibility(View.VISIBLE); - imageViews[i].setImageResource(R.drawable.erban_toutiao_tag_about_me); - - }else if (topMessage.getTipType() == TopMessage.TIP_TYPE_NEW){ - imageViews[i].setVisibility(View.VISIBLE); - imageViews[i].setImageResource(R.drawable.erban_toutiao_tag_new); - - }else if (topMessage.getTipType() == TopMessage.TIP_TYPE_MONSTER){ - imageViews[i].setVisibility(View.VISIBLE); - imageViews[i].setImageResource(R.drawable.erban_toutiao_tag_monster); - - } - } - - } - if (null != imgUrl){ - holder.ivPic.setVisibility(View.VISIBLE); - ImageLoadUtils.loadImage(context,imgUrl,holder.ivPic, R.drawable.default_cover); - }else{ - holder.ivPic.setVisibility(View.GONE); - } - - } - - @Override - public int getSize() { - return vmTopMessageList.size(); - } - - - class ErBanTopMessageViewHolder extends BetterMarqueeView.ViewHolder{ - private TextView tvMsg1; - private TextView tvMsg2; - private ImageView ivPic; - private ImageView ivMsg1; - private ImageView ivMsg2; - - public ErBanTopMessageViewHolder(View itemView) { - super(itemView); - ivMsg1 = (ImageView) itemView.findViewById(R.id.iv_msg1); - ivMsg2 = (ImageView) itemView.findViewById(R.id.iv_msg2); - tvMsg1 = (TextView) itemView.findViewById(R.id.tv_msg1); - tvMsg2 = (TextView) itemView.findViewById(R.id.tv_msg2); - ivPic = (ImageView) itemView.findViewById(R.id.iv_pic); - - } - } - - - -} diff --git a/app/src/main/java/com/yizhuan/erban/home/adapter/FindAdapter.java b/app/src/main/java/com/yizhuan/erban/home/adapter/FindAdapter.java deleted file mode 100644 index b6faa84da..000000000 --- a/app/src/main/java/com/yizhuan/erban/home/adapter/FindAdapter.java +++ /dev/null @@ -1,135 +0,0 @@ -package com.yizhuan.erban.home.adapter; - -import android.content.Context; -import androidx.annotation.Nullable; -import android.text.TextUtils; -import android.view.View; -import android.view.ViewGroup; -import android.widget.ImageView; - -import com.bumptech.glide.load.resource.bitmap.CenterCrop; -import com.chad.library.adapter.base.BaseQuickAdapter; -import com.chad.library.adapter.base.BaseViewHolder; -import com.netease.nim.uikit.common.util.sys.ScreenUtil; -import com.netease.nim.uikit.support.glide.GlideApp; -import com.yizhuan.erban.R; -import com.yizhuan.erban.avroom.activity.AVRoomActivity; -import com.yizhuan.erban.decoration.view.DecorationStoreActivity; -import com.yizhuan.erban.ui.im.RouterHandler; -import com.yizhuan.erban.ui.webview.CommonWebViewActivity; -import com.yizhuan.erban.ui.widget.RedPointView; -import com.yizhuan.xchat_android_constants.XChatConstants; -import com.yizhuan.xchat_android_core.auth.AuthModel; -import com.yizhuan.xchat_android_core.home.bean.FindEntranceInfo; -import com.yizhuan.xchat_android_core.im.custom.bean.RouterType; -import com.yizhuan.xchat_android_core.statistic.StatisticManager; -import com.yizhuan.xchat_android_core.statistic.protocol.StatisticsProtocol; -import com.yizhuan.xchat_android_library.utils.SingleToastUtil; - -import java.util.List; - -/** - * @author jackI - * @Description - * @Date 2018/5/24 - */ - -public class FindAdapter extends BaseQuickAdapter { - - private Context context; - private final int itemWidth; - - public FindAdapter(Context context, @Nullable List data) { - super(R.layout.list_item_find_rv, data); - this.context = context; - - int screenWidth = context.getResources().getDisplayMetrics().widthPixels; - itemWidth = (screenWidth - ScreenUtil.dip2px(20) * 2 - ScreenUtil.dip2px(12) * 3) / 4; - } - - @Override - protected BaseViewHolder onCreateDefViewHolder(ViewGroup parent, int viewType) { - BaseViewHolder baseViewHolder = super.onCreateDefViewHolder(parent, viewType); - ViewGroup.LayoutParams layoutParams = baseViewHolder.itemView.getLayoutParams(); - layoutParams.width = itemWidth; - baseViewHolder.itemView.setLayoutParams(layoutParams); - return baseViewHolder; - } - - @Override - protected void convert(BaseViewHolder helper, FindEntranceInfo item) { - - ImageView rivPic = helper.getView(R.id.iv_pic); - GlideApp.with(context) - .load(item.getMinPic()) - .transforms(new CenterCrop()) - .dontAnimate() - .into(rivPic); - - helper.setText(R.id.tv_name, item.getName()); - RedPointView tvTaskNumber = helper.getView(R.id.tv_task_number); - if (item.getActivityType() == FindEntranceInfo.ACTIVITYTYPE_TASK && item.getMissionNum() > 0) { - String numText; - if (item.getMissionNum() > 99) { - numText = "99+"; - } else { - numText = String.valueOf(item.getMissionNum()); - } - tvTaskNumber.setNumber(String.valueOf(numText)); - tvTaskNumber.setVisibility(View.VISIBLE); - } else { - tvTaskNumber.setVisibility(View.GONE); - } - boolean isVisible = (item.getActivityType() == FindEntranceInfo.ACTIVITYTYPE_SIGN_IN - && !item.isSignStatus()); - helper.setGone(R.id.stv_has_sign_stutas, isVisible); - - helper.itemView.setOnClickListener(v -> jumpByType(item)); - - } - - private void jumpByType(FindEntranceInfo info) { - int type = info.getType(); - String param = info.getParam(); - switch (type) { - case FindEntranceInfo.TYPE_H5: - //跳转H5界面 - CommonWebViewActivity.start(mContext, param); - - break; - case FindEntranceInfo.TYPE_ROOM: - //跳转聊天室界面 - if (TextUtils.isEmpty(param)) return; - try { - AVRoomActivity.start(mContext, Long.valueOf(param)); - } catch (NumberFormatException e) { - e.printStackTrace(); - } - break; - case FindEntranceInfo.TYPE_GAME: - //跳转H5 游戏 - CommonWebViewActivity.start(mContext, param); - break; - case FindEntranceInfo.TYPE_DECORATION: - long uid = AuthModel.get().getCurrentUid(); - DecorationStoreActivity.start(mContext, uid); - break; - case FindEntranceInfo.TYPE_TO_ROUTERTYPE: - //旧版保留读取type的方式,新版type=5 - //转到routerType处理 - if (info.getRouterType() == RouterType.SIGN_IN) { - StatisticManager.Instance().onEvent(StatisticsProtocol.Event.EVENT_FIND_SIGN_CLICK, - "签到-发现页"); - } - boolean result = RouterHandler.handle(mContext, info.getRouterType(), - info.getRouterValue()); - if (!result) { - SingleToastUtil.showToast(XChatConstants.UPDATE_VERSION_TIPS); - } - break; - default: - SingleToastUtil.showToast(XChatConstants.UPDATE_VERSION_TIPS); - break; - } - } -} diff --git a/app/src/main/java/com/yizhuan/erban/home/adapter/FindNewerListAdapter.java b/app/src/main/java/com/yizhuan/erban/home/adapter/FindNewerListAdapter.java deleted file mode 100644 index 5f50a5c8f..000000000 --- a/app/src/main/java/com/yizhuan/erban/home/adapter/FindNewerListAdapter.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.yizhuan.erban.home.adapter; - -import android.content.Context; -import androidx.annotation.Nullable; -import android.view.View; -import android.widget.ImageView; - -import com.chad.library.adapter.base.BaseQuickAdapter; -import com.chad.library.adapter.base.BaseViewHolder; -import com.netease.nim.uikit.support.glide.GlideApp; -import com.yizhuan.erban.R; -import com.yizhuan.erban.ui.user.UserInfoActivity; -import com.yizhuan.xchat_android_core.user.bean.UserInfo; - -import java.util.List; - -/** - * @author jack - * @Description - * @Date 2018/10/30 - */ -public class FindNewerListAdapter extends BaseQuickAdapter { - private Context context; - - public FindNewerListAdapter(Context context, @Nullable List data) { - super(R.layout.item_home_find_newer_list, data); - this.context = context; - } - - @Override - protected void convert(BaseViewHolder helper, UserInfo item) { - helper.setText(R.id.tv_name, item.getNick()); - - ImageView ivAvatar = helper.getView(R.id.civ_avatar); - GlideApp.with(context) - .load(item.getAvatar()) - .dontAnimate() - .into(ivAvatar); - - if (item.getGender() == 1) { - helper.setImageResource(R.id.iv_sex, R.drawable.ic_gender_male); - } else { - helper.setImageResource(R.id.iv_sex, R.drawable.ic_gender_female); - } - - helper.itemView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - UserInfoActivity.Companion.start(context, item.getUid()); - } - }); - - } -} diff --git a/app/src/main/java/com/yizhuan/erban/home/adapter/FindStarFamilyAdapter.java b/app/src/main/java/com/yizhuan/erban/home/adapter/FindStarFamilyAdapter.java deleted file mode 100644 index 35989adbf..000000000 --- a/app/src/main/java/com/yizhuan/erban/home/adapter/FindStarFamilyAdapter.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.yizhuan.erban.home.adapter; - -import android.content.Context; -import androidx.annotation.Nullable; -import android.text.TextUtils; -import android.widget.ImageView; -import android.widget.TextView; - -import com.chad.library.adapter.base.BaseQuickAdapter; -import com.chad.library.adapter.base.BaseViewHolder; -import com.netease.nim.uikit.common.util.sys.ScreenUtil; -import com.yizhuan.erban.R; -import com.yizhuan.erban.ui.utils.ImageLoadUtils; -import com.yizhuan.xchat_android_core.family.bean.response.RankingFamilyInfo; - -import java.util.List; - -/** - * @author jackI - * @Description - * @Date 2018/5/24 - */ - -public class FindStarFamilyAdapter extends BaseQuickAdapter { - - private Context context; - - public FindStarFamilyAdapter(Context context, @Nullable List data) { - super(R.layout.list_item_find_star_family_list_vertical, data); - this.context = context; - } - - @Override - protected void convert(BaseViewHolder helper, RankingFamilyInfo item) { - if (item == null) { - return; - } - - ImageView rivPic = helper.getView(R.id.riv_pic); - ImageLoadUtils.loadRectImage(context, item.getIcon(), rivPic, R.drawable.default_avatar, ScreenUtil.dip2px(5)); - TextView tvName = helper.getView(R.id.tv_name); - tvName.setText(item.getName()); - - TextView familyId = helper.getView(R.id.tv_family_id); - TextView familyMemberCount = helper.getView(R.id.tv_family_member_count); - if (familyId != null) { - // ID - familyId.setText(TextUtils.isEmpty(item.getId()) ? "" : "ID:" + item.getId()); - } - if (familyMemberCount != null) { - // 成员数量 - familyMemberCount.setText(item.getMemberCount() == 0 ? "" : "成员:" + item.getMemberCount()); - } - } - - -} diff --git a/app/src/main/java/com/yizhuan/erban/home/adapter/HallChatAdapter.java b/app/src/main/java/com/yizhuan/erban/home/adapter/HallChatAdapter.java deleted file mode 100644 index cbd9fe949..000000000 --- a/app/src/main/java/com/yizhuan/erban/home/adapter/HallChatAdapter.java +++ /dev/null @@ -1,64 +0,0 @@ -package com.yizhuan.erban.home.adapter; - -import androidx.annotation.Nullable; -import android.text.SpannableStringBuilder; -import android.text.TextUtils; -import android.widget.TextView; - -import com.chad.library.adapter.base.BaseQuickAdapter; -import com.chad.library.adapter.base.BaseViewHolder; -import com.yizhuan.erban.R; -import com.yizhuan.erban.common.widget.CircleImageView; -import com.yizhuan.erban.ui.utils.ImageLoadUtils; -import com.yizhuan.xchat_android_core.home.bean.HomeHallMsgInfo; - -import java.util.List; - -public class HallChatAdapter extends BaseQuickAdapter { - - public HallChatAdapter(@Nullable List data) { - super(R.layout.item_home_hall_chat, data); - } - - @Override - protected void convert(BaseViewHolder helper, HomeHallMsgInfo item) { - - CircleImageView civAvatar = (CircleImageView) helper.getView(R.id.civ_avatar); - if (!TextUtils.isEmpty(item.getSenderAvatar())) { - ImageLoadUtils.loadAvatar(mContext, item.getSenderAvatar(), civAvatar); - } else { - civAvatar.setImageResource(R.drawable.default_avatar); - } - - TextView textView = helper.getView(R.id.tv_content); - if (TextUtils.isEmpty(item.getContent())) { - textView.setText(textView.getResources().getText(R.string.not_support_message_tip)); - } else { - if (item.getMessageType() == HomeHallMsgInfo.MESSAGE_TYPE_TEXT) { - textView.setText(item.getContent()); -// MoonUtil.identifyFaceExpressionSmall(mContext, textView, item.getContent().toString(), ImageSpan.ALIGN_BOTTOM); - } else if (item.getMessageType() == HomeHallMsgInfo.MESSAGE_TYPE_GIFT) { - SpannableStringBuilder ssb = new SpannableStringBuilder("赠送 "); - String targetNick = item.getTargetNick(); - if (targetNick == null) { - targetNick = ""; - } - ssb.append(targetNick); - int start = ssb.length(); - ssb.append("["); - if (!TextUtils.isEmpty(item.getGiftName())) { - ssb.append(item.getGiftName()); - } else { - ssb.append("礼物"); - } - ssb.append("]"); - start = ssb.length(); - ssb.append("x").append(String.valueOf(item.getGiftCount())); -// ForegroundColorSpan foregroundColorSpan = new ForegroundColorSpan(mContext.getResources().getColor(R.color.color_FF3D56)); -// ssb.setSpan(foregroundColorSpan, start, ssb.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); - - textView.setText(ssb); - } - } - } -} diff --git a/app/src/main/java/com/yizhuan/erban/home/adapter/HomeFragmentAdapter.java b/app/src/main/java/com/yizhuan/erban/home/adapter/HomeFragmentAdapter.java deleted file mode 100644 index 84196d974..000000000 --- a/app/src/main/java/com/yizhuan/erban/home/adapter/HomeFragmentAdapter.java +++ /dev/null @@ -1,993 +0,0 @@ -package com.yizhuan.erban.home.adapter; - -import android.content.Context; -import android.graphics.Color; -import android.graphics.drawable.AnimationDrawable; -import android.graphics.drawable.Drawable; -import android.graphics.drawable.GradientDrawable; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import androidx.viewpager.widget.ViewPager; -import androidx.appcompat.widget.AppCompatImageView; -import androidx.recyclerview.widget.GridLayoutManager; -import androidx.recyclerview.widget.RecyclerView; -import android.text.TextUtils; -import android.view.View; -import android.view.ViewGroup; -import android.view.animation.Animation; -import android.view.animation.LinearInterpolator; -import android.view.animation.RotateAnimation; -import android.widget.ImageView; -import android.widget.LinearLayout; -import android.widget.TextView; - -import com.bumptech.glide.load.DataSource; -import com.bumptech.glide.load.engine.GlideException; -import com.bumptech.glide.request.RequestListener; -import com.bumptech.glide.request.target.Target; -import com.chad.library.adapter.base.BaseMultiItemQuickAdapter; -import com.chad.library.adapter.base.BaseViewHolder; -import com.yizhuan.erban.ui.widget.rollviewpager.RollPagerView; -import com.yizhuan.erban.ui.widget.rollviewpager.Util; -import com.yizhuan.erban.ui.widget.rollviewpager.hintview.ColorPointHintView; -import com.netease.nim.uikit.common.util.sys.ScreenUtil; -import com.netease.nim.uikit.support.glide.GlideApp; -import com.netease.nim.uikit.support.glide.GlideRequest; -import com.opensource.svgaplayer.SVGADrawable; -import com.opensource.svgaplayer.SVGAImageView; -import com.opensource.svgaplayer.SVGAParser; -import com.opensource.svgaplayer.SVGAVideoEntity; -import com.yizhuan.erban.BR; -import com.yizhuan.erban.R; -import com.yizhuan.erban.avroom.activity.AVRoomActivity; -import com.yizhuan.erban.avroom.widget.MessageView; -import com.yizhuan.erban.bindadapter.BaseAdapter; -import com.yizhuan.erban.bindadapter.BindingViewHolder; -import com.yizhuan.erban.databinding.ItemHomeTwoNBinding; -import com.yizhuan.erban.home.view.HomeConfigModule; -import com.yizhuan.erban.public_chat_hall.activity.PublicChatHallHomeActivity; -import com.yizhuan.erban.ui.utils.ImageLoadUtils; -import com.yizhuan.erban.ui.widget.LivingIconView; -import com.yizhuan.erban.ui.widget.RoomItemView; -import com.yizhuan.erban.ui.widget.magicindicator.MagicIndicator; -import com.yizhuan.erban.ui.widget.magicindicator.ViewPagerHelper; -import com.yizhuan.erban.ui.widget.magicindicator.buildins.UIUtil; -import com.yizhuan.erban.ui.widget.magicindicator.buildins.commonnavigator.CommonNavigator; -import com.yizhuan.erban.ui.widget.marqueeview.BetterMarqueeView; -import com.yizhuan.erban.ui.widget.recyclerview.decoration.GridSpacingItemDecoration; -import com.yizhuan.xchat_android_core.home.bean.BannerInfo; -import com.yizhuan.xchat_android_core.home.bean.HomeItem; -import com.yizhuan.xchat_android_core.home.bean.HomeRoom; -import com.yizhuan.xchat_android_core.home.bean.KTVRoomInfo; -import com.yizhuan.xchat_android_core.home.bean.MakeFriendsInfo; -import com.yizhuan.xchat_android_core.home.bean.RecommendInfo; -import com.yizhuan.xchat_android_core.home.bean.VMTopMessageInfo; -import com.yizhuan.xchat_android_core.level.UserLevelVo; -import com.yizhuan.xchat_android_core.market_verify.MarketVerifyModel; -import com.yizhuan.xchat_android_core.noble.NobleUtil; -import com.yizhuan.xchat_android_core.room.bean.RoomInfo; -import com.yizhuan.xchat_android_core.user.bean.RecommendationUserInfo; -import com.yizhuan.xchat_android_core.user.bean.UserInfo; -import com.yizhuan.xchat_android_library.utils.ListUtils; -import com.yizhuan.xchat_android_library.utils.StringUtils; -import java.net.MalformedURLException; -import java.net.URL; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -/** - *

首页热门adapter

- * - * @author Administrator - * @date 2017/11/16 - */ -public class HomeFragmentAdapter extends BaseMultiItemQuickAdapter { - - private int mBadgeHeight; - private Context mContext; - /** - * 校验跳转房间的频率 - */ - private long mLastOpen; - private String mTabName; - - public HomeFragmentAdapter(Context context, List data) { - super(data); - this.mContext = context; - addItemType(HomeItem.TYPE_DIV_1, R.layout.list_item_div_1); - addItemType(HomeItem.TYPE_DIV_2, R.layout.list_item_div_2); - - addItemType(HomeItem.TYPE_BANNER, R.layout.layout_rollpage_view); - addItemType(HomeItem.TYPE_TOP_MESSAGE, R.layout.list_item_home_erban_top_message); - addItemType(HomeItem.TYPE_RECOMMEND, R.layout.list_item_erban_recommend); - addItemType(HomeItem.TYPE_CONFIG, R.layout.list_item_three_plus_n); - addItemType(HomeItem.TYPE_TWO_LINES, R.layout.item_game_home_two_lines); - addItemType(HomeItem.TYPE_KTV, R.layout.list_item_home_ktv); - addItemType(HomeItem.TYPE_MAKE_FRIENDS, R.layout.list_item_home_make_friends); - - //3.1.2之后删除怪兽 - //addItemType(HomeItem.TYPE_MONSTER, R.layout.list_item_home_monster); - //3.1.2之后加入 - addItemType(HomeItem.TYPE_SQUARE_PIC, R.layout.item_erban_recommend); - addItemType(HomeItem.TYPE_LINEAR_LITTLE_PIC, R.layout.item_room_recommended); - addItemType(HomeItem.TYPE_SQUARE_EMPTY, R.layout.item_erban_grid_empty); - addItemType(HomeItem.TYPE_BLOCK_TITLE, R.layout.home_module_block_title); - - //end3.1.2 - - //添加两列单个显示 - addItemType(HomeItem.TYPE_BLOCK_SINGLE, R.layout.item_home_two_single_show); - //不带背景的banner - addItemType(HomeItem.TYPE_BANNER_NO_TOP_BG, R.layout.item_banner); - //新版首页用户信息 - addItemType(HomeItem.TYPE_USER_LINEAR, R.layout.item_user); - //两个的虚位以待 - addItemType(HomeItem.TYPE_DOUBLE_SQUARE_EMPTY, R.layout.item_erban_grid_2_empty); - - mBadgeHeight = (int) context.getResources().getDimension(R.dimen.tag_height); - } - - @Override - public void onBindViewHolder(@NonNull BaseViewHolder holder, int position, @NonNull List payloads) { - super.onBindViewHolder(holder, position, payloads); - int viewType = holder.getItemViewType(); - if (position - getHeaderLayoutCount() < 0) { - return; - } - switch (viewType) { - case 0: - convert(holder, getItem(position - getHeaderLayoutCount()), payloads); - break; - - default: - convert(holder, getItem(position - getHeaderLayoutCount()), payloads); - break; - } - } - - @Override - protected void convert(BaseViewHolder holder, HomeItem homeItem) { - } - - protected void convert(BaseViewHolder holder, HomeItem homeItem, @NonNull List payloads) { - if (homeItem == null) { - return; - } - switch (homeItem.getItemType()) { - case HomeItem.TYPE_BANNER: - setBannerData(holder, homeItem); - break; - case HomeItem.TYPE_RECOMMEND: - setErbanRecommend(holder, homeItem); - break; - case HomeItem.TYPE_CONFIG: - setConfigRecommend(holder, homeItem); - break; - case HomeItem.TYPE_TWO_LINES: - setTwoLinesData(holder, homeItem); - break; - case HomeItem.TYPE_TOP_MESSAGE: - setErbanTopMessageData(holder, homeItem); - break; - case HomeItem.TYPE_KTV: - setKTVRoom(holder, homeItem); - break; - case HomeItem.TYPE_MAKE_FRIENDS: - setMakeFriend(holder, homeItem); - break; - case HomeItem.TYPE_SQUARE_PIC: - setSquarePicData(holder, homeItem); - break; - case HomeItem.TYPE_SQUARE_EMPTY: - setSquareEmpty(holder, homeItem); - break; - case HomeItem.TYPE_LINEAR_LITTLE_PIC: - setLinearLittlePicData(holder, homeItem); - break; - case HomeItem.TYPE_BLOCK_TITLE: - setBlockTitle(holder, homeItem); - break; - case HomeItem.TYPE_BLOCK_SINGLE: - setTwoSingle(holder, homeItem); - break; - case HomeItem.TYPE_BANNER_NO_TOP_BG: - setNoBgBannerData(holder, homeItem); - break; - case HomeItem.TYPE_USER_LINEAR: - setUserData(holder, homeItem); - break; - default: - break; - } - } - - private void setUserData(BaseViewHolder holder, HomeItem homeItem) { - Object obj = homeItem.getData(); - if (!(obj instanceof RecommendationUserInfo)) { - return; - } - RecommendationUserInfo item = (RecommendationUserInfo) obj; - - View inOfficialMask = holder.getView(R.id.in_official_mask); - UserInfo.NamePlate namePlate = item.getNameplate(); - if (namePlate != null) { - inOfficialMask.setVisibility(View.VISIBLE); - TextView tvOfficialMask = inOfficialMask.findViewById(R.id.tv_official_mask); - if (tvOfficialMask != null) { - tvOfficialMask.setText(namePlate.getFixedWord()); - } - - ImageView ivOfficialMask = inOfficialMask.findViewById(R.id.iv_official_mask); - NobleUtil.loadResource(namePlate.getIconPic(), ivOfficialMask); - - } else { - inOfficialMask.setVisibility(View.GONE); - } - - //common begin - holder.setGone(R.id.iv_noble_level, false); - holder.setGone(R.id.iv_user_level, false); - holder.setGone(R.id.iv_charm_level, false); - - //setTag - ImageView ivTag = holder.getView(R.id.iv_tag); - - //distance - holder.setGone(R.id.tv_distance, !TextUtils.isEmpty(item.getDistanceStr())) - .setText(R.id.tv_distance, item.getDistanceStr()); - - //common end - holder.setGone(R.id.iv_gender, false).setGone(R.id.tv_age, false); - - CharSequence title; - String avatar; - HomeRoom roomInfo = item.getRoomVo(); - String tag; - String badge = null; - CharSequence description; - - holder.addOnClickListener(R.id.fl_avatar); - holder.addOnClickListener(R.id.ll_sub_content); - holder.addOnClickListener(R.id.rl_opt); - - TextView tvNum = holder.getView(R.id.tv_num); - Integer num = getRoomOnlineNum(roomInfo, item.getOnlineNum()); - - if (item.getStatus() != RecommendationUserInfo.STATUS_RECOMMEND_ROOM) { - UserLevelVo userLevelVo = item.getUserLevelVo(); - AppCompatImageView ivUserLevel = holder.getView(R.id.iv_user_level); - AppCompatImageView ivCharmLevel = holder.getView(R.id.iv_charm_level); - // 是否展示等级图标 - showLevel(userLevelVo, ivUserLevel, ivCharmLevel); - - if (item.getGender() == 1) { - if (item.getAge() > 0) { - holder.setBackgroundRes(R.id.tv_age, R.drawable.ic_home_male_age) - .setText(R.id.tv_age, item.getAge() + "") - .setGone(R.id.tv_age, true) - .setGone(R.id.iv_gender, false); - - } else { - holder.setImageResource(R.id.iv_gender, R.drawable.ic_gender_male) - .setGone(R.id.tv_age, false) - .setGone(R.id.iv_gender, true); - } - } else { - - if (item.getAge() > 0) { - holder.setBackgroundRes(R.id.tv_age, R.drawable.ic_home_female_age) - .setText(R.id.tv_age, item.getAge() + "") - .setGone(R.id.tv_age, true) - .setGone(R.id.iv_gender, false); - - } else { - holder.setImageResource(R.id.iv_gender, R.drawable.ic_gender_female) - .setGone(R.id.iv_gender, true) - .setGone(R.id.tv_age, false); - } - } - - AppCompatImageView ivNobleLevel = holder.getView(R.id.iv_noble_level); - if (item.getNobleUsers() != null) { - ivNobleLevel.setVisibility(View.VISIBLE); - String badgeByLevel = NobleUtil.getBadgeByLevel(item.getNobleUsers().getLevel()); - if (!TextUtils.isEmpty(badgeByLevel)) { - NobleUtil.loadResource(badgeByLevel, ivNobleLevel); - } - } - - } - - //判断类型 - switch (item.getStatus()) { - //普通 - case RecommendationUserInfo.STATUS_NORMAL: - title = item.getNick(); - avatar = item.getAvatar(); - description = item.getDescription(); - tag = item.getSkillTag(); - - if (isCpRoom(roomInfo)) { - tvNum.setVisibility(View.VISIBLE); - tvNum.setText("一起玩"); - tvNum.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_home_play_together, 0, 0, 0); - } - else { - tvNum.setText("撩一下"); - tvNum.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_home_accost, 0, 0, 0); - } - break; - //KTV - case RecommendationUserInfo.STATUS_KTV: - - title = getRoomTitle(roomInfo, item.getNick()); - tag = getRoomTag(roomInfo, null); - badge = getRoomBadge(roomInfo, null); - avatar = getRoomAvatar(roomInfo, item.getAvatar()); - description = getRoomDescription(roomInfo, item.getDescription()); - if (isCpRoom(roomInfo)) { - tvNum.setVisibility(View.VISIBLE); - tvNum.setText("一起玩"); - tvNum.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_home_play_together, 0, 0, 0); - } else { - tvNum.setText("去找TA"); - tvNum.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_home_find_ta, 0, 0, 0); - } - break; - - case RecommendationUserInfo.STATUS_GAME: - - title = getRoomTitle(roomInfo, item.getNick()); - tag = getRoomTag(roomInfo, null); - badge = getRoomBadge(roomInfo, null); - avatar = getRoomAvatar(roomInfo, item.getAvatar()); - description = getRoomDescription(roomInfo, item.getDescription()); - tvNum.setText("一起玩"); - tvNum.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_home_play_together, 0, 0, 0); - break; - - case RecommendationUserInfo.STATUS_ROOM: - - title = getRoomTitle(roomInfo, item.getNick()); - avatar = getRoomAvatar(roomInfo, item.getAvatar()); - description = getRoomDescription(roomInfo, item.getDescription()); - tag = getRoomTag(roomInfo, null); - badge = getRoomBadge(roomInfo, null); - if (isCpRoom(roomInfo)) { - tvNum.setVisibility(View.VISIBLE); - tvNum.setText("一起玩"); - tvNum.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_home_play_together, 0, 0, 0); - } - else { - tvNum.setText("去找TA"); - tvNum.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_home_find_ta, 0, 0, 0); - } - break; - - case RecommendationUserInfo.STATUS_RECOMMEND_ROOM: - title = getRoomTitle(roomInfo, item.getNick()); - avatar = getRoomAvatar(roomInfo, item.getAvatar()); - description = getRoomDescription(roomInfo, item.getDescription()); - tag = getRoomTag(roomInfo, null); - badge = getRoomBadge(roomInfo, null); - if (isCpRoom(roomInfo)) { - tvNum.setVisibility(View.VISIBLE); - tvNum.setText("一起玩"); - tvNum.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_home_play_together, 0, 0, 0); - } else if (num != null && num > 0) { - tvNum.setVisibility(View.VISIBLE); - tvNum.setText(num + "人在看"); - tvNum.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_home_find_ta, 0, 0, 0); - - } else { - tvNum.setText("去找TA"); - tvNum.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_home_find_ta, 0, 0, 0); - } - break; - - default: - return; - } - holder.setText(R.id.tv_title, title); - //显示标签 - if (StringUtils.isEmpty(tag)) { - holder.setGone(R.id.iv_tag, false); - } else { - holder.setGone(R.id.iv_tag, true); - ImageLoadUtils.loadImage(mContext, tag, ivTag); - } - ImageView ivAvatarBadge = holder.getView(R.id.iv_avatar_badge); - //显示头像角标 - if (StringUtils.isEmpty(badge)) { - ivAvatarBadge.setVisibility(View.GONE); - } else { - ivAvatarBadge.setVisibility(View.VISIBLE); - ImageLoadUtils.loadImage(ivAvatarBadge.getContext(), badge, ivAvatarBadge); - } - ImageView avatarView = holder.getView(R.id.noble_avatar_view); - if (StringUtils.isEmpty(avatar)) { - avatarView.setVisibility(View.GONE); - } else { - avatarView.setVisibility(View.VISIBLE); - ImageLoadUtils.loadAvatar(avatar, avatarView); - } - - holder.setGone(R.id.tv_desc, !StringUtils.isBlank(description)); - //描述 - holder.setText(R.id.tv_desc, description); - - } - - private boolean isCpRoom(HomeRoom roomInfo) { - if (roomInfo == null) { - return false; - } - return roomInfo.getType() == RoomInfo.ROOMTYPE_CP; - } - - private void showLevel(UserLevelVo userLevelVo, AppCompatImageView ivUserLevel, AppCompatImageView ivCharmLevel) { - if (userLevelVo != null) { - if (!TextUtils.isEmpty(userLevelVo.getExperUrl())) { - ivUserLevel.setVisibility(View.VISIBLE); - ImageLoadUtils.loadImage1(ivUserLevel.getContext(), userLevelVo.getExperUrl(), ivUserLevel); - } - - if (!TextUtils.isEmpty(userLevelVo.getCharmUrl())) { - ivCharmLevel.setVisibility(View.VISIBLE); - ImageLoadUtils.loadImage1(ivCharmLevel.getContext(), userLevelVo.getCharmUrl(), ivCharmLevel); - } - - } - - } - - private void setNoBgBannerData(BaseViewHolder holder, HomeItem homeItem) { - ArrayList bannerList = (ArrayList) homeItem.getData(); - - if (!ListUtils.isListEmpty(bannerList)) { - - //审核中状态,去掉跳转房间banner - if (MarketVerifyModel.get().isMarketChecking()) { - Iterator iterator = bannerList.iterator(); - while (iterator.hasNext()) { - BannerInfo bannerInfo = iterator.next(); - if (bannerInfo.getSkipType() == 2) { - iterator.remove(); - } - } - } - - RollPagerView rollPagerView = holder.getView(R.id.roll_view); - ViewGroup.LayoutParams layoutParams = rollPagerView.getLayoutParams(); - int bannerWidth = UIUtil.getScreenWidth(mContext) - UIUtil.dip2px(mContext, 40); - layoutParams.width = bannerWidth; - layoutParams.height = bannerWidth * 80 / 345; - rollPagerView.setLayoutParams(layoutParams); - - rollPagerView.setHintView(new ColorPointHintView(mContext, Color.WHITE, mContext.getResources().getColor(R.color.color_66FFFFFF)) { - @Override - public Drawable makeFocusDrawable() { - GradientDrawable dotFocus = new GradientDrawable(); - dotFocus.setColor(Color.WHITE); - dotFocus.setCornerRadius(Util.dip2px(getContext(), 2)); - dotFocus.setSize(Util.dip2px(getContext(), 9), Util.dip2px(getContext(), 4)); - return dotFocus; - } - - @Override - public Drawable makeNormalDrawable() { - GradientDrawable dotNormal = new GradientDrawable(); - dotNormal.setColor(mContext.getResources().getColor(R.color.color_66FFFFFF)); - dotNormal.setCornerRadius(Util.dip2px(getContext(), 2)); - dotNormal.setSize(Util.dip2px(getContext(), 4), Util.dip2px(getContext(), 4)); - return dotNormal; - } - }); - - BannerAdapter bannerAdapter = new BannerAdapter(bannerList, mContext); - bannerAdapter.setRoundingRadius(ScreenUtil.dip2px(12)); - rollPagerView.setAdapter(bannerAdapter); - rollPagerView.setPlayDelay(3000); - //设置透明度 - rollPagerView.setAnimationDurtion(500); - rollPagerView.setVisibility(View.VISIBLE); - bannerAdapter.notifyDataSetChanged(); - } - //审核中状态隐藏 - LinearLayout llPanelContainer = holder.getView(R.id.ll_panel_container); - if (MarketVerifyModel.get().isMarketChecking()) { - llPanelContainer.setVisibility(View.GONE); - return; - } else { - llPanelContainer.setVisibility(View.VISIBLE); - } - llPanelContainer.setVisibility(View.GONE); - } - - /** - * 房间单个item - */ - private void setTwoSingle(BaseViewHolder helper, HomeItem homeItem) { - HomeRoom item = (HomeRoom) homeItem.getData(); - if (item == null) { - return; - } - - SVGAImageView ivTabLabel = helper.getView(R.id.iv_tab_label); - ImageView livLivingIcon = helper.getView(R.id.liv_living_icon); - TextView tvOnlineNumber = helper.getView(R.id.tv_online_number); - View lockBg = helper.getView(R.id.lock_bg); - ImageView ivCover = helper.getView(R.id.iv_cover); - TextView tvTitle = helper.getView(R.id.tv_title); - String badge = item.getBadge(); - if (StringUtils.isEmpty(badge)) { - ivTabLabel.setVisibility(View.GONE); - } else { - ivTabLabel.setVisibility(View.VISIBLE); - - SVGAParser svgaParser = (SVGAParser) ivTabLabel.getTag(); - if (svgaParser == null) { - svgaParser = new SVGAParser(mContext); - ivTabLabel.setTag(svgaParser); - } - try { - svgaParser.decodeFromURL(new URL(badge), new SVGAParser.ParseCompletion() { - @Override - public void onComplete(@Nullable SVGAVideoEntity svgaVideoEntity) { - SVGADrawable drawable = new SVGADrawable(svgaVideoEntity); - ivTabLabel.setImageDrawable(drawable); - ivTabLabel.startAnimation(); - } - - @Override - public void onError() { - ImageLoadUtils.loadImage(mContext, badge, ivTabLabel); - } - },null); - } catch (MalformedURLException e) { - e.printStackTrace(); - } - } - - Drawable drawable = livLivingIcon.getDrawable(); - if (drawable instanceof AnimationDrawable) { - ((AnimationDrawable) drawable).start(); - } - - //tvOnlineNumber - tvOnlineNumber.setText(String.valueOf(item.getOnlineNum())); - - //lockBg - lockBg.setVisibility(StringUtils.isEmpty(item.getRoomPwd()) ? View.GONE : View.VISIBLE); - //ivCover - String avatar = item.getAvatar(); - if (StringUtils.isEmpty(avatar)) { - ivCover.setVisibility(View.GONE); - } else { - ivCover.setVisibility(View.VISIBLE); - ImageLoadUtils.loadImage(mContext, avatar, ivCover); - } - - //tvTitle - MessageView.SpannableBuilder text = new MessageView.SpannableBuilder(tvTitle) - .appendImg(item.tagPict) - .append(item.title); - tvTitle.setText(text.build()); - - helper.itemView.setOnClickListener(v -> AVRoomActivity.start(mContext, item.getUid())); - } - - /** - * 交友 - */ - private void setMakeFriend(BaseViewHolder holder, HomeItem homeItem) { - MakeFriendsInfo makeFriendsInfo = (MakeFriendsInfo) homeItem.getData(); - if (makeFriendsInfo == null) return; - holder.setText(R.id.tv_title, makeFriendsInfo.getTitle()); - holder.setText(R.id.tv_sub_title, makeFriendsInfo.getSubTitle()); - holder.getView(R.id.tv_refresh).setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - if (actionListener != null) { - actionListener.onRefreshMakeFriendList(); - makeFriendsInfo.setVmIsLoading(true); - notifyItemChanged(holder.getAdapterPosition()); - } - } - }); - - TextView tvRefresh = holder.getView(R.id.tv_refresh); - ImageView ivRefreshArrow = holder.getView(R.id.iv_refresh_arrow); - if (makeFriendsInfo.isVmIsLoading()) { - tvRefresh.setText("我刷刷刷..."); - RotateAnimation rotateAnimation = new RotateAnimation(0, 359, - Animation.RELATIVE_TO_SELF, 0.5f, - Animation.RELATIVE_TO_SELF, 0.5f); - rotateAnimation.setRepeatCount(-1); - rotateAnimation.setDuration(300); - LinearInterpolator lin = new LinearInterpolator(); - rotateAnimation.setInterpolator(lin); - ivRefreshArrow.startAnimation(rotateAnimation); - } else { - tvRefresh.setText("换一换"); - ivRefreshArrow.clearAnimation(); - } - - List roomList = makeFriendsInfo.getRoomList(); - RecyclerView recyclerView = holder.getView(R.id.rv_list); - recyclerView.setItemAnimator(null); - recyclerView.setFocusable(false); - recyclerView.setLayoutManager(new GridLayoutManager(mContext, 3)); - if (recyclerView.getItemDecorationCount() == 0) { - recyclerView.addItemDecoration(new GridSpacingItemDecoration(holder.itemView.getContext(), 3, 10)); - } - MakeFriendAdapter makeFriendAdapter = new MakeFriendAdapter(mContext, roomList); - recyclerView.setAdapter(makeFriendAdapter); - } - - /** - * KTV 房间列表 - */ - private void setKTVRoom(BaseViewHolder holder, HomeItem homeItem) { - KTVRoomInfo ktvRoomInfo = (KTVRoomInfo) homeItem.getData(); - holder.setText(R.id.tv_title, ktvRoomInfo.getTitle()); - holder.setText(R.id.tv_sub_title, ktvRoomInfo.getSubTitle()); - holder.getView(R.id.tv_more).setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - if (actionListener != null) { - actionListener.onMoreKTVRoom(); - } - } - }); - - ViewPager viewPager = holder.getView(R.id.vp_rooms); - viewPager.setAdapter(new HomeItemVPAdapter(mContext, ktvRoomInfo.getRoomList())); - - - MagicIndicator magicIndicator = holder.getView(R.id.mi_indicator); - CommonNavigator commonNavigator = new CommonNavigator(mContext); - KTVMagicIndicatorAdapter ktvMagicIndicatorAdapter = new KTVMagicIndicatorAdapter(mContext, ktvRoomInfo.getRoomList().size()); - commonNavigator.setAdapter(ktvMagicIndicatorAdapter); - magicIndicator.setNavigator(commonNavigator); - - ViewPagerHelper.bind(magicIndicator, viewPager); - - } - - /** - * 设置音游头条数据 - */ - private void setErbanTopMessageData(BaseViewHolder holder, HomeItem homeItem) { - VMTopMessageInfo topMessageInfo = (VMTopMessageInfo) homeItem.getData(); - BetterMarqueeView betterMarqueeView = holder.getView(R.id.bmv_marquee_view); - ErbanTopMessageAdapter adapter = new ErbanTopMessageAdapter(mContext, topMessageInfo.getVmTopMessageList()); - betterMarqueeView.setAdapter(adapter); - betterMarqueeView.start(); - holder.itemView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - PublicChatHallHomeActivity.openHeadlinePage(mContext); - } - }); - } - - /** - * 设置顶部数据 - */ - private void setBannerData(BaseViewHolder holder, HomeItem homeItem) { - @SuppressWarnings("unchecked") - ArrayList bannerList = (ArrayList) homeItem.getData(); - - if (!ListUtils.isListEmpty(bannerList)) { - //审核中状态,去掉跳转房间banner - if (MarketVerifyModel.get().isMarketChecking()) { - Iterator iterator = bannerList.iterator(); - while (iterator.hasNext()) { - BannerInfo bannerInfo = iterator.next(); - if (bannerInfo.getSkipType() == 2) { - iterator.remove(); - } - } - } - - RollPagerView rollPagerView = holder.getView(R.id.roll_view); - ViewGroup.LayoutParams layoutParams = rollPagerView.getLayoutParams(); - int bannerWidth = UIUtil.getScreenWidth(mContext) - UIUtil.dip2px(mContext, 30); - layoutParams.width = bannerWidth; - layoutParams.height = bannerWidth * 120 / 345; - rollPagerView.setLayoutParams(layoutParams); - - rollPagerView.setHintView(new ColorPointHintView(mContext, Color.WHITE, mContext.getResources().getColor(R.color.color_66FFFFFF)) { - @Override - public Drawable makeFocusDrawable() { - GradientDrawable dotFocus = new GradientDrawable(); - dotFocus.setColor(Color.WHITE); - dotFocus.setCornerRadius(Util.dip2px(getContext(), 2)); - dotFocus.setSize(Util.dip2px(getContext(), 9), Util.dip2px(getContext(), 4)); - return dotFocus; - } - - @Override - public Drawable makeNormalDrawable() { - GradientDrawable dotNormal = new GradientDrawable(); - dotNormal.setColor(mContext.getResources().getColor(R.color.color_66FFFFFF)); - dotNormal.setCornerRadius(Util.dip2px(getContext(), 2)); - dotNormal.setSize(Util.dip2px(getContext(), 4), Util.dip2px(getContext(), 4)); - return dotNormal; - } - }); - - BannerAdapter bannerAdapter = new BannerAdapter(bannerList, mContext); - rollPagerView.setAdapter(bannerAdapter); - rollPagerView.setPlayDelay(3000); - //设置透明度 - rollPagerView.setAnimationDurtion(500); - rollPagerView.setVisibility(View.VISIBLE); - bannerAdapter.notifyDataSetChanged(); - } - //审核中状态隐藏 - LinearLayout llPanelContainer = (LinearLayout) holder.getView(R.id.ll_panel_container); - if (MarketVerifyModel.get().isMarketChecking()) { - llPanelContainer.setVisibility(View.GONE); - return; - } else { - llPanelContainer.setVisibility(View.VISIBLE); - } - llPanelContainer.setVisibility(View.GONE); - } - - /** - * 设置音游推荐item - */ - private void setErbanRecommend(BaseViewHolder holder, HomeItem homeItem) { - RecommendInfo recommendInfo = (RecommendInfo) homeItem.getData(); - holder.setText(R.id.tv_title, recommendInfo.getTitle()); - - List roomList = recommendInfo.getRoomList(); - RecyclerView recyclerView = holder.getView(R.id.rv_list); - recyclerView.setItemAnimator(null); - recyclerView.setFocusable(false); - GridLayoutManager manager = new GridLayoutManager(mContext, 3); - recyclerView.setLayoutManager(manager); - if (recyclerView.getItemDecorationCount() == 0) { - int px = UIUtil.dip2px(mContext, 15); - recyclerView.addItemDecoration(new RecommendThreeNModelDecoration(px)); - } - ErbanRecommendAdapter erbanRecommendAdapter = new ErbanRecommendAdapter(mContext, roomList); - recyclerView.setAdapter(erbanRecommendAdapter); - erbanRecommendAdapter.setSpanSizeLookup(new SpanSizeLookup() { - @Override - public int getSpanSize(GridLayoutManager gridLayoutManager, int position) { - if (position < 3) { - return 1; - } - return manager.getSpanCount(); - } - }); - } - - /** - * 设置运营可配置模块 - * - * @param holder holder - * @param homeItem homeItem - */ - private void setConfigRecommend(BaseViewHolder holder, HomeItem homeItem) { - RecommendInfo recommendInfo = (RecommendInfo) homeItem.getData(); - HomeConfigModule module = holder.getView(R.id.home_config_module); - module.setData(recommendInfo); - } - - /** - * 设置游戏首页两列的数据 - * - * @param holder holder - * @param homeItem homeItem - */ - private void setTwoLinesData(BaseViewHolder holder, HomeItem homeItem) { - RecommendInfo recommendInfo = (RecommendInfo) homeItem.getData(); - TextView textView = holder.getView(R.id.tv_title); - if (!ListUtils.isListEmpty(recommendInfo.getRoomList())) { - textView.setVisibility(View.VISIBLE); - textView.setText(recommendInfo.getTitle()); - } else { - textView.setVisibility(View.GONE); - } - RecyclerView recyclerView = holder.getView(R.id.recycler_view); - GridLayoutManager manager = new GridLayoutManager(mContext, 2) { - @Override - public boolean canScrollVertically() { - return false; - } - }; - recyclerView.setLayoutManager(manager); - BaseAdapter adapter = new BaseAdapter(R.layout.item_home_two_n, BR.homeInfo) { - @Override - protected void convert(BindingViewHolder helper, HomeRoom item) { - - super.convert(helper, item); - - ItemHomeTwoNBinding binding = (ItemHomeTwoNBinding) helper.getBinding(); - if (binding == null) { - return; - } - binding.livLivingIcon.setColor(Color.WHITE); - binding.livLivingIcon.start(); - MessageView.SpannableBuilder text = new MessageView.SpannableBuilder(binding.tvTitle) - .appendImg(item.tagPict) - .append(item.title); - binding.tvTitle.setText(text.build()); - } - }; - adapter.setOnItemClickListener((adapt, view, position) -> AVRoomActivity.start(mContext, adapter.getItem(position).getUid())); - recyclerView.setAdapter(adapter); - adapter.setNewData(recommendInfo.getRoomList()); - } - - /** - * 设置3+n布局中的格子数据 - */ - private void setSquarePicData(BaseViewHolder helper, HomeItem homeItem) { - HomeRoom homeRoom = (HomeRoom) homeItem.getData(); - helper.itemView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - AVRoomActivity.start(mContext, homeRoom.getUid()); - } - }); - - LivingIconView livingIconView = helper.getView(R.id.liv_living_icon); - livingIconView.setColor(Color.WHITE); - livingIconView.start(); - - helper.setText(R.id.tv_online_number, mContext.getString(R.string.online_number_text, homeRoom.getOnlineNum())) - .setText(R.id.tv_title, homeRoom.getTitle()); - - helper.getView(R.id.lock_bg).setVisibility(!TextUtils.isEmpty(homeRoom.getRoomPwd()) ? View.VISIBLE : View.GONE); - - ImageView mIvTabLabel = helper.getView(R.id.iv_tab_label); - - boolean showTab = false; - Drawable icon = null; - if (homeItem.isShowRankHalfIcon()) { - showTab = true; - icon = mContext.getResources().getDrawable(R.drawable.icon_rank_half); - } else if (homeRoom.getIsRecom() > 0) { - showTab = true; - icon = mContext.getResources().getDrawable(R.drawable.ic_king_recommend); - } else if (!TextUtils.isEmpty(homeRoom.badge)) { - showTab = true; - } else - mIvTabLabel.setVisibility(View.INVISIBLE); - - if (showTab) { - mIvTabLabel.setVisibility(View.VISIBLE); - GlideRequest request; - if (icon != null) - request = GlideApp.with(mContext).load(icon); - else - request = GlideApp.with(mContext).load(homeRoom.badge); - - request.listener(new RequestListener() { - @Override - public boolean onLoadFailed(@Nullable GlideException e, Object o, Target target, boolean b) { - return false; - } - - @Override - public boolean onResourceReady(Drawable drawable, Object o, Target target, DataSource dataSource, boolean b) { - float ratio = (drawable.getIntrinsicHeight() + 0.F) / drawable.getIntrinsicWidth(); - int width = Math.round(mBadgeHeight / ratio); - int height = mBadgeHeight; - ViewGroup.LayoutParams params = mIvTabLabel.getLayoutParams(); - params.width = width; - params.height = height; - mIvTabLabel.setLayoutParams(params); - mIvTabLabel.setImageDrawable(drawable); - return true; - } - }) - .into(mIvTabLabel); - - } - - - ImageView ivCover = helper.getView(R.id.iv_cover); - if (!TextUtils.isEmpty(homeRoom.getAvatar())) { - ImageLoadUtils.loadAvatarBig(homeRoom.getAvatar(), ivCover, R.drawable.default_cover); - } else { - GlideApp.with(mContext) - .load(R.drawable.default_cover) - .placeholder(R.drawable.default_cover) - .into(ivCover); - } - } - - /** - * 设置3+N布局中,虚位以待的数据 - */ - private void setSquareEmpty(BaseViewHolder holder, HomeItem homeItem) { - - } - - /** - * 设置3+N布局中,小图列表的数据 - */ - private void setLinearLittlePicData(BaseViewHolder helper, HomeItem homeItem) { - HomeRoom homeRoom = (HomeRoom) homeItem.getData(); - RoomItemView roomItemView = helper.getView(R.id.riv_room_view); - roomItemView.bindData(homeRoom); - } - - /** - * 设置每个模块的标题 - */ - private void setBlockTitle(BaseViewHolder holder, HomeItem homeItem) { - holder.setText(R.id.tv_title, (String) homeItem.getData()); - } - - private String getRoomTitle(HomeRoom roomInfo, String defaultValue) { - if (roomInfo == null || StringUtils.isEmpty(roomInfo.getTitle())) { - return defaultValue; - } - return roomInfo.getTitle(); - } - - private String getRoomTag(HomeRoom roomInfo, String defaultValue) { - if (roomInfo == null || StringUtils.isEmpty(roomInfo.getSkillTag())) { - return getRoomTagPic(roomInfo, defaultValue); - } - return roomInfo.getSkillTag(); - } - - private String getRoomTagPic(HomeRoom roomInfo, String defaultValue) { - if (roomInfo == null || StringUtils.isEmpty(roomInfo.getTagPict())) { - return defaultValue; - } - return roomInfo.getTagPict(); - } - - private String getRoomBadge(HomeRoom roomInfo, String defaultValue) { - if (roomInfo == null || StringUtils.isEmpty(roomInfo.getIcon())) { - return defaultValue; - } - return roomInfo.getIcon(); - } - - private String getRoomAvatar(HomeRoom roomInfo, String defaultValue) { - if (roomInfo == null || StringUtils.isEmpty(roomInfo.getAvatar())) { - return defaultValue; - } - return roomInfo.getAvatar(); - } - - private String getRoomDescription(HomeRoom roomInfo, String defaultValue) { - if (roomInfo == null || StringUtils.isEmpty(roomInfo.getDescription())) { - return defaultValue; - } - return roomInfo.getDescription(); - } - - private Integer getRoomOnlineNum(HomeRoom roomInfo, Integer defaultValue) { - if (roomInfo == null || roomInfo.getOnlineNum() == 0) { - return defaultValue; - } - return roomInfo.getOnlineNum(); - } - - public interface OnActionListener { - void onRefreshMakeFriendList(); - - void onMoreKTVRoom(); - - void onGoTalkHall(); - } - - private OnActionListener actionListener; - - public void setActionListener(OnActionListener actionListener) { - this.actionListener = actionListener; - } -} diff --git a/app/src/main/java/com/yizhuan/erban/home/adapter/HomeHallAdapter.java b/app/src/main/java/com/yizhuan/erban/home/adapter/HomeHallAdapter.java deleted file mode 100644 index e5b5397f1..000000000 --- a/app/src/main/java/com/yizhuan/erban/home/adapter/HomeHallAdapter.java +++ /dev/null @@ -1,167 +0,0 @@ -package com.yizhuan.erban.home.adapter; - -import android.content.Context; -import android.graphics.Color; -import android.graphics.drawable.ColorDrawable; -import androidx.annotation.Nullable; -import androidx.appcompat.widget.AppCompatImageView; -import android.text.SpannableStringBuilder; -import android.text.Spanned; -import android.text.TextUtils; -import android.text.style.ForegroundColorSpan; -import android.text.style.ImageSpan; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.ImageView; -import android.widget.TextView; - -import com.chad.library.adapter.base.BaseMultiItemQuickAdapter; -import com.chad.library.adapter.base.BaseViewHolder; -import com.netease.nim.uikit.business.session.emoji.MoonUtil; -import com.netease.nim.uikit.support.glide.GlideApp; -import com.yizhuan.erban.R; -import com.yizhuan.erban.common.widget.CircleImageView; -import com.yizhuan.erban.common.widget.CustomImageSpan; -import com.yizhuan.erban.ui.utils.ImageLoadUtils; -import com.yizhuan.erban.ui.widget.marqueeview.Utils; -import com.yizhuan.xchat_android_core.home.bean.HomeHallMsgInfo; -import com.yizhuan.xchat_android_core.noble.NobleUtil; -import com.yizhuan.xchat_android_library.utils.JavaUtil; - -import java.util.List; - -/** - * @author jack - * @Description - * @Date 2018/11/21 - */ -public class HomeHallAdapter extends BaseMultiItemQuickAdapter { - - private Context context; - - public HomeHallAdapter(Context context, @Nullable List data) { - super(data); - this.context = context; - - addItemType(HomeHallMsgInfo.ITEM_TYPE_LEFT, R.layout.item_home_hall_left); - addItemType(HomeHallMsgInfo.ITEM_TYPE_RIGHT, R.layout.item_home_hall_right); - addItemType(HomeHallMsgInfo.ITEM_TYPE_TIP, R.layout.item_home_hall_tip); - } - - @Override - protected View getItemView(int layoutResId, ViewGroup parent) { - return LayoutInflater.from(context).inflate(layoutResId, null); - } - - @Override - protected void convert(BaseViewHolder helper, HomeHallMsgInfo item) { - helper.itemView.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT)); - if (HomeHallMsgInfo.ITEM_TYPE_TIP == item.getItemType()) { - helper.setText(R.id.tv_tip_text, item.getFormatTime()); - return; - } - - - helper.setText(R.id.tv_user_name, item.getNick()); - - TextView textView = helper.getView(R.id.tv_content); - if (TextUtils.isEmpty(item.getContent())) { - textView.setText(textView.getResources().getText(R.string.not_support_message_tip)); - } else { - if (item.getMessageType() == HomeHallMsgInfo.MESSAGE_TYPE_TEXT) { - MoonUtil.identifyFaceExpression(context, textView, item.getContent().toString(), ImageSpan.ALIGN_BOTTOM); - } else if (item.getMessageType() == HomeHallMsgInfo.MESSAGE_TYPE_GIFT) { - SpannableStringBuilder ssb = new SpannableStringBuilder("赠送 "); - String targetNick = item.getTargetNick(); - if (targetNick == null) { - targetNick = ""; - } - ssb.append(targetNick).append("\n"); - int start = ssb.length(); - if (!TextUtils.isEmpty(item.getGiftImage())) { - ssb.append("-"); - CustomImageSpan imageSpan = new CustomImageSpan(new ColorDrawable(Color.TRANSPARENT), - textView, item.getGiftImage(), Utils.dip2px(mContext, 35), Utils.dip2px(mContext, 35)); - ssb.setSpan(imageSpan, start, ssb.length(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE); - } else { - ssb.append("礼物"); - } - start = ssb.length(); - ssb.append("x").append(String.valueOf(item.getGiftCount())); - ForegroundColorSpan foregroundColorSpan = new ForegroundColorSpan(mContext.getResources().getColor(R.color.color_FF3D56)); - ssb.setSpan(foregroundColorSpan, start, ssb.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); - - textView.setText(ssb); - } - } - - CircleImageView civAvatar = (CircleImageView) helper.getView(R.id.civ_avatar); - if (!TextUtils.isEmpty(item.getSenderAvatar())) { - GlideApp.with(context) - .load(item.getSenderAvatar()) - .placeholder(R.drawable.default_avatar) - .dontAnimate() - .into(civAvatar); - } else { - civAvatar.setImageResource(R.drawable.default_avatar); - } - - // 官字 - helper.getView(R.id.message_item_name_icon_official).setVisibility(item.isOfficial() ? View.VISIBLE : View.GONE); - // 新字 - helper.getView(R.id.message_item_name_icon_new).setVisibility(item.isNewUser() ? View.VISIBLE : View.GONE); - // 靓字 - helper.getView(R.id.message_item_name_icon_pretty).setVisibility(item.isPrettyErbanNo() ? View.VISIBLE : View.GONE); - - AppCompatImageView ivNobleLevel = (AppCompatImageView) helper.getView(R.id.iv_noble_level); - if (!TextUtils.isEmpty(item.getNobleLevel())) { - String badgeUrl = NobleUtil.getBadgeByLevel(JavaUtil.str2int(item.getNobleLevel())); - if (!TextUtils.isEmpty(badgeUrl)) { - ivNobleLevel.setVisibility(View.VISIBLE); - NobleUtil.loadResource(badgeUrl, ivNobleLevel); - } else { - ivNobleLevel.setVisibility(View.GONE); - } - } else { - ivNobleLevel.setVisibility(View.GONE); - } - - - - AppCompatImageView ivUserLevel = (AppCompatImageView) helper.getView(R.id.iv_user_level); - ivUserLevel.setVisibility(View.GONE); - if (!TextUtils.isEmpty(item.getUserLevelUrl())) { - ivUserLevel.setVisibility(View.VISIBLE); - ImageLoadUtils.loadImage(mContext, item.getUserLevelUrl(), ivUserLevel); - } - - AppCompatImageView ivCharmLevel = (AppCompatImageView) helper.getView(R.id.iv_charm_level); - ivCharmLevel.setVisibility(View.GONE); - if (!TextUtils.isEmpty(item.getUserCharmLevelUrl())) { - ivCharmLevel.setVisibility(View.VISIBLE); - ImageLoadUtils.loadImage(mContext, item.getUserCharmLevelUrl(), ivCharmLevel); - } - - // 官方认证标识 - View inOfficialMask = helper.getView(R.id.in_official_mask); - if (!TextUtils.isEmpty(item.getFixedWord()) && !TextUtils.isEmpty(item.getIconPic())) { - inOfficialMask.setVisibility(View.VISIBLE); - - TextView tvOfficialMask = inOfficialMask.findViewById(R.id.tv_official_mask); - if (tvOfficialMask != null) { - tvOfficialMask.setText(item.getFixedWord()); - } - - ImageView ivOfficialMask = inOfficialMask.findViewById(R.id.iv_official_mask); - if (ivOfficialMask != null) { - NobleUtil.loadResource(item.getIconPic(), ivOfficialMask); - } - - } else { - inOfficialMask.setVisibility(View.GONE); - } - - - } -} diff --git a/app/src/main/java/com/yizhuan/erban/home/adapter/HomeItemVPAdapter.java b/app/src/main/java/com/yizhuan/erban/home/adapter/HomeItemVPAdapter.java deleted file mode 100644 index a5394c6e1..000000000 --- a/app/src/main/java/com/yizhuan/erban/home/adapter/HomeItemVPAdapter.java +++ /dev/null @@ -1,69 +0,0 @@ -package com.yizhuan.erban.home.adapter; - -import android.content.Context; -import android.graphics.Color; -import androidx.annotation.NonNull; -import androidx.viewpager.widget.PagerAdapter; -import androidx.recyclerview.widget.LinearLayoutManager; -import androidx.recyclerview.widget.RecyclerView; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; - -import com.yizhuan.erban.R; -import com.yizhuan.erban.ui.widget.marqueeview.Utils; -import com.yizhuan.erban.ui.widget.recyclerview.decoration.ColorDecoration; -import com.yizhuan.xchat_android_core.home.bean.KTVRoom; - -import java.util.List; - - -/** - * @author jack - * @Description - * @Date 2018/10/30 - */ -public class HomeItemVPAdapter extends PagerAdapter { - private Context context; - private List> data; - - - public HomeItemVPAdapter(Context context, List> data) { - this.context = context; - this.data = data; - } - - @Override - public int getCount() { - return data.size(); - } - - @Override - public boolean isViewFromObject(@NonNull View view, @NonNull Object object) { - return view == object; - } - - @NonNull - @Override - public Object instantiateItem(@NonNull ViewGroup container, int position) { - List homeRoomList = data.get(position); - View rootView = LayoutInflater.from(context).inflate(R.layout.item_home_ktv_vp, container, false); - RecyclerView recyclerView = rootView.findViewById(R.id.rv_list); - recyclerView.setItemAnimator(null); - recyclerView.setFocusable(false); - recyclerView.setLayoutManager(new LinearLayoutManager(context, LinearLayoutManager.HORIZONTAL, false)); - if (recyclerView.getItemDecorationCount() == 0) { - recyclerView.addItemDecoration(new ColorDecoration(Color.TRANSPARENT, Utils.dip2px(context, 10), 0, false)); - } - KTVRoomAdapter ktvRoomAdapter = new KTVRoomAdapter(context, homeRoomList); - recyclerView.setAdapter(ktvRoomAdapter); - - container.addView(rootView); - return rootView; - } - - @Override - public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) { - container.removeView((View) object); - } -} diff --git a/app/src/main/java/com/yizhuan/erban/home/adapter/HomeRoomAdapter.java b/app/src/main/java/com/yizhuan/erban/home/adapter/HomeRoomAdapter.java deleted file mode 100644 index 6c607e5c4..000000000 --- a/app/src/main/java/com/yizhuan/erban/home/adapter/HomeRoomAdapter.java +++ /dev/null @@ -1,111 +0,0 @@ -package com.yizhuan.erban.home.adapter; - -import android.content.Context; -import android.graphics.Color; -import android.graphics.drawable.Drawable; -import android.graphics.drawable.GradientDrawable; -import android.view.View; - -import com.chad.library.adapter.base.BaseMultiItemQuickAdapter; -import com.chad.library.adapter.base.BaseViewHolder; -import com.yizhuan.erban.ui.widget.rollviewpager.RollPagerView; -import com.yizhuan.erban.ui.widget.rollviewpager.Util; -import com.yizhuan.erban.ui.widget.rollviewpager.hintview.ColorPointHintView; -import com.yizhuan.erban.R; -import com.yizhuan.erban.ui.widget.RoomItemView; -import com.yizhuan.xchat_android_core.home.bean.BannerInfo; -import com.yizhuan.xchat_android_core.home.bean.HomeRoomItem; -import com.yizhuan.xchat_android_core.home.bean.HomeRoom; -import com.yizhuan.xchat_android_core.home.bean.OtherBannerInfo; -import com.yizhuan.xchat_android_library.utils.ListUtils; - -import java.util.List; - -/** - * @author jack - * @Description - * @Date 2018/11/2 - */ -public class HomeRoomAdapter extends BaseMultiItemQuickAdapter { - - private Context context; - - public HomeRoomAdapter(Context context, List data) { - super(data); - this.context = context; - addItemType(HomeRoomItem.TYPE_HOME_ROOM, R.layout.list_item_home_room_room); - addItemType(HomeRoomItem.TYPE_BANNER, R.layout.list_item_home_room_banner); - - } - - @Override - protected void convert(BaseViewHolder helper, HomeRoomItem item) { - if (item == null) { - return; - } - switch (item.getItemType()) { - case HomeRoomItem.TYPE_HOME_ROOM: - setRoom(helper, item); - break; - case HomeRoomItem.TYPE_BANNER: - setOtherBanner(helper, item); - break; - } - } - - /** - * 设置房间 - * - * @param holder - * @param item - */ - private void setRoom(BaseViewHolder holder, HomeRoomItem item) { - HomeRoom homeRoom = (HomeRoom) item.getData(); - RoomItemView roomItemView = holder.getView(R.id.riv_room_view); - roomItemView.bindData(homeRoom); - } - - /** - * 设置中间的scrollView page - * - * @param holder - * @param homeItem - */ - private void setOtherBanner(BaseViewHolder holder, HomeRoomItem homeItem) { - List bannerInfos = (List) homeItem.getData(); - if (!ListUtils.isListEmpty(bannerInfos)) { - RollPagerView rollPagerView = holder.getView(R.id.rpv_other_banner); - - rollPagerView.setHintView(new ColorPointHintView(mContext, Color.WHITE, mContext.getResources().getColor(R.color.color_66FFFFFF)) { - @Override - public Drawable makeFocusDrawable() { - GradientDrawable dotFocus = new GradientDrawable(); - dotFocus.setColor(Color.WHITE); - dotFocus.setCornerRadius(Util.dip2px(getContext(), 2)); - dotFocus.setSize(Util.dip2px(getContext(), 9), Util.dip2px(getContext(), 4)); - return dotFocus; - } - - @Override - public Drawable makeNormalDrawable() { - GradientDrawable dotNormal = new GradientDrawable(); - dotNormal.setColor(mContext.getResources().getColor(R.color.color_66FFFFFF)); - dotNormal.setCornerRadius(Util.dip2px(getContext(), 2)); - dotNormal.setSize(Util.dip2px(getContext(), 4), Util.dip2px(getContext(), 4)); - return dotNormal; - } - }); - - OtherBannerAdapter bannerAdapter = new OtherBannerAdapter(mContext, bannerInfos); - rollPagerView.setAdapter(bannerAdapter); - rollPagerView.setPlayDelay(3000); - //设置透明度 - rollPagerView.setAnimationDurtion(500); - rollPagerView.setVisibility(View.VISIBLE); - bannerAdapter.notifyDataSetChanged(); - } - - } - - -} diff --git a/app/src/main/java/com/yizhuan/erban/home/adapter/KTVMagicIndicatorAdapter.java b/app/src/main/java/com/yizhuan/erban/home/adapter/KTVMagicIndicatorAdapter.java deleted file mode 100644 index 18f90783c..000000000 --- a/app/src/main/java/com/yizhuan/erban/home/adapter/KTVMagicIndicatorAdapter.java +++ /dev/null @@ -1,81 +0,0 @@ -package com.yizhuan.erban.home.adapter; - -import android.content.Context; -import androidx.core.content.ContextCompat; - -import android.view.View; -import android.widget.RelativeLayout; - -import com.yizhuan.erban.R; -import com.yizhuan.erban.ui.widget.magicindicator.buildins.commonnavigator.abs.CommonNavigatorAdapter; -import com.yizhuan.erban.ui.widget.magicindicator.buildins.commonnavigator.abs.IPagerIndicator; -import com.yizhuan.erban.ui.widget.magicindicator.buildins.commonnavigator.abs.IPagerTitleView; - -/** - *

公共多个滑动tab样式

- * - * @author Administrator - * @date 2017/11/15 - */ -public class KTVMagicIndicatorAdapter extends CommonNavigatorAdapter { - - private Context mContext; - private int size; - - public KTVMagicIndicatorAdapter(Context context, int size) { - mContext = context; - this.size = size; - } - - @Override - public int getCount() { - return size; - } - - @Override - public IPagerTitleView getTitleView(Context context, final int i) { - ColorPagerTitleView colorPagerTitleView = new ColorPagerTitleView(context); - - return colorPagerTitleView; - } - - - @Override - public IPagerIndicator getIndicator(Context context) { - return null; - } - - - class ColorPagerTitleView extends RelativeLayout implements IPagerTitleView { - View view; - - public ColorPagerTitleView(Context context) { - super(context); - view = new View(context); - LayoutParams lp = new LayoutParams(16, 4); - lp.setMargins(5, 0, 5, 0); - addView(view, lp); - } - - @Override - public void onSelected(int index, int totalCount) { - view.setBackgroundColor(getResources().getColor(R.color.appColor)); - } - - @Override - public void onDeselected(int index, int totalCount) { - view.setBackgroundColor(getResources().getColor(R.color.color_CCCCCC)); - } - - @Override - public void onLeave(int index, int totalCount, float leavePercent, boolean leftToRight) { - - } - - @Override - public void onEnter(int index, int totalCount, float enterPercent, boolean leftToRight) { - - } - } - -} diff --git a/app/src/main/java/com/yizhuan/erban/home/adapter/KTVRoomAdapter.java b/app/src/main/java/com/yizhuan/erban/home/adapter/KTVRoomAdapter.java deleted file mode 100644 index b39169e8d..000000000 --- a/app/src/main/java/com/yizhuan/erban/home/adapter/KTVRoomAdapter.java +++ /dev/null @@ -1,106 +0,0 @@ -package com.yizhuan.erban.home.adapter; - -import android.content.Context; -import android.graphics.Color; -import androidx.annotation.Nullable; -import android.text.TextUtils; -import android.view.View; -import android.view.ViewGroup; -import android.widget.ImageView; - -import com.bumptech.glide.load.engine.DiskCacheStrategy; -import com.bumptech.glide.load.resource.bitmap.CenterCrop; -import com.bumptech.glide.load.resource.bitmap.RoundedCorners; -import com.chad.library.adapter.base.BaseMultiItemQuickAdapter; -import com.chad.library.adapter.base.BaseViewHolder; -import com.netease.nim.uikit.support.glide.GlideApp; -import com.yizhuan.erban.R; -import com.yizhuan.erban.avroom.activity.AVRoomActivity; -import com.yizhuan.erban.ui.utils.ImageLoadUtils; -import com.yizhuan.erban.ui.widget.LivingIconView; -import com.yizhuan.erban.ui.widget.marqueeview.Utils; -import com.yizhuan.xchat_android_core.home.bean.KTVRoom; - -import java.util.List; - -/** - * @author jack - * @Description - * @Date 2018/4/16 - */ - -public class KTVRoomAdapter extends BaseMultiItemQuickAdapter { - - private Context mContext; - private int mRound, mTagHeight, mBadgeHeight; - - public KTVRoomAdapter(Context context, @Nullable List data) { - super(data); - this.mContext = context; - mRound = Utils.dip2px(mContext, 9); - mTagHeight = (int) context.getResources().getDimension(R.dimen.tag_height); - mBadgeHeight = (int) context.getResources().getDimension(R.dimen.tag_height); - - addItemType(KTVRoom.TYPE_GIRD, R.layout.item_home_ktv_room); - addItemType(KTVRoom.TYPE_GIRD_EMPTY, R.layout.item_home_empty_ktv_room); - - } - - @Override - protected void convert(BaseViewHolder helper, KTVRoom homeRoom) { - - View view = helper.getView(R.id.ll_container); - ViewGroup.LayoutParams lp = view.getLayoutParams(); - lp.width = (Utils.getWindowWidth(mContext) - Utils.dip2px(mContext, 50)) / 3; - view.setLayoutParams(lp); - - - if (homeRoom.getItemType() == KTVRoom.TYPE_GIRD_EMPTY) { - // FIXME: 2018/11/15 使用 ContentWrapViewPager 下面两句代码不能去掉,否则显示异常。 - ImageView ivCover = helper.getView(R.id.iv_cover); - GlideApp.with(mContext) - .load(R.mipmap.bg_item_empty_ktv_room) - .skipMemoryCache(true) - .diskCacheStrategy(DiskCacheStrategy.NONE) - .into(ivCover); - } else { - - helper.itemView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { -// AVRoomActivity.start(mContext, Long.parseLong(homeRoom.getRoomUid())); - AVRoomActivity.start(mContext, homeRoom.getRoomUid()); - } - }); - - helper.getView(R.id.lock_bg).setVisibility(!TextUtils.isEmpty(homeRoom.getRoomPwd()) ? View.VISIBLE : View.GONE); - - LivingIconView livingIconView = helper.getView(R.id.liv_living_icon); - livingIconView.setColor(Color.WHITE); - livingIconView.start(); - - helper.setText(R.id.tv_online_number, mContext.getString(R.string.online_number_text, homeRoom.getOnlineNum())) - .setText(R.id.tv_title, homeRoom.getTitle()); - - if (!TextUtils.isEmpty(homeRoom.getSingingMusicName())) { - helper.setText(R.id.tv_singing_song, String.format(mContext.getResources().getString(R.string.home_ktv_singing_song), homeRoom.getSingingMusicName())); - } else { - helper.setText(R.id.tv_singing_song, mContext.getResources().getString(R.string.home_ktv_no_singing_song)); - } - - ImageView ivCover = helper.getView(R.id.iv_cover); - if (!TextUtils.isEmpty(homeRoom.getAvatar())) { - ImageLoadUtils.loadRectImage(mContext, homeRoom.getAvatar(), ivCover, R.drawable.default_cover, mRound); - } else { - GlideApp.with(mContext) - .load(R.drawable.default_cover) - .placeholder(R.drawable.default_cover) - .transforms(new CenterCrop(), new RoundedCorners(mRound)) - .into(ivCover); - } - } - - } - - -} diff --git a/app/src/main/java/com/yizhuan/erban/home/adapter/KTVTypeRoomAdapter.java b/app/src/main/java/com/yizhuan/erban/home/adapter/KTVTypeRoomAdapter.java deleted file mode 100644 index da3260407..000000000 --- a/app/src/main/java/com/yizhuan/erban/home/adapter/KTVTypeRoomAdapter.java +++ /dev/null @@ -1,75 +0,0 @@ -package com.yizhuan.erban.home.adapter; - -import android.content.Context; -import androidx.annotation.Nullable; -import android.text.TextUtils; -import android.view.View; -import android.widget.ImageView; - -import com.chad.library.adapter.base.BaseQuickAdapter; -import com.chad.library.adapter.base.BaseViewHolder; -import com.netease.nim.uikit.support.glide.GlideApp; -import com.yizhuan.erban.R; -import com.yizhuan.erban.avroom.activity.AVRoomActivity; -import com.yizhuan.xchat_android_core.home.bean.KTVRoom; - -import java.util.List; - -/** - * @author jack - * @Description - * @Date 2018/10/31 - */ -public class KTVTypeRoomAdapter extends BaseQuickAdapter { - private Context context; - private int[] bgIds = new int[]{R.drawable.ktv_room_bg_1, - R.drawable.ktv_room_bg_2, - R.drawable.ktv_room_bg_3, - R.drawable.ktv_room_bg_4}; - - public KTVTypeRoomAdapter(Context context, @Nullable List data) { - super(R.layout.item_ktv_type_room, data); - this.context = context; - } - - @Override - protected void convert(BaseViewHolder helper, KTVRoom item) { - - int index = helper.getAdapterPosition() % bgIds.length; - helper.setBackgroundRes(R.id.ll_container, bgIds[index]); - - helper.setText(R.id.tv_title, item.getTitle()) - .setText(R.id.tv_member_count, mContext.getString(R.string.online_number_text, item.getOnlineNum())); - - if (!TextUtils.isEmpty(item.getSingingMusicName())) { - helper.setText(R.id.tv_sing_song, String.format(mContext.getResources().getString(R.string.home_ktv_singing_song), item.getSingingMusicName())); - } else { - helper.setText(R.id.tv_sing_song, mContext.getResources().getString(R.string.home_ktv_no_singing_song)); - } - - helper.getView(R.id.iv_lock).setVisibility(!TextUtils.isEmpty(item.getRoomPwd()) ? View.VISIBLE : View.GONE); - - ImageView ivCover = helper.getView(R.id.civ_avatar); - if (!TextUtils.isEmpty(item.getAvatar())) { - GlideApp.with(mContext) - .load(item.getAvatar()) - .placeholder(R.drawable.default_cover) - .error(R.drawable.default_cover) - .into(ivCover); - } else { - GlideApp.with(mContext) - .load(R.drawable.default_cover) - .placeholder(R.drawable.default_cover) - .error(R.drawable.default_cover) - .into(ivCover); - } - - helper.itemView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - AVRoomActivity.start(context, item.getRoomUid()); - } - }); - } - -} diff --git a/app/src/main/java/com/yizhuan/erban/home/adapter/MakeFriendAdapter.java b/app/src/main/java/com/yizhuan/erban/home/adapter/MakeFriendAdapter.java deleted file mode 100644 index 2c271076d..000000000 --- a/app/src/main/java/com/yizhuan/erban/home/adapter/MakeFriendAdapter.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.yizhuan.erban.home.adapter; - -import android.content.Context; -import androidx.annotation.Nullable; -import android.view.View; - -import com.chad.library.adapter.base.BaseQuickAdapter; -import com.chad.library.adapter.base.BaseViewHolder; -import com.yizhuan.erban.R; -import com.yizhuan.erban.avroom.activity.AVRoomActivity; -import com.yizhuan.erban.ui.utils.ImageLoadUtils; -import com.yizhuan.xchat_android_core.home.bean.HomeRoom; - -import java.util.List; - -/** - * @author jack - * @Description - * @Date 2018/10/30 - */ -public class MakeFriendAdapter extends BaseQuickAdapter { - private Context context; - - public MakeFriendAdapter(Context context, @Nullable List data) { - super(R.layout.item_home_make_friends_room, data); - this.context = context; - } - - @Override - protected void convert(BaseViewHolder helper, HomeRoom item) { - helper.setText(R.id.tv_title, item.getTitle()) - .setText(R.id.tv_online_number, - String.format(context.getResources().getString(R.string.online_number_text), item.getOnlineNum())); - - ImageLoadUtils.loadAvatar(context, item.getAvatar(), helper.getView(R.id.civ_avatar)); - helper.itemView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - AVRoomActivity.start(mContext, item.getUid()); - } - }); - - } -} diff --git a/app/src/main/java/com/yizhuan/erban/home/adapter/OtherBannerAdapter.java b/app/src/main/java/com/yizhuan/erban/home/adapter/OtherBannerAdapter.java deleted file mode 100644 index f05d1064d..000000000 --- a/app/src/main/java/com/yizhuan/erban/home/adapter/OtherBannerAdapter.java +++ /dev/null @@ -1,81 +0,0 @@ -package com.yizhuan.erban.home.adapter; - -import android.content.Context; -import android.content.Intent; -import android.text.TextUtils; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.ImageView; - -import com.bumptech.glide.load.engine.DiskCacheStrategy; -import com.bumptech.glide.load.resource.bitmap.CenterCrop; -import com.bumptech.glide.load.resource.bitmap.RoundedCorners; -import com.chad.library.adapter.base.BaseQuickAdapter; -import com.chad.library.adapter.base.BaseViewHolder; -import com.yizhuan.erban.ui.widget.rollviewpager.adapter.StaticPagerAdapter; -import com.netease.nim.uikit.support.glide.GlideApp; -import com.yizhuan.erban.R; -import com.yizhuan.erban.avroom.activity.AVRoomActivity; -import com.yizhuan.erban.ui.utils.ImageLoadUtils; -import com.yizhuan.erban.ui.webview.CommonWebViewActivity; -import com.yizhuan.erban.ui.widget.RoomItemView; -import com.yizhuan.erban.ui.widget.marqueeview.Utils; -import com.yizhuan.xchat_android_core.home.bean.BannerInfo; -import com.yizhuan.xchat_android_core.home.bean.HomeRoom; - -import java.util.List; - -/** - * @author jack - * @Description - * @Date 2018/4/16 - */ - -public class OtherBannerAdapter extends StaticPagerAdapter { - - private Context mContext; - private List data; - - public OtherBannerAdapter(Context context, List data) { - this.data = data; - this.mContext = context; - } - - - @Override - public View getView(ViewGroup container, int position) { - View view = LayoutInflater.from(mContext).inflate(R.layout.list_item_other_banner_cover,container,false); - ImageView ivCover = view.findViewById(R.id.iv_cover); - BannerInfo bannerInfo = data.get(position); - String url = bannerInfo.getSkipUri(); - ImageLoadUtils.loadGameBannerRoundBackground(mContext, bannerInfo.getBannerPic(), ivCover); - - ivCover.setOnClickListener(v -> { - if (TextUtils.isEmpty(url)) return; - if (bannerInfo.getSkipType() == BannerInfo.SKIP_TYP_H5) { - Intent intent = new Intent(mContext, CommonWebViewActivity.class); - intent.putExtra("url", url); - mContext.startActivity(intent); - } else if (bannerInfo.getSkipType() == BannerInfo.SKIP_TYP_CHAT_ROOM) { - if (TextUtils.isEmpty(url)) return; - try { - AVRoomActivity.start(mContext, Long.valueOf(url)); - } catch (NumberFormatException e) { - e.printStackTrace(); - } - } - }); - - return view; - } - - @Override - public int getCount() { - if (data != null) { - return data.size(); - }else{ - return 0; - } - } -} diff --git a/app/src/main/java/com/yizhuan/erban/home/adapter/RecommendThreeNModelDecoration.java b/app/src/main/java/com/yizhuan/erban/home/adapter/RecommendThreeNModelDecoration.java deleted file mode 100644 index b49beebfa..000000000 --- a/app/src/main/java/com/yizhuan/erban/home/adapter/RecommendThreeNModelDecoration.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.yizhuan.erban.home.adapter; - -import android.graphics.Rect; -import androidx.recyclerview.widget.GridLayoutManager; -import androidx.recyclerview.widget.RecyclerView; -import android.view.View; - -/** - * 推荐 3+n 界面专用的分割线 - * Created by lvzebiao on 2019/2/18. - */ - -public class RecommendThreeNModelDecoration extends RecyclerView.ItemDecoration{ - - private int valuePx; - - public RecommendThreeNModelDecoration(int valuePx) { - this.valuePx = valuePx; - } - - @Override - public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) { - super.getItemOffsets(outRect, view, parent, state); - if (parent.getLayoutManager() == null || !(parent.getLayoutManager() instanceof GridLayoutManager)) { - return; - } - int position = parent.getChildAdapterPosition(view); - GridLayoutManager layoutManager = (GridLayoutManager) parent.getLayoutManager(); - int spanCount = layoutManager.getSpanCount(); - int column = position % spanCount; - int spanSize = layoutManager.getSpanSizeLookup().getSpanSize(position); - if (spanSize == spanCount) { - //独占一行的,不需要左右分割线 - outRect.set(0, 0, 0, 0); - } else { - getGridItemOffsets(outRect, column, spanCount); - } - } - - private void getGridItemOffsets(Rect outRect, int column, int spanCount) { - outRect.left = valuePx * column / spanCount; - outRect.right = valuePx * (spanCount - 1 - column) / spanCount; - } -} diff --git a/app/src/main/java/com/yizhuan/erban/home/adapter/RoomCategoryIndicatorAdapter.java b/app/src/main/java/com/yizhuan/erban/home/adapter/RoomCategoryIndicatorAdapter.java deleted file mode 100644 index d7368faae..000000000 --- a/app/src/main/java/com/yizhuan/erban/home/adapter/RoomCategoryIndicatorAdapter.java +++ /dev/null @@ -1,117 +0,0 @@ -package com.yizhuan.erban.home.adapter; - -import android.content.Context; -import android.view.LayoutInflater; -import android.view.View; -import android.widget.RelativeLayout; -import android.widget.TextView; - -import com.makeramen.roundedimageview.RoundedImageView; -import com.yizhuan.erban.R; -import com.yizhuan.erban.ui.utils.ImageLoadUtils; -import com.yizhuan.erban.ui.widget.magicindicator.buildins.commonnavigator.abs.CommonNavigatorAdapter; -import com.yizhuan.erban.ui.widget.magicindicator.buildins.commonnavigator.abs.IPagerIndicator; -import com.yizhuan.erban.ui.widget.magicindicator.buildins.commonnavigator.abs.IPagerTitleView; -import com.yizhuan.xchat_android_core.home.bean.TabInfo; - -import java.util.List; - -/** - * @author jack - * @Description - * @Date 2018/11/1 - */ -public class RoomCategoryIndicatorAdapter extends CommonNavigatorAdapter { - private List mTitleList; - private Context mContext; - - public RoomCategoryIndicatorAdapter(Context mContext, List mTitleList) { - this.mTitleList = mTitleList; - this.mContext = mContext; - } - - @Override - public int getCount() { - return mTitleList == null ? 0 : mTitleList.size(); - } - - @Override - public IPagerTitleView getTitleView(Context context, int index) { - CategoryPagerTitleView categoryPagerTitleView = new CategoryPagerTitleView(context, mTitleList.get(index)); - categoryPagerTitleView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - if (null != mOnItemSelectListener) { - mOnItemSelectListener.onItemSelect(index); - } - } - }); - return categoryPagerTitleView; - } - - @Override - public IPagerIndicator getIndicator(Context context) { - return null; - } - - private OnItemSelectListener mOnItemSelectListener; - - public void setOnItemSelectListener(OnItemSelectListener onItemSelectListener) { - mOnItemSelectListener = onItemSelectListener; - } - - public interface OnItemSelectListener { - void onItemSelect(int position); - } - - class CategoryPagerTitleView extends RelativeLayout implements IPagerTitleView { - - private RelativeLayout rlContainer; - private RoundedImageView ivIcon; - private TextView tvName; - private TabInfo tabInfo; - private View vCover; - - public CategoryPagerTitleView(Context context, TabInfo tabInfo) { - super(context); - this.tabInfo = tabInfo; - LayoutInflater.from(context).inflate(R.layout.item_room_category, this, true); - - rlContainer = (RelativeLayout) findViewById(R.id.rl_container); - ivIcon = (RoundedImageView) findViewById(R.id.iv_icon); - tvName = (TextView) findViewById(R.id.tv_name); - - - vCover = (View) findViewById(R.id.v_cover); - - ImageLoadUtils.loadImage(context, tabInfo.getPict(), ivIcon); -// tvName.setText(tabInfo.getName()); - - } - - - @Override - public void onSelected(int index, int totalCount) { - vCover.setBackgroundResource(R.drawable.shape_room_category_selected); -// tvName.setTextColor(getResources().getColor(R.color.black)); - } - - @Override - public void onDeselected(int index, int totalCount) { - vCover.setBackgroundResource(R.drawable.shape_room_category_unselected); -// tvName.setTextColor(getResources().getColor(R.color.white)); - } - - @Override - public void onLeave(int index, int totalCount, float leavePercent, boolean leftToRight) { - - } - - @Override - public void onEnter(int index, int totalCount, float enterPercent, boolean leftToRight) { - - } - } - - -} diff --git a/app/src/main/java/com/yizhuan/erban/home/adapter/RoomCategoryViewPagerAdapter.java b/app/src/main/java/com/yizhuan/erban/home/adapter/RoomCategoryViewPagerAdapter.java deleted file mode 100644 index 89bfdd093..000000000 --- a/app/src/main/java/com/yizhuan/erban/home/adapter/RoomCategoryViewPagerAdapter.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.yizhuan.erban.home.adapter; - -import androidx.fragment.app.Fragment; -import androidx.fragment.app.FragmentManager; -import androidx.fragment.app.FragmentPagerAdapter; -import android.util.SparseArray; - -import com.yizhuan.erban.home.fragment.RoomListFragment; -import com.yizhuan.xchat_android_core.home.bean.TabInfo; - -import java.util.List; - -/** - *

房间 adapter

- * Created by Administrator on 2017/11/15. - */ -public class RoomCategoryViewPagerAdapter extends FragmentPagerAdapter { - private SparseArray mFragmentList; - private List mTitleList; - - public RoomCategoryViewPagerAdapter(FragmentManager fm, List titleList) { - super(fm); - this.mTitleList = titleList; - mFragmentList = new SparseArray<>(); - int size = titleList.size(); - for (int i = 0; i < size; i++) { - mFragmentList.put(i, RoomListFragment.newInstance(titleList.get(i))); - } - } - - @Override - public Fragment getItem(int position) { - return mFragmentList.get(position); - } - - @Override - public int getCount() { - return mTitleList == null ? 0 : mTitleList.size(); - } -} diff --git a/app/src/main/java/com/yizhuan/erban/home/adapter/RoomTabAdapter.java b/app/src/main/java/com/yizhuan/erban/home/adapter/RoomTabAdapter.java deleted file mode 100644 index 0badf349f..000000000 --- a/app/src/main/java/com/yizhuan/erban/home/adapter/RoomTabAdapter.java +++ /dev/null @@ -1,149 +0,0 @@ -package com.yizhuan.erban.home.adapter; - -import android.content.Context; -import android.graphics.Color; -import android.graphics.drawable.Drawable; -import android.graphics.drawable.GradientDrawable; -import androidx.recyclerview.widget.GridLayoutManager; -import androidx.recyclerview.widget.RecyclerView; -import android.view.View; -import android.view.ViewGroup; - -import com.chad.library.adapter.base.BaseMultiItemQuickAdapter; -import com.chad.library.adapter.base.BaseViewHolder; -import com.yizhuan.erban.ui.widget.rollviewpager.RollPagerView; -import com.yizhuan.erban.ui.widget.rollviewpager.Util; -import com.yizhuan.erban.ui.widget.rollviewpager.hintview.ColorPointHintView; -import com.yizhuan.erban.R; -import com.yizhuan.erban.ui.widget.RoomItemView; -import com.yizhuan.erban.ui.widget.magicindicator.buildins.UIUtil; -import com.yizhuan.erban.ui.widget.marqueeview.Utils; -import com.yizhuan.xchat_android_core.home.bean.BannerInfo; -import com.yizhuan.xchat_android_core.home.bean.HomeRoom; -import com.yizhuan.xchat_android_core.home.bean.HomeRoomItem; -import com.yizhuan.xchat_android_library.utils.ListUtils; - -import java.util.ArrayList; -import java.util.List; - -public class RoomTabAdapter extends BaseMultiItemQuickAdapter { - - private Context context; - private int mScreenWidth; - - public RoomTabAdapter(Context context, List data) { - super(data); - this.context = context; - addItemType(HomeRoomItem.TYPE_HOME_ROOM, R.layout.list_item_home_room_room); -// addItemType(HomeRoomItem.TYPE_BANNER, R.layout.list_item_home_room_banner); - addItemType(HomeRoomItem.TYPE_BANNER, R.layout.layout_rollpage_view); - addItemType(HomeRoomItem.TYPE_TOP_THREE, R.layout.list_top_three); - addItemType(HomeRoomItem.TYPE_TOP_EMPTY, R.layout.layout_top_empty); - mScreenWidth = Utils.getWindowWidth(context) - Utils.dip2px(context, 30); - } - - @Override - protected void convert(BaseViewHolder helper, HomeRoomItem item) { - if (item == null) { - return; - } - switch (item.getItemType()) { - case HomeRoomItem.TYPE_HOME_ROOM: - setRoom(helper, item); - break; - case HomeRoomItem.TYPE_BANNER: - setOtherBanner(helper, item); - break; - - case HomeRoomItem.TYPE_TOP_THREE: - setTopThree(helper, item); - break; - } - } - - private void setTopThree(BaseViewHolder holder, HomeRoomItem item) { - ArrayList roomList = (ArrayList) item.getData(); - - RecyclerView recyclerView = holder.getView(R.id.rv_list); - recyclerView.setItemAnimator(null); - recyclerView.setFocusable(false); - GridLayoutManager manager = new GridLayoutManager(mContext, 3); - recyclerView.setLayoutManager(manager); - if (recyclerView.getItemDecorationCount() == 0) { - int px = UIUtil.dip2px(mContext, 15); - recyclerView.addItemDecoration(new RecommendThreeNModelDecoration(px)); - } - - ErbanRecommendAdapter erbanRecommendAdapter = new ErbanRecommendAdapter(mContext, roomList); - recyclerView.setAdapter(erbanRecommendAdapter); - erbanRecommendAdapter.setSpanSizeLookup(((gridLayoutManager, position) -> { - if (position < 3) { - return 1; - } - return manager.getSpanCount(); - - })); - } - - /** - * 设置房间 - * - * @param holder - * @param item - */ - private void setRoom(BaseViewHolder holder, HomeRoomItem item) { - HomeRoom homeRoom = (HomeRoom) item.getData(); - RoomItemView roomItemView = holder.getView(R.id.riv_room_view); - roomItemView.bindData(homeRoom); - } - - /** - * 设置中间的scrollView page - * - * @param holder - * @param homeItem - */ - private void setOtherBanner(BaseViewHolder holder, HomeRoomItem homeItem) { - List bannerInfos = (List) homeItem.getData(); - - if (!ListUtils.isListEmpty(bannerInfos)) { - RollPagerView rollPagerView = holder.getView(R.id.roll_view); - ViewGroup.LayoutParams layoutParams = rollPagerView.getLayoutParams(); - int bannerWidth = UIUtil.getScreenWidth(mContext) - UIUtil.dip2px(mContext, 30); - layoutParams.width = bannerWidth; - layoutParams.height = bannerWidth * 120 / 345; - rollPagerView.setLayoutParams(layoutParams); -// RollPagerView rollPagerView = holder.getView(R.id.rpv_other_banner); - - rollPagerView.setHintView(new ColorPointHintView(mContext, Color.WHITE, mContext.getResources().getColor(R.color.color_66FFFFFF)) { - @Override - public Drawable makeFocusDrawable() { - GradientDrawable dotFocus = new GradientDrawable(); - dotFocus.setColor(Color.WHITE); - dotFocus.setCornerRadius(Util.dip2px(getContext(), 2)); - dotFocus.setSize(Util.dip2px(getContext(), 9), Util.dip2px(getContext(), 4)); - return dotFocus; - } - - @Override - public Drawable makeNormalDrawable() { - GradientDrawable dotNormal = new GradientDrawable(); - dotNormal.setColor(mContext.getResources().getColor(R.color.color_66FFFFFF)); - dotNormal.setCornerRadius(Util.dip2px(getContext(), 2)); - dotNormal.setSize(Util.dip2px(getContext(), 4), Util.dip2px(getContext(), 4)); - return dotNormal; - } - }); - - OtherBannerAdapter bannerAdapter = new OtherBannerAdapter(mContext, bannerInfos); - rollPagerView.setAdapter(bannerAdapter); - rollPagerView.setPlayDelay(3000); - //设置透明度 - rollPagerView.setAnimationDurtion(500); - rollPagerView.setVisibility(View.VISIBLE); - bannerAdapter.notifyDataSetChanged(); - } - - } - -} diff --git a/app/src/main/java/com/yizhuan/erban/home/adapter/TwoXNAdapter.java b/app/src/main/java/com/yizhuan/erban/home/adapter/TwoXNAdapter.java deleted file mode 100644 index 7e71339a6..000000000 --- a/app/src/main/java/com/yizhuan/erban/home/adapter/TwoXNAdapter.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.yizhuan.erban.home.adapter; - -import android.graphics.Color; - -import com.yizhuan.erban.bindadapter.BaseAdapter; -import com.yizhuan.erban.bindadapter.BindingViewHolder; -import com.yizhuan.erban.databinding.ItemHomeTwoNBinding; -import com.yizhuan.xchat_android_core.home.bean.HomeRoom; - -public class TwoXNAdapter extends BaseAdapter { - - public TwoXNAdapter(int layoutResId, int brid) { - super(layoutResId, brid); - } - - @Override - protected void convert(BindingViewHolder helper, HomeRoom item) { - super.convert(helper, item); - ItemHomeTwoNBinding binding = (ItemHomeTwoNBinding) helper.getBinding(); - binding.livLivingIcon.setColor(Color.WHITE); - binding.livLivingIcon.start(); - /*GlideApp.with(mContext) - .asDrawable() - .diskCacheStrategy(DiskCacheStrategy.RESOURCE) - .dontAnimate() - .dontTransform() - .load(item.tagPict) - .listener(new RequestListener() { - @Override - public boolean onLoadFailed(@Nullable GlideException e, Object model, Target target, boolean isFirstResource) { - return false; - } - - @Override - public boolean onResourceReady(Drawable resource, Object model, Target target, DataSource dataSource, boolean isFirstResource) { - if (resource == null) return true; - MessageView.SpannableBuilder text = new MessageView.SpannableBuilder(binding.tvTitle) - .append(resource,resource.getIntrinsicWidth(),resource.getIntrinsicHeight()) - .append(item.title); - binding.tvTitle.setText(text.build()); - binding.tvTitle.postInvalidate(); - - return true; - } - }) - .submit();*/ - } -} diff --git a/app/src/main/java/com/yizhuan/erban/home/dialog/CreateRoomDialog.java b/app/src/main/java/com/yizhuan/erban/home/dialog/CreateRoomDialog.java deleted file mode 100644 index 24511003e..000000000 --- a/app/src/main/java/com/yizhuan/erban/home/dialog/CreateRoomDialog.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.yizhuan.erban.home.dialog; - -import android.content.Context; -import android.view.View; - -import com.yizhuan.erban.R; -import com.yizhuan.erban.treasure_box.widget.dialog.BaseBindingDialog; -import com.yizhuan.erban.databinding.DialogCreateRoomBinding; -import com.yizhuan.xchat_android_library.annatation.ActLayoutRes; - -@ActLayoutRes(R.layout.dialog_create_room) -public class CreateRoomDialog extends BaseBindingDialog { - private OpenRoomListener openRoomListener; - - public CreateRoomDialog(Context context, OpenRoomListener openRoomListener) { - super(context); - this.openRoomListener = openRoomListener; - } - - @Override - protected void init() { - binding.tvCp.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - closeDialog(); - if (openRoomListener != null) { - openRoomListener.onCpRoom(); - } - } - }); - binding.tvNormal.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - closeDialog(); - if (openRoomListener != null) { - openRoomListener.onNormalRoom(); - } - } - }); - binding.tvExplain.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - new RoomShowsDialog(getContext()).openDialog(); - } - }); - } - - public interface OpenRoomListener { - void onNormalRoom(); - - void onCpRoom(); - } -} diff --git a/app/src/main/java/com/yizhuan/erban/home/dialog/RecommendRoomForNewerDialog.java b/app/src/main/java/com/yizhuan/erban/home/dialog/RecommendRoomForNewerDialog.java deleted file mode 100644 index fa9136350..000000000 --- a/app/src/main/java/com/yizhuan/erban/home/dialog/RecommendRoomForNewerDialog.java +++ /dev/null @@ -1,95 +0,0 @@ -package com.yizhuan.erban.home.dialog; - -import android.content.Context; -import android.content.DialogInterface; -import android.os.Bundle; -import androidx.appcompat.app.AppCompatDialog; -import android.view.Gravity; -import android.view.View; -import android.view.Window; -import android.view.WindowManager; -import android.widget.ImageView; - -import com.yizhuan.erban.R; -import com.yizhuan.xchat_android_core.user.UserModel; -import com.yizhuan.xchat_android_core.user.bean.UserInfo; - - -/** - * @author jack - * @Description 新人推荐房间dialog - * @Date 2018/7/9 - */ - -public class RecommendRoomForNewerDialog extends AppCompatDialog implements View.OnClickListener{ - - private ImageView ivContent; - private ImageView ivGoRoom; - private ImageView imgClose; - - - public RecommendRoomForNewerDialog(Context context) { - super(context, R.style.common_dialog_theme); - } - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - requestWindowFeature(Window.FEATURE_NO_TITLE); - setContentView(R.layout.dialog_recommend_room_for_newer); - Window window = getWindow(); - if (window != null) { -// window.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); - WindowManager.LayoutParams windowParams = window.getAttributes(); - windowParams.width = WindowManager.LayoutParams.MATCH_PARENT; - windowParams.height = WindowManager.LayoutParams.MATCH_PARENT; - windowParams.gravity = Gravity.CENTER_HORIZONTAL; - window.setAttributes(windowParams); - } - - - ivContent = (ImageView) findViewById(R.id.iv_content); - - ivGoRoom = findViewById(R.id.tv_go_room); - imgClose = (ImageView) findViewById(R.id.img_close); - ivGoRoom.setOnClickListener(this); - imgClose.setOnClickListener(this); - - UserInfo userInfo = UserModel.get().getCacheLoginUserInfo(); - if (userInfo == null){ - return; - } - if (userInfo.getGender() == 1){ - ivContent.setImageResource(R.mipmap.bg_recommend_room_girls); - }else if (userInfo.getGender() == 2){ - ivContent.setImageResource(R.mipmap.bg_recommend_room_boys); - } - - } - - - @Override - public void onClick(View v) { - int id = v.getId(); - if (id == ivGoRoom.getId()){ - if (this.actionListener != null){ - this.actionListener.onGoIntoRoom(this); - } - }else if (id == imgClose.getId()){ - if (this.actionListener != null){ - this.actionListener.onCancel(this); - } - } - } - - private onActionListener actionListener; - - public void setActionListener(onActionListener actionListener) { - this.actionListener = actionListener; - } - - public interface onActionListener{ - void onGoIntoRoom(DialogInterface dialogInterface); - void onCancel(DialogInterface dialogInterface); - } -} diff --git a/app/src/main/java/com/yizhuan/erban/home/dialog/RoomShowsDialog.java b/app/src/main/java/com/yizhuan/erban/home/dialog/RoomShowsDialog.java deleted file mode 100644 index 58a85af6e..000000000 --- a/app/src/main/java/com/yizhuan/erban/home/dialog/RoomShowsDialog.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.yizhuan.erban.home.dialog; - -import android.content.Context; -import android.view.View; - -import com.yizhuan.erban.R; -import com.yizhuan.erban.treasure_box.widget.dialog.BaseBindingDialog; -import com.yizhuan.erban.databinding.DialogRoomShowsBinding; -import com.yizhuan.xchat_android_library.annatation.ActLayoutRes; - -@ActLayoutRes(R.layout.dialog_room_shows) -public class RoomShowsDialog extends BaseBindingDialog { - public RoomShowsDialog(Context context) { - super(context); - } - - @Override - protected void init() { - binding.ivClose.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - dismiss(); - } - }); - } -} diff --git a/app/src/main/java/com/yizhuan/erban/home/fragment/FamilyFragment.java b/app/src/main/java/com/yizhuan/erban/home/fragment/FamilyFragment.java deleted file mode 100644 index 19ba5ac8e..000000000 --- a/app/src/main/java/com/yizhuan/erban/home/fragment/FamilyFragment.java +++ /dev/null @@ -1,423 +0,0 @@ -package com.yizhuan.erban.home.fragment; - -import android.graphics.Color; -import android.graphics.drawable.Drawable; -import android.graphics.drawable.GradientDrawable; -import androidx.fragment.app.Fragment; -import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; -import androidx.recyclerview.widget.LinearLayoutManager; -import androidx.recyclerview.widget.RecyclerView; -import android.view.View; -import android.widget.LinearLayout; -import android.widget.TextView; - -import com.bumptech.glide.load.resource.bitmap.CenterCrop; -import com.bumptech.glide.load.resource.bitmap.RoundedCorners; -import com.chad.library.adapter.base.BaseQuickAdapter; -import com.yizhuan.erban.ui.widget.rollviewpager.RollPagerView; -import com.yizhuan.erban.ui.widget.rollviewpager.Util; -import com.yizhuan.erban.ui.widget.rollviewpager.hintview.ColorPointHintView; -import com.netease.nim.uikit.common.util.sys.ScreenUtil; -import com.netease.nim.uikit.support.glide.GlideApp; -import com.yizhuan.erban.R; -import com.yizhuan.erban.base.BaseMvpFragment; -import com.yizhuan.erban.family.view.activity.FamilyHomeActivity; -import com.yizhuan.erban.family.view.activity.FamilyPlazaActivity; -import com.yizhuan.erban.family.view.adapter.FamilyBannerAdapter; -import com.yizhuan.erban.home.adapter.FindStarFamilyAdapter; -import com.yizhuan.erban.home.presenter.FamilyFragmentPresenter; -import com.yizhuan.erban.home.view.IFamilyFragmentView; -import com.yizhuan.erban.ui.im.avtivity.NimP2PMessageActivity; -import com.yizhuan.erban.ui.webview.CommonWebViewActivity; -import com.yizhuan.erban.ui.widget.SquareImageView; -import com.yizhuan.erban.ui.widget.recyclerview.decoration.HorizontalDecoration; -import com.yizhuan.xchat_android_core.UriProvider; -import com.yizhuan.xchat_android_core.family.bean.CustomServiceInfo; -import com.yizhuan.xchat_android_core.family.bean.FamilyCustomServiceInfo; -import com.yizhuan.xchat_android_core.family.bean.FamilyInfo; -import com.yizhuan.xchat_android_core.family.bean.FindBannerInfo; -import com.yizhuan.xchat_android_core.family.bean.response.RankingFamilyInfo; -import com.yizhuan.xchat_android_core.statistic.StatisticManager; -import com.yizhuan.xchat_android_core.statistic.protocol.StatisticsProtocol; -import com.yizhuan.xchat_android_library.base.factory.CreatePresenter; -import com.yizhuan.xchat_android_library.utils.ListUtils; -import com.yizhuan.xchat_android_library.utils.config.BasicConfig; - -import java.util.ArrayList; -import java.util.List; -import java.util.Locale; - -import io.reactivex.Observable; -import io.reactivex.ObservableEmitter; -import io.reactivex.ObservableOnSubscribe; -import io.reactivex.Observer; -import io.reactivex.SingleObserver; -import io.reactivex.disposables.Disposable; - -/** - * @author jack - * @Description - * @Date 2018/10/29 - */ -@CreatePresenter(FamilyFragmentPresenter.class) -public class FamilyFragment extends BaseMvpFragment - implements IFamilyFragmentView, View.OnClickListener, SwipeRefreshLayout.OnRefreshListener { - - private SwipeRefreshLayout srlRefreshContainer; - private LinearLayout rlBannerContainer; - - - private RollPagerView rpvFamilyPlaza; - private LinearLayout llFamilyPlaza; - private LinearLayout llCreateFamily; - private LinearLayout llMyFamilyContainer; - private TextView tvTitle; - private LinearLayout llMyFamily; - private SquareImageView ivCover; - private TextView tvFamilyName; - private TextView tvFamilyId; - private TextView tvFamilyMemberCount; - private LinearLayout llStarFamilyContainer; - private RecyclerView rvStartFamilyList; - - private LinearLayout llFamilyCustomerService; - private LinearLayout llFamilyInstruction; -// private TextView tvCustomerServiceHotline; -// private TextView tvCustomerServiceId; - - - private FamilyBannerAdapter bannerAdapter; - private FindStarFamilyAdapter starFamilyAdapter; - - @Override - public void setUserVisibleHint(boolean isVisibleToUser) { - super.setUserVisibleHint(isVisibleToUser); - - // 模拟展示家族tab的操作 - if (isVisibleToUser) { - StatisticManager.Instance().onEvent(BasicConfig.INSTANCE.getAppContext(), - StatisticsProtocol.Event.HOME_FAMILY_CLICK, "家族tab", null); - } - } - - public static Fragment newInstance() { - return new FamilyFragment(); - } - - @Override - public int getRootLayoutId() { - return R.layout.fragment_family; - } - - @Override - public void onFindViews() { - srlRefreshContainer = (SwipeRefreshLayout) getView().findViewById(R.id.srl_refresh_container); - - rlBannerContainer = getView().findViewById(R.id.rl_banner_container); - rpvFamilyPlaza = (RollPagerView) getView().findViewById(R.id.rpv_family_plaza); - - llFamilyPlaza = (LinearLayout) getView().findViewById(R.id.ll_family_plaza); - llCreateFamily = (LinearLayout) getView().findViewById(R.id.ll_create_family); - - llMyFamilyContainer = (LinearLayout) getView().findViewById(R.id.ll_my_family_container); - tvTitle = (TextView) getView().findViewById(R.id.tv_title); - llMyFamily = (LinearLayout) getView().findViewById(R.id.ll_my_family); - ivCover = (SquareImageView) getView().findViewById(R.id.iv_cover); - tvFamilyName = (TextView) getView().findViewById(R.id.tv_family_name); - tvFamilyId = (TextView) getView().findViewById(R.id.tv_family_id); - tvFamilyMemberCount = (TextView) getView().findViewById(R.id.tv_family_member_count); - - llStarFamilyContainer = (LinearLayout) getView().findViewById(R.id.ll_star_family_container); - rvStartFamilyList = (RecyclerView) getView().findViewById(R.id.rv_start_family_list); - - llFamilyCustomerService = (LinearLayout) getView().findViewById(R.id.ll_family_customer_service); - llFamilyInstruction = (LinearLayout) getView().findViewById(R.id.ll_family_instruction); -// tvCustomerServiceHotline = (TextView) getView().findViewById(R.id.tv_customer_service_hotline); -// tvCustomerServiceId = (TextView) getView().findViewById(R.id.tv_customer_service_id); - - - } - - @Override - public void onSetListener() { - srlRefreshContainer.setOnRefreshListener(this); - llFamilyPlaza.setOnClickListener(this); - llCreateFamily.setOnClickListener(this); - llMyFamily.setOnClickListener(this); - llFamilyCustomerService.setOnClickListener(this); - llFamilyInstruction.setOnClickListener(this); - } - - @Override - public void initiate() { -// rvStartFamilyList.setLayoutManager(new FullyGridLayoutManager(getActivity(), 3)); -// rvStartFamilyList.addItemDecoration(new SpacingDecoration(0, 30, true)); - rvStartFamilyList.setLayoutManager(new LinearLayoutManager(mContext)); - rvStartFamilyList.addItemDecoration(new HorizontalDecoration(ScreenUtil.dip2px(17), true, true)); - starFamilyAdapter = new FindStarFamilyAdapter(getActivity(), new ArrayList<>()); - starFamilyAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() { - @Override - public void onItemClick(BaseQuickAdapter adapter, View view, int position) { - RankingFamilyInfo familyInfo = (RankingFamilyInfo) adapter.getData().get(position); - FamilyHomeActivity.start(getActivity(), familyInfo.getId()); - } - }); - rvStartFamilyList.setAdapter(starFamilyAdapter); - - bannerAdapter = new FamilyBannerAdapter(new ArrayList<>(), getContext()); - rpvFamilyPlaza.setAdapter(bannerAdapter); - rpvFamilyPlaza.setPlayDelay(3000); - //设置透明度 - rpvFamilyPlaza.setAnimationDurtion(500); - rpvFamilyPlaza.setVisibility(View.VISIBLE); - rpvFamilyPlaza.setHintView(new ColorPointHintView(getContext(), Color.WHITE, this.getResources().getColor(R.color.color_66FFFFFF)) { - @Override - public Drawable makeFocusDrawable() { - GradientDrawable dotFocus = new GradientDrawable(); - dotFocus.setColor(Color.WHITE); - dotFocus.setCornerRadius(Util.dip2px(getContext(), 2)); - dotFocus.setSize(Util.dip2px(getContext(), 9), Util.dip2px(getContext(), 4)); - return dotFocus; - } - - @Override - public Drawable makeNormalDrawable() { - GradientDrawable dotNormal = new GradientDrawable(); - dotNormal.setColor(getContext().getResources().getColor(R.color.color_66FFFFFF)); - dotNormal.setCornerRadius(Util.dip2px(getContext(), 2)); - dotNormal.setSize(Util.dip2px(getContext(), 4), Util.dip2px(getContext(), 4)); - return dotNormal; - } - }); - - } - - - @Override - public void onResume() { - super.onResume(); - loadData(); -// getMvpPresenter().showCustomerServiceInfo().subscribe(new SingleObserver() { -// @Override -// public void onSubscribe(Disposable d) { -// mCompositeDisposable.add(d); -// } -// -// @Override -// public void onSuccess(FamilyCustomServiceInfo familyCustomServiceInfo) { -// onCustomServiceInfo(familyCustomServiceInfo); -// } -// -// @Override -// public void onError(Throwable e) { -// onCustomServiceFail(e.getMessage()); -// } -// }); - - getMvpPresenter().checkMyFamilyInfo(); - - if (ListUtils.isListEmpty(starFamilyAdapter.getData())) { - loadWeeklyStarList(); - } - } - - - @Override - public void onHiddenChanged(boolean hidden) { - super.onHiddenChanged(hidden); -// if (!hidden){ -// loadWeeklyStarList(); -// } - - } - - @Override - public void onClick(View v) { - int id = v.getId(); - if (id == llFamilyPlaza.getId()) { - FamilyPlazaActivity.start(this.getActivity()); - } else if (id == llCreateFamily.getId()) { - CommonWebViewActivity.start(this.getActivity(), UriProvider.getCreateFamilyUrl()); - } else if (id == llMyFamily.getId()) { - - StatisticManager.Instance().onEvent(BasicConfig.INSTANCE.getAppContext(), - StatisticsProtocol.Event.FAMILY_MY_FAMILY_CLICK, "我的家族", null); - - FamilyHomeActivity.start(getActivity(), getMvpPresenter().getMyFamily().getFamilyId()); - } else if (id == llFamilyCustomerService.getId()) { - getMvpPresenter().contactCustomerService().subscribe(new SingleObserver() { - @Override - public void onSubscribe(Disposable d) { - mCompositeDisposable.add(d); - } - - @Override - public void onSuccess(String s) { - NimP2PMessageActivity.start(getContext(), s); - } - - @Override - public void onError(Throwable e) { - toast(e.getMessage()); - } - }); - - } else if (id == llFamilyInstruction.getId()) { - CommonWebViewActivity.start(getContext(), UriProvider.getFamilyInstructionUrl()); - } - } - - @Override - public void showMyFamilyInfo(FamilyInfo familyInfo) { - if (null != familyInfo) { - llMyFamilyContainer.setVisibility(View.VISIBLE); - GlideApp.with(this) - .load(familyInfo.getFamilyIcon()) - .dontAnimate() - .transforms(new CenterCrop(), new RoundedCorners(10)) - .into(ivCover); - tvFamilyName.setText(familyInfo.getFamilyName()); - tvFamilyId.setText(String.format(Locale.CHINA, "ID:%s", familyInfo.getFamilyId())); - tvFamilyMemberCount.setText(String.format(Locale.CHINA, "成员:%s", String.valueOf(familyInfo.getMemberCount()))); - - llCreateFamily.setVisibility(View.GONE); - } else { - llCreateFamily.setVisibility(View.VISIBLE); - llMyFamilyContainer.setVisibility(View.GONE); - } - } - - @Override - public void onCustomServiceInfo(FamilyCustomServiceInfo customServiceInfo) { - List customServiceInfoList = customServiceInfo.getServices(); - for (int i = 0; i < customServiceInfoList.size(); i++) { - CustomServiceInfo serviceInfo = customServiceInfoList.get(i); - if (serviceInfo.getType() == CustomServiceInfo.TYPE_ONLINE) { -// tvCustomerServiceId.setText(String.format(getResources().getString(R.string.family_customer_service_hint), -// serviceInfo.getContent())); - } else if (serviceInfo.getType() == CustomServiceInfo.TYPE_PHONE) { -// tvCustomerServiceHotline.setText(String.format(getResources().getString(R.string.family_customer_service_hotline), -// serviceInfo.getContent())); - } - } - } - - @Override - public void onCustomServiceFail(String reason) { - toast(reason); - } - - private void loadWeeklyStarList() { - getMvpPresenter().loadWeeklyStarList().subscribe(new SingleObserver>() { - @Override - public void onSubscribe(Disposable d) { - mCompositeDisposable.add(d); - } - - @Override - public void onSuccess(List list) { - if (ListUtils.isListEmpty(list)) { - llStarFamilyContainer.setVisibility(View.GONE); - return; - } - llStarFamilyContainer.setVisibility(View.VISIBLE); - starFamilyAdapter.setNewData(list); - - } - - @Override - public void onError(Throwable e) { - toast(e.getMessage()); - } - }); - } - - @Override - public void onRefresh() { - loadData(); - } - - private void loadData() { - Observable.create(new ObservableOnSubscribe() { - @Override - public void subscribe(ObservableEmitter emitter) throws Exception { - getMvpPresenter().loadBannerDate().subscribe(new SingleObserver>() { - @Override - public void onSubscribe(Disposable d) { - mCompositeDisposable.add(d); - } - - @Override - public void onSuccess(List bannerInfoList) { - emitter.onNext(1); - if (ListUtils.isListEmpty(bannerInfoList)) { - rlBannerContainer.setVisibility(View.GONE); - return; - } - rlBannerContainer.setVisibility(View.VISIBLE); - bannerAdapter.setNewData(bannerInfoList); - } - - @Override - public void onError(Throwable e) { - toast(e.getMessage()); - emitter.onNext(1); - } - }); - - getMvpPresenter().loadWeeklyStarList().subscribe(new SingleObserver>() { - @Override - public void onSubscribe(Disposable d) { - mCompositeDisposable.add(d); - } - - @Override - public void onSuccess(List list) { - emitter.onNext(1); - if (ListUtils.isListEmpty(list)) { - llStarFamilyContainer.setVisibility(View.GONE); - return; - } - llStarFamilyContainer.setVisibility(View.VISIBLE); - starFamilyAdapter.setNewData(list); - - } - - @Override - public void onError(Throwable e) { - toast(e.getMessage()); - emitter.onNext(1); - } - }); - } - }).subscribe(new Observer() { - Disposable disposable; - int i = 0; - - @Override - public void onSubscribe(Disposable d) { - disposable = d; - mCompositeDisposable.add(d); - } - - @Override - public void onNext(Integer integer) { - i += integer; - if (i == 2) { - srlRefreshContainer.setRefreshing(false); - disposable.dispose(); - } - } - - @Override - public void onError(Throwable e) { - - } - - @Override - public void onComplete() { - - } - }); - } -} diff --git a/app/src/main/java/com/yizhuan/erban/home/fragment/FindFragment.java b/app/src/main/java/com/yizhuan/erban/home/fragment/FindFragment.java deleted file mode 100644 index 3e38c2dc5..000000000 --- a/app/src/main/java/com/yizhuan/erban/home/fragment/FindFragment.java +++ /dev/null @@ -1,575 +0,0 @@ -package com.yizhuan.erban.home.fragment; - -import android.app.Activity; -import android.graphics.Color; -import android.graphics.drawable.Drawable; -import android.graphics.drawable.GradientDrawable; -import android.os.Bundle; -import androidx.annotation.Nullable; -import androidx.fragment.app.Fragment; -import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; -import androidx.recyclerview.widget.GridLayoutManager; -import androidx.recyclerview.widget.LinearLayoutManager; -import androidx.recyclerview.widget.RecyclerView; -import android.text.TextUtils; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.LinearLayout; -import android.widget.TextView; - -import com.yizhuan.erban.ui.widget.rollviewpager.RollPagerView; -import com.yizhuan.erban.ui.widget.rollviewpager.Util; -import com.yizhuan.erban.ui.widget.rollviewpager.hintview.ColorPointHintView; -import com.netease.nim.uikit.api.NimUIKit; -import com.netease.nim.uikit.common.util.sys.ScreenUtil; -import com.netease.nimlib.sdk.chatroom.model.ChatRoomMessage; -import com.netease.nimlib.sdk.msg.attachment.MsgAttachment; -import com.yizhuan.erban.R; -import com.yizhuan.erban.base.BaseMvpFragment; -import com.yizhuan.erban.home.adapter.BannerAdapter; -import com.yizhuan.erban.home.adapter.ErbanTopMessageAdapter; -import com.yizhuan.erban.home.adapter.FindAdapter; -import com.yizhuan.erban.home.adapter.HomeHallAdapter; -import com.yizhuan.erban.home.presenter.FindFragmentPresenter; -import com.yizhuan.erban.home.view.IFindFragmentView; -import com.yizhuan.erban.public_chat_hall.activity.PublicChatHallHomeActivity; -import com.yizhuan.erban.public_chat_hall.msg.viewholder.ChatRoomViewHolderHelper; -import com.yizhuan.erban.ui.widget.InterceptTouchLayout; -import com.yizhuan.erban.ui.widget.magicindicator.buildins.UIUtil; -import com.yizhuan.erban.ui.widget.marqueeview.BetterMarqueeView; -import com.yizhuan.erban.ui.widget.marqueeview.Utils; -import com.yizhuan.erban.ui.widget.recyclerview.decoration.ColorDecoration; -import com.yizhuan.erban.ui.widget.recyclerview.decoration.SpacingDecoration; -import com.yizhuan.tutu.mentoring_relationship.activity.MentoringRelationshipActivity; -import com.yizhuan.xchat_android_core.auth.AuthModel; -import com.yizhuan.xchat_android_core.auth.event.LoginEvent; -import com.yizhuan.xchat_android_core.gift.GiftModel; -import com.yizhuan.xchat_android_core.gift.bean.GiftInfo; -import com.yizhuan.xchat_android_core.gift.bean.GiftReceiveInfo; -import com.yizhuan.xchat_android_core.home.bean.BannerInfo; -import com.yizhuan.xchat_android_core.home.bean.FindEntranceInfo; -import com.yizhuan.xchat_android_core.home.bean.FindInfo; -import com.yizhuan.xchat_android_core.home.bean.HomeHallMsgInfo; -import com.yizhuan.xchat_android_core.home.bean.MakeFriendsHallInfo; -import com.yizhuan.xchat_android_core.home.bean.VMTopMessageInfo; -import com.yizhuan.xchat_android_core.im.custom.bean.CustomAttachment; -import com.yizhuan.xchat_android_core.im.custom.bean.GiftAttachment; -import com.yizhuan.xchat_android_core.im.custom.bean.ImTipAttachment; -import com.yizhuan.xchat_android_core.level.UserLevelResourceType; -import com.yizhuan.xchat_android_core.market_verify.MarketVerifyModel; -import com.yizhuan.xchat_android_core.noble.NobleResourceType; -import com.yizhuan.xchat_android_core.public_chat_hall.attachment.AitFriendsAttachment; -import com.yizhuan.xchat_android_core.public_chat_hall.bean.AitFriendsInfo; -import com.yizhuan.xchat_android_core.public_chat_hall.event.PublicChatHallAitMeEvent; -import com.yizhuan.xchat_android_core.public_chat_hall.event.PublicChatHallHistoryEvent; -import com.yizhuan.xchat_android_core.public_chat_hall.event.PublicChatHallMsgIncomingEvent; -import com.yizhuan.xchat_android_core.public_chat_hall.manager.PublicChatHallDataManager; -import com.yizhuan.xchat_android_core.radish.event.ReceivePrizeEvent; -import com.yizhuan.xchat_android_core.radish.event.SignInSuccessEvent; -import com.yizhuan.xchat_android_core.statistic.StatisticManager; -import com.yizhuan.xchat_android_core.statistic.protocol.StatisticsProtocol; -import com.yizhuan.xchat_android_core.user.bean.UserInfo; -import com.yizhuan.xchat_android_library.base.factory.CreatePresenter; -import com.yizhuan.xchat_android_library.list.NoScrollingLinearLayoutManager; -import com.yizhuan.xchat_android_library.utils.ListUtils; -import com.yizhuan.xchat_android_library.utils.SingleToastUtil; - -import org.greenrobot.eventbus.EventBus; -import org.greenrobot.eventbus.Subscribe; -import org.greenrobot.eventbus.ThreadMode; - -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Date; -import java.util.Iterator; -import java.util.List; -import java.util.Locale; -import java.util.Map; - -/** - * @author jack - * @Description - * @Date 2018/5/22 - */ -@CreatePresenter(FindFragmentPresenter.class) -public class FindFragment extends BaseMvpFragment - implements IFindFragmentView, View.OnClickListener { - public final static String TAG = FindFragment.class.getSimpleName(); - - private RecyclerView rvEntrance; - private LinearLayout llMentoringRelationship; - private InterceptTouchLayout llPublicChatHallContainer; - - private FindAdapter findAdapter; - private View tvMore; - private TextView tvHallNewAitTips; - private RecyclerView publicChatHallMsgView; - private MakeFriendsHallInfo makeFriendsHallInfo; - private SimpleDateFormat chatHallTimeFormater = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss", Locale.getDefault()); - private ChatRoomMessage tempMsg = null; - private final int hallMsgMaxSize = 30; - private HomeHallAdapter homeHallAdapter; -// private CircleImageView newUserAvatarOne; -// private CircleImageView newUserAvatarTwo; -// private CircleImageView newUserAvatarThree; - - //banner - private RollPagerView rollPagerView; - //头条 - private BetterMarqueeView betterMarqueeView; - - private View llTopMsgContainer; - - private SwipeRefreshLayout swipeRefresh; - - public static Fragment newInstance() { - return new FindFragment(); - } - - - @Override - public int getRootLayoutId() { - return R.layout.fragment_find; - } - - - @Override - public void onFindViews() { - rvEntrance = (RecyclerView) getView().findViewById(R.id.rv_entrance); - - tvMore = getView().findViewById(R.id.tv_more); - tvHallNewAitTips = getView().findViewById(R.id.tv_new_ait_tip); - publicChatHallMsgView = getView().findViewById(R.id.rv_hall_msg_list); - - llPublicChatHallContainer = getView().findViewById(R.id.ll_public_chat_hall_container); - llMentoringRelationship = getView().findViewById(R.id.ll_mentoring_relationship); - -// newUserAvatarOne = getView().findViewById(R.id.iv_new_user_1); -// newUserAvatarTwo = getView().findViewById(R.id.iv_new_user_2); -// newUserAvatarThree = getView().findViewById(R.id.iv_new_user_3); - - rollPagerView = getView().findViewById(R.id.roll_view); - betterMarqueeView = getView().findViewById(R.id.bmv_marquee_view); - llTopMsgContainer = getView().findViewById(R.id.ll_top_msg_container); - - swipeRefresh = getView().findViewById(R.id.swipe_refresh); - } - - @Nullable - @Override - public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { - mView = super.onCreateView(inflater, container, savedInstanceState); - EventBus.getDefault().register(this); - return mView; - } - - @Override - public void onDestroyView() { - super.onDestroyView(); - EventBus.getDefault().unregister(this); - } - - @Override - public void onSetListener() { - tvMore.setOnClickListener(this); - tvHallNewAitTips.setOnClickListener(this); - llPublicChatHallContainer.setOnClickListener(this); - llMentoringRelationship.setOnClickListener(this); - } - - @Override - public void initiate() { - Activity activity = getActivity(); - if (activity == null) { - return; - } - rvEntrance.setLayoutManager(new GridLayoutManager(mContext, 4)); - - findAdapter = new FindAdapter(getActivity(), new ArrayList<>()); - rvEntrance.setAdapter(findAdapter); - rvEntrance.addItemDecoration(new SpacingDecoration(ScreenUtil.dip2px(12), ScreenUtil.dip2px(10), false)); - - makeFriendsHallInfo = new MakeFriendsHallInfo(); - makeFriendsHallInfo.setAitUserName(null); - ArrayList list = new ArrayList<>(PublicChatHallDataManager.get().getMessages()); - Collections.reverse(list); - while (list.size() > hallMsgMaxSize) { - list.remove(0); - } - makeFriendsHallInfo.setMsgList(transformChatRoomMessage(list)); - List chatRoomMessageList = makeFriendsHallInfo.getMsgList(); - publicChatHallMsgView.setItemAnimator(null); - publicChatHallMsgView.setFocusable(false); - NoScrollingLinearLayoutManager noScrollingLinearLayoutManager = - new NoScrollingLinearLayoutManager(mContext, LinearLayoutManager.VERTICAL, false); - noScrollingLinearLayoutManager.setScrollEnabled(false); - publicChatHallMsgView.setLayoutManager(noScrollingLinearLayoutManager); - if (publicChatHallMsgView.getItemDecorationCount() == 0) { - publicChatHallMsgView.addItemDecoration(new ColorDecoration(Color.TRANSPARENT, 0, Utils.dip2px(mContext, 10), false)); - } - homeHallAdapter = new HomeHallAdapter(mContext, chatRoomMessageList); - publicChatHallMsgView.setAdapter(homeHallAdapter); - publicChatHallMsgView.scrollToPosition(homeHallAdapter.getItemCount() - 1); - //增加刷新功能 - swipeRefresh.setOnRefreshListener(() -> getMvpPresenter().loadData()); - - } - - /** - * 设置音游头条数据 - */ - private void setTuTuTopMessageData(VMTopMessageInfo topMessageInfo) { - ErbanTopMessageAdapter adapter = new ErbanTopMessageAdapter(mContext, topMessageInfo.getVmTopMessageList()); - betterMarqueeView.setAdapter(adapter); - betterMarqueeView.start(); - llTopMsgContainer.setOnClickListener(v -> PublicChatHallHomeActivity.openHeadlinePage(mContext)); - } - - - @Override - public void onResume() { - super.onResume(); - if (null == getMvpPresenter().getFindInfo()) { - getMvpPresenter().loadData(); -// getMvpPresenter().loadNewerList(); - } - } - - @Override - public void onHiddenChanged(boolean hidden) { - super.onHiddenChanged(hidden); - if (!hidden) { - getMvpPresenter().loadData(); -// getMvpPresenter().loadNewerList(); - } - - } - - @Override - public void onClick(View v) { - int id = v.getId(); - if (id == tvMore.getId() || id == tvHallNewAitTips.getId() || id == llPublicChatHallContainer.getId()) { - PublicChatHallHomeActivity.openPublicChatHallPage(mContext); - makeFriendsHallInfo.setAitUserName(null); - if (tvHallNewAitTips.getVisibility() == View.VISIBLE) { - tvHallNewAitTips.setVisibility(View.GONE); - } - } else if (id == llMentoringRelationship.getId()) { - MentoringRelationshipActivity.start(mContext); - - StatisticManager.Instance().onEvent(StatisticsProtocol.Event.FIND_APPRENTICE_ENTRANCE, "收个徒弟赢钻石"); - } - } - - @Override - public void onLoadData(FindInfo findInfo) { - swipeRefresh.setRefreshing(false); - findAdapter.setNewData(findInfo.getBanners()); - //设置banner - setBannerData(findInfo.getBannerVos()); - VMTopMessageInfo info = getMvpPresenter().transformHomeData2TopMessageInfos(findInfo.getTopLineVos()); - if (info == null) { - llTopMsgContainer.setVisibility(View.GONE); - } else { - llTopMsgContainer.setVisibility(View.VISIBLE); - setTuTuTopMessageData(info); - } - } - - private void setBannerData(List bannerList) { - if (!ListUtils.isListEmpty(bannerList)) { - //审核中状态,去掉跳转房间banner - if (MarketVerifyModel.get().isMarketChecking()) { - Iterator iterator = bannerList.iterator(); - while (iterator.hasNext()) { - BannerInfo bannerInfo = iterator.next(); - if (bannerInfo.getSkipType() == 2) { - iterator.remove(); - } - } - } - ViewGroup.LayoutParams layoutParams = rollPagerView.getLayoutParams(); - int bannerWidth = UIUtil.getScreenWidth(mContext) - UIUtil.dip2px(mContext, 20) * 2; - layoutParams.width = bannerWidth; - layoutParams.height = bannerWidth * 232 / 670; - rollPagerView.setLayoutParams(layoutParams); - - rollPagerView.setHintView(new ColorPointHintView(mContext, Color.WHITE, mContext.getResources().getColor(R.color.color_66FFFFFF)) { - @Override - public Drawable makeFocusDrawable() { - GradientDrawable dotFocus = new GradientDrawable(); - dotFocus.setColor(Color.WHITE); - dotFocus.setCornerRadius(Util.dip2px(getContext(), 2)); - dotFocus.setSize(Util.dip2px(getContext(), 9), Util.dip2px(getContext(), 4)); - return dotFocus; - } - - @Override - public Drawable makeNormalDrawable() { - GradientDrawable dotNormal = new GradientDrawable(); - dotNormal.setColor(mContext.getResources().getColor(R.color.color_66FFFFFF)); - dotNormal.setCornerRadius(Util.dip2px(getContext(), 2)); - dotNormal.setSize(Util.dip2px(getContext(), 4), Util.dip2px(getContext(), 4)); - return dotNormal; - } - }); - - BannerAdapter bannerAdapter = new BannerAdapter(bannerList, mContext); - rollPagerView.setAdapter(bannerAdapter); - rollPagerView.setPlayDelay(3000); - //设置透明度 - rollPagerView.setAnimationDurtion(500); - rollPagerView.setVisibility(View.VISIBLE); - bannerAdapter.notifyDataSetChanged(); - } else { - rollPagerView.setVisibility(View.GONE); - } - } - - @Override - public void onLoadDataFail(String error) { - swipeRefresh.setRefreshing(false); -// Toast.makeText(this.getContext(), error, Toast.LENGTH_SHORT).show(); - SingleToastUtil.showToastShort(error); - } - -// @Override -// public void onLoadNewUserList(List userInfoList) { -// if (!ListUtils.isListEmpty(userInfoList)) { -// newUserAvatarOne.setVisibility(View.GONE); -// newUserAvatarTwo.setVisibility(View.GONE); -// newUserAvatarThree.setVisibility(View.GONE); -// for (int i = 0; i < userInfoList.size(); i++) { -// if (i == 0) { -// newUserAvatarOne.setVisibility(View.VISIBLE); -// ImageLoadUtils.loadAvatar(getContext(), userInfoList.get(i).getAvatar(), newUserAvatarOne); -// } -// if (i == 1) { -// newUserAvatarTwo.setVisibility(View.VISIBLE); -// ImageLoadUtils.loadAvatar(getContext(), userInfoList.get(i).getAvatar(), newUserAvatarTwo); -// } -// if (i == 2) { -// newUserAvatarThree.setVisibility(View.VISIBLE); -// ImageLoadUtils.loadAvatar(getContext(), userInfoList.get(i).getAvatar(), newUserAvatarThree); -// } -// } -// } -// } - - @Subscribe(threadMode = ThreadMode.MAIN) - public void onPublicChatHallHistoryEvent(PublicChatHallHistoryEvent event) { - ArrayList list = new ArrayList<>(event.getMessages()); - Collections.reverse(list); - while (list.size() > hallMsgMaxSize) { - list.remove(0); - } - updateHallData(list); - } - - @Subscribe(threadMode = ThreadMode.MAIN) - public void onPublicChatHallMsgIncomingEvent(PublicChatHallMsgIncomingEvent event) { - ArrayList chatRoomMessages = new ArrayList<>(); - chatRoomMessages.add(event.getChatRoomMessage()); - updateHallData(chatRoomMessages); - } - - - private void updateHallData(List messageList) { - if (ListUtils.isListEmpty(makeFriendsHallInfo.getMsgList())) { - ArrayList list = new ArrayList<>(messageList); - makeFriendsHallInfo.setMsgList(transformChatRoomMessage(list)); - } else { - while (makeFriendsHallInfo.getMsgList().size() > hallMsgMaxSize) { - makeFriendsHallInfo.getMsgList().remove(0); - } - makeFriendsHallInfo.getMsgList().addAll(transformChatRoomMessage(messageList)); - } - - List chatRoomMessageList = makeFriendsHallInfo.getMsgList(); - homeHallAdapter.setNewData(chatRoomMessageList); - publicChatHallMsgView.scrollToPosition(homeHallAdapter.getItemCount() - 1); - - - } - - @Subscribe(threadMode = ThreadMode.MAIN) - public void onPublicChatHallAitMeEvent(PublicChatHallAitMeEvent event) { - makeFriendsHallInfo.setAitUserName(event.getNick()); - if (!TextUtils.isEmpty(makeFriendsHallInfo.getAitUserName())) { - tvHallNewAitTips.setVisibility(View.VISIBLE); - String temp = makeFriendsHallInfo.getAitUserName(); - if (temp.length() >= 6) { - temp = temp.substring(0, 4).concat("..."); - } - tvHallNewAitTips.setText(String.format(mContext.getResources().getString(R.string.hall_new_ait_tip), temp)); - } else { - tvHallNewAitTips.setVisibility(View.GONE); - } - - } - - /** - * 把chatRoomMessage 转换成我们首页显示上的bean - * - * @param messageList - * @return - */ - private List transformChatRoomMessage(List messageList) { - List homeHallMsgInfos = new ArrayList<>(); - - for (ChatRoomMessage chatRoomMessage : messageList) { - if (chatRoomMessage.getAttachment() instanceof ImTipAttachment) { - continue; - } - - if (isNeedShowTimeFlag(chatRoomMessage, tempMsg)) { - HomeHallMsgInfo item = new HomeHallMsgInfo(); - item.setItemType(HomeHallMsgInfo.ITEM_TYPE_TIP); - item.setMessageType(HomeHallMsgInfo.MESSAGE_TYPE_TIME); - item.setFormatTime(chatHallTimeFormater.format(new Date(chatRoomMessage.getTime()))); - homeHallMsgInfos.add(item); - } - tempMsg = chatRoomMessage; - - HomeHallMsgInfo item = new HomeHallMsgInfo(); - item.setFromAccount(chatRoomMessage.getFromAccount()); - if (item.getFromAccount().equals(String.valueOf(AuthModel.get().getCurrentUid()))) { - item.setItemType(HomeHallMsgInfo.ITEM_TYPE_RIGHT); - } else { - item.setItemType(HomeHallMsgInfo.ITEM_TYPE_LEFT); - } - final com.netease.nimlib.sdk.uinfo.model.UserInfo userInfo = NimUIKit.getUserInfoProvider().getUserInfo(chatRoomMessage.getFromAccount()); - if (userInfo != null) { - item.setSenderAvatar(userInfo.getAvatar()); - } - item.setNick(ChatRoomViewHolderHelper.getNameText(chatRoomMessage)); - item.setContent(chatRoomMessage.getContent()); - //贵族等级,等级,魅力等级相关 - Map remoteExtension = chatRoomMessage.getRemoteExtension(); - if (remoteExtension != null) { - Map extension = (Map) remoteExtension.get(chatRoomMessage.getFromAccount()); - if (extension != null) { - item.setNobleLevel(extension.get(NobleResourceType.KEY_LEVEL) + ""); - item.setUserLevelUrl((String) extension.get(UserLevelResourceType.EXPER_URL)); - item.setUserCharmLevelUrl((String) extension.get(UserLevelResourceType.CHARM_URL)); - if (extension.get(UserInfo.IS_OFFICIAL) != null) { - item.setOfficial((Boolean) extension.get(UserInfo.IS_OFFICIAL)); - } else { - if (extension.get(UserInfo.DEF_USER) != null) { - int userType = (int) extension.get(UserInfo.DEF_USER); - item.setOfficial(userType == UserInfo.USER_TYPE_OFFICIAL); - } - } - if (extension.get(UserInfo.IS_NEW_USER) != null) { - item.setNewUser((Boolean) extension.get(UserInfo.IS_NEW_USER)); - } - if (extension.get(UserInfo.HAS_PRETTY) != null) { - item.setPrettyErbanNo((Boolean) extension.get(UserInfo.HAS_PRETTY - )); - } - - if (extension.get(UserInfo.OAC_NAME) != null) { - item.setFixedWord((String) extension.get(UserInfo.OAC_NAME)); - } - - if (extension.get(UserInfo.OAC_ICON) != null) { - item.setIconPic((String) extension.get(UserInfo.OAC_ICON)); - } - - } - } - - //礼物的消息的时候 - MsgAttachment attachment = chatRoomMessage.getAttachment(); - if (attachment != null) { - CustomAttachment customAttachment = (CustomAttachment) chatRoomMessage.getAttachment(); - int first = customAttachment.getFirst(); - int second = customAttachment.getSecond(); - if (first == CustomAttachment.CUSTOM_MSG_PUBLIC_CHAT_HALL) { - if (second == CustomAttachment.CUSTOM_MSG_SUB_PUBLIC_CHAT_HALL_GIFT) { - GiftAttachment giftAttachment = (GiftAttachment) customAttachment; - GiftReceiveInfo giftReceiveInfo = giftAttachment.getGiftReceiveInfo(); - item.setMessageType(HomeHallMsgInfo.MESSAGE_TYPE_GIFT); - item.setTargetNick(giftReceiveInfo.getTargetNick()); - item.setGiftCount(giftReceiveInfo.getGiftNum()); - GiftInfo giftInfo = giftReceiveInfo.getGift(); - if (giftInfo == null) { - giftInfo = GiftModel.get().findGiftInfoById(giftReceiveInfo.getGiftId()); - } - if (null != giftInfo) { - item.setGiftImage(giftInfo.getGiftUrl()); - } - - //这里使得内容不为空 - String sb = "赠送 " + giftReceiveInfo.getTargetNick() + "\n" + - "礼物" + - "x" + - giftReceiveInfo.getGiftNum(); - item.setContent(sb); - } else if (second == CustomAttachment.CUSTOM_MSG_SUB_PUBLIC_CHAT_HALL_AIT) { - AitFriendsAttachment aitFriendsAttachment = (AitFriendsAttachment) customAttachment; - AitFriendsInfo aitFriendsInfo = aitFriendsAttachment.getAitFriendsInfo(); - item.setContent(aitFriendsInfo.getContent()); - } - } - } - - homeHallMsgInfos.add(item); - } - return homeHallMsgInfos; - } - - private boolean isNeedShowTimeFlag(ChatRoomMessage message, @Nullable ChatRoomMessage anchor) { - boolean update = false; - if (anchor == null) { - return true; - } - long time = anchor.getTime(); - long now = message.getTime(); - if (now - time > (long) (5 * 60 * 1000)) { - update = true; - } - return update; - } - - @Subscribe(threadMode = ThreadMode.MAIN) - public void onLoginEvent(LoginEvent event) { - //不同用户的,签到和任务状态不同,需要刷新 - getMvpPresenter().loadData(); - } - - @Subscribe(threadMode = ThreadMode.MAIN) - public void onSignInSuccessEvent(SignInSuccessEvent event) { - //签到成功,做一下数字处理 - if (findAdapter == null) { - return; - } - List list = findAdapter.getData(); - if (ListUtils.isListEmpty(list)) { - return; - } - for (FindEntranceInfo info : list) { - if (info == null) { - continue; - } - if (info.getActivityType() == FindEntranceInfo.ACTIVITYTYPE_SIGN_IN) { - info.setSignStatus(true); - } else if (info.getActivityType() == FindEntranceInfo.ACTIVITYTYPE_TASK) { - int num = info.getMissionNum() - 1; - if (num < 0) { - num = 0; - } - info.setMissionNum(num); - } - } - findAdapter.notifyDataSetChanged(); - } - - @Subscribe(threadMode = ThreadMode.MAIN) - public void onReceivePrizeEvent(ReceivePrizeEvent event) { - getMvpPresenter().loadData(); - } - -} diff --git a/app/src/main/java/com/yizhuan/erban/home/fragment/FindTabFragment.java b/app/src/main/java/com/yizhuan/erban/home/fragment/FindTabFragment.java deleted file mode 100644 index cfa12d8b9..000000000 --- a/app/src/main/java/com/yizhuan/erban/home/fragment/FindTabFragment.java +++ /dev/null @@ -1,229 +0,0 @@ -package com.yizhuan.erban.home.fragment; - -import android.annotation.SuppressLint; -import com.google.android.material.appbar.AppBarLayout; -import androidx.coordinatorlayout.widget.CoordinatorLayout; -import androidx.fragment.app.Fragment; -import androidx.viewpager.widget.ViewPager; -import android.view.View; -import android.widget.FrameLayout; -import android.widget.RelativeLayout; -import android.widget.TextView; - -import com.netease.nim.uikit.common.ui.draggablebubbles.BubbleView; -import com.yizhuan.erban.R; -import com.yizhuan.erban.base.BaseMvpFragment; -import com.yizhuan.erban.common.widget.DragLayout; -import com.yizhuan.erban.community.publish.view.PublishActivity; -import com.yizhuan.erban.home.adapter.FragmentViewPagerAdapter; -import com.yizhuan.erban.home.adapter.TopMagicIndicatorAdapter; -import com.yizhuan.erban.home.presenter.FindTabFragmentPresenter; -import com.yizhuan.erban.home.view.IFindTabFragmentView; -import com.yizhuan.erban.community.square.SquareFragment; -import com.yizhuan.erban.ui.behavior.FixAppBarBehavior; -import com.yizhuan.erban.ui.widget.OnPageSelectedListener; -import com.yizhuan.erban.ui.widget.magicindicator.MagicIndicator; -import com.yizhuan.erban.ui.widget.magicindicator.ViewPagerHelper; -import com.yizhuan.erban.ui.widget.magicindicator.buildins.commonnavigator.CommonNavigator; -import com.yizhuan.xchat_android_core.auth.AuthModel; -import com.yizhuan.xchat_android_core.community.event.UnReadCountEvent; -import com.yizhuan.xchat_android_core.home.model.HomeModel; -import com.yizhuan.xchat_android_core.market_verify.MarketVerifyModel; -import com.yizhuan.xchat_android_core.statistic.StatisticManager; -import com.yizhuan.xchat_android_core.statistic.protocol.StatisticsProtocol; -import com.yizhuan.xchat_android_core.user.event.LoadLoginUserInfoEvent; -import com.yizhuan.xchat_android_library.base.factory.CreatePresenter; - -import org.greenrobot.eventbus.EventBus; -import org.greenrobot.eventbus.Subscribe; -import org.greenrobot.eventbus.ThreadMode; - -import java.util.ArrayList; -import java.util.List; - -import io.reactivex.functions.BiConsumer; - -import static android.view.View.GONE; -import static android.view.View.VISIBLE; - -@CreatePresenter(FindTabFragmentPresenter.class) -public class FindTabFragment extends BaseMvpFragment - implements IFindTabFragmentView, TopMagicIndicatorAdapter.OnItemSelectListener, View.OnClickListener { - - public static final String TAG = "FindTabFragment"; - - private MagicIndicator miHomeIndicator; - private ViewPager mainViewpager; - - private FrameLayout flContactList; - private TextView tvCommunityUnread; - private AppBarLayout appBarLayout; - private RelativeLayout rlTopGroup; - private DragLayout ivSquarePublish; - - public static Fragment newInstance() { - return new FindFragment(); - } - - @Override - public int getRootLayoutId() { - return R.layout.fragment_find_tab; - } - - @Override - public void onFindViews() { - miHomeIndicator = mView.findViewById(R.id.mi_home_indicator); - mainViewpager = mView.findViewById(R.id.main_viewpager); - - flContactList = mView.findViewById(R.id.fl_contact_list); - tvCommunityUnread = mView.findViewById(R.id.msg_number); - appBarLayout = mView.findViewById(R.id.app_bar_layout); - - rlTopGroup = mView.findViewById(R.id.rl_top_group); - ivSquarePublish = mView.findViewById(R.id.iv_square_publish); - } - - @Override - public void onSetListener() { - if (flContactList != null) { - flContactList.setOnClickListener(this); - } - - if (ivSquarePublish != null) { - ivSquarePublish.setOnClickListener(this); - } - } - - @Override - public void initiate() { - EventBus.getDefault().register(this); - - List mTabInfoList = new ArrayList<>(); - List fragmentList = new ArrayList<>(); - - //广场 1.3.2版本添加 - mTabInfoList.add(getResources().getString(R.string.dys_find_tab_square)); - fragmentList.add(SquareFragment.newInstance()); - - mTabInfoList.add(getResources().getString(R.string.main_find)); - fragmentList.add(FindFragment.newInstance()); - - if (!MarketVerifyModel.get().isMarketChecking()) { - mTabInfoList.add(getResources().getString(R.string.main_tab_family)); - fragmentList.add(FamilyFragment.newInstance()); - } - - CommonNavigator commonNavigator = new CommonNavigator(getContext()); - TopMagicIndicatorAdapter magicIndicatorAdapter = new TopMagicIndicatorAdapter(getContext(), mTabInfoList); - magicIndicatorAdapter.setOnItemSelectListener(this); - - commonNavigator.setAdapter(magicIndicatorAdapter); - miHomeIndicator.setNavigator(commonNavigator); - mainViewpager.setAdapter(new FragmentViewPagerAdapter(getChildFragmentManager(), fragmentList)); - mainViewpager.setOffscreenPageLimit(3); - ViewPagerHelper.bind(miHomeIndicator, mainViewpager); - - getUnReadCount(); - mainViewpager.addOnPageChangeListener(new OnPageSelectedListener() { - @Override - public void onPageSelected(int position) { - updateTopView(position); - } - }); - updateTopView(0); - - } - - private void updateTopView(int currPos) { - AppBarLayout.LayoutParams params = (AppBarLayout.LayoutParams) rlTopGroup.getLayoutParams(); - if (currPos == 0) { - ivSquarePublish.setVisibility(VISIBLE); - flContactList.setVisibility(VISIBLE); - params.setScrollFlags(AppBarLayout.LayoutParams.SCROLL_FLAG_SCROLL); - } else { - ivSquarePublish.setVisibility(GONE); - flContactList.setVisibility(View.INVISIBLE); - params.setScrollFlags(0); - } - rlTopGroup.setLayoutParams(params); - } - - - public void scrollToTop() { - try { - FixAppBarBehavior behavior = (FixAppBarBehavior) - ((CoordinatorLayout.LayoutParams)appBarLayout.getLayoutParams()) - .getBehavior(); - if (behavior != null) { - behavior.setTopAndBottomOffset(0); - } - } catch (Exception ex) { - ex.printStackTrace(); - } - } - - @Override - public void onItemSelect(int position) { - mainViewpager.setCurrentItem(position); - } - - @Subscribe(threadMode = ThreadMode.MAIN) - public void onUnReadCount(UnReadCountEvent event) { - setNumber(event.getTotal()); - } - - @SuppressLint("SetTextI18n") - public void setNumber(int number) { - if(tvCommunityUnread instanceof BubbleView){ - ((BubbleView) tvCommunityUnread).setNumText(number); - return; - } - tvCommunityUnread.setVisibility(number <= 0 ? GONE : VISIBLE); - if (number > 99) { - tvCommunityUnread.setText("99+"); - } else - tvCommunityUnread.setText(String.valueOf(number)); - } - - @Override - public void onDestroyView() { - super.onDestroyView(); - EventBus.getDefault().unregister(this); - } - - @Subscribe(threadMode = ThreadMode.MAIN) - public void onLoginUserInfoUpdateEvent(LoadLoginUserInfoEvent event) { - getUnReadCount(); - } - - @SuppressWarnings("CheckResult") - private void getUnReadCount() { - HomeModel.get().getUnreadCount(AuthModel.get().getCurrentUid()) - .compose(bindToLifecycle()) - .subscribe(new BiConsumer() { - @Override - public void accept(Integer integer, Throwable throwable) throws Exception { - if (integer != null) { - EventBus.getDefault().post(new UnReadCountEvent(integer)); - } - } - }); - } - - @Override - public void onClick(View v) { - switch (v.getId()) { - case R.id.fl_contact_list: - CommunityNoticeAct.start(mContext); - break; - - case R.id.iv_square_publish: - StatisticManager.Instance().onEvent(StatisticsProtocol.Event.EVENT_WORLD_PUBLISH_MOMENTS_B, - "发布动态-广场"); - StatisticManager.Instance().onEvent(StatisticsProtocol.Event.EVENT_WORLD_PUBLISH_MOMENTS, - "发布动态-区分话题-无话题"); - PublishActivity.start(getDialogManager()); - break; - } - } -} diff --git a/app/src/main/java/com/yizhuan/erban/home/fragment/HomeFragment.java b/app/src/main/java/com/yizhuan/erban/home/fragment/HomeFragment.java index 025bc0d33..5c6b97ffa 100644 --- a/app/src/main/java/com/yizhuan/erban/home/fragment/HomeFragment.java +++ b/app/src/main/java/com/yizhuan/erban/home/fragment/HomeFragment.java @@ -116,7 +116,6 @@ public class HomeFragment extends BaseMvpFragment mTabInfoList = new ArrayList<>(); private FragmentGameHomeBinding mBinding; private List mFragmentsBottom; - private Handler uiHandler; private boolean needAutoScroll = true; private HomeAddFriendsAdapter addFriendsAdapter; private BannerAdapter bannerAdapter; @@ -193,7 +192,6 @@ public class HomeFragment extends BaseMvpFragment tagListInfoList) { - - } - - @Override - public void titleListFail(String msg) { - SingleToastUtil.showToast(msg); - } - /** * 推荐房间 * @@ -401,21 +389,6 @@ public class HomeFragment extends BaseMvpFragment bannerInfos) { setBanner(bannerInfos); @@ -474,14 +447,6 @@ public class HomeFragment extends BaseMvpFragment> bannerHomeItem; - - /** - * 用于显示的数据 - */ - private List totalHomeItemList = new ArrayList<>(); - - public static HomeOtherTabFragment newInstance(int tabId) { - - Bundle args = new Bundle(); - args.putString(PARAM_TAB_ID, String.valueOf(tabId)); - HomeOtherTabFragment fragment = new HomeOtherTabFragment(); - fragment.setArguments(args); - return fragment; - } - - public HomeOtherTabFragment() { - // Required empty public constructor - } - - @Override - public void onCreate(@Nullable Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - if (getArguments() != null) { - tabId = getArguments().getString(PARAM_TAB_ID); - } - } - - - @Override - public int getRootLayoutId() { - return R.layout.fragment_home_other_tab; - } - - @Override - public void onFindViews() { - super.onFindViews(); - recyclerView = mView.findViewById(R.id.recycler_view); - smartRefreshLayout = mView.findViewById(R.id.smart_refresh_layout); - initRefreshView(); - initRecyclerView(); - - } - - private void initRefreshView() { - - smartRefreshLayout.setEnableRefresh(true); - smartRefreshLayout.setOnRefreshListener(new OnRefreshLoadmoreListener() { - @Override - public void onLoadmore(RefreshLayout refreshlayout) { - loadMoreData(); - } - - @Override - public void onRefresh(RefreshLayout refreshlayout) { - refreshData(); - } - }); - smartRefreshLayout.setEnableLoadmore(false); - - } - - /** - * 刷新数据 - */ - public void refresh() { - smartRefreshLayout.autoRefresh(); - } - - /** - * 刷新数据 - */ - private void refreshData() { - pageIndex = 1; - getData(true); - } - - private void loadMoreData() { - getData(false); - } - - /** - * 请求数据 - */ - @SuppressLint("CheckResult") - private void getData(boolean isRefresh) { - HomeModel.get() - .getTabRoomList(pageIndex, PAGE_SIZE, tabId) - .map(new Function, List>() { - @Override - public List apply(List homeRooms) throws Exception { - - if (ListUtils.isListEmpty(homeRooms)) { - return new ArrayList<>(); - } - List list = new ArrayList<>(homeRooms.size()); - for (HomeRoom homeRoom : homeRooms) { - HomeItem homeItem = new HomeItem(HomeItem.TYPE_BLOCK_SINGLE, homeRoom); - list.add(homeItem); - } - return list; - } - }) - .compose(RxHelper.handleSchedulers()) - .compose(bindUntilEvent(FragmentEvent.DESTROY_VIEW)) - .subscribe(new BiConsumer, Throwable>() { - @Override - public void accept(List homeItems, Throwable throwable) throws Exception { - if (throwable == null) { - if (ListUtils.isListEmpty(homeItems)) { - mHomeHotAdapter.setEnableLoadMore(false); - if (isRefresh) { - totalHomeItemList.clear(); - mHomeHotAdapter.notifyDataSetChanged(); - } - } else { - pageIndex++; - //添加虚位以待 - int count = homeItems.size() % ROWS; - if (count != 0) { - count = ROWS - count; - } - for (int i = 0; i < count; i++) { - homeItems.add(new HomeItem(HomeItem.TYPE_DOUBLE_SQUARE_EMPTY)); - } - synchronized (lock) { - if (isRefresh) { - totalHomeItemList.clear(); - - totalHomeItemList.addAll(homeItems); - isContainsBanner = false; - recombinationData(); - } else { - totalHomeItemList.addAll(homeItems); - mHomeHotAdapter.notifyDataSetChanged(); - } - mHomeHotAdapter.setEnableLoadMore(true); - } - } - - } else { - if (!(throwable instanceof CancellationException)) { - toast("请求失败,请稍后再试!!" + throwable.getMessage()); - } - } - if (isRefresh) { - smartRefreshLayout.finishRefresh(); - mHomeHotAdapter.loadMoreComplete(); - } else { - mHomeHotAdapter.loadMoreComplete(); - } - - } - }); - } - - private void initRecyclerView() { - recyclerView.setLayoutManager(new LinearLayoutManager(getContext())); - recyclerView.setItemAnimator(null); - mHomeHotAdapter = new HomeFragmentAdapter(getContext(), totalHomeItemList); - mHomeHotAdapter.setEnableLoadMore(false); - GridLayoutManager gridLayoutManager = new GridLayoutManager(getContext(), ROWS); - mHomeHotAdapter.setSpanSizeLookup(new BaseQuickAdapter.SpanSizeLookup() { - @Override - public int getSpanSize(GridLayoutManager gridLayoutManager, int position) { - HomeItem homeItem = mHomeHotAdapter.getItem(position); - if (homeItem != null && (homeItem.getItemType() == HomeItem.TYPE_BLOCK_SINGLE || homeItem.getItemType() == HomeItem.TYPE_DOUBLE_SQUARE_EMPTY)) { - return 1; - } - return gridLayoutManager.getSpanCount(); - } - }); - mHomeHotAdapter.setOnLoadMoreListener(new BaseQuickAdapter.RequestLoadMoreListener() { - @Override - public void onLoadMoreRequested() { - loadMoreData(); - } - }, recyclerView); - mHomeHotAdapter.setEnableLoadMore(false); - recyclerView.setLayoutManager(gridLayoutManager); - recyclerView.setAdapter(mHomeHotAdapter); - - View emptyView = getLayoutInflater().inflate(R.layout.layout_home_empty_no_header, null); - ViewGroup.LayoutParams lp = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT); - emptyView.setLayoutParams(lp); - mHomeHotAdapter.setEmptyView(emptyView); - - } - - @Override - public void initiate() { - refresh(); - initBanner(); - } - - private void initBanner() { - HomeModel.get() - .getTabBanner(tabId) - .map(new Function, HomeItem>>() { - @Override - public HomeItem> apply(ArrayList bannerInfos) throws Exception { - if (ListUtils.isListEmpty(bannerInfos)) { - return null; - } - HomeItem homeItem = new HomeItem(HomeItem.TYPE_BANNER_NO_TOP_BG, bannerInfos); - return homeItem; - } - }) - .compose(RxHelper.handleSchedulers()) - .compose(bindToLifecycle()) - .subscribe(new BiConsumer>, Throwable>() { - @Override - public void accept(HomeItem> homeItem, Throwable throwable) throws Exception { - if (throwable == null) { - bannerHomeItem = homeItem; - recombinationData(); - } - } - }); - } - - private void recombinationData() { - synchronized (lock) { - List homeItems = totalHomeItemList; - if (bannerHomeItem != null && !isContainsBanner) { - - totalHomeItemList.add(homeItems.size() > 4 ? 4 : homeItems.size(), bannerHomeItem); - isContainsBanner = true; - } - mHomeHotAdapter.notifyDataSetChanged(); - } - } - - @Override - public void setUserVisibleHint(boolean isVisibleToUser) { - super.setUserVisibleHint(isVisibleToUser); - } - - @SuppressLint("ResourceType") - @Override - public void showNoData(View view, int drawable, CharSequence charSequence) { - if (!checkActivityValid()) { - return; - } - - if (view == null) { - MLog.error(this, "xuwakao, showNoData view is NULL"); - return; - } - View status = view.findViewById(R.id.status_layout); - if (status == null || status.getId() <= 0) { - MLog.error(this, "xuwakao, had not set layout id "); - return; - } - NoDataFragment fragment = NoDataFragment.newInstance(R.layout.layout_home_empty_no_header, drawable, charSequence); - fragment.setListener(getLoadListener()); - getChildFragmentManager().beginTransaction().replace(status.getId(), fragment, STATUS_TAG).commitAllowingStateLoss(); - } -} diff --git a/app/src/main/java/com/yizhuan/erban/home/fragment/HottestKTVRoomFragment.java b/app/src/main/java/com/yizhuan/erban/home/fragment/HottestKTVRoomFragment.java deleted file mode 100644 index f5643a7a2..000000000 --- a/app/src/main/java/com/yizhuan/erban/home/fragment/HottestKTVRoomFragment.java +++ /dev/null @@ -1,145 +0,0 @@ -package com.yizhuan.erban.home.fragment; - -import android.graphics.Color; -import androidx.fragment.app.Fragment; -import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; -import androidx.recyclerview.widget.LinearLayoutManager; -import androidx.recyclerview.widget.RecyclerView; - -import com.chad.library.adapter.base.BaseQuickAdapter; -import com.yizhuan.erban.R; -import com.yizhuan.erban.base.BaseMvpFragment; -import com.yizhuan.erban.home.adapter.KTVTypeRoomAdapter; -import com.yizhuan.erban.home.presenter.HottestKTVRoomFragmentPresenter; -import com.yizhuan.erban.home.view.IHottestKTVRoomFragmentView; -import com.yizhuan.erban.ui.widget.marqueeview.Utils; -import com.yizhuan.erban.ui.widget.recyclerview.decoration.ColorDecoration; -import com.yizhuan.xchat_android_core.home.bean.KTVRoom; -import com.yizhuan.xchat_android_library.base.factory.CreatePresenter; -import com.yizhuan.xchat_android_library.utils.ListUtils; - -import java.util.List; - -import io.reactivex.SingleObserver; -import io.reactivex.android.schedulers.AndroidSchedulers; -import io.reactivex.disposables.Disposable; -import io.reactivex.functions.Action; - -/** - * @author jack - * @Description - * @Date 2018/10/31 - */ -@CreatePresenter(HottestKTVRoomFragmentPresenter.class) -public class HottestKTVRoomFragment extends BaseMvpFragment - implements IHottestKTVRoomFragmentView, SwipeRefreshLayout.OnRefreshListener, BaseQuickAdapter.RequestLoadMoreListener { - - private SwipeRefreshLayout srlRefreshContainer; - private RecyclerView rvList; - - private KTVTypeRoomAdapter adapter; - - public static Fragment newInstance() { - return new HottestKTVRoomFragment(); - } - - @Override - public int getRootLayoutId() { - return R.layout.fragment_hottest_ktv; - } - - @Override - public void onFindViews() { - srlRefreshContainer = (SwipeRefreshLayout) getView().findViewById(R.id.srl_refresh_container); - rvList = (RecyclerView) getView().findViewById(R.id.rv_list); - rvList.setLayoutManager(new LinearLayoutManager(getContext(), LinearLayoutManager.VERTICAL, false)); - rvList.addItemDecoration(new ColorDecoration(Color.TRANSPARENT, 0, Utils.dip2px(getContext(), 10), false)); - adapter = new KTVTypeRoomAdapter(getContext(), null); - adapter.setEnableLoadMore(true); - adapter.setOnLoadMoreListener(this, rvList); - rvList.setAdapter(adapter); - } - - @Override - public void onSetListener() { - srlRefreshContainer.setOnRefreshListener(this); - } - - @Override - public void initiate() { - } - - @Override - public void onResume() { - super.onResume(); - onRefresh(); - } - - @Override - public void onReloadData() { - super.onReloadData(); - onRefresh(); - } - - @Override - public void onRefresh() { - getMvpPresenter().refreshData() - .observeOn(AndroidSchedulers.mainThread()) - .doAfterTerminate(new Action() { - @Override - public void run() throws Exception { - srlRefreshContainer.setRefreshing(false); - } - }) - .subscribe(new SingleObserver>() { - @Override - public void onSubscribe(Disposable d) { - - } - - @Override - public void onSuccess(List roomList) { - if (ListUtils.isListEmpty(roomList)) { - showNoData(); - return; - } - hideStatus(); - adapter.setNewData(roomList); - } - - - @Override - public void onError(Throwable e) { - showNetworkErr(); - toast(e.getMessage()); - } - }); - } - - @Override - public void onLoadMoreRequested() { - getMvpPresenter().loadMoreData() - .observeOn(AndroidSchedulers.mainThread()) - .subscribe(new SingleObserver>() { - @Override - public void onSubscribe(Disposable d) { - - } - - @Override - public void onSuccess(List strings) { - if (!ListUtils.isListEmpty(strings)) { - adapter.addData(strings); - adapter.loadMoreComplete(); - } else { - adapter.loadMoreEnd(true); - } - } - - @Override - public void onError(Throwable e) { - toast(e.getMessage()); - } - }); - } -} diff --git a/app/src/main/java/com/yizhuan/erban/home/fragment/KTVFragment.java b/app/src/main/java/com/yizhuan/erban/home/fragment/KTVFragment.java deleted file mode 100644 index 16bb83780..000000000 --- a/app/src/main/java/com/yizhuan/erban/home/fragment/KTVFragment.java +++ /dev/null @@ -1,93 +0,0 @@ -package com.yizhuan.erban.home.fragment; - -import androidx.fragment.app.Fragment; -import androidx.viewpager.widget.ViewPager; -import android.widget.LinearLayout; - -import com.yizhuan.erban.R; -import com.yizhuan.erban.base.BaseMvpFragment; -import com.yizhuan.erban.home.adapter.CommonMagicIndicatorAdapter; -import com.yizhuan.erban.home.adapter.FragmentViewPagerAdapter; -import com.yizhuan.erban.home.presenter.KTVFragmentPresenter; -import com.yizhuan.erban.home.view.IKTVFragmentView; -import com.yizhuan.erban.ui.widget.magicindicator.MagicIndicator; -import com.yizhuan.erban.ui.widget.magicindicator.ViewPagerHelper; -import com.yizhuan.erban.ui.widget.magicindicator.buildins.commonnavigator.CommonNavigator; -import com.yizhuan.xchat_android_core.home.bean.TabInfo; -import com.yizhuan.xchat_android_library.base.factory.CreatePresenter; - -import java.util.ArrayList; -import java.util.List; - -/** - * @author jack - * @Description - * @Date 2018/10/29 - */ -@CreatePresenter(KTVFragmentPresenter.class) -public class KTVFragment extends BaseMvpFragment - implements IKTVFragmentView, CommonMagicIndicatorAdapter.OnItemSelectListener { - - private MagicIndicator miIndicator; - private ViewPager vpKtv; - - - public static Fragment newInstance() { - return new KTVFragment(); - } - - @Override - public int getRootLayoutId() { - return R.layout.fragment_ktv; - } - - @Override - public void onFindViews() { - miIndicator = (MagicIndicator) getView().findViewById(R.id.mi_indicator); - vpKtv = (ViewPager) getView().findViewById(R.id.vp_ktv); - - } - - @Override - public void onSetListener() { - - } - - @Override - public void initiate() { - List tabInfoList = new ArrayList<>(); - tabInfoList.add(new TabInfo(1, getString(R.string.home_ktv_newest))); - tabInfoList.add(new TabInfo(2, getString(R.string.home_ktv_hottest))); - - - List mTabs = new ArrayList<>(); - mTabs.add(NewestKTVRoomFragment.newInstance()); - mTabs.add(HottestKTVRoomFragment.newInstance()); - - - CommonMagicIndicatorAdapter mMsgIndicatorAdapter = new CommonMagicIndicatorAdapter(mContext, tabInfoList, 5); - mMsgIndicatorAdapter.setOnItemSelectListener(this); - CommonNavigator commonNavigator = new CommonNavigator(getContext()); - commonNavigator.setAdjustMode(true); - commonNavigator.setAdapter(mMsgIndicatorAdapter); - miIndicator.setNavigator(commonNavigator); - // must after setNavigator - LinearLayout titleContainer = commonNavigator.getTitleContainer(); - titleContainer.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE); - - vpKtv.setAdapter(new FragmentViewPagerAdapter(getChildFragmentManager(), mTabs)); - ViewPagerHelper.bind(miIndicator, vpKtv); - - } - - @Override - public void onResume() { - super.onResume(); - - } - - @Override - public void onItemSelect(int position) { - vpKtv.setCurrentItem(position); - } -} diff --git a/app/src/main/java/com/yizhuan/erban/home/fragment/MainFragment.java b/app/src/main/java/com/yizhuan/erban/home/fragment/MainFragment.java deleted file mode 100644 index c8d09421d..000000000 --- a/app/src/main/java/com/yizhuan/erban/home/fragment/MainFragment.java +++ /dev/null @@ -1,275 +0,0 @@ -package com.yizhuan.erban.home.fragment; - -import android.view.View; -import android.widget.ImageView; -import android.widget.LinearLayout; - -import androidx.fragment.app.Fragment; -import androidx.viewpager.widget.ViewPager; - -import com.yizhuan.erban.R; -import com.yizhuan.erban.base.BaseMvpFragment; -import com.yizhuan.erban.home.adapter.FragmentViewPagerAdapter; -import com.yizhuan.erban.home.adapter.TopMagicIndicatorAdapter; -import com.yizhuan.erban.home.helper.OpenRoomHelper; -import com.yizhuan.erban.home.presenter.MainFragmentPresenter; -import com.yizhuan.erban.home.view.IMainFragmentTabBg; -import com.yizhuan.erban.home.view.IMainFragmentView; -import com.yizhuan.erban.ui.search.SearchActivity; -import com.yizhuan.erban.ui.widget.magicindicator.MagicIndicator; -import com.yizhuan.erban.ui.widget.magicindicator.ViewPagerHelper; -import com.yizhuan.erban.ui.widget.magicindicator.buildins.UIUtil; -import com.yizhuan.erban.ui.widget.magicindicator.buildins.commonnavigator.CommonNavigator; -import com.yizhuan.erban.ui.widget.magicindicator.ext.MainCommonNavigatorAdapter; -import com.yizhuan.xchat_android_core.home.bean.BannerInfo; -import com.yizhuan.xchat_android_core.home.bean.HomeConcernsInfo; -import com.yizhuan.xchat_android_core.home.bean.HomeTagInfo; -import com.yizhuan.xchat_android_core.home.bean.TagListInfo; -import com.yizhuan.xchat_android_core.market_verify.MarketVerifyModel; -import com.yizhuan.xchat_android_core.room.bean.RoomInfo; -import com.yizhuan.xchat_android_library.base.factory.CreatePresenter; -import com.yizhuan.xchat_android_library.utils.AppMetaDataUtil; - -import java.util.ArrayList; -import java.util.List; - -/** - *

首页 fragment

- * - * @author Administrator - * @date 2017/11/14 - * 修改 jack - */ - -@CreatePresenter(MainFragmentPresenter.class) -public class MainFragment extends BaseMvpFragment - implements IMainFragmentView, View.OnClickListener, TopMagicIndicatorAdapter.OnItemSelectListener, - IMainFragmentTabBg { - - - public static final String TAG = MainFragment.class.getSimpleName(); - - - private MagicIndicator miHomeIndicator; - private ImageView ivSearchRoom; - private ImageView ivOpenRoom; - private ViewPager mainViewpager; - - private LinearLayout llHomeTitle; - private boolean mIsBannerTop = true; - // 有可能出现miHomeIndicator未初始就调用handleGuide的情况 - private boolean showGuide = false; - - @Override - public int getRootLayoutId() { - return R.layout.fragment_main; - } - - @Override - public void onFindViews() { - miHomeIndicator = mView.findViewById(R.id.mi_home_indicator); - ivSearchRoom = (ImageView) mView.findViewById(R.id.iv_search_room); - ivOpenRoom = (ImageView) mView.findViewById(R.id.iv_open_room); - mainViewpager = (ViewPager) mView.findViewById(R.id.main_viewpager); - - llHomeTitle = mView.findViewById(R.id.ll_home_title); - - } - - @Override - public void onSetListener() { - ivSearchRoom.setOnClickListener(this); - ivOpenRoom.setOnClickListener(this); - } - - @Override - public void onClick(View v) { - int id = v.getId(); - if (id == ivSearchRoom.getId()) { - SearchActivity.start(getActivity()); - } else if (id == ivOpenRoom.getId()) { - OpenRoomHelper.openRoom(getBaseActivity()); - } - } - - @Override - public void initiate() { - //初始化延迟到获取到审核结果后 - if (!"baidutg".equals(AppMetaDataUtil.getChannelID())) { - getMvpPresenter().tagList(); - } - } - - @Override - public void requestOpenRoomResult(int openRoomFailType, Object... arg) { - - } - - private void initTabIndicator(List mTabInfoList) { - CommonNavigator commonNavigator = new CommonNavigator(mContext, UIUtil.dip2px(mContext, 20)); - MainCommonNavigatorAdapter commonNavigatorAdapter = new MainCommonNavigatorAdapter(mContext, mTabInfoList); - commonNavigatorAdapter.setOnTabClickListener(index -> mainViewpager.setCurrentItem(index)); - commonNavigator.setAdapter(commonNavigatorAdapter); - miHomeIndicator.setNavigator(commonNavigator); - ViewPagerHelper.bind(miHomeIndicator, mainViewpager); - - if (showGuide) - showGuide(); -// mBinding.mainViewpager.setOffscreenPageLimit(7); - } - - /** - * 审核包,隐藏,重新刷新 - */ - @Override - public void showByMarketCheckingStatus(List tagListInfoList) { - //审核包隐藏搜索 - if (MarketVerifyModel.get().isMarketChecking()) { - ivSearchRoom.setVisibility(View.INVISIBLE); - ivSearchRoom.setEnabled(false); - - } else { - ivSearchRoom.setVisibility(View.VISIBLE); - ivSearchRoom.setEnabled(true); - } - - List mTabInfoList = new ArrayList<>(); - List fragmentList = new ArrayList<>(); - - - mTabInfoList.add(getResources().getString(R.string.main_tab_recommend)); - fragmentList.add(RecommendFragment.newInstance(this)); - for (TagListInfo tagListInfo : tagListInfoList) { - mTabInfoList.add(tagListInfo.getTitleName()); - fragmentList.add(RoomTabFragment.newInstance(tagListInfo.getTitleId(), this)); - } - mainViewpager.setAdapter(new FragmentViewPagerAdapter(getChildFragmentManager(), fragmentList)); - initTabIndicator(mTabInfoList); - } - - @Override - public void getFollowRoomsSuccess(List infos) { - - } - - @Override - public void getFollowRoomFail() { - - } - - @Override - public void exitRoom(RoomInfo roomInfo) { - - } - - @Override - public void titleListSuccess(List tagListInfoList) { - showByMarketCheckingStatus(tagListInfoList); - - } - - @Override - public void titleListFail(String msg) { - showByMarketCheckingStatus(new ArrayList<>()); - } - - @Override - public void onItemSelect(int position) { - mainViewpager.setCurrentItem(position); - } - - public void goToKTVTab() { - mainViewpager.setCurrentItem(3, true); - } - - @Override - public void isBannerTop(boolean isBannerTop) { - if (mIsBannerTop != isBannerTop) { - -// if (isBannerTop) { -// -// if (llHomeTitle != null) -// llHomeTitle.setBackgroundResource(R.drawable.game_img_bg); -// -// } else { -// -// if (llHomeTitle != null) -// llHomeTitle.setBackgroundResource(R.drawable.game_img_bg2); -// } -// llHomeTitle.setBackgroundResource(R.drawable.game_img_bg2); - - mIsBannerTop = isBannerTop; - - } - } - - /** - * 处理引导 - */ - public void handleGuide() { - if (miHomeIndicator != null) { - showGuide(); - } else { - showGuide = true; - } - } - - private void showGuide() { -// if (TuTuGuideHelper.isNeedHiGuide(TuTuGuideHelper.KEY_GUIDE_MAIN_TAB)) { -// miHomeIndicator.post(() -> { -// if (getActivity() != null && getActivity() instanceof MainActivity) { -// if (!((MainActivity) getActivity()).isShowMainTab()) { -// return; -// } -// TuTuGuideHelper helper = new TuTuGuideHelper(mContext); -// helper.createHiGuide(() -> helper.createMainTabOverLayer(miHomeIndicator)); -// TuTuGuideHelper.setNoNeedHiGuide(TuTuGuideHelper.KEY_GUIDE_MAIN_TAB); -// } -// }); -// } - - showGuide = false; -// if (TuTuGuideHelper.isNeedHiGuide(TuTuGuideHelper.KEY_GUIDE_MAIN_TAB)) { -// miHomeIndicator.post(() -> { -// if (getActivity() != null && getActivity() instanceof MainActivity) { -// if (!((MainActivity) getActivity()).isShowMainTab()) { -// return; -// } -// TuTuGuideHelper helper = new TuTuGuideHelper(mContext); -// helper.createHiGuide(() -> helper.createMainTabOverLayer(miHomeIndicator)); -// TuTuGuideHelper.setNoNeedHiGuide(TuTuGuideHelper.KEY_GUIDE_MAIN_TAB); -// } -// }); -// } - } - - @Override - public void onGetFirstPageBannerFailed(String message) { - - } - - @Override - public void roomWorldModeCloseSuccess() { - OpenRoomHelper.openRoom(getBaseActivity()); - } - - @Override - public void roomWorldModeCloseFail(String error) { - toast(error); - } - - @Override - public void onGetHomeBannerSuccess(List bannerInfos) { - - } - - @Override - public void onGetHomeTagSuccess(List tagInfos) { - - } - - @Override - public void getRoomShortcut(String data) { - - } -} diff --git a/app/src/main/java/com/yizhuan/erban/home/fragment/NewestKTVRoomFragment.java b/app/src/main/java/com/yizhuan/erban/home/fragment/NewestKTVRoomFragment.java deleted file mode 100644 index 0be491590..000000000 --- a/app/src/main/java/com/yizhuan/erban/home/fragment/NewestKTVRoomFragment.java +++ /dev/null @@ -1,140 +0,0 @@ -package com.yizhuan.erban.home.fragment; - -import android.graphics.Color; -import androidx.fragment.app.Fragment; -import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; -import androidx.recyclerview.widget.LinearLayoutManager; -import androidx.recyclerview.widget.RecyclerView; - -import com.chad.library.adapter.base.BaseQuickAdapter; -import com.yizhuan.erban.R; -import com.yizhuan.erban.base.BaseMvpFragment; -import com.yizhuan.erban.home.adapter.KTVTypeRoomAdapter; -import com.yizhuan.erban.home.presenter.NewestKTVRoomFragmentPresenter; -import com.yizhuan.erban.home.view.INewestKTVRoomFragmentView; -import com.yizhuan.erban.ui.widget.marqueeview.Utils; -import com.yizhuan.erban.ui.widget.recyclerview.decoration.ColorDecoration; -import com.yizhuan.xchat_android_core.home.bean.KTVRoom; -import com.yizhuan.xchat_android_library.base.factory.CreatePresenter; -import com.yizhuan.xchat_android_library.utils.ListUtils; - -import java.util.List; - -import io.reactivex.SingleObserver; -import io.reactivex.android.schedulers.AndroidSchedulers; -import io.reactivex.disposables.Disposable; -import io.reactivex.functions.Action; - -/** - * @author jack - * @Description - * @Date 2018/10/31 - */ -@CreatePresenter(NewestKTVRoomFragmentPresenter.class) -public class NewestKTVRoomFragment extends BaseMvpFragment - implements INewestKTVRoomFragmentView, SwipeRefreshLayout.OnRefreshListener, BaseQuickAdapter.RequestLoadMoreListener { - - private SwipeRefreshLayout srlRefreshContainer; - private RecyclerView rvList; - - private KTVTypeRoomAdapter adapter; - - public static Fragment newInstance() { - return new NewestKTVRoomFragment(); - } - - @Override - public int getRootLayoutId() { - return R.layout.fragment_newest_ktv; - } - - @Override - public void onFindViews() { - srlRefreshContainer = (SwipeRefreshLayout) getView().findViewById(R.id.srl_refresh_container); - rvList = (RecyclerView) getView().findViewById(R.id.rv_list); - rvList.setLayoutManager(new LinearLayoutManager(getContext(), LinearLayoutManager.VERTICAL, false)); - rvList.addItemDecoration(new ColorDecoration(Color.TRANSPARENT, 0, Utils.dip2px(getContext(), 10), false)); - adapter = new KTVTypeRoomAdapter(getContext(), null); - adapter.setEnableLoadMore(true); - adapter.setOnLoadMoreListener(this, rvList); - rvList.setAdapter(adapter); - } - - @Override - public void onSetListener() { - srlRefreshContainer.setOnRefreshListener(this); - } - - @Override - public void initiate() { - } - - @Override - public void onResume() { - super.onResume(); - onRefresh(); - } - - - @Override - public void onRefresh() { - getMvpPresenter().refreshData() - .observeOn(AndroidSchedulers.mainThread()) - .doAfterTerminate(new Action() { - @Override - public void run() throws Exception { - srlRefreshContainer.setRefreshing(false); - } - }) - .subscribe(new SingleObserver>() { - @Override - public void onSubscribe(Disposable d) { - - } - - @Override - public void onSuccess(List roomList) { - if (ListUtils.isListEmpty(roomList)) { - showNoData(); - return; - } - hideStatus(); - adapter.setNewData(roomList); - } - - @Override - public void onError(Throwable e) { - showNetworkErr(); - toast(e.getMessage()); - } - }); - } - - @Override - public void onLoadMoreRequested() { - getMvpPresenter().loadMoreData() - .observeOn(AndroidSchedulers.mainThread()) - .subscribe(new SingleObserver>() { - @Override - public void onSubscribe(Disposable d) { - - } - - @Override - public void onSuccess(List homeRoomList) { - if (!ListUtils.isListEmpty(homeRoomList)) { - adapter.addData(homeRoomList); - adapter.loadMoreComplete(); - } else { - adapter.loadMoreEnd(true); - } - - } - - @Override - public void onError(Throwable e) { - toast(e.getMessage()); - } - }); - } -} diff --git a/app/src/main/java/com/yizhuan/erban/home/fragment/RankingFragment.java b/app/src/main/java/com/yizhuan/erban/home/fragment/RankingFragment.java deleted file mode 100644 index 6378d6242..000000000 --- a/app/src/main/java/com/yizhuan/erban/home/fragment/RankingFragment.java +++ /dev/null @@ -1,229 +0,0 @@ -package com.yizhuan.erban.home.fragment; - -import android.annotation.SuppressLint; -import android.net.http.SslError; -import android.os.Bundle; -import android.os.Handler; -import android.text.TextUtils; -import android.view.View; -import android.webkit.SslErrorHandler; -import android.webkit.WebChromeClient; -import android.webkit.WebView; -import android.webkit.WebViewClient; -import android.widget.ProgressBar; -import android.widget.TextView; - -import com.alibaba.fastjson.JSON; -import com.netease.nim.uikit.common.util.string.StringUtil; -import com.orhanobut.logger.Logger; -import com.yizhuan.erban.R; -import com.yizhuan.erban.base.BaseBindingFragment; -import com.yizhuan.erban.base.TitleBar; -import com.yizhuan.erban.databinding.FragmentRankingBinding; -import com.yizhuan.erban.friend.view.SelectFriendActivity; -import com.yizhuan.erban.ui.webview.JSInterface; -import com.yizhuan.erban.ui.widget.ShareDialog; -import com.yizhuan.xchat_android_core.UriProvider; -import com.yizhuan.xchat_android_core.share.ShareModel; -import com.yizhuan.xchat_android_core.web.bean.WebJsBeanInfo; -import com.yizhuan.xchat_android_core.web.event.WebViewRefreshEvent; -import com.yizhuan.xchat_android_library.annatation.ActLayoutRes; - -import org.greenrobot.eventbus.Subscribe; -import org.greenrobot.eventbus.ThreadMode; - -import java.lang.ref.WeakReference; - -import cn.sharesdk.framework.Platform; - -/** - * 排行榜 - * 暂时继续使用 H5,后面再考虑换成原生的 - * Created by MadisonRong on 20/04/2018. - */ -@ActLayoutRes(R.layout.fragment_ranking) -public class RankingFragment extends BaseBindingFragment - implements ShareDialog.OnShareDialogItemClick { - - public static final String TAG = "RankingFragment"; - private TitleBar mTitleBar; - private WebView webView; - private ProgressBar mProgressBar; - private WebChromeClient wvcc; - private TextView mTvRightText; - - private WebJsBeanInfo mWebJsBeanInfo; - private String url; - private String targetUrl; - - private static final String POSITION = "position"; - private int mPosition; - - private int mProgress; - - private Handler mHandler = new Handler(); - - private RankingFragment.ProgressRunnable mProgressRunnable = new RankingFragment.ProgressRunnable(this); - - private static class ProgressRunnable implements Runnable { - private WeakReference mWeakReference; - - ProgressRunnable(RankingFragment activity) { - mWeakReference = new WeakReference<>(activity); - } - - @Override - public void run() { - RankingFragment activity = mWeakReference.get(); - if (activity == null) return; - if (activity.mProgress < 96) { - activity.mProgress += 3; - activity.mProgressBar.setProgress(activity.mProgress); - activity.mHandler.postDelayed(activity.mProgressRunnable, 10); - } - } - } - - @Override - protected void onInitArguments(Bundle bundle) { - url = UriProvider.JAVA_WEB_URL + "/yinyou/modules/erbanRank/index.html"; - mPosition = 1; - } - - @SuppressLint("SetJavaScriptEnabled") - private void initData() { - mHandler.post(mProgressRunnable); - webView.getSettings().setJavaScriptEnabled(true); - webView.getSettings().setUseWideViewPort(true); - webView.getSettings().setTextZoom(100); - JSInterface jsInterface = new JSInterface(webView, getActivity()); - jsInterface.setPosition(mPosition); - webView.addJavascriptInterface(jsInterface, "androidJsObj"); - webView.setWebViewClient(new WebViewClient() { - - @Override - public boolean shouldOverrideUrlLoading(WebView view, String url) { - Logger.e("shouldOverrideUrlLoading--------" + url); - targetUrl = url; - view.loadUrl(url); - return true; - } - - @Override - public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) { -// super.onReceivedSslError(view, handler, error); //一定要去掉 - // handler.cancel();// Android默认的处理方式 - handler.proceed();// 接受所有网站的证书 - // handleMessage(Message msg);// 进行其他处理 - } - - @Override - public void onPageFinished(WebView view, String url) { - Logger.e("onPageFinished--------" + url); - mProgressBar.setProgress(100); - mProgressBar.setVisibility(View.GONE); - mTvRightText.setVisibility(View.GONE); - try { - webView.evaluateJavascript("showTitleRightNoticeFuck()", value -> { - if (TextUtils.isEmpty(value) || "null".equals(value.toLowerCase())) return; - mWebJsBeanInfo = JSON.parseObject(value, WebJsBeanInfo.class); - if (mWebJsBeanInfo == null) return; - WebJsBeanInfo.DataBean data = mWebJsBeanInfo.getData(); - if (data == null) return; - switch (mWebJsBeanInfo.getType()) { - case WebJsBeanInfo.TEXT: - mTvRightText.setVisibility(View.VISIBLE); - mTvRightText.setText(data.getTitle()); - mTvRightText.setOnClickListener(v -> webView.loadUrl(data.getLink())); - break; - default: - } - - }); - } catch (Exception e) { - e.printStackTrace(); - } - super.onPageFinished(view, url); - } - }); - //获取webviewtitle作为titlebar的title - wvcc = new WebChromeClient() { - @Override - public void onReceivedTitle(WebView view, String title) { - super.onReceivedTitle(view, title); - mTitleBar.setTitle(title); - - } - - }; - // 设置setWebChromeClient对象 - webView.setWebChromeClient(wvcc); - if (mTitleBar != null) { - mTitleBar.setImmersive(false); - mTitleBar.setTitleColor(getResources().getColor(R.color.back_font)); - } - // 设置Webview的user-agent - webView.getSettings().setUserAgentString(webView.getSettings().getUserAgentString() + " erbanAppAndroid"); - } - - public void ShowWebView(String url) { - webView.loadUrl(url); - - } - - @Override - public void onResume() { - super.onResume(); - // 强制每次点到这个 tab 的时候就刷新数据 - ShowWebView(url); - } - - @Override - public void onInAppSharingItemClick() { - SelectFriendActivity.start(getContext()); - } - - @Override - public void onSharePlatformClick(Platform platform) { - if (mWebJsBeanInfo != null && mWebJsBeanInfo.getData() != null) { - ShareModel.get().shareH5(mWebJsBeanInfo.getData(), platform).subscribe(); - } - } - - - @Subscribe(threadMode = ThreadMode.MAIN) - public void onRecieveNeedRefreshWebView(WebViewRefreshEvent event) { - if (!StringUtil.isEmpty(url)) { - ShowWebView(url); - } - } - - @Override - public void onDestroy() { - if (mHandler != null) { - mHandler.removeCallbacks(mProgressRunnable); - mProgressRunnable = null; - mHandler = null; - } - super.onDestroy(); - } - - @Override - public void onFindViews() { - webView = mBinding.webview; - mTitleBar = mBinding.title; - mProgressBar = mBinding.progressBar; - mTvRightText = mBinding.tvTitleRight; - } - - @Override - public void onSetListener() { - // - } - - @Override - public void initiate() { - initData(); - } - -} diff --git a/app/src/main/java/com/yizhuan/erban/home/fragment/RecommendFragment.java b/app/src/main/java/com/yizhuan/erban/home/fragment/RecommendFragment.java deleted file mode 100644 index 8f19a34eb..000000000 --- a/app/src/main/java/com/yizhuan/erban/home/fragment/RecommendFragment.java +++ /dev/null @@ -1,289 +0,0 @@ -package com.yizhuan.erban.home.fragment; - -import androidx.fragment.app.Fragment; -import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; -import androidx.recyclerview.widget.GridLayoutManager; -import androidx.recyclerview.widget.RecyclerView; -import android.view.View; - -import com.chad.library.adapter.base.BaseQuickAdapter; -import com.netease.nim.uikit.common.util.log.LogUtil; -import com.netease.nim.uikit.common.util.sys.NetworkUtil; -import com.yizhuan.erban.R; -import com.yizhuan.erban.base.BaseMvpFragment; -import com.yizhuan.erban.common.NetworkErrorFragment; -import com.yizhuan.erban.common.NoDataFragment; -import com.yizhuan.erban.home.adapter.HomeFragmentAdapter; -import com.yizhuan.erban.home.presenter.RecommendFragmentPresenter; -import com.yizhuan.erban.home.view.Home3PlusNDecoration; -import com.yizhuan.erban.home.view.IMainFragmentTabBg; -import com.yizhuan.erban.home.view.IRecommendFragmentView; -import com.yizhuan.xchat_android_core.Constants; -import com.yizhuan.xchat_android_core.home.bean.HomeItem; -import com.yizhuan.xchat_android_library.base.factory.CreatePresenter; -import com.yizhuan.xchat_android_library.utils.ListUtils; -import com.yizhuan.xchat_android_library.utils.log.MLog; - -import java.util.ArrayList; -import java.util.List; - -/** - * @author jack - * @Description 推荐页面 - * @Date 2018/10/29 - */ -@CreatePresenter(RecommendFragmentPresenter.class) -public class RecommendFragment extends BaseMvpFragment - implements IRecommendFragmentView, HomeFragmentAdapter.OnActionListener { - - public static final String TAG = RecommendFragment.class.getSimpleName(); - - private SwipeRefreshLayout swipeRefreshLayout; - private RecyclerView rvMainHome; - private HomeFragmentAdapter mHomeHotAdapter; - private MainFragment mainFragment; - - private IMainFragmentTabBg iMainFragmentTabBg; - - public static Fragment newInstance(IMainFragmentTabBg iMainFragmentTabBg) { - RecommendFragment recommendFragment = new RecommendFragment(); - recommendFragment.setiMainFragmentTabBg(iMainFragmentTabBg); - return recommendFragment; - } - - @Override - public int getRootLayoutId() { - return R.layout.fragment_recommend; - } - - @Override - public void onFindViews() { - swipeRefreshLayout = (SwipeRefreshLayout) mView.findViewById(R.id.swipe_refresh); - rvMainHome = (RecyclerView) mView.findViewById(R.id.rv_main_home); - } - - @Override - public void onSetListener() { - swipeRefreshLayout.setOnRefreshListener(onRefreshListener); - - } - - @Override - public void initiate() { - LogUtil.e(TAG, "initiate~~~ "); - mainFragment = (MainFragment) getParentFragment(); - mHomeHotAdapter = new HomeFragmentAdapter(mContext, new ArrayList<>()); - mHomeHotAdapter.setActionListener(this); - mHomeHotAdapter.setEnableLoadMore(false); - rvMainHome.setItemAnimator(null); - rvMainHome.addItemDecoration(new Home3PlusNDecoration(mContext, mHomeHotAdapter)); - GridLayoutManager manager = new GridLayoutManager(getActivity(), 3); - mHomeHotAdapter.setSpanSizeLookup(new BaseQuickAdapter.SpanSizeLookup() { - @Override - public int getSpanSize(GridLayoutManager gridLayoutManager, int position) { - int itemType = mHomeHotAdapter.getData().get(position).getItemType(); - if (itemType == HomeItem.TYPE_SQUARE_PIC || itemType == HomeItem.TYPE_SQUARE_EMPTY) { - return 1; - } - return gridLayoutManager.getSpanCount(); - } - }); - rvMainHome.setLayoutManager(manager); - //加载更多 - mHomeHotAdapter.setOnLoadMoreListener(() -> getMvpPresenter().loadMoreHomeData(), rvMainHome); - rvMainHome.setAdapter(mHomeHotAdapter); - - } - - @Override - public void onResume() { - super.onResume(); - if (ListUtils.isListEmpty(getMvpPresenter().getmHomeItemList())) { - swipeRefreshLayout.setRefreshing(true); - getMvpPresenter().loadHomeData(); - } else { - if (ListUtils.isListEmpty(this.mHomeHotAdapter.getData())) { - loadHomeDataSuccess(getMvpPresenter().getmHomeItemList()); - } - } - - } - - private SwipeRefreshLayout.OnRefreshListener onRefreshListener = new SwipeRefreshLayout.OnRefreshListener() { - @Override - public void onRefresh() { - if (NetworkUtil.isNetAvailable(mContext)) { - getMvpPresenter().setPage(Constants.PAGE_START); - getMvpPresenter().loadHomeData(); - } else { - swipeRefreshLayout.setRefreshing(false); - } - } - }; - - @Override - public void onReloadData() { - super.onReloadData(); - showLoading(); - getMvpPresenter().loadHomeData(); - } - - @Override - public void loadHomeDataSuccess(List data) { - hideStatus(); - swipeRefreshLayout.setRefreshing(false); - mHomeHotAdapter.setNewData(data); - mHomeHotAdapter.disableLoadMoreIfNotFullPage(rvMainHome); - - } - - @Override - public void loadHomeDataFail(String error) { - swipeRefreshLayout.setRefreshing(false); - showNetworkErr(); - } - - @Override - public void onNoHomeData() { - swipeRefreshLayout.setRefreshing(false); - showNoData(); - } - - @Override - public void addHomeDataSuccess(List data) { - mHomeHotAdapter.loadMoreComplete(); - mHomeHotAdapter.notifyDataSetChanged(); - } - - @Override - public void onNoMoreHomeData() { - swipeRefreshLayout.setRefreshing(false); - mHomeHotAdapter.loadMoreEnd(true); - } - - @Override - public void addHomeDataFail(String error) { - mHomeHotAdapter.loadMoreFail(); - } - - - @Override - public void setEnableLoadMore(boolean b) { - mHomeHotAdapter.setEnableLoadMore(b); - } - - @Override - public void setRefreshing(boolean b) { - swipeRefreshLayout.setRefreshing(b); - } - - @Override - public void notifyDataSetChanged(int type, int position, Object payload) { -// if (IRecommendFragmentView.NOTIFY_DATA_SET_CHANGED == type) { -// if (position < 0) { -// mHomeHotAdapter.notifyDataSetChanged(); -// } else { -// mHomeHotAdapter.notifyItemChanged(position, payload); -// } -// } else if (IRecommendFragmentView.NOTIFY_DATA_SET_REMOVE == type) { -// if (position < 0) { -// mHomeHotAdapter.notifyDataSetChanged(); -// } else { -// mHomeHotAdapter.notifyItemRemoved(position); -// } -// } - - mHomeHotAdapter.notifyDataSetChanged(); - } - - - @Override - public void showByMarketCheckingStatus() { - if (getMvpPresenter() != null) { - swipeRefreshLayout.setRefreshing(true); - getMvpPresenter().loadHomeData(); - } - } - - @Override - public void onRefreshMakeFriendListFail(String message) { - toast(message); - } - - - @Override - public void onRefreshMakeFriendList() { - getMvpPresenter().refreshMakeFriendList(); - } - - @Override - public void onMoreKTVRoom() { - mainFragment.goToKTVTab(); - } - - @Override - public void onGoTalkHall() { - - } - - @Override - public void setUserVisibleHint(boolean isVisibleToUser) { - super.setUserVisibleHint(isVisibleToUser); - - if (getUserVisibleHint()) - changeTabBg(); - } - - private void changeTabBg() { - if (iMainFragmentTabBg != null && getUserVisibleHint()) - iMainFragmentTabBg.isBannerTop(true); - } - - public void setiMainFragmentTabBg(IMainFragmentTabBg iMainFragmentTabBg) { - this.iMainFragmentTabBg = iMainFragmentTabBg; - } - - @Override - public void onDestroy() { - super.onDestroy(); - iMainFragmentTabBg = null; - } - @Override - public void showNoData(View view, int drawable, CharSequence charSequence) { - if (!checkActivityValid()) - return; - - if (view == null) { - MLog.error(this, "xuwakao, showNoData view is NULL"); - return; - } - View status = view.findViewById(R.id.status_layout); - if (status == null || status.getId() <= 0) { - MLog.error(this, "xuwakao, had not set layout id "); - return; - } - NoDataFragment fragment = NoDataFragment.newInstance(R.layout.layout_home_empty, drawable, charSequence); - fragment.setListener(getLoadListener()); - getChildFragmentManager().beginTransaction().replace(status.getId(), fragment, STATUS_TAG).commitAllowingStateLoss(); - } - - @Override - public void showNetworkErr() { - if (!checkActivityValid()) { - return; - } - - if (getView() == null) { - MLog.error(this, "xuwakao, showNetworkErr view is NULL"); - return; - } - View view = getView().findViewById(R.id.status_layout); - if (view == null || view.getId() <= 0) { - MLog.error(this, "xuwakao, had not set layout id "); - return; - } - NetworkErrorFragment fragment = NetworkErrorFragment.newInstance(R.layout.layout_home_network_erro); - fragment.setListener(getLoadListener()); - getChildFragmentManager().beginTransaction().replace(view.getId(), fragment, STATUS_TAG).commitAllowingStateLoss(); - } -} diff --git a/app/src/main/java/com/yizhuan/erban/home/fragment/RecommendationFragment.java b/app/src/main/java/com/yizhuan/erban/home/fragment/RecommendationFragment.java deleted file mode 100644 index 07fbd2b4f..000000000 --- a/app/src/main/java/com/yizhuan/erban/home/fragment/RecommendationFragment.java +++ /dev/null @@ -1,411 +0,0 @@ -package com.yizhuan.erban.home.fragment; - -import android.annotation.SuppressLint; -import android.os.Bundle; -import androidx.fragment.app.Fragment; -import androidx.recyclerview.widget.LinearLayoutManager; -import androidx.recyclerview.widget.RecyclerView; -import android.text.TextUtils; -import android.view.View; - -import com.chad.library.adapter.base.BaseQuickAdapter; -import com.netease.nim.uikit.common.util.sys.ScreenUtil; -import com.scwang.smartrefresh.layout.SmartRefreshLayout; -import com.scwang.smartrefresh.layout.api.RefreshLayout; -import com.scwang.smartrefresh.layout.listener.OnRefreshListener; -import com.trello.rxlifecycle3.android.FragmentEvent; -import com.yizhuan.erban.R; -import com.yizhuan.erban.UIHelper; -import com.yizhuan.erban.avroom.activity.AVRoomActivity; -import com.yizhuan.erban.base.BaseFragment; -import com.yizhuan.erban.base.BaseMvpActivity; -import com.yizhuan.erban.home.adapter.HomeFragmentAdapter; -import com.yizhuan.erban.ui.im.avtivity.NimP2PMessageActivity; -import com.yizhuan.erban.ui.widget.higuide.TuTuGuideHelper; -import com.yizhuan.erban.ui.widget.recyclerview.decoration.ColorDecoration; -import com.yizhuan.xchat_android_core.auth.AuthModel; -import com.yizhuan.xchat_android_core.home.bean.BannerInfo; -import com.yizhuan.xchat_android_core.home.bean.HomeItem; -import com.yizhuan.xchat_android_core.home.model.HomeModel; -import com.yizhuan.xchat_android_core.room.bean.RoomInfo; -import com.yizhuan.xchat_android_core.room.model.AvRoomModel; -import com.yizhuan.xchat_android_core.statistic.StatisticManager; -import com.yizhuan.xchat_android_core.statistic.protocol.StatisticsProtocol; -import com.yizhuan.xchat_android_core.user.bean.RecommendationUserInfo; -import com.yizhuan.xchat_android_core.user.event.LoadLoginUserInfoEvent; -import com.yizhuan.xchat_android_core.utils.net.RxHelper; -import com.yizhuan.xchat_android_library.utils.ListUtils; -import com.yizhuan.xchat_android_library.utils.SingleToastUtil; - -import org.greenrobot.eventbus.EventBus; -import org.greenrobot.eventbus.Subscribe; -import org.greenrobot.eventbus.ThreadMode; - -import java.util.ArrayList; -import java.util.List; - -import io.reactivex.disposables.Disposable; -import io.reactivex.functions.BiConsumer; -import io.reactivex.functions.Function; - -/** - * 推荐 合拍女神 - */ -public class RecommendationFragment extends BaseFragment implements View.OnClickListener { - - private static final String PARAM_TYPE = "type"; - private static final int PAGE_SIZE = 20; - - private String type; - private RecyclerView recyclerView; - - private SmartRefreshLayout smartRefreshLayout; - - private int pageIndex = 1; - - private HomeItem> bannerHomeItem; - private List totalHomeItemList = new ArrayList<>(); - private boolean isContainsBanner; - private HomeFragmentAdapter mHomeFragmentAdapter; - private final Object mLock = new Object(); - - private Disposable mDisposable; - - public RecommendationFragment() { - // Required empty public constructor - } - - public static RecommendationFragment newInstance(String type) { - RecommendationFragment fragment = new RecommendationFragment(); - Bundle args = new Bundle(); - args.putString(PARAM_TYPE, type); - fragment.setArguments(args); - return fragment; - } - - @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - if (getArguments() != null) { - type = getArguments().getString(PARAM_TYPE); - } - EventBus.getDefault().register(this); - } - - @Override - public void onDestroy() { - super.onDestroy(); - EventBus.getDefault().unregister(this); - } - - private long mLastOpen; - private String mTabName; - public void setTypeAndName(String type, String name) { - this.type = type; - mTabName = name; - } - - public void setTypeAndRefresh(String type, String name) { - setTypeAndName(type, name); - - if (smartRefreshLayout != null) { - if (smartRefreshLayout.isRefreshing()) { - - smartRefreshLayout.finishRefresh(); - if (mDisposable != null && !mDisposable.isDisposed()) { - mDisposable.dispose(); - } - } - } - - if (mHomeFragmentAdapter != null) { - mHomeFragmentAdapter.loadMoreComplete(); - } - refreshData(); - } - - @Override - public int getRootLayoutId() { - return R.layout.fragment_recommendation; - } - - @Override - public void onFindViews() { - super.onFindViews(); - recyclerView = mView.findViewById(R.id.recycler_view); - smartRefreshLayout = mView.findViewById(R.id.smart_refresh_layout); - initRefreshView(); - initRecyclerView(); - } - - private void initRefreshView() { - smartRefreshLayout.setEnableLoadmore(false); - smartRefreshLayout.setEnableRefresh(true); - smartRefreshLayout.setOnRefreshListener(new OnRefreshListener() { - @Override - public void onRefresh(RefreshLayout refreshlayout) { - StatisticManager.Instance().onEvent(StatisticsProtocol.Event.EVENT_HOME_DROP_REFRESH, "首页-下拉刷新"); - refreshNoLoading(); - } - }); - } - - private void refreshNoLoading() { - pageIndex = 1; - loadData(true); - } - - private void initRecyclerView() { - recyclerView.setLayoutManager(new LinearLayoutManager(getContext())); - recyclerView.addItemDecoration(new ColorDecoration(getResources().getColor(R.color.color_FAFAFA) - , 0, ScreenUtil.dip2px(8), true)); - recyclerView.setItemAnimator(null); - mHomeFragmentAdapter = new HomeFragmentAdapter(getContext(), totalHomeItemList); - - mHomeFragmentAdapter.setOnLoadMoreListener(new BaseQuickAdapter.RequestLoadMoreListener() { - @Override - public void onLoadMoreRequested() { - loadData(false); - } - }, recyclerView); - mHomeFragmentAdapter.setEnableLoadMore(false); - recyclerView.setAdapter(mHomeFragmentAdapter); - - mHomeFragmentAdapter.setOnItemChildClickListener(new BaseQuickAdapter.OnItemChildClickListener() { - @Override - public void onItemChildClick(BaseQuickAdapter adapter, View view, int position) { - try { - List items = adapter.getData(); - HomeItem item; - if (items.size() > position) { - item = items.get(position); - Object obj = item.getData(); - if (!(obj instanceof RecommendationUserInfo)) { - return; - } - RecommendationUserInfo info = (RecommendationUserInfo) obj; - - if (info.getStatus() == RecommendationUserInfo.STATUS_RECOMMEND_ROOM) { - // 推荐房点击任何区域都进房 - StatisticManager.Instance().onEvent(StatisticsProtocol.Event.EVENT_HOME_USER_LIST_STEP_INTO_ROOM, "首页-用户列表-踩进房间"); - openRoom(info.getUid(), info.isRecommendRoom()); - } else { - switch (view.getId()) { - case R.id.fl_avatar: - StatisticManager.Instance().onEvent(StatisticsProtocol.Event.EVENT_HOME_PAGE_PERSONAL_PAGE, "进入个人客态页"); - UIHelper.showUserInfoAct(mContext, info.getUid()); - break; - - case R.id.ll_sub_content: - NimP2PMessageActivity.startWithChatterBox(mContext, String.valueOf(info.getUid()), null); - break; - - case R.id.rl_opt: - - switch (info.getStatus()) { - case RecommendationUserInfo.STATUS_KTV: - case RecommendationUserInfo.STATUS_GAME: - case RecommendationUserInfo.STATUS_ROOM: - case RecommendationUserInfo.STATUS_RECOMMEND_ROOM: - StatisticManager.Instance().onEvent(StatisticsProtocol.Event.EVENT_HOME_USER_LIST_STEP_INTO_ROOM, "首页-用户列表-踩进房间"); - openRoom(info.getUid(), info.isRecommendRoom()); - break; - - case RecommendationUserInfo.STATUS_NORMAL: - default: - StatisticManager.Instance().onEvent(StatisticsProtocol.Event.EVENT_HOME_PAGE_HOOK_UP, "撩一下"); - NimP2PMessageActivity.startWithAccost(mContext, String.valueOf(info.getUid())); - } - break; - } - - } - - } - - } catch (Exception ex) { - ex.printStackTrace(); - } - } - }); - } - - @SuppressWarnings("CheckResult") - private void openRoom(long uid, boolean isRecommendRoom) { - if (System.currentTimeMillis() - mLastOpen < 1000) { - return; - } - - if (mContext instanceof BaseMvpActivity) { - if (!TextUtils.isEmpty(mTabName)) { - StatisticManager.Instance().onEvent(StatisticsProtocol.Event.EVENT_MATCH_MALE_ENTER_ROOM, mTabName + "-进入房间"); - } - mLastOpen = System.currentTimeMillis(); - BaseMvpActivity activity = (BaseMvpActivity) mContext; - activity.getDialogManager().showProgressDialog(mContext, "请稍后..."); - - if (isRecommendRoom) { - AvRoomModel.get().requestRoomInfoByUser(String.valueOf(uid)) - .compose(activity.bindToLifecycle()) - .subscribe(roomInfo -> { - if (roomInfo != null && roomInfo.getUid() > 0) { - AVRoomActivity.start(mContext, roomInfo.getUid(), roomInfo.getType()); - } else { - SingleToastUtil.showToast("对方不在房间内"); - } - activity.getDialogManager().dismissDialog(); - - }); - - } else { - AvRoomModel.get() - .getUserRoom(uid) - .compose(RxHelper.singleMainResult()) - .compose(RxHelper.handleSchAndExce()) - .compose(activity.bindToLifecycle()) - .subscribe(new BiConsumer() { - @Override - public void accept(RoomInfo roomInfo, Throwable throwable) throws Exception { - if (throwable == null) { - if (roomInfo != null && roomInfo.getUid() > 0) { - AVRoomActivity.start(mContext, roomInfo.getUid(), roomInfo.getType()); - } else { - SingleToastUtil.showToast("对方不在房间内"); - } - } else { - SingleToastUtil.showToast("可能暂时不在房间哟"); - } - activity.getDialogManager().dismissDialog(); - } - }); - - } - - } else { - SingleToastUtil.showToast("出现异常"); - } - - } - - @Override - public void initiate() { - refreshData(); - } - - private void refreshData() { - if (smartRefreshLayout != null) { - smartRefreshLayout.autoRefresh(); - } - } - - @SuppressLint("CheckResult") - private void loadData(boolean isRefresh) { - long uid = AuthModel.get().getCurrentUid(); - mDisposable = HomeModel.get() - .getGodList(uid, pageIndex, PAGE_SIZE, type) - .map(new Function, List>>() { - @Override - public List> apply(List recommendationUserInfos) throws Exception { - if (ListUtils.isListEmpty(recommendationUserInfos)) { - return new ArrayList<>(); - } - List> homeItemList = new ArrayList<>(); - for (RecommendationUserInfo recommendationUserInfo : recommendationUserInfos) { - if (recommendationUserInfo == null) { - continue; - } - //推荐房间修改状态处理 - if (recommendationUserInfo.isRecommendRoom()) { - recommendationUserInfo.setStatus(RecommendationUserInfo.STATUS_RECOMMEND_ROOM); - } - homeItemList.add(new HomeItem(HomeItem.TYPE_USER_LINEAR, recommendationUserInfo)); - } - return homeItemList; - } - }) - .compose(bindUntilEvent(FragmentEvent.DESTROY_VIEW)) - .compose(RxHelper.handleSchedulers()) - .subscribe(new BiConsumer>, Throwable>() { - @Override - public void accept(List> recommendationUserInfos, Throwable throwable) throws Exception { - if (throwable == null) { - if (!ListUtils.isListEmpty(recommendationUserInfos)) { - pageIndex++; - if (isRefresh) { - mHomeFragmentAdapter.setEnableLoadMore(true); - } - } else { - loadEnd(); - } - - synchronized (mLock) { - if (isRefresh) { - totalHomeItemList.clear(); - totalHomeItemList.addAll(recommendationUserInfos); - isContainsBanner = false; - recombinationData(); -// showGuide(); - } else { - totalHomeItemList.addAll(recommendationUserInfos); - mHomeFragmentAdapter.notifyDataSetChanged(); - } - } - if (isRefresh) { - smartRefreshLayout.finishRefresh(); - } else { - mHomeFragmentAdapter.loadMoreComplete(); - } - } else { - if (isRefresh) { - smartRefreshLayout.finishRefresh(); - } else { - loadEnd(); - } - } - - - } - }); - } - - private void loadEnd() { - mHomeFragmentAdapter.loadMoreComplete(); - mHomeFragmentAdapter.loadMoreEnd(); - mHomeFragmentAdapter.setEnableLoadMore(false); - } - - /** - * 用户信息更新 - */ - @Subscribe(threadMode = ThreadMode.MAIN) - public void loadLoginUserInfoEvent(LoadLoginUserInfoEvent event) { - if (smartRefreshLayout != null && !smartRefreshLayout.isRefreshing()) { - refreshData(); - } - } - - @Override - public void onClick(View v) { - - } - - @Override - public void setUserVisibleHint(boolean isVisibleToUser) { - super.setUserVisibleHint(isVisibleToUser); - } - - private void recombinationData() { - synchronized (mLock) { - List homeItems = totalHomeItemList; - if (bannerHomeItem != null && !isContainsBanner) { - - totalHomeItemList.add(homeItems.size() > 3 ? 3 : homeItems.size(), bannerHomeItem); - isContainsBanner = true; - } - mHomeFragmentAdapter.notifyDataSetChanged(); - } - } - - - -} diff --git a/app/src/main/java/com/yizhuan/erban/home/fragment/RoomCategoryFragment.java b/app/src/main/java/com/yizhuan/erban/home/fragment/RoomCategoryFragment.java deleted file mode 100644 index c50b8b4bc..000000000 --- a/app/src/main/java/com/yizhuan/erban/home/fragment/RoomCategoryFragment.java +++ /dev/null @@ -1,73 +0,0 @@ -package com.yizhuan.erban.home.fragment; - -import androidx.fragment.app.Fragment; -import androidx.viewpager.widget.ViewPager; - -import com.yizhuan.erban.R; -import com.yizhuan.erban.base.BaseMvpFragment; -import com.yizhuan.erban.home.adapter.RoomCategoryIndicatorAdapter; -import com.yizhuan.erban.home.adapter.RoomCategoryViewPagerAdapter; -import com.yizhuan.erban.home.presenter.RoomCategoryFragmentPresenter; -import com.yizhuan.erban.home.view.IRoomCategoryFragmentView; -import com.yizhuan.erban.ui.widget.magicindicator.MagicIndicator; -import com.yizhuan.erban.ui.widget.magicindicator.ViewPagerHelper; -import com.yizhuan.erban.ui.widget.magicindicator.buildins.commonnavigator.CommonNavigator; -import com.yizhuan.xchat_android_core.home.bean.TabInfo; -import com.yizhuan.xchat_android_library.base.factory.CreatePresenter; -import com.yizhuan.xchat_android_library.utils.ListUtils; - -import java.util.List; - -/** - * @author jack - * @Description - * @Date 2018/10/29 - */ -@CreatePresenter(RoomCategoryFragmentPresenter.class) -public class RoomCategoryFragment extends BaseMvpFragment - implements IRoomCategoryFragmentView, RoomCategoryIndicatorAdapter.OnItemSelectListener { - - private MagicIndicator mainIndicator; - private ViewPager vpRoomCategoryViewpager; - - public static Fragment newInstance() { - return new RoomCategoryFragment(); - } - - @Override - public int getRootLayoutId() { - return R.layout.fragment_room_category; - } - - @Override - public void onFindViews() { - mainIndicator = (MagicIndicator) mView.findViewById(R.id.main_indicator); - vpRoomCategoryViewpager = (ViewPager) mView.findViewById(R.id.vp_room_category_viewpager); - } - - @Override - public void onSetListener() { - - } - - @Override - public void initiate() { - List mTabInfoList = getMvpPresenter().getTabInfoList(); - if (ListUtils.isListEmpty(mTabInfoList)) { - getMvpPresenter().loadTabInfoList(); - return; - } - CommonNavigator commonNavigator = new CommonNavigator(getContext()); - RoomCategoryIndicatorAdapter magicIndicatorAdapter = new RoomCategoryIndicatorAdapter(getContext(), mTabInfoList); - magicIndicatorAdapter.setOnItemSelectListener(this); - commonNavigator.setAdapter(magicIndicatorAdapter); - mainIndicator.setNavigator(commonNavigator); - vpRoomCategoryViewpager.setAdapter(new RoomCategoryViewPagerAdapter(getChildFragmentManager(), mTabInfoList)); - ViewPagerHelper.bind(mainIndicator, vpRoomCategoryViewpager); - } - - @Override - public void onItemSelect(int position) { - vpRoomCategoryViewpager.setCurrentItem(position); - } -} diff --git a/app/src/main/java/com/yizhuan/erban/home/fragment/RoomListFragment.java b/app/src/main/java/com/yizhuan/erban/home/fragment/RoomListFragment.java deleted file mode 100644 index 429cd32ea..000000000 --- a/app/src/main/java/com/yizhuan/erban/home/fragment/RoomListFragment.java +++ /dev/null @@ -1,163 +0,0 @@ -package com.yizhuan.erban.home.fragment; - -import android.os.Bundle; -import androidx.fragment.app.Fragment; -import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; -import androidx.recyclerview.widget.LinearLayoutManager; -import androidx.recyclerview.widget.RecyclerView; - -import com.chad.library.adapter.base.BaseQuickAdapter; -import com.yizhuan.erban.R; -import com.yizhuan.erban.base.BaseMvpFragment; -import com.yizhuan.erban.constants.BundleKeys; -import com.yizhuan.erban.home.adapter.HomeRoomAdapter; -import com.yizhuan.erban.home.presenter.RoomListPresenter; -import com.yizhuan.erban.home.view.IRoomListFragmentView; -import com.yizhuan.xchat_android_core.home.bean.HomeRoomItem; -import com.yizhuan.xchat_android_core.home.bean.TabInfo; -import com.yizhuan.xchat_android_library.base.factory.CreatePresenter; -import com.yizhuan.xchat_android_library.utils.ListUtils; - -import java.util.List; - -import io.reactivex.SingleObserver; -import io.reactivex.disposables.Disposable; -import io.reactivex.functions.Action; - -/** - * @author jack - * @Description - * @Date 2018/11/2 - */ -@CreatePresenter(RoomListPresenter.class) -public class RoomListFragment extends BaseMvpFragment - implements IRoomListFragmentView, SwipeRefreshLayout.OnRefreshListener, BaseQuickAdapter.RequestLoadMoreListener { - - private SwipeRefreshLayout swipeRefresh; - private RecyclerView recyclerView; - - private HomeRoomAdapter adapter; - - public static Fragment newInstance(TabInfo tabInfo) { - Fragment fragment = new RoomListFragment(); - Bundle bundle = new Bundle(); - bundle.putSerializable(BundleKeys.KEY_EXTRA_1, tabInfo); - fragment.setArguments(bundle); - return fragment; - } - - @Override - public int getRootLayoutId() { - return R.layout.fragment_room_list; - } - - @Override - public void onFindViews() { - swipeRefresh = getView().findViewById(R.id.swipe_refresh); - recyclerView = getView().findViewById(R.id.recycler_view); - - } - - @Override - public void onSetListener() { - swipeRefresh.setOnRefreshListener(this); - } - - @Override - public void initiate() { - Bundle bundle = getArguments(); - if (bundle != null) { - TabInfo tabInfo = (TabInfo) bundle.getSerializable(BundleKeys.KEY_EXTRA_1); - getMvpPresenter().setTabInfo(tabInfo); - } - - adapter = new HomeRoomAdapter(getContext(), null); - adapter.setEnableLoadMore(true); - adapter.setOnLoadMoreListener(this, recyclerView); - recyclerView.setLayoutManager(new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false)); - recyclerView.setAdapter(adapter); - } - - @Override - public void onResume() { - super.onResume(); - if (ListUtils.isListEmpty(adapter.getData())) { - refreshData(); - } - } - - @Override - public void onRefresh() { - refreshData(); - } - - @Override - public void onLoadMoreRequested() { - loadMoreData(); - } - - @Override - public void onReloadData() { - super.onReloadData(); - refreshData(); - } - - private void loadMoreData() { - getMvpPresenter().loadMoreData() - .subscribe(new SingleObserver>() { - @Override - public void onSubscribe(Disposable d) { - - } - - @Override - public void onSuccess(List homeRoomItems) { - if (!ListUtils.isListEmpty(homeRoomItems)) { - adapter.addData(homeRoomItems); - adapter.loadMoreComplete(); - } else { - adapter.loadMoreEnd(true); - } - } - - @Override - public void onError(Throwable e) { - toast(e.getMessage()); - } - }); - } - - - private void refreshData() { - getMvpPresenter().refreshData() - .doAfterTerminate(new Action() { - @Override - public void run() throws Exception { - swipeRefresh.setRefreshing(false); - } - }) - .subscribe(new SingleObserver>() { - @Override - public void onSubscribe(Disposable d) { - - } - - @Override - public void onSuccess(List homeRoomItems) { - if (ListUtils.isListEmpty(homeRoomItems)) { - showNoData(); - return; - } - hideStatus(); - adapter.setNewData(homeRoomItems); - } - - @Override - public void onError(Throwable e) { - showNetworkErr(); - toast(e.getMessage()); - } - }); - } - -} diff --git a/app/src/main/java/com/yizhuan/erban/home/fragment/RoomTabFragment.java b/app/src/main/java/com/yizhuan/erban/home/fragment/RoomTabFragment.java deleted file mode 100644 index bf6cb6822..000000000 --- a/app/src/main/java/com/yizhuan/erban/home/fragment/RoomTabFragment.java +++ /dev/null @@ -1,239 +0,0 @@ -package com.yizhuan.erban.home.fragment; - -import android.os.Bundle; -import androidx.fragment.app.Fragment; -import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; -import androidx.recyclerview.widget.LinearLayoutManager; -import androidx.recyclerview.widget.RecyclerView; -import android.view.View; - -import com.chad.library.adapter.base.BaseQuickAdapter; -import com.yizhuan.erban.R; -import com.yizhuan.erban.base.BaseMvpFragment; -import com.yizhuan.erban.common.NetworkErrorFragment; -import com.yizhuan.erban.common.NoDataFragment; -import com.yizhuan.erban.constants.BundleKeys; -import com.yizhuan.erban.home.adapter.RoomTabAdapter; -import com.yizhuan.erban.home.presenter.RoomTabPresenter; -import com.yizhuan.erban.home.view.IMainFragmentTabBg; -import com.yizhuan.erban.home.view.IRoomTabView; -import com.yizhuan.xchat_android_core.home.bean.HomeRoomItem; -import com.yizhuan.xchat_android_library.base.factory.CreatePresenter; -import com.yizhuan.xchat_android_library.utils.ListUtils; -import com.yizhuan.xchat_android_library.utils.log.MLog; - -import java.util.List; - -import io.reactivex.SingleObserver; -import io.reactivex.disposables.Disposable; -import io.reactivex.functions.Action; - -@CreatePresenter(RoomTabPresenter.class) -public class RoomTabFragment extends BaseMvpFragment - implements IRoomTabView, SwipeRefreshLayout.OnRefreshListener, BaseQuickAdapter.RequestLoadMoreListener { - - private SwipeRefreshLayout swipeRefresh; - private RecyclerView recyclerView; - - private RoomTabAdapter adapter; - - private IMainFragmentTabBg iMainFragmentTabBg; - - public static Fragment newInstance(long titleId, IMainFragmentTabBg iMainFragmentTabBg) { - RoomTabFragment fragment = new RoomTabFragment(); - fragment.setiMainFragmentTabBg(iMainFragmentTabBg); - Bundle bundle = new Bundle(); - bundle.putSerializable(BundleKeys.KEY_EXTRA_1, titleId); - fragment.setArguments(bundle); - return fragment; - } - - @Override - public int getRootLayoutId() { - return R.layout.fragment_room_tab; - } - - @Override - public void onFindViews() { - swipeRefresh = getView().findViewById(R.id.swipe_refresh); - recyclerView = getView().findViewById(R.id.recycler_view); - } - - @Override - public void onSetListener() { - swipeRefresh.setOnRefreshListener(this); - } - - @Override - public void initiate() { - Bundle bundle = getArguments(); - if (bundle != null) { - long mTitleId = bundle.getLong(BundleKeys.KEY_EXTRA_1, -1); - getMvpPresenter().setmTitleId(mTitleId); - } - - adapter = new RoomTabAdapter(getContext(), null); - adapter.setEnableLoadMore(true); - adapter.setOnLoadMoreListener(this, recyclerView); - recyclerView.setLayoutManager(new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false)); - recyclerView.setAdapter(adapter); - } - - @Override - public void setUserVisibleHint(boolean isVisibleToUser) { - super.setUserVisibleHint(isVisibleToUser); - - if (getUserVisibleHint()) - changeTabBg(); - } - - @Override - public void onResume() { - super.onResume(); - if (ListUtils.isListEmpty(adapter.getData())) { - refreshData(); - } else - changeTabBg(); - } - - @Override - public void onRefresh() { - refreshData(); - } - - @Override - public void onLoadMoreRequested() { - loadMoreData(); - } - - @Override - public void onReloadData() { - super.onReloadData(); - refreshData(); - } - - private void loadMoreData() { - getMvpPresenter().loadMoreData() - .subscribe(new SingleObserver>() { - @Override - public void onSubscribe(Disposable d) { - - } - - @Override - public void onSuccess(List homeRoomItems) { - if (!ListUtils.isListEmpty(homeRoomItems)) { - adapter.addData(homeRoomItems); - adapter.loadMoreComplete(); - } else { - adapter.loadMoreEnd(true); - } - } - - @Override - public void onError(Throwable e) { - toast(e.getMessage()); - } - }); - } - - @Override - public void showNetworkErr() { - if (!checkActivityValid()) { - return; - } - - if (getView() == null) { - MLog.error(this, "xuwakao, showNetworkErr view is NULL"); - return; - } - View view = getView().findViewById(R.id.status_layout); - if (view == null || view.getId() <= 0) { - MLog.error(this, "xuwakao, had not set layout id "); - return; - } - NetworkErrorFragment fragment = NetworkErrorFragment.newInstance(R.layout.layout_home_network_erro); - fragment.setListener(getLoadListener()); - getChildFragmentManager().beginTransaction().replace(view.getId(), fragment, STATUS_TAG).commitAllowingStateLoss(); - } - - public void setiMainFragmentTabBg(IMainFragmentTabBg iMainFragmentTabBg) { - this.iMainFragmentTabBg = iMainFragmentTabBg; - } - - private void changeTabBg() { - - boolean isBannerTop = false; - - if (adapter == null) - return; - - List list = adapter.getData(); - if (!ListUtils.isListEmpty(list)) { - HomeRoomItem homeRoomItem = list.get(0); - isBannerTop = homeRoomItem.getItemType() == HomeRoomItem.TYPE_BANNER; - } - - if (iMainFragmentTabBg != null && getUserVisibleHint()) { - iMainFragmentTabBg.isBannerTop(isBannerTop); - } - } - - @Override - public void showNoData(View view, int drawable, CharSequence charSequence) { - if (!checkActivityValid()) - return; - - if (view == null) { - MLog.error(this, "xuwakao, showNoData view is NULL"); - return; - } - View status = view.findViewById(R.id.status_layout); - if (status == null || status.getId() <= 0) { - MLog.error(this, "xuwakao, had not set layout id "); - return; - } - NoDataFragment fragment = NoDataFragment.newInstance(R.layout.layout_home_empty, drawable, charSequence); - fragment.setListener(getLoadListener()); - getChildFragmentManager().beginTransaction().replace(status.getId(), fragment, STATUS_TAG).commitAllowingStateLoss(); - } - - private void refreshData() { - getMvpPresenter().refreshData() - .doAfterTerminate(new Action() { - @Override - public void run() throws Exception { - swipeRefresh.setRefreshing(false); - } - }) - .subscribe(new SingleObserver>() { - @Override - public void onSubscribe(Disposable d) { - - } - - @Override - public void onSuccess(List homeRoomItems) { - if (ListUtils.isListEmpty(homeRoomItems)) { - showNoData(); - return; - } - hideStatus(); - adapter.setNewData(homeRoomItems); - changeTabBg(); - } - - @Override - public void onError(Throwable e) { - showNetworkErr(); - toast(e.getMessage()); - } - }); - } - - @Override - public void onDestroy() { - super.onDestroy(); - iMainFragmentTabBg = null; - } -} diff --git a/app/src/main/java/com/yizhuan/erban/home/helper/JumpHelper.java b/app/src/main/java/com/yizhuan/erban/home/helper/JumpHelper.java deleted file mode 100644 index 4acaf217d..000000000 --- a/app/src/main/java/com/yizhuan/erban/home/helper/JumpHelper.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.yizhuan.erban.home.helper; - -import android.content.Context; - -import com.orhanobut.logger.Logger; -import com.yizhuan.erban.decoration.view.DecorationStoreActivity; -import com.yizhuan.xchat_android_core.auth.AuthModel; -import com.yizhuan.xchat_android_library.rxbus.RxBusHelper; - -/** - * @author jack - * @Description 跳转本地页面配置 - * @Date 2018/4/25 - */ - -public class JumpHelper { - public final static String TYPE_RANK_BOARD = "1";//1为排行榜 - public final static String JUMP_RANK_BOARD_STRING = "JUMP_RANK_BOARD_STRING"; - public final static String TYPE_SHOP = "2";//跳转商城 - - public static void jumpByType(Context context, String type){ - if (TYPE_RANK_BOARD.equals(type)){ - RxBusHelper.post(JUMP_RANK_BOARD_STRING); - }else if (TYPE_SHOP.equals(type)){ - long uid = AuthModel.get().getCurrentUid(); - if (uid > 0) { - DecorationStoreActivity.start(context, uid); - } - }else{ - Logger.e("未知app原生页面 跳转类型..."); - } - } -} diff --git a/app/src/main/java/com/yizhuan/erban/home/presenter/FamilyFragmentPresenter.java b/app/src/main/java/com/yizhuan/erban/home/presenter/FamilyFragmentPresenter.java deleted file mode 100644 index 6704c3f09..000000000 --- a/app/src/main/java/com/yizhuan/erban/home/presenter/FamilyFragmentPresenter.java +++ /dev/null @@ -1,150 +0,0 @@ -package com.yizhuan.erban.home.presenter; - -import android.os.Bundle; -import androidx.annotation.Nullable; -import android.text.TextUtils; - -import com.orhanobut.logger.Logger; -import com.yizhuan.erban.base.BaseMvpPresenter; -import com.yizhuan.erban.home.view.IFamilyFragmentView; -import com.yizhuan.xchat_android_core.Constants; -import com.yizhuan.xchat_android_core.family.bean.CustomServiceInfo; -import com.yizhuan.xchat_android_core.family.bean.FamilyCustomServiceInfo; -import com.yizhuan.xchat_android_core.family.bean.FamilyInfo; -import com.yizhuan.xchat_android_core.family.bean.FindBannerInfo; -import com.yizhuan.xchat_android_core.family.bean.response.RankingFamilyInfo; -import com.yizhuan.xchat_android_core.family.bean.response.RespFamilyRankList; -import com.yizhuan.xchat_android_core.family.event.FamilyUpdateEvent; -import com.yizhuan.xchat_android_core.family.model.FamilyModel; -import com.yizhuan.xchat_android_library.base.PresenterEvent; -import com.yizhuan.xchat_android_library.rxbus.RxBusHelper; - -import java.util.List; - -import io.reactivex.Single; -import io.reactivex.SingleSource; -import io.reactivex.disposables.CompositeDisposable; -import io.reactivex.functions.Consumer; -import io.reactivex.functions.Function; - -/** - * @author jack - * @Description - * @Date 2018/10/29 - */ -public class FamilyFragmentPresenter extends BaseMvpPresenter { - private CompositeDisposable compositeDisposable; - private FamilyInfo myFamily = null; - - public FamilyFragmentPresenter() { - - } - - @Override - public void onCreatePresenter(@Nullable Bundle saveState) { - super.onCreatePresenter(saveState); - compositeDisposable = new CompositeDisposable(); - addRxEvent(); - } - - @Override - public void onResumePresenter() { - super.onResumePresenter(); - Logger.e("onResumePresenter ~~~"); - } - - @Override - public void onDestroyPresenter() { - super.onDestroyPresenter(); - if (compositeDisposable != null) { - compositeDisposable.dispose(); - compositeDisposable = null; - } - } - - private void addRxEvent() { - /** - * 家族更新事件 - */ - RxBusHelper.doOnMainThread(FamilyUpdateEvent.class, compositeDisposable, new Consumer() { - @Override - public void accept(FamilyUpdateEvent familyUpdateEvent) throws Exception { - checkMyFamilyInfo(); - } - }); - } - - - public FamilyInfo getMyFamily() { - return myFamily; - } - - /** - * 检查我的家族信息 - */ - public void checkMyFamilyInfo() { - myFamily = FamilyModel.Instance().getMyFamily(); - getMvpView().showMyFamilyInfo(myFamily); - } - - public Single> loadWeeklyStarList() { - return FamilyModel.Instance().loadFamilyRankingList( - RespFamilyRankList.TYPE_LAST_WEEK, - String.valueOf(Constants.PAGE_START), - String.valueOf(6) - ) - .compose(bindUntilEvent(PresenterEvent.DESTROY)) - .flatMap(new Function>>() { - @Override - public SingleSource> apply(RespFamilyRankList response) throws Exception { - return Single.just(response.getFamilys()); - } - }); - } - - /** - * 联系客服 - */ - public Single contactCustomerService() { - //去聊 - FamilyCustomServiceInfo serviceInfo = FamilyModel.Instance().getCustomServiceInfo(); - if (null == serviceInfo) { - return Single.error(new Throwable("没找到客服")); - } - String account = ""; - for (int i = 0; i < serviceInfo.getServices().size(); i++) { - if (serviceInfo.getServices().get(i).getType() == CustomServiceInfo.TYPE_ONLINE) { - account = serviceInfo.getServices().get(i).getUid(); - } - } - if (TextUtils.isEmpty(account)) { - return Single.error(new Throwable("没找到对应的联系方式")); - } - - return Single.just(account); - - } - - /** - * 获取家族广场banner数据 - * - * @return - */ - public Single> loadBannerDate() { - return FamilyModel.Instance().loadFamilyBanner() - .compose(bindUntilEvent(PresenterEvent.DESTROY)); - - } - - /** - * 显示客服信息 - * - * @return - */ - public Single showCustomerServiceInfo() { - return FamilyModel.Instance().loadFamilyCustomServiceInfo() - .compose(bindUntilEvent(PresenterEvent.DESTROY)); - } - - -} diff --git a/app/src/main/java/com/yizhuan/erban/home/presenter/FindFragmentPresenter.java b/app/src/main/java/com/yizhuan/erban/home/presenter/FindFragmentPresenter.java deleted file mode 100644 index d08a8f97c..000000000 --- a/app/src/main/java/com/yizhuan/erban/home/presenter/FindFragmentPresenter.java +++ /dev/null @@ -1,135 +0,0 @@ -package com.yizhuan.erban.home.presenter; - -import android.os.Bundle; -import androidx.annotation.Nullable; - -import com.yizhuan.erban.base.BaseMvpPresenter; -import com.yizhuan.erban.home.view.IFindFragmentView; -import com.yizhuan.xchat_android_core.auth.AuthModel; -import com.yizhuan.xchat_android_core.home.bean.FindInfo; -import com.yizhuan.xchat_android_core.home.bean.TopMessage; -import com.yizhuan.xchat_android_core.home.bean.VMTopMessage; -import com.yizhuan.xchat_android_core.home.bean.VMTopMessageInfo; -import com.yizhuan.xchat_android_core.home.model.HomeModel; -import com.yizhuan.xchat_android_library.utils.ListUtils; - -import java.util.ArrayList; -import java.util.List; - -import io.reactivex.SingleObserver; -import io.reactivex.disposables.Disposable; - -/** - * @author jack - * @Description - * @Date 2018/5/22 - */ - -public class FindFragmentPresenter extends BaseMvpPresenter { - - private FindInfo findInfo; - - public FindInfo getFindInfo() { - return findInfo; - } - - public FindFragmentPresenter() { - - } - - @Override - public void onCreatePresenter(@Nullable Bundle saveState) { - super.onCreatePresenter(saveState); - } - - @Override - public void onDestroyPresenter() { - super.onDestroyPresenter(); - } - - public void loadData() { - long uid = AuthModel.get().getCurrentUid(); - if (uid <= 0) { - onLoadFindPageDataFail("没找到uid"); - return; - } - HomeModel.get().loadFindPageV2(String.valueOf(uid)) - .compose(bindToLifecycle()) - .subscribe(new SingleObserver() { - @Override - public void onSubscribe(Disposable d) { - - } - - @Override - public void onSuccess(FindInfo findInfo) { - onLoadFindPageData(findInfo); - } - - @Override - public void onError(Throwable e) { - onLoadFindPageDataFail(e.getMessage()); - } - }); - - } - - - private void onLoadFindPageData(FindInfo findInfo) { - this.findInfo = findInfo; - if (getMvpView() != null) { - getMvpView().onLoadData(findInfo); - } - } - - - private void onLoadFindPageDataFail(String error) { - if (getMvpView() != null) { - getMvpView().onLoadDataFail(error); - } - } - -// @SuppressLint("CheckResult") -// public void loadNewerList() { -// HomeModel.get().loadNewUserList("1", "3") -// .compose(bindUntilEvent(PresenterEvent.DESTROY)) -// .subscribe((userInfoList, throwable) -> { -// if (throwable == null) { -// getMvpView().onLoadNewUserList(userInfoList); -// } else { -// getMvpView().onLoadDataFail(throwable.getMessage()); -// } -// }); -// } - - /** - * 把服务器返回的model 数据转换成 需要显示的 ViewModel - * - * @return - */ - public VMTopMessageInfo transformHomeData2TopMessageInfos(List topMessages) { - if (ListUtils.isListEmpty(topMessages)) { - return null; - } - VMTopMessageInfo topMessageInfo = new VMTopMessageInfo(); - topMessageInfo.setTitle("音游头条"); - List vmTopMessageList = new ArrayList<>(); - //组装成2个2个一组 - final int groupSize = 2; - VMTopMessage vmTopMessage = null; - final int maxSize = topMessages.size() <= 6 ? topMessages.size() : 6; - for (int i = 0; i < maxSize; i++) { - if ((i % groupSize) == 0) { - vmTopMessage = new VMTopMessage(); - vmTopMessage.setTopMessageList(new ArrayList<>()); - vmTopMessageList.add(vmTopMessage); - } - if (vmTopMessage != null) { - vmTopMessage.getTopMessageList().add(topMessages.get(i)); - } - } - topMessageInfo.setVmTopMessageList(vmTopMessageList); - return topMessageInfo; - } - -} diff --git a/app/src/main/java/com/yizhuan/erban/home/presenter/FindTabFragmentPresenter.java b/app/src/main/java/com/yizhuan/erban/home/presenter/FindTabFragmentPresenter.java deleted file mode 100644 index e920571e9..000000000 --- a/app/src/main/java/com/yizhuan/erban/home/presenter/FindTabFragmentPresenter.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.yizhuan.erban.home.presenter; - -import com.yizhuan.erban.base.BaseMvpPresenter; -import com.yizhuan.erban.home.view.IFindTabFragmentView; - -public class FindTabFragmentPresenter extends BaseMvpPresenter { -} diff --git a/app/src/main/java/com/yizhuan/erban/home/presenter/HottestKTVRoomFragmentPresenter.java b/app/src/main/java/com/yizhuan/erban/home/presenter/HottestKTVRoomFragmentPresenter.java deleted file mode 100644 index 7e18e9e0d..000000000 --- a/app/src/main/java/com/yizhuan/erban/home/presenter/HottestKTVRoomFragmentPresenter.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.yizhuan.erban.home.presenter; - -import com.yizhuan.erban.base.BaseMvpPresenter; -import com.yizhuan.erban.home.helper.LoadPageDataHelper; -import com.yizhuan.erban.home.view.IHottestKTVRoomFragmentView; -import com.yizhuan.xchat_android_core.home.bean.KTVRoom; -import com.yizhuan.xchat_android_core.home.model.HomeModel; - -import java.util.List; - -import io.reactivex.Single; - -/** - * @author jack - * @Description - * @Date 2018/10/31 - */ -public class HottestKTVRoomFragmentPresenter extends BaseMvpPresenter - implements LoadPageDataHelper.LoadData> { - - LoadPageDataHelper> loadPageDataHelper; - - public HottestKTVRoomFragmentPresenter() { - loadPageDataHelper = new LoadPageDataHelper<>(this); - } - - - @Override - public Single> loadData(int curPage) { - return HomeModel.get().loadKTVList(String.valueOf(curPage), String.valueOf(10), String.valueOf(2)) - .compose(bindToLifecycle()); - } - - public Single> refreshData() { - return loadPageDataHelper.refreshData(); - } - - public Single> loadMoreData() { - return loadPageDataHelper.loadMoreData(); - } -} diff --git a/app/src/main/java/com/yizhuan/erban/home/presenter/KTVFragmentPresenter.java b/app/src/main/java/com/yizhuan/erban/home/presenter/KTVFragmentPresenter.java deleted file mode 100644 index 2ca5fc0f0..000000000 --- a/app/src/main/java/com/yizhuan/erban/home/presenter/KTVFragmentPresenter.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.yizhuan.erban.home.presenter; - -import com.yizhuan.erban.base.BaseMvpPresenter; -import com.yizhuan.erban.home.view.IKTVFragmentView; - -/** - * @author jack - * @Description - * @Date 2018/10/29 - */ -public class KTVFragmentPresenter extends BaseMvpPresenter { -} diff --git a/app/src/main/java/com/yizhuan/erban/home/presenter/MainFragmentPresenter.java b/app/src/main/java/com/yizhuan/erban/home/presenter/MainFragmentPresenter.java index 307b8e57c..e17442876 100644 --- a/app/src/main/java/com/yizhuan/erban/home/presenter/MainFragmentPresenter.java +++ b/app/src/main/java/com/yizhuan/erban/home/presenter/MainFragmentPresenter.java @@ -2,30 +2,19 @@ package com.yizhuan.erban.home.presenter; import android.annotation.SuppressLint; import android.os.Bundle; -import android.text.TextUtils; import androidx.annotation.Nullable; import com.netease.nim.uikit.common.util.log.LogUtil; import com.yizhuan.erban.base.BaseMvpPresenter; import com.yizhuan.erban.home.view.IMainFragmentView; -import com.yizhuan.xchat_android_core.auth.AuthModel; import com.yizhuan.xchat_android_core.home.bean.BannerInfo; import com.yizhuan.xchat_android_core.home.bean.HomeTagInfo; -import com.yizhuan.xchat_android_core.home.bean.TagListInfo; import com.yizhuan.xchat_android_core.home.model.GameHomeModel; -import com.yizhuan.xchat_android_core.home.model.HomeModel; import com.yizhuan.xchat_android_core.market_verify.event.MarketVerifyUpdateEvent; -import com.yizhuan.xchat_android_core.miniworld.model.MiniWorldModel; -import com.yizhuan.xchat_android_core.patriarch.exception.PmRoomLimitException; import com.yizhuan.xchat_android_core.room.bean.RoomInfo; import com.yizhuan.xchat_android_core.room.model.AvRoomModel; -import com.yizhuan.xchat_android_core.user.AttentionModel; -import com.yizhuan.xchat_android_core.user.bean.AttentionInfo; -import com.yizhuan.xchat_android_core.utils.net.BeanObserver; -import com.yizhuan.xchat_android_core.utils.net.DontWarnObserver; import com.yizhuan.xchat_android_core.utils.net.RxHelper; -import com.yizhuan.xchat_android_library.base.PresenterEvent; import com.yizhuan.xchat_android_library.net.rxnet.callback.CallBack; import org.greenrobot.eventbus.EventBus; @@ -33,10 +22,8 @@ import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.ThreadMode; import java.util.ArrayList; -import java.util.Iterator; import java.util.List; -import io.reactivex.Single; import io.reactivex.SingleObserver; import io.reactivex.disposables.CompositeDisposable; import io.reactivex.disposables.Disposable; @@ -50,8 +37,6 @@ import io.reactivex.disposables.Disposable; public class MainFragmentPresenter extends BaseMvpPresenter { - private final static String TAG = MainFragmentPresenter.class.getSimpleName(); - public static final int OPEN_ROOM_SUCCESS = 1; public static final int OPEN_ROOM_FAIL_TYPE_IN_ROOM = 2; public static final int OPEN_ROOM_FAIL = 3; @@ -60,15 +45,9 @@ public class MainFragmentPresenter extends BaseMvpPresenter { * 青少年限制时长的报错 */ public static final int OPEN_ROOM_FAIL_PM_LIMIT_TIME = 5; - - private int roomType = RoomInfo.ROOMTYPE_HOME_PARTY; - - private CompositeDisposable mCompositeDisposable; - + private final static String TAG = MainFragmentPresenter.class.getSimpleName(); private final AvRoomModel avRoomModel; - - private Disposable mDisposable; - + private CompositeDisposable mCompositeDisposable; public MainFragmentPresenter() { avRoomModel = AvRoomModel.get(); @@ -110,118 +89,6 @@ public class MainFragmentPresenter extends BaseMvpPresenter { } - /** - * 开启房间 - */ - public void requestOpenRoom(int type) { - roomType = type; - AvRoomModel.get().requestRoomInfoV2(String.valueOf(AuthModel.get().getCurrentUid()), 0) - .compose(bindUntilEvent(PresenterEvent.DESTROY)) - .subscribe(new DontWarnObserver() { - @Override - public void acceptThrowable(RoomInfo roomInfo, Throwable throwable) { - super.acceptThrowable(roomInfo, throwable); - if (roomInfo != null) { - onGetRoomInfo(roomInfo); - } else { - if (throwable instanceof PmRoomLimitException) { - if (getMvpView() != null) { - getMvpView().requestOpenRoomResult(OPEN_ROOM_FAIL_PM_LIMIT_TIME, - throwable.getMessage()); - } - } else if (!TextUtils.isEmpty(throwable.getMessage())) { - if (getMvpView() != null) { - getMvpView().requestOpenRoomResult(OPEN_ROOM_FAIL, - throwable.getMessage()); - } - } - } - } - }); - - } - - /** - * 请求退出房间 - */ - public void requestExitRoom(int type) { - if (roomType != type) { - requestCloseRoom(type); - return; - } - roomType = type; - avRoomModel.exitRoom(new CallBack() { - @Override - public void onSuccess(RoomInfo data) { - openRoom(); - } - - @Override - public void onFail(int code, String error) { - getMvpView().requestOpenRoomResult(OPEN_ROOM_FAIL, error); - } - }); - - } - - /** - * 请求关闭房间 - */ - private void requestCloseRoom(int type) { - roomType = type; - AvRoomModel.get() - .quitRoomForOurService(new CallBack() { - @Override - public void onSuccess(String data) { - onCloseRoomInfo(); - } - - @Override - public void onFail(int code, String error) { - onCloseRoomInfoFail(error); - } - }); - } - - @SuppressLint("CheckResult") - private void openRoom() { - AvRoomModel.get().openRoom( - AuthModel.get().getCurrentUid(), roomType, null, null, null, null) - .compose(bindToLifecycle()) - .subscribe((roomResult, throwable) -> { - if (throwable != null) { - onOpenRoomFail(throwable.getMessage()); - } else if (roomResult != null && roomResult.isSuccess()) { - onOpenRoom(roomResult.getData()); - } else if (roomResult != null && !roomResult.isSuccess()) { - if (roomResult.getCode() == 1500) { - onAlreadyOpenedRoom(roomResult.getData()); - } else { - onOpenRoomFail(roomResult.getError()); - } - } else { - onOpenRoomFail("未知错误"); - } - }); - } - - private void onGetRoomInfo(RoomInfo roomInfo) { - if (roomInfo != null) { - if (roomInfo.isValid()) { - if (roomInfo.getType() != roomType) { - requestCloseRoom(roomType); - } else { - getMvpView().requestOpenRoomResult(OPEN_ROOM_SUCCESS, roomInfo); - } - } else { - openRoom(); - } - - } else { - openRoom(); - } - } - @Override public IMainFragmentView getMvpView() { if (super.getMvpView() == null) { @@ -231,80 +98,11 @@ public class MainFragmentPresenter extends BaseMvpPresenter { } } - private void onCloseRoomInfoFail(String error) { - getMvpView().requestOpenRoomResult(OPEN_ROOM_FAIL, error); - } - - private void onCloseRoomInfo() { - openRoom(); - } - - private void onOpenRoom(RoomInfo roomInfo) { - getMvpView().requestOpenRoomResult(OPEN_ROOM_SUCCESS, roomInfo); - } - - private void onOpenRoomFail(String error) { - getMvpView().requestOpenRoomResult(OPEN_ROOM_FAIL, error); - } - - private void onAlreadyOpenedRoom(RoomInfo roomInfo) { - getMvpView().requestOpenRoomResult(OPEN_ROOM_FAIL_ALREADY_OPENED_ROOM, roomInfo); - } - @Subscribe(threadMode = ThreadMode.MAIN) public void onMarketVerifyUpdateEvent(MarketVerifyUpdateEvent event) { getMvpView().showByMarketCheckingStatus(new ArrayList<>()); } - public void tagList() { - HomeModel.get().tagList(AuthModel.get().getCurrentUid()) - .compose(bindToLifecycle()) - .subscribe(new SingleObserver>() { - @Override - public void onSubscribe(Disposable d) { - - } - - @Override - public void onSuccess(List tagListInfoList) { - IMainFragmentView iMainFragmentView = getMvpView(); - if (iMainFragmentView != null) - iMainFragmentView.titleListSuccess(tagListInfoList); - - } - - @Override - public void onError(Throwable e) { - IMainFragmentView iMainFragmentView = getMvpView(); - if (iMainFragmentView != null) - iMainFragmentView.titleListFail(e.getMessage()); - - } - }); - } - - public Single> getAttentionList() { - return AttentionModel.get().getAttentionList( - AuthModel.get().getCurrentUid(), - 1, - 100) - .flatMap(attentionInfos -> { - if (attentionInfos != null) { - Iterator iterator = attentionInfos.iterator(); - while (iterator.hasNext()) { - if (iterator.next().getUserInRoom() == null) { - iterator.remove(); - } - } - if (attentionInfos.size() > 20) { - attentionInfos = attentionInfos.subList(0, 20); - attentionInfos.add(new AttentionInfo()); - } - } - return Single.just(attentionInfos); - }); - } - /** * 获取首页banner */ @@ -361,25 +159,6 @@ public class MainFragmentPresenter extends BaseMvpPresenter { }); } - - public void roomWorldModeClose(long roomUid) { - MiniWorldModel.getInstance().roomWorldModeClose(roomUid).subscribe(new BeanObserver() { - @Override - public void onErrorMsg(String error) { - if (mMvpView != null) - mMvpView.roomWorldModeCloseFail(error); - - } - - @Override - public void onSuccess(String s) { - if (mMvpView != null) - mMvpView.roomWorldModeCloseSuccess(); - - } - }); - } - @SuppressLint("CheckResult") public void getHomeConcerns() { GameHomeModel.get().getHomeConcerns().compose(RxHelper.handleException()) diff --git a/app/src/main/java/com/yizhuan/erban/home/presenter/NewestKTVRoomFragmentPresenter.java b/app/src/main/java/com/yizhuan/erban/home/presenter/NewestKTVRoomFragmentPresenter.java deleted file mode 100644 index 0b79eb55e..000000000 --- a/app/src/main/java/com/yizhuan/erban/home/presenter/NewestKTVRoomFragmentPresenter.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.yizhuan.erban.home.presenter; - -import com.yizhuan.erban.base.BaseMvpPresenter; -import com.yizhuan.erban.home.helper.LoadPageDataHelper; -import com.yizhuan.erban.home.view.INewestKTVRoomFragmentView; -import com.yizhuan.xchat_android_core.home.bean.KTVRoom; -import com.yizhuan.xchat_android_core.home.model.HomeModel; - -import java.util.List; - -import io.reactivex.Single; - -/** - * @author jack - * @Description - * @Date 2018/10/31 - */ -public class NewestKTVRoomFragmentPresenter extends BaseMvpPresenter - implements LoadPageDataHelper.LoadData> { - - LoadPageDataHelper> loadPageDataHelper; - - public NewestKTVRoomFragmentPresenter() { - loadPageDataHelper = new LoadPageDataHelper<>(this); - } - - - @Override - public Single> loadData(int curPage) { - return HomeModel.get().loadKTVList(String.valueOf(curPage), String.valueOf(10), String.valueOf(1)) - .compose(bindToLifecycle()); - } - - public Single> refreshData() { - return loadPageDataHelper.refreshData(); - } - - public Single> loadMoreData() { - return loadPageDataHelper.loadMoreData(); - } -} diff --git a/app/src/main/java/com/yizhuan/erban/home/presenter/RecommendFragmentPresenter.java b/app/src/main/java/com/yizhuan/erban/home/presenter/RecommendFragmentPresenter.java deleted file mode 100644 index d5cc5ecda..000000000 --- a/app/src/main/java/com/yizhuan/erban/home/presenter/RecommendFragmentPresenter.java +++ /dev/null @@ -1,750 +0,0 @@ -package com.yizhuan.erban.home.presenter; - -import android.os.Bundle; -import android.os.Parcelable; -import androidx.annotation.Nullable; -import android.text.TextUtils; - -import com.google.gson.Gson; -import com.google.gson.reflect.TypeToken; -import com.netease.nim.uikit.common.util.log.LogUtil; -import com.yizhuan.erban.base.BaseMvpPresenter; -import com.yizhuan.erban.home.view.IRecommendFragmentView; -import com.yizhuan.xchat_android_core.Constants; -import com.yizhuan.xchat_android_core.auth.AuthModel; -import com.yizhuan.xchat_android_core.bean.response.ServiceResult; -import com.yizhuan.xchat_android_core.home.bean.BannerInfo; -import com.yizhuan.xchat_android_core.home.bean.HomeImpDataType; -import com.yizhuan.xchat_android_core.home.bean.HomeInfo; -import com.yizhuan.xchat_android_core.home.bean.HomeItem; -import com.yizhuan.xchat_android_core.home.bean.HomeRoom; -import com.yizhuan.xchat_android_core.home.bean.MakeFriendsInfo; -import com.yizhuan.xchat_android_core.home.bean.TopMessage; -import com.yizhuan.xchat_android_core.home.bean.VMTopMessage; -import com.yizhuan.xchat_android_core.home.bean.VMTopMessageInfo; -import com.yizhuan.xchat_android_core.home.model.HomeModel; -import com.yizhuan.xchat_android_core.market_verify.event.MarketVerifyUpdateEvent; -import com.yizhuan.xchat_android_core.monsterhunting.bean.MonsterProtocol; -import com.yizhuan.xchat_android_core.monsterhunting.rxevent.MonsterUpdateEvent; -import com.yizhuan.xchat_android_core.utils.net.BeanObserver; -import com.yizhuan.xchat_android_core.utils.net.RxHelper; -import com.yizhuan.xchat_android_library.base.PresenterEvent; -import com.yizhuan.xchat_android_library.rxbus.RxBusHelper; -import com.yizhuan.xchat_android_library.utils.ListUtils; - -import org.greenrobot.eventbus.EventBus; -import org.greenrobot.eventbus.Subscribe; -import org.greenrobot.eventbus.ThreadMode; - -import java.io.Serializable; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -import io.reactivex.SingleObserver; -import io.reactivex.disposables.CompositeDisposable; -import io.reactivex.disposables.Disposable; -import io.reactivex.functions.Consumer; - -/** - * @author jack - * @Description - * @Date 2018/10/29 - */ -public class RecommendFragmentPresenter extends BaseMvpPresenter { - - private final static String TAG = RecommendFragmentPresenter.class.getSimpleName(); - - private List mHomeItemList; - /** - * 用于保存热门推荐的房间 - */ - private List hotList = new ArrayList<>(); - - /** - * 热门标签 - */ - private HomeItem hotTitleItem = new HomeItem<>(HomeItem.TYPE_BLOCK_TITLE); - - private List homeInfos; - private int mPage = Constants.PAGE_START; - private CompositeDisposable mCompositeDisposable; - - public RecommendFragmentPresenter() { - - } - - @Override - public void onSaveInstanceState(Bundle outState) { - super.onSaveInstanceState(outState); - LogUtil.d(TAG, "onSaveInstanceState~~"); - if (!ListUtils.isListEmpty(mHomeItemList)) { - outState.putParcelableArrayList(Constants.KEY_HOME_LIST, (ArrayList) mHomeItemList); - } - } - - @Override - public void onCreatePresenter(@Nullable Bundle saveState) { - super.onCreatePresenter(saveState); - LogUtil.d(TAG, "onCreatePresenter~~"); - if (saveState != null) { - mHomeItemList = saveState.getParcelableArrayList(Constants.KEY_HOME_LIST); - } - if (mCompositeDisposable == null) { - mCompositeDisposable = new CompositeDisposable(); - } - addRxBusEvent(); - EventBus.getDefault().register(this); - } - - /** - * 添加RXBus 事件 - */ - private void addRxBusEvent() { - RxBusHelper.doOnMainThread(MonsterUpdateEvent.class, mCompositeDisposable, new Consumer() { - @Override - public void accept(MonsterUpdateEvent monsterUpdateEvent) throws Exception { - syncMonsterData(monsterUpdateEvent.getMonsterList()); - } - }); - } - - - @Override - public void onDestroyPresenter() { - super.onDestroyPresenter(); - if (mCompositeDisposable != null) { - mCompositeDisposable.dispose(); - mCompositeDisposable = null; - } - EventBus.getDefault().unregister(this); - } - - - /** - * 获取首页数据 - */ - public void loadHomeData() { - String ticket = AuthModel.get().getTicket(); - if (TextUtils.isEmpty(ticket)) { - return; - } - HomeModel.get().loadHomeListV4( - String.valueOf(AuthModel.get().getCurrentUid()) - ) - .compose(bindUntilEvent(PresenterEvent.DESTROY)) - .subscribe(new SingleObserver>>() { - @Override - public void onSubscribe(Disposable d) { - - } - - @Override - public void onSuccess(ServiceResult> listServiceResult) { - if (listServiceResult.isSuccess()) { - onGetHomeDataSuccess(listServiceResult.getData()); - } else { - onGetHomeDataFail(listServiceResult.getError()); - } - } - - @Override - public void onError(Throwable e) { - onGetHomeDataFail(e.getMessage()); - } - - }); - } - - /** - * 获取首页分页数据 - */ - public void loadMoreHomeData() { - String ticket = AuthModel.get().getTicket(); - if (TextUtils.isEmpty(ticket)) { - return; - } - HomeModel.get().loadMoreHomeData(mPage, 15) - .compose(bindUntilEvent(PresenterEvent.DESTROY)) - .subscribe(new BeanObserver>() { - @Override - public void onErrorMsg(String error) { - getMvpView().addHomeDataFail(error); - } - - @Override - public void onSuccess(List list) { - if (list.size() == 0) { - getMvpView().onNoMoreHomeData(); - return; - } - - //兼容后台首页热门数据不够3个,但是翻页加载第二页却有数据 - //据说是后台缓存导致 - if (mHomeItemList == null) { - return; - } - //将热门项移除先 - List notHotList = new ArrayList<>(); - for (HomeItem index : mHomeItemList) { - if (!index.isHotItem()) { - notHotList.add(index); - } - } - mHomeItemList.clear(); - mHomeItemList.addAll(notHotList); - - //先移除热门项的虚位以待 - List notRemoveList = new ArrayList<>(); - for(HomeItem item : hotList) { - if (item.getItemType() != HomeItem.TYPE_SQUARE_EMPTY) { - notRemoveList.add(item); - } - } - hotList.clear(); - hotList.addAll(notRemoveList); - - //把加载到的数据添加hotlist - for(HomeRoom item : list) { - HomeItem homeItem; - if (hotList.size() < 3) { - homeItem = new HomeItem<>( - HomeItem.TYPE_SQUARE_PIC, item, true); - } else { - homeItem = new HomeItem<>( - HomeItem.TYPE_LINEAR_LITTLE_PIC, item, true); - } - hotList.add(homeItem); - } - //计算要添加的虚位以待 - if (hotList.size() >= 1 && hotList.size() < 3) { - int emptyNum = 3 - hotList.size(); - for (int i = 0; i < emptyNum; i++) { - HomeItem emptyItem = new HomeItem<>( - HomeItem.TYPE_SQUARE_EMPTY, new HomeRoom(), true); - hotList.add(emptyItem); - } - } - for (int i = 0; i < hotList.size(); i++) { - if (i < 3) { - hotList.get(i).setDividerDesc(i); - } else if (i == hotList.size() - 1) { - hotList.get(i).setDividerDesc(-2); - } else { - hotList.get(i).setDividerDesc(-1); - } - } - - if (!mHomeItemList.contains(hotTitleItem)) { - mHomeItemList.add(hotTitleItem); - } - mHomeItemList.addAll(hotList); - getMvpView().addHomeDataSuccess(hotList); - mPage++; - } - }); - } - - /** - * 首页数据成功 - * - * @param homeInfoList - */ - private void onGetHomeDataSuccess(List homeInfoList) { - if (!ListUtils.isListEmpty(homeInfoList)) { - if (!ListUtils.isListEmpty(mHomeItemList)) { - mHomeItemList.clear(); - } - if (mHomeItemList == null) { - mHomeItemList = new ArrayList<>(); - } - hotList.clear(); - transformHomeData(homeInfoList); - getMvpView().loadHomeDataSuccess(mHomeItemList); - //3.1.2之后推荐页不显示怪兽 - //MonsterHuntingModel.get().getMonsterList("", AuthModel.get().getTicket()); - } else { - getMvpView().onNoHomeData(); - } - } - - /** - * 刷新交友的房间列表 - */ - public void refreshMakeFriendList() { - HomeModel.get().loadMakeFriendList() - .compose(RxHelper.handleBeanData()) - .compose(bindUntilEvent(PresenterEvent.DESTROY)) - .subscribe(new SingleObserver>() { - @Override - public void onSubscribe(Disposable d) { - - } - - @Override - public void onSuccess(List roomList) { - setToHomeItemList(roomList); - } - - @Override - public void onError(Throwable e) { - getMvpView().onRefreshMakeFriendListFail(e.getMessage()); - } - }); - - } - - private void setToHomeItemList(List roomList) { - HomeItem makeFriendsInfoHomeItem = findHomeItemByType(HomeItem.TYPE_MAKE_FRIENDS); - if (makeFriendsInfoHomeItem == null) { - return; - } - MakeFriendsInfo makeFriendsInfo = (MakeFriendsInfo) makeFriendsInfoHomeItem.getData(); - if (makeFriendsInfo == null) { - return; - } - makeFriendsInfo.setVmIsLoading(false); - makeFriendsInfo.setRoomList(roomList); - int position = mHomeItemList.indexOf(makeFriendsInfoHomeItem); - - getMvpView().notifyDataSetChanged(IRecommendFragmentView.NOTIFY_DATA_SET_CHANGED, position, null); - - } - - @Nullable - private HomeItem findHomeItemByType(int type) { - for (HomeItem homeItem : this.mHomeItemList) { - if (homeItem.getItemType() == type) { - return homeItem; - } - } - return null; - } - - private void removeEmptyHomeItem() { - Iterator iterator = this.mHomeItemList.iterator(); - while (iterator.hasNext()) { - HomeItem homeItem = iterator.next(); - if (null == homeItem.getData() - && homeItem.getItemType() != HomeItem.TYPE_DIV_1 - && homeItem.getItemType() != HomeItem.TYPE_DIV_2) { - iterator.remove(); - } - } - - } - - /** - * 转换成我们的viewModel - * - * @param homeInfoList - */ - private void transformHomeData(List homeInfoList) { - - if (null == this.mHomeItemList) { - return; - } - if (null == homeInfoList) { - return; - } - //banner - mHomeItemList.add(new HomeItem>(HomeItem.TYPE_BANNER)); - //因为可配置模块不止1个,并且位置一定要在墙裂推荐和热门推荐之间 - //所以可配置模块独立获取 - List configList = new ArrayList<>(); - //热门推荐 - hotList.clear(); - this.homeInfos = homeInfoList; - for (HomeInfo homeInfo : homeInfoList) { - if (null == homeInfo) continue; - if (homeInfo.getType() == HomeItem.TYPE_BANNER) { - //top Banner - HomeItem> topBannerInfoHomeItem = findHomeItemByType(HomeItem.TYPE_BANNER); - ArrayList topBannerInfoList = new Gson().fromJson(homeInfo.getData(), - new TypeToken>() { - }.getType()); - if (!ListUtils.isListEmpty(topBannerInfoList)) { - topBannerInfoHomeItem.setData(topBannerInfoList); - } - - } else if (homeInfo.getType() == HomeItem.TYPE_TOP_MESSAGE) { - //音游头条数据 - //3.1.2开始不处理 - } else if (homeInfo.getType() == HomeItem.TYPE_RECOMMEND || - homeInfo.getType() == HomeItem.TYPE_CONFIG) { - //此版本推荐和可配置模块,数据和ui都一样,所以一起处理 - HomeItem titleItem = new HomeItem<>(HomeItem.TYPE_BLOCK_TITLE, - homeInfo.getTitle()); - List tmpList = handleSubListToMainList(homeInfo, -1, false); - - if (!ListUtils.isListEmpty(tmpList)) { - - // 推荐位第三个位置展示半小时榜图标 - if (homeInfo.getType() == HomeItem.TYPE_RECOMMEND && tmpList.size() >= 3) { - tmpList.get(2).setShowRankHalfIcon(true); - } - - configList.add(titleItem); - configList.addAll(tmpList); - } - } else if (homeInfo.getType() == HomeItem.TYPE_KTV) { - //KTV 房间列表 - //3.1.2开始不处理 - } else if (homeInfo.getType() == HomeItem.TYPE_HALL) { - //交友的大厅 - - } else if (homeInfo.getType() == HomeItem.TYPE_MAKE_FRIENDS) { - //佛系交友大厅 - //3.1.2开始不处理 - } else if (homeInfo.getType() == HomeImpDataType.HOT) { - hotTitleItem.setData(homeInfo.getTitle()); - hotList.addAll(handleSubListToMainList(homeInfo, 3, true)); - } - - } - - - /**************************************************************************/ - - //移除没内容的块 - removeEmptyHomeItem(); - - //添加可配置模块 - mHomeItemList.addAll(configList); - - //添加热门 - //为了兼容后台,热门第一页没数据,第二页居然有数据的骚操作 - //客户端进行兼容 - if (hotList.size() > 0) { - //添加标题 - if (TextUtils.isEmpty(hotTitleItem.getData())) { - hotTitleItem.setData("热门推荐"); - } - mHomeItemList.add(hotTitleItem); - mHomeItemList.addAll(hotList); - } - } - - - /** - * 由于接口的数据是分模块返回的, - * 所以将模块的数据处理后,合成一条list - */ - private List handleSubListToMainList(HomeInfo homeInfo, int customSquareNum, boolean isHot) { - List resultList = new ArrayList<>(); - if (null != homeInfo.getData() && homeInfo.getData().isJsonArray() - && homeInfo.getData().getAsJsonArray().size() > 0) { - //判断不为空 - List homeRoomList = new Gson().fromJson(homeInfo.getData(), - new TypeToken>() { - }.getType()); - if (homeRoomList == null) { - homeRoomList = new ArrayList<>(); - - } - int maxNum; - //表示方格子的个数,如果不足3的倍数,则补足3的倍数 - //处理热门数据,前三个为格子,其他为普通布局,如果不足三个,则补虚位以待 - if (customSquareNum >= 0) { - maxNum = customSquareNum; - } else { - maxNum = homeInfo.getMaxNum(); - } - List squareList = new ArrayList<>(); - List linearList = new ArrayList<>(); - - for (int i = 0; i < homeRoomList.size(); i++) { - HomeItem item; - HomeRoom room = homeRoomList.get(i); - if (i < maxNum) { - item = new HomeItem<>(HomeItem.TYPE_SQUARE_PIC, room, isHot); - squareList.add(item); - } else { - item = new HomeItem<>(HomeItem.TYPE_LINEAR_LITTLE_PIC, room, isHot); - linearList.add(item); - } - } - //添加虚位以待 - int needEmptySize; - if (squareList.size() == 0) { - //如果方形推荐位为空,添加3个虚位以待 - //如果方块列表为空,maxnum = 0,不配置虚位以待 - needEmptySize = 0; - } else if (squareList.size() % 3 == 0) { - //如果刚好是3的倍数,则不需要添加 - needEmptySize = 0; - } else { - //其余情况补足 - needEmptySize = 3 - squareList.size() % 3; - } - //添加虚位以待 - if (needEmptySize > 0) { - for (int i = 0; i < needEmptySize; i++) { - HomeItem item = new HomeItem<>(HomeItem.TYPE_SQUARE_EMPTY, new HomeRoom(), isHot); - squareList.add(item); - } - } - //加个防错机制,保证方形是3的倍数 - while (squareList.size() % 3 != 0) { - if (squareList.size() > 0) { - squareList.remove(squareList.size() - 1); - } - } - //添加分割线 - for (int i = 0; i < squareList.size(); i++) { - squareList.get(i).setDividerDesc(i % 3); - } - //分割线 - for (int i = 0; i < linearList.size(); i++) { - if (i == linearList.size() - 1) { - linearList.get(i).setDividerDesc(-2); - } else { - linearList.get(i).setDividerDesc(-1); - } - } - resultList.addAll(squareList); - resultList.addAll(linearList); - } - return resultList; - } - - /** - * 整理推荐数据 - * - * @param homeRoomList - */ - private void handleErbanRoomList(List homeRoomList) { - if (ListUtils.isListEmpty(homeRoomList)) { - return; - } - //做下简单的数据处理,对前3项特别处理 - for (int i = 0; i < homeRoomList.size(); i++) { - if (i < 3) { - homeRoomList.get(i).setItemStarType(HomeRoom.TYPE_GIRD); - } else { - homeRoomList.get(i).setItemStarType(HomeRoom.TYPE_LINEAR); - } - } - //不足三项的情况下,添加虚位以待的格子 - if (homeRoomList.size() > 0 && homeRoomList.size() < 3) { - List emptyList = new ArrayList<>(); - for (int i = 0; i < (3 - homeRoomList.size()); i++) { - HomeRoom homeRoom = new HomeRoom(); - homeRoom.setItemStarType(HomeRoom.TYPE_GIRD_EMPTY); - emptyList.add(homeRoom); - } - homeRoomList.addAll(emptyList); - } - } - - /** - * 把服务器返回的model 数据转换成 需要显示的 ViewModel - * - * @param homeInfo - * @return - */ - private VMTopMessageInfo transformHomeData2TopMessageInfos(HomeInfo homeInfo) { - List topMessages = new Gson().fromJson(homeInfo.getData(), new TypeToken>() { - }.getType()); - VMTopMessageInfo topMessageInfo = new VMTopMessageInfo(); - topMessageInfo.setTitle(homeInfo.getTitle()); - List vmTopMessageList = new ArrayList<>(); - //组装成2个2个一组 - final int groupSize = 2; - VMTopMessage vmTopMessage = null; - final int maxSize = topMessages.size() <= 6 ? topMessages.size() : 6; - for (int i = 0; i < maxSize; i++) { - if ((i % groupSize) == 0) { - vmTopMessage = new VMTopMessage(); - vmTopMessage.setTopMessageList(new ArrayList<>()); - vmTopMessageList.add(vmTopMessage); - } - if (vmTopMessage != null) { - vmTopMessage.getTopMessageList().add(topMessages.get(i)); - } - } - topMessageInfo.setVmTopMessageList(vmTopMessageList); - return topMessageInfo; - } - - /** - * 获取首页数据失败 - * - * @param error - */ - private void onGetHomeDataFail(String error) { - getMvpView().loadHomeDataFail(error); - } - - - public int getPage() { - return this.mPage; - } - - public void setPage(int page) { - this.mPage = page; - } - - public List getmHomeItemList() { - return mHomeItemList; - } - - - @Override - public IRecommendFragmentView getMvpView() { - if (super.getMvpView() == null) { - return new IRecommendFragmentView.FakeIMainFragmentView(); - } else { - return super.getMvpView(); - } - } - - - /** - * 同步怪兽数据 - * - * @param monsterList - */ - private void syncMonsterData(List monsterList) { - //查找更新怪兽,没有的话添加怪兽 - for (int i = 0; i < monsterList.size(); i++) { - MonsterProtocol.DataBean monsterSource = monsterList.get(i); - boolean isFindMonster = false; - for (int j = 0; j < mHomeItemList.size(); j++) { - HomeItem homeItem = mHomeItemList.get(j); - if (homeItem.getItemType() == HomeItem.TYPE_MONSTER) { - MonsterProtocol.DataBean monsterTarget = (MonsterProtocol.DataBean) homeItem.getData(); - if (monsterTarget.getMonsterId() == monsterSource.getMonsterId()) { - isFindMonster = true; - homeItem.setData(monsterSource); - break; - } - } - } - if (!isFindMonster) { - HomeItem homeItem = new HomeItem<>(HomeItem.TYPE_MONSTER); - homeItem.setData(monsterSource); - mHomeItemList.add(1, homeItem); - } - } - - //当前列表存在怪兽列表不存在的怪兽,移除该怪兽 - Iterator itemIterator = mHomeItemList.iterator(); - while (itemIterator.hasNext()) { - HomeItem homeItem = itemIterator.next(); - if (homeItem.getItemType() == HomeItem.TYPE_MONSTER) { - MonsterProtocol.DataBean monsterSource = (MonsterProtocol.DataBean) homeItem.getData(); - boolean isNeedRemove = true; - for (int i = 0; i < monsterList.size(); i++) { - MonsterProtocol.DataBean monsterTarget = monsterList.get(i); - if (monsterTarget.getMonsterId() == monsterSource.getMonsterId()) { - isNeedRemove = false; - break; - } - } - int position = mHomeItemList.indexOf(homeItem); - if (isNeedRemove) { - itemIterator.remove(); - getMvpView().notifyDataSetChanged(IRecommendFragmentView.NOTIFY_DATA_SET_CHANGED, IRecommendFragmentView.NOTIFY_DATA_SET_REMOVE, position); - } else { - getMvpView().notifyDataSetChanged(IRecommendFragmentView.NOTIFY_DATA_SET_CHANGED, IRecommendFragmentView.NOTIFY_DATA_SET_CHANGED, position); - } - - - } - } - - - } - - - /** - * 列表中存在这个怪兽 - * - * @param data - * @return - */ - private boolean findMonster(MonsterProtocol.DataBean data) { - for (HomeItem homeItem : mHomeItemList) { - if (HomeItem.TYPE_MONSTER == homeItem.getItemType()) { - MonsterProtocol.DataBean monsterInfos = (MonsterProtocol.DataBean) homeItem.getData(); - if (monsterInfos.getMonsterId() == data.getMonsterId()) { - return true; - } - } - } - return false; - } - - /** - * 刷新头条消息,全部全服广播到来时候刷新 - */ - public void refreshTopMessageList() { - HomeModel.get().loadHomeListV4( - String.valueOf(AuthModel.get().getCurrentUid()) - ) - .compose(bindUntilEvent(PresenterEvent.DESTROY)) - .subscribe(new SingleObserver>>() { - @Override - public void onSubscribe(Disposable d) { - - } - - @Override - public void onSuccess(ServiceResult> listServiceResult) { - if (listServiceResult.isSuccess()) { - updateTopMessages(listServiceResult.getData()); - } - } - - @Override - public void onError(Throwable e) { - } - - }); - } - - /** - * 更新头条信息 - * - * @param data - */ - private void updateTopMessages(List data) { - //新获取到首页排序与旧的不一致,直接刷新首页 - if (homeInfos == null || homeInfos.size() != data.size()) { - loadHomeData(); - return; - } - for (int i = 0; i < homeInfos.size(); i++) { - if (homeInfos.get(i).getType() != data.get(i).getType()) { - loadHomeData(); - return; - } - } - - //新获取到首页排序与旧的一致,更新头条数据 - VMTopMessageInfo vmTopMessageInfo = null; - for (HomeInfo datum : data) { - if (datum.getType() == HomeItem.TYPE_TOP_MESSAGE) { - vmTopMessageInfo = transformHomeData2TopMessageInfos(datum); - break; - } - } - if (null != vmTopMessageInfo) { - for (int i = 0; i < mHomeItemList.size(); i++) { - HomeItem homeItem = mHomeItemList.get(i); - if (homeItem.getItemType() == HomeItem.TYPE_TOP_MESSAGE) { - homeItem.setData(vmTopMessageInfo); - getMvpView().notifyDataSetChanged(IRecommendFragmentView.NOTIFY_DATA_SET_CHANGED, IRecommendFragmentView.NOTIFY_DATA_SET_CHANGED, i); - break; - } - } - } - } - - @Subscribe(threadMode = ThreadMode.MAIN) - public void onMarketVerifyUpdateEvent(MarketVerifyUpdateEvent event) { - getMvpView().showByMarketCheckingStatus(); - } - -} diff --git a/app/src/main/java/com/yizhuan/erban/home/presenter/RoomCategoryFragmentPresenter.java b/app/src/main/java/com/yizhuan/erban/home/presenter/RoomCategoryFragmentPresenter.java deleted file mode 100644 index dd296f6ef..000000000 --- a/app/src/main/java/com/yizhuan/erban/home/presenter/RoomCategoryFragmentPresenter.java +++ /dev/null @@ -1,78 +0,0 @@ -package com.yizhuan.erban.home.presenter; - -import android.os.Bundle; -import android.os.Parcelable; -import androidx.annotation.Nullable; - -import com.yizhuan.erban.base.BaseMvpPresenter; -import com.yizhuan.erban.home.view.IRoomCategoryFragmentView; -import com.yizhuan.xchat_android_core.Constants; -import com.yizhuan.xchat_android_core.home.bean.TabInfo; -import com.yizhuan.xchat_android_core.home.model.HomeModel; -import com.yizhuan.xchat_android_library.base.PresenterEvent; -import com.yizhuan.xchat_android_library.utils.ListUtils; - -import java.util.ArrayList; -import java.util.List; - -import io.reactivex.SingleObserver; -import io.reactivex.disposables.Disposable; - -/** - * @author jack - * @Description - * @Date 2018/10/29 - */ -public class RoomCategoryFragmentPresenter extends BaseMvpPresenter { - private static final String TAG = RoomCategoryFragmentPresenter.class.getSimpleName(); - - private List mTabInfoList; - - @Override - public void onCreatePresenter(@Nullable Bundle saveState) { - super.onCreatePresenter(saveState); - if (saveState != null) { - mTabInfoList = saveState.getParcelableArrayList(Constants.KEY_MAIN_TAB_LIST); - }else{ - mTabInfoList = HomeModel.get().getmTabInfoList(); - - } - } - - @Override - public void onSaveInstanceState(Bundle outState) { - super.onSaveInstanceState(outState); - if (!ListUtils.isListEmpty(mTabInfoList)) { - outState.putParcelableArrayList(Constants.KEY_MAIN_TAB_LIST, (ArrayList) mTabInfoList); - } - } - - public List getTabInfoList() { - return this.mTabInfoList; - } - - /** - * 从服务器获取房间分类列表 - */ - public void loadTabInfoList() { - HomeModel.get().getMainTabData() - .compose(bindUntilEvent(PresenterEvent.DESTROY)) - .subscribe(new SingleObserver>() { - @Override - public void onSubscribe(Disposable d) { - - } - - @Override - public void onSuccess(List tabInfos) { - mTabInfoList = tabInfos; - getMvpView().initiate(); - } - - @Override - public void onError(Throwable e) { - //获取不到 - } - }); - } -} diff --git a/app/src/main/java/com/yizhuan/erban/home/presenter/RoomListPresenter.java b/app/src/main/java/com/yizhuan/erban/home/presenter/RoomListPresenter.java deleted file mode 100644 index 52d2c6654..000000000 --- a/app/src/main/java/com/yizhuan/erban/home/presenter/RoomListPresenter.java +++ /dev/null @@ -1,87 +0,0 @@ -package com.yizhuan.erban.home.presenter; - -import com.trello.rxlifecycle3.android.FragmentEvent; -import com.yizhuan.erban.base.BaseMvpPresenter; -import com.yizhuan.erban.home.helper.LoadPageDataHelper; -import com.yizhuan.erban.home.view.IRoomListFragmentView; -import com.yizhuan.xchat_android_core.Constants; -import com.yizhuan.xchat_android_core.home.bean.BannerInfo; -import com.yizhuan.xchat_android_core.home.bean.ClassifiedRoomInfo; -import com.yizhuan.xchat_android_core.home.bean.HomeRoom; -import com.yizhuan.xchat_android_core.home.bean.HomeRoomItem; -import com.yizhuan.xchat_android_core.home.bean.TabInfo; -import com.yizhuan.xchat_android_core.home.model.HomeModel; -import com.yizhuan.xchat_android_library.base.PresenterEvent; -import com.yizhuan.xchat_android_library.utils.ListUtils; - -import java.io.Serializable; -import java.util.ArrayList; -import java.util.List; - -import io.reactivex.Single; -import io.reactivex.SingleSource; -import io.reactivex.functions.Function; - -/** - * @author jack - * @Description - * @Date 2018/11/2 - */ -public class RoomListPresenter extends BaseMvpPresenter - implements LoadPageDataHelper.LoadData> { - - private LoadPageDataHelper> loadPageDataHelper; - - private TabInfo tabInfo; - - public RoomListPresenter() { - loadPageDataHelper = new LoadPageDataHelper<>(this); - } - - public void setTabInfo(TabInfo tabInfo) { - this.tabInfo = tabInfo; - } - - @Override - public Single> loadData(int curPage) { - if (tabInfo == null) { - return Single.error(new Throwable("没找到房间类型")); - } - return HomeModel.get().getMainDataByTab(tabInfo.getId(), curPage, Constants.PAGE_SIZE) - .compose(bindUntilEvent(PresenterEvent.DESTROY)) - .flatMap(new Function>>() { - @Override - public SingleSource> apply(ClassifiedRoomInfo classifiedRoomInfo) throws Exception { - List list = new ArrayList<>(); - List homeRooms = classifiedRoomInfo.getRooms(); - - if (!ListUtils.isListEmpty(homeRooms)) { - for (HomeRoom homeRoom : homeRooms) { - list.add(new HomeRoomItem<>(HomeRoomItem.TYPE_HOME_ROOM, homeRoom)); - } - } - if (!ListUtils.isListEmpty(classifiedRoomInfo.getBanners()) && curPage == Constants.PAGE_START) { - if (list.size() <= 4) { - list.add(new HomeRoomItem<>(HomeRoomItem.TYPE_BANNER, classifiedRoomInfo.getBanners())); - } else { - list.add(4, new HomeRoomItem<>(HomeRoomItem.TYPE_BANNER, classifiedRoomInfo.getBanners())); - } - } - - if (ListUtils.isListEmpty(list)) { - return Single.just(new ArrayList<>()); - } else { - return Single.just(list); - } - } - }); - } - - public Single> refreshData() { - return loadPageDataHelper.refreshData(); - } - - public Single> loadMoreData() { - return loadPageDataHelper.loadMoreData(); - } -} diff --git a/app/src/main/java/com/yizhuan/erban/home/presenter/RoomTabPresenter.java b/app/src/main/java/com/yizhuan/erban/home/presenter/RoomTabPresenter.java deleted file mode 100644 index edd180795..000000000 --- a/app/src/main/java/com/yizhuan/erban/home/presenter/RoomTabPresenter.java +++ /dev/null @@ -1,106 +0,0 @@ -package com.yizhuan.erban.home.presenter; - -import com.yizhuan.erban.base.BaseMvpPresenter; -import com.yizhuan.erban.home.helper.LoadPageDataHelper; -import com.yizhuan.erban.home.view.IRoomTabView; -import com.yizhuan.xchat_android_core.Constants; -import com.yizhuan.xchat_android_core.home.bean.HomeRoom; -import com.yizhuan.xchat_android_core.home.bean.HomeRoomItem; -import com.yizhuan.xchat_android_core.home.bean.TitleIndexInfo; -import com.yizhuan.xchat_android_core.home.model.HomeModel; -import com.yizhuan.xchat_android_library.utils.ListUtils; - -import java.util.ArrayList; -import java.util.List; - -import io.reactivex.Single; -import io.reactivex.SingleSource; -import io.reactivex.functions.Function; - -public class RoomTabPresenter extends BaseMvpPresenter implements LoadPageDataHelper.LoadData> { - - private LoadPageDataHelper> loadPageDataHelper; - - private long mTitleId = -1; - - public RoomTabPresenter() { - loadPageDataHelper = new LoadPageDataHelper<>(this); - } - - public void setmTitleId(long titleId) { - this.mTitleId = titleId; - } - - @Override - public Single> loadData(int curPage) { - if (mTitleId < 0) { - return Single.error(new Throwable("没找到房间类型")); - } - - return HomeModel.get().titleIndex(mTitleId, curPage, Constants.PAGE_SIZE) - .compose(bindToLifecycle()) - .flatMap(new Function>>() { - @Override - public SingleSource> apply(TitleIndexInfo classifiedRoomInfo) throws Exception { - List list = new ArrayList<>(); - List homeRooms = classifiedRoomInfo.getRooms(); - - if (!ListUtils.isListEmpty(homeRooms)) { - - if (curPage == Constants.PAGE_START) { - - // 空白占位 - list.add(new HomeRoomItem<>(HomeRoomItem.TYPE_TOP_EMPTY, null)); - - int topThree = 0; - ArrayList roomList = new ArrayList<>(); - while (homeRooms.size() > 0 && topThree < 3) { - HomeRoom homeRoom = homeRooms.remove(0); - homeRoom.setItemStarType(HomeRoom.TYPE_GIRD); - roomList.add(homeRoom); - topThree++; - } - - while (roomList.size() < 3) { - HomeRoom homeRoom = new HomeRoom(); - homeRoom.setItemStarType(HomeRoom.TYPE_GIRD_EMPTY); - roomList.add(homeRoom); - } - - list.add(new HomeRoomItem<>(HomeRoomItem.TYPE_TOP_THREE, roomList)); - - } - - for (HomeRoom homeRoom : homeRooms) { - list.add(new HomeRoomItem<>(HomeRoomItem.TYPE_HOME_ROOM, homeRoom)); - } - } - - if (!ListUtils.isListEmpty(classifiedRoomInfo.getBanner()) && curPage == Constants.PAGE_START) { - HomeRoomItem bannerItems = new HomeRoomItem<>(HomeRoomItem.TYPE_BANNER, classifiedRoomInfo.getBanner()); - if (list.size() <= 5) { - if (list.size() == 0) - bannerItems.setBannerInTop(true); - list.add(bannerItems); - } else { - list.add(5, bannerItems); - } - } - - if (ListUtils.isListEmpty(list)) { - return Single.just(new ArrayList<>()); - } else { - return Single.just(list); - } - } - }); - } - - public Single> refreshData() { - return loadPageDataHelper.refreshData(); - } - - public Single> loadMoreData() { - return loadPageDataHelper.loadMoreData(); - } -} diff --git a/app/src/main/java/com/yizhuan/erban/home/view/Home3PlusNDecoration.java b/app/src/main/java/com/yizhuan/erban/home/view/Home3PlusNDecoration.java deleted file mode 100644 index 01c6164e3..000000000 --- a/app/src/main/java/com/yizhuan/erban/home/view/Home3PlusNDecoration.java +++ /dev/null @@ -1,98 +0,0 @@ -package com.yizhuan.erban.home.view; - -import android.content.Context; -import android.graphics.Rect; -import android.graphics.drawable.ColorDrawable; -import android.graphics.drawable.Drawable; -import androidx.recyclerview.widget.GridLayoutManager; -import androidx.recyclerview.widget.RecyclerView; -import android.view.View; - -import com.yizhuan.erban.R; -import com.yizhuan.erban.home.adapter.HomeFragmentAdapter; -import com.yizhuan.erban.ui.widget.magicindicator.buildins.UIUtil; - -/** - * 首页3+n的边框划线 - * Created by lvzebiao on 2019/2/20. - */ - -public class Home3PlusNDecoration extends RecyclerView.ItemDecoration { - - private int gridDividerPx; - - private HomeFragmentAdapter adapter; - - private Drawable lineDrawable; - - private int lineLeftPaddingPx; - - private int lineHeightPx = 1; - - public Home3PlusNDecoration(Context context, HomeFragmentAdapter adapter) { - gridDividerPx = UIUtil.dip2px(context, 15); - lineLeftPaddingPx = UIUtil.dip2px(context, 86); - this.adapter = adapter; - lineDrawable = new ColorDrawable(context.getResources().getColor(R.color.line_color)); - } - - @Override - public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) { - super.getItemOffsets(outRect, view, parent, state); - if (!(parent.getLayoutManager() instanceof GridLayoutManager)) { - return; - } - GridLayoutManager manager = (GridLayoutManager) parent.getLayoutManager(); - int position = parent.getChildAdapterPosition(view); - if (position >= adapter.getData().size()) { - outRect.set(0, 0, 0, 0); - return; - } - int dividerDesc = adapter.getData().get(position).getDividerDesc(); - int left, right; - if (dividerDesc == -3) { - left = 0; - right = 0; - } else if (dividerDesc >= 0) { - left = gridDividerPx - gridDividerPx * dividerDesc / manager.getSpanCount(); - right = gridDividerPx * (dividerDesc + 1) / manager.getSpanCount(); - } else { - left = gridDividerPx; - right = gridDividerPx; - } - int bottom = 0; - //首页去除画线 -// if (dividerDesc == -3) { -// bottom = 0; -// } else if (dividerDesc == -1) { -// bottom = lineHeightPx; -// } else { -// bottom = 0; -// } - outRect.set(left, 0, right, bottom); - } - //首页去除画线 -// @Override -// public void onDraw(Canvas c, RecyclerView parent, RecyclerView.State state) { -// super.onDraw(c, parent, state); -// int left = lineLeftPaddingPx; -// int right = parent.getWidth() - gridDividerPx; -// for (int i = 0; i < parent.getChildCount(); i++) { -// View childView = parent.getChildAt(i); -// RecyclerView.LayoutParams childViewParams = (RecyclerView.LayoutParams) childView.getLayoutParams(); -// int position = childViewParams.getViewAdapterPosition(); -// if (position < adapter.getData().size()) { -// int dividerDesc = adapter.getData().get(position).getDividerDesc(); -// if (dividerDesc == -1) { -// //int traX = (int)(ViewCompat.getTranslationX(childView)); 偏移值,暂时没用到 -// //int traY = (int)(ViewCompat.getTranslationY(childView)); -// final int top = childView.getTop() + childView.getHeight(); -// final int bottom = top + lineHeightPx; -// //drawable.setBounds(left + traX, top + traY, right + traX, bottom + traY); -// lineDrawable.setBounds(left, top, right, bottom); -// lineDrawable.draw(c); -// } -// } -// } -// } -} diff --git a/app/src/main/java/com/yizhuan/erban/home/view/HomeConfigModule.java b/app/src/main/java/com/yizhuan/erban/home/view/HomeConfigModule.java deleted file mode 100644 index 71691a84b..000000000 --- a/app/src/main/java/com/yizhuan/erban/home/view/HomeConfigModule.java +++ /dev/null @@ -1,69 +0,0 @@ -package com.yizhuan.erban.home.view; - -import android.content.Context; -import androidx.recyclerview.widget.GridLayoutManager; -import androidx.recyclerview.widget.RecyclerView; -import android.util.AttributeSet; -import android.widget.TextView; - -import com.chad.library.adapter.base.BaseQuickAdapter; -import com.yizhuan.erban.R; -import com.yizhuan.erban.home.adapter.ErbanRecommendAdapter; -import com.yizhuan.erban.home.adapter.RecommendThreeNModelDecoration; -import com.yizhuan.erban.ui.widget.magicindicator.buildins.UIUtil; -import com.yizhuan.xchat_android_core.home.bean.HomeRoom; -import com.yizhuan.xchat_android_core.home.bean.RecommendInfo; -import com.yizhuan.xchat_android_library.widget.ShapeConstrainLayout; - -import java.util.List; - -/** - * 可配置模块,3N+M布局封装 - * Created by lvzebiao on 2019/2/19. - */ - -public class HomeConfigModule extends ShapeConstrainLayout { - - private TextView tvTitle; - - private RecyclerView recyclerView; - - public HomeConfigModule(Context context) { - this(context, null); - } - - public HomeConfigModule(Context context, AttributeSet attrs) { - super(context, attrs); - inflate(context, R.layout.home_module_title_recycler_view, this); - tvTitle = findViewById(R.id.tv_title); - recyclerView = findViewById(R.id.rv_list); - } - - public void setData(RecommendInfo info) { - if (info == null) { - return; - } - tvTitle.setText(info.getTitle()); - List roomList = info.getRoomList(); - recyclerView.setItemAnimator(null); - recyclerView.setFocusable(false); - Context context = getContext(); - GridLayoutManager manager = new GridLayoutManager(context, 3); - recyclerView.setLayoutManager(manager); - if (recyclerView.getItemDecorationCount() == 0) { - int px = UIUtil.dip2px(context, 15); - recyclerView.addItemDecoration(new RecommendThreeNModelDecoration(px)); - } - ErbanRecommendAdapter erbanRecommendAdapter = new ErbanRecommendAdapter(context, roomList); - recyclerView.setAdapter(erbanRecommendAdapter); - erbanRecommendAdapter.setSpanSizeLookup(new BaseQuickAdapter.SpanSizeLookup() { - @Override - public int getSpanSize(GridLayoutManager gridLayoutManager, int position) { - if (position < 3) { - return 1; - } - return manager.getSpanCount(); - } - }); - } -} diff --git a/app/src/main/java/com/yizhuan/erban/home/view/IFamilyFragmentView.java b/app/src/main/java/com/yizhuan/erban/home/view/IFamilyFragmentView.java deleted file mode 100644 index 91c3e5f09..000000000 --- a/app/src/main/java/com/yizhuan/erban/home/view/IFamilyFragmentView.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.yizhuan.erban.home.view; - -import com.yizhuan.xchat_android_core.family.bean.FamilyCustomServiceInfo; -import com.yizhuan.xchat_android_core.family.bean.FamilyInfo; -import com.yizhuan.xchat_android_library.base.IMvpBaseView; - -/** - * @author jack - * @Description - * @Date 2018/10/29 - */ -public interface IFamilyFragmentView extends IMvpBaseView { - void showMyFamilyInfo(FamilyInfo familyInfo); - - void onCustomServiceInfo(FamilyCustomServiceInfo customServiceInfo); - - void onCustomServiceFail(String reason); -} diff --git a/app/src/main/java/com/yizhuan/erban/home/view/IFindFragmentView.java b/app/src/main/java/com/yizhuan/erban/home/view/IFindFragmentView.java deleted file mode 100644 index 3954bc50b..000000000 --- a/app/src/main/java/com/yizhuan/erban/home/view/IFindFragmentView.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.yizhuan.erban.home.view; - -import com.yizhuan.xchat_android_core.home.bean.FindInfo; -import com.yizhuan.xchat_android_library.base.IMvpBaseView; - -/** - * @author jack - * @Description - * @Date 2018/5/22 - */ - -public interface IFindFragmentView extends IMvpBaseView { - - public void onLoadData(FindInfo findInfo); - - void onLoadDataFail(String error); - -// void onLoadNewUserList(List userInfoList); - -} diff --git a/app/src/main/java/com/yizhuan/erban/home/view/IFindTabFragmentView.java b/app/src/main/java/com/yizhuan/erban/home/view/IFindTabFragmentView.java deleted file mode 100644 index 0c4b2744e..000000000 --- a/app/src/main/java/com/yizhuan/erban/home/view/IFindTabFragmentView.java +++ /dev/null @@ -1,6 +0,0 @@ -package com.yizhuan.erban.home.view; - -import com.yizhuan.xchat_android_library.base.IMvpBaseView; - -public interface IFindTabFragmentView extends IMvpBaseView { -} diff --git a/app/src/main/java/com/yizhuan/erban/home/view/IHottestKTVRoomFragmentView.java b/app/src/main/java/com/yizhuan/erban/home/view/IHottestKTVRoomFragmentView.java deleted file mode 100644 index cf5f8cf8e..000000000 --- a/app/src/main/java/com/yizhuan/erban/home/view/IHottestKTVRoomFragmentView.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.yizhuan.erban.home.view; - -import com.yizhuan.xchat_android_library.base.IMvpBaseView; - -/** - * @author jack - * @Description - * @Date 2018/10/31 - */ -public interface IHottestKTVRoomFragmentView extends IMvpBaseView { -} diff --git a/app/src/main/java/com/yizhuan/erban/home/view/IKTVFragmentView.java b/app/src/main/java/com/yizhuan/erban/home/view/IKTVFragmentView.java deleted file mode 100644 index a2d0c8270..000000000 --- a/app/src/main/java/com/yizhuan/erban/home/view/IKTVFragmentView.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.yizhuan.erban.home.view; - -import com.yizhuan.xchat_android_library.base.IMvpBaseView; - -/** - * @author jack - * @Description - * @Date 2018/10/29 - */ -public interface IKTVFragmentView extends IMvpBaseView { -} diff --git a/app/src/main/java/com/yizhuan/erban/home/view/IMainFragmentTabBg.java b/app/src/main/java/com/yizhuan/erban/home/view/IMainFragmentTabBg.java deleted file mode 100644 index 73e5dd829..000000000 --- a/app/src/main/java/com/yizhuan/erban/home/view/IMainFragmentTabBg.java +++ /dev/null @@ -1,5 +0,0 @@ -package com.yizhuan.erban.home.view; - -public interface IMainFragmentTabBg { - void isBannerTop(boolean isBannerTop); -} diff --git a/app/src/main/java/com/yizhuan/erban/home/view/IMainFragmentView.java b/app/src/main/java/com/yizhuan/erban/home/view/IMainFragmentView.java index 14b0ffa7d..13120d3f0 100644 --- a/app/src/main/java/com/yizhuan/erban/home/view/IMainFragmentView.java +++ b/app/src/main/java/com/yizhuan/erban/home/view/IMainFragmentView.java @@ -20,6 +20,7 @@ public interface IMainFragmentView extends IMvpBaseView { /** * 请求打开房间结果 + * * @param openRoomFailType * @param arg */ @@ -36,10 +37,14 @@ public interface IMainFragmentView extends IMvpBaseView { */ void exitRoom(RoomInfo roomInfo); + void onGetHomeBannerSuccess(List bannerInfos); + + void onGetHomeTagSuccess(List tagInfos); + /** * 假实现,用于在View销毁后 调用View方法导致空指针问题,的一种解决方案 */ - class FakeIMainFragmentView implements IMainFragmentView{ + class FakeIMainFragmentView implements IMainFragmentView { @Override public void requestOpenRoomResult(int openRoomFailType, Object... arg) { @@ -66,33 +71,6 @@ public interface IMainFragmentView extends IMvpBaseView { } - @Override - public void titleListSuccess(List tagListInfoList) { - - } - - @Override - public void titleListFail(String msg) { - - } - - - - @Override - public void onGetFirstPageBannerFailed(String message) { - - } - - @Override - public void roomWorldModeCloseSuccess() { - - } - - @Override - public void roomWorldModeCloseFail(String error) { - - } - @Override public void onGetHomeBannerSuccess(List bannerInfos) { @@ -103,29 +81,7 @@ public interface IMainFragmentView extends IMvpBaseView { } - @Override - public void getRoomShortcut(String data) { - - } } - void titleListSuccess(List tagListInfoList); - void titleListFail(String msg); - - - /** - * 获取首页banner失败 - * @param message - */ - void onGetFirstPageBannerFailed(String message); - - void roomWorldModeCloseSuccess(); - void roomWorldModeCloseFail(String error); - - void onGetHomeBannerSuccess(List bannerInfos); - - void onGetHomeTagSuccess(List tagInfos); - - void getRoomShortcut(String data); } diff --git a/app/src/main/java/com/yizhuan/erban/home/view/INewestKTVRoomFragmentView.java b/app/src/main/java/com/yizhuan/erban/home/view/INewestKTVRoomFragmentView.java deleted file mode 100644 index 9ad488e73..000000000 --- a/app/src/main/java/com/yizhuan/erban/home/view/INewestKTVRoomFragmentView.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.yizhuan.erban.home.view; - -import com.yizhuan.xchat_android_library.base.IMvpBaseView; - -/** - * @author jack - * @Description - * @Date 2018/10/31 - */ -public interface INewestKTVRoomFragmentView extends IMvpBaseView { -} diff --git a/app/src/main/java/com/yizhuan/erban/home/view/IRecommendFragmentView.java b/app/src/main/java/com/yizhuan/erban/home/view/IRecommendFragmentView.java deleted file mode 100644 index 6c72767be..000000000 --- a/app/src/main/java/com/yizhuan/erban/home/view/IRecommendFragmentView.java +++ /dev/null @@ -1,124 +0,0 @@ -package com.yizhuan.erban.home.view; - -import com.yizhuan.xchat_android_core.home.bean.HomeItem; -import com.yizhuan.xchat_android_library.base.IMvpBaseView; - -import java.util.List; - -/** - * @author jack - * @Description - * @Date 2018/10/29 - */ -public interface IRecommendFragmentView extends IMvpBaseView { - public static int NOTIFY_DATA_SET_CHANGED = 1; - public static int NOTIFY_DATA_SET_REMOVE = 2; - - /** - * 设置首页数据 - * - * @param data 首页数据 - */ - void loadHomeDataSuccess(List data); - - /** - * 没有首页数据 - */ - void onNoHomeData(); - - /** - * 获取首页数据失败 - * - * @param error - */ - void loadHomeDataFail(String error); - - /** - * 加载第二页数据 - * - * @param data 首页数据 - */ - void addHomeDataSuccess(List data); - - /** - * 没有更多房间数据了 - */ - void onNoMoreHomeData(); - - /** - * 加载第二页数据失败 - * - * @param error - */ - void addHomeDataFail(String error); - - - void setEnableLoadMore(boolean b); - - void setRefreshing(boolean b); - - void notifyDataSetChanged(int type, int position, Object payloads); - - void showByMarketCheckingStatus(); - - void onRefreshMakeFriendListFail(String message); - - - public class FakeIMainFragmentView implements IRecommendFragmentView { - @Override - public void loadHomeDataSuccess(List data) { - - } - - @Override - public void onNoHomeData() { - - } - - @Override - public void loadHomeDataFail(String error) { - - } - - @Override - public void addHomeDataSuccess(List data) { - - } - - @Override - public void onNoMoreHomeData() { - - } - - @Override - public void addHomeDataFail(String error) { - - } - - @Override - public void setEnableLoadMore(boolean b) { - - } - - @Override - public void setRefreshing(boolean b) { - - } - - @Override - public void notifyDataSetChanged(int type, int position, Object payloads) { - - } - - - @Override - public void showByMarketCheckingStatus() { - - } - - @Override - public void onRefreshMakeFriendListFail(String message) { - - } - } -} diff --git a/app/src/main/java/com/yizhuan/erban/home/view/IRoomCategoryFragmentView.java b/app/src/main/java/com/yizhuan/erban/home/view/IRoomCategoryFragmentView.java deleted file mode 100644 index 5c7229b4d..000000000 --- a/app/src/main/java/com/yizhuan/erban/home/view/IRoomCategoryFragmentView.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.yizhuan.erban.home.view; - -import com.yizhuan.xchat_android_library.base.IMvpBaseView; - -/** - * @author jack - * @Description - * @Date 2018/10/29 - */ -public interface IRoomCategoryFragmentView extends IMvpBaseView { - public void initiate(); -} diff --git a/app/src/main/java/com/yizhuan/erban/home/view/IRoomListFragmentView.java b/app/src/main/java/com/yizhuan/erban/home/view/IRoomListFragmentView.java deleted file mode 100644 index f51c3ae7f..000000000 --- a/app/src/main/java/com/yizhuan/erban/home/view/IRoomListFragmentView.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.yizhuan.erban.home.view; - -import com.yizhuan.xchat_android_library.base.IMvpBaseView; - -/** - * @author jack - * @Description - * @Date 2018/11/2 - */ -public interface IRoomListFragmentView extends IMvpBaseView { -} diff --git a/app/src/main/java/com/yizhuan/erban/home/view/IRoomTabView.java b/app/src/main/java/com/yizhuan/erban/home/view/IRoomTabView.java deleted file mode 100644 index 6cb75874e..000000000 --- a/app/src/main/java/com/yizhuan/erban/home/view/IRoomTabView.java +++ /dev/null @@ -1,6 +0,0 @@ -package com.yizhuan.erban.home.view; - -import com.yizhuan.xchat_android_library.base.IMvpBaseView; - -public interface IRoomTabView extends IMvpBaseView { -} diff --git a/app/src/main/java/com/yizhuan/erban/ui/im/fragment/MessageFragment.java b/app/src/main/java/com/yizhuan/erban/ui/im/fragment/MessageFragment.java index 57566489d..2f10dad99 100644 --- a/app/src/main/java/com/yizhuan/erban/ui/im/fragment/MessageFragment.java +++ b/app/src/main/java/com/yizhuan/erban/ui/im/fragment/MessageFragment.java @@ -142,6 +142,7 @@ public class MessageFragment extends TFragment implements ModuleProxy, MessageLi public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { rootView = inflater.inflate(R.layout.nim_msg_fragment, container, false); EventBus.getDefault().register(this); + tvChatLimit = rootView.findViewById(R.id.tv_chat_limit); return rootView; } diff --git a/app/src/main/java/com/yizhuan/erban/ui/widget/marqueeview/HomeRankingView.java b/app/src/main/java/com/yizhuan/erban/ui/widget/marqueeview/HomeRankingView.java deleted file mode 100644 index 8defb878b..000000000 --- a/app/src/main/java/com/yizhuan/erban/ui/widget/marqueeview/HomeRankingView.java +++ /dev/null @@ -1,194 +0,0 @@ -package com.yizhuan.erban.ui.widget.marqueeview; - -import android.content.Context; -import androidx.annotation.AnimRes; -import android.util.AttributeSet; -import android.util.SparseArray; -import android.view.LayoutInflater; -import android.view.View; -import android.view.animation.Animation; -import android.widget.ImageView; -import android.widget.TextView; - -import com.bumptech.glide.load.resource.bitmap.CircleCrop; -import com.netease.nim.uikit.support.glide.GlideApp; -import com.yizhuan.erban.R; -import com.yizhuan.xchat_android_core.home.bean.RankingInfo; - -import java.util.List; - -/** - * 首页排行榜 - * Created by ${Seven} on 2017/11/2. - */ -public class HomeRankingView extends MarqueeView { - - private SparseArray> mListMap; - private Context mContext; - - public HomeRankingView(Context context) { - this(context, null); - } - - public HomeRankingView(Context context, AttributeSet attrs) { - super(context, attrs); - mContext = context; - } - - public void setHomeNoticeInfoList(RankingInfo rankingInfo) { - if (rankingInfo == null) return; - initData(rankingInfo); - } - - private void initData(RankingInfo rankingInfo) { - if (mListMap == null) - mListMap = new SparseArray<>(); - mListMap.put(0, rankingInfo.starList); - mListMap.put(1, rankingInfo.nobleList); - mListMap.put(2, rankingInfo.roomList); - } - - - /** - * 根据通知列表,启动翻页公告 - * - * @param rankingInfo 字符串列表 - */ - public void startWithLists(RankingInfo rankingInfo) { - startWithLists(rankingInfo, inAnimResId, outAnimResId); - } - - /** - * 根据通知列表,启动翻页公告 - * - * @param rankingInfo 通知列表 - * @param inAnimResId 进入动画的resID - * @param outAnimResID 离开动画的resID - */ - public void startWithLists(RankingInfo rankingInfo, @AnimRes int inAnimResId, @AnimRes int outAnimResID) { - setHomeNoticeInfoList(rankingInfo); - start(inAnimResId, outAnimResID); - } - - @Override - protected boolean start(int inAnimResId, int outAnimResID) { - removeAllViews(); - clearAnimation(); - - position = 0; - addView(createView(mListMap.get(position))); - - if (mListMap.size() > 1) { - setInAndOutAnimation(inAnimResId, outAnimResID); - startFlipping(); - } - - if (getInAnimation() != null) { - getInAnimation().setAnimationListener(new Animation.AnimationListener() { - @Override - public void onAnimationStart(Animation animation) { - } - - @Override - public void onAnimationEnd(Animation animation) { - position++; - if (position >= mListMap.size()) { - position = 0; - } - if (position < mListMap.size()) { - View view = createView(mListMap.get(position)); - if (view.getParent() == null) { - addView(view); - } - } - } - - @Override - public void onAnimationRepeat(Animation animation) { - } - }); - } - return true; - } - - private View createView(final List rankingList) { - int index = (getDisplayedChild() + 1) % 3; - View view = getChildAt(index); - if (view == null) { - view = LayoutInflater.from(getContext()).inflate(R.layout.layout_home_notice, null); -// textView.setGravity(gravity); -// textView.setTextColor(textColor); -// textView.setTextSize(textSize); -// textView.setSingleLine(singleLine); - } - -// textView.setText(text); - TextView noticeTitle = (TextView) view.findViewById(R.id.tv_notice_title); - ImageView noticeCover1 = (ImageView) view.findViewById(R.id.iv_cover_1); - ImageView noticeCover2 = (ImageView) view.findViewById(R.id.iv_cover_2); - ImageView noticeCover3 = (ImageView) view.findViewById(R.id.iv_cover_3); - ImageView arrowRight = (ImageView) view.findViewById(R.id.iv_arrow_right); - - if (position == 0) { - noticeTitle.setText(R.string.star_list_title); - bindAvater(rankingList, noticeCover1, noticeCover2, noticeCover3); - } else if (position == 1) { - noticeTitle.setText(R.string.noble_list_title); - bindAvater(rankingList, noticeCover1, noticeCover2, noticeCover3); - } else if (position == 2) { - noticeTitle.setText(R.string.room_list_title); - bindAvater(rankingList, noticeCover1, noticeCover2, noticeCover3); - } - - setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - if (noticeClickListener != null) { - noticeClickListener.onNoticeClick(getPosition(), rankingList); - } - } - }); - - view.setTag(this.position); - return view; - } - - private void bindAvater(List rankingList, ImageView noticeCover1, ImageView noticeCover2, ImageView noticeCover3) { - if (rankingList != null) { - int size = rankingList.size(); - if (size > 0) { - bindAvater(noticeCover3, rankingList.get(0)); - } - if (size > 1) { - bindAvater(noticeCover2, rankingList.get(1)); - } - if (size > 2) { - bindAvater(noticeCover1, rankingList.get(2)); - } - } - } - - private void bindAvater(ImageView imageView, RankingInfo.Ranking ranking) { - if (ranking != null) { - GlideApp.with(mContext) - .load(ranking.getAvatar()) -// .transform(new GlideCircleTransform(mContext)) - .transform(new CircleCrop()) - .placeholder(R.drawable.default_avatar) - .error(R.drawable.default_avatar) - .into(imageView); - } else { - imageView.setImageResource(R.drawable.default_avatar); - } - } - - private NoticeClickListener noticeClickListener; - - public void setNoticeClickListener(NoticeClickListener noticeClickListener) { - this.noticeClickListener = noticeClickListener; - } - - public interface NoticeClickListener { - void onNoticeClick(int position, List rankingList); - } -} diff --git a/app/src/main/res/layout/dialog_room_shows.xml b/app/src/main/res/layout/dialog_room_shows.xml deleted file mode 100644 index 3f9d48fcc..000000000 --- a/app/src/main/res/layout/dialog_room_shows.xml +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_find.xml b/app/src/main/res/layout/fragment_find.xml deleted file mode 100644 index eee80d279..000000000 --- a/app/src/main/res/layout/fragment_find.xml +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_home_other_tab.xml b/app/src/main/res/layout/fragment_home_other_tab.xml deleted file mode 100644 index 165de8bbc..000000000 --- a/app/src/main/res/layout/fragment_home_other_tab.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - diff --git a/app/src/main/res/layout/fragment_home_tab_map.xml b/app/src/main/res/layout/fragment_home_tab_map.xml index 914e98906..ec2c381c7 100644 --- a/app/src/main/res/layout/fragment_home_tab_map.xml +++ b/app/src/main/res/layout/fragment_home_tab_map.xml @@ -1,8 +1,7 @@ + android:layout_height="match_parent"> - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_newbie_message.xml b/app/src/main/res/layout/fragment_newbie_message.xml index e61fe4bfa..6ac048a6e 100644 --- a/app/src/main/res/layout/fragment_newbie_message.xml +++ b/app/src/main/res/layout/fragment_newbie_message.xml @@ -1,23 +1,20 @@ + android:layout_height="match_parent"> + android:layout_height="match_parent"> + android:paddingStart="12.5dp" + android:paddingTop="2dp" + android:paddingEnd="12.5dp" /> diff --git a/app/src/main/res/layout/fragment_newest_ktv.xml b/app/src/main/res/layout/fragment_newest_ktv.xml deleted file mode 100644 index 539e2c934..000000000 --- a/app/src/main/res/layout/fragment_newest_ktv.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_recommendation.xml b/app/src/main/res/layout/fragment_recommendation.xml deleted file mode 100644 index e90399a6a..000000000 --- a/app/src/main/res/layout/fragment_recommendation.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/layout/fragment_room_category.xml b/app/src/main/res/layout/fragment_room_category.xml deleted file mode 100644 index 2f2689738..000000000 --- a/app/src/main/res/layout/fragment_room_category.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/item_game_home_two_lines.xml b/app/src/main/res/layout/item_game_home_two_lines.xml deleted file mode 100644 index 475dec958..000000000 --- a/app/src/main/res/layout/item_game_home_two_lines.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/layout_rollpage_view.xml b/app/src/main/res/layout/layout_rollpage_view.xml deleted file mode 100644 index e78a84ea0..000000000 --- a/app/src/main/res/layout/layout_rollpage_view.xml +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/list_item_div_1.xml b/app/src/main/res/layout/list_item_div_1.xml deleted file mode 100644 index 467f55f68..000000000 --- a/app/src/main/res/layout/list_item_div_1.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/list_item_div_2.xml b/app/src/main/res/layout/list_item_div_2.xml deleted file mode 100644 index f786cfd12..000000000 --- a/app/src/main/res/layout/list_item_div_2.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/list_item_erban_recommend.xml b/app/src/main/res/layout/list_item_erban_recommend.xml deleted file mode 100644 index 2aabc57f5..000000000 --- a/app/src/main/res/layout/list_item_erban_recommend.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/list_item_home_erban_top_message.xml b/app/src/main/res/layout/list_item_home_erban_top_message.xml deleted file mode 100644 index 8d10c304b..000000000 --- a/app/src/main/res/layout/list_item_home_erban_top_message.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/list_item_home_ktv.xml b/app/src/main/res/layout/list_item_home_ktv.xml deleted file mode 100644 index 387d139be..000000000 --- a/app/src/main/res/layout/list_item_home_ktv.xml +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/list_item_home_make_friends.xml b/app/src/main/res/layout/list_item_home_make_friends.xml deleted file mode 100644 index f62b08d22..000000000 --- a/app/src/main/res/layout/list_item_home_make_friends.xml +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/list_item_three_plus_n.xml b/app/src/main/res/layout/list_item_three_plus_n.xml deleted file mode 100644 index bff852fe8..000000000 --- a/app/src/main/res/layout/list_item_three_plus_n.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/module_community/java/com/yizhuan/erban/community/square/SquareFragment.java b/app/src/module_community/java/com/yizhuan/erban/community/square/SquareFragment.java index 904d32438..13dbcc50e 100644 --- a/app/src/module_community/java/com/yizhuan/erban/community/square/SquareFragment.java +++ b/app/src/module_community/java/com/yizhuan/erban/community/square/SquareFragment.java @@ -18,8 +18,7 @@ import com.yizhuan.erban.base.BaseFragment; import com.yizhuan.erban.common.widget.DragLayout; import com.yizhuan.erban.community.publish.view.PublishActivity; import com.yizhuan.erban.home.adapter.TopMagicIndicatorAdapter; -import com.yizhuan.erban.home.fragment.CommunityNoticeAct; -import com.yizhuan.erban.home.fragment.FindTabFragment; +import com.yizhuan.erban.home.activity.CommunityNoticeAct; import com.yizhuan.erban.ui.widget.OnPageSelectedListener; import com.yizhuan.erban.ui.widget.magicindicator.MagicIndicator; import com.yizhuan.erban.ui.widget.magicindicator.ViewPagerHelper; diff --git a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/constant/SharePreferenceKey.java b/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/constant/SharePreferenceKey.java deleted file mode 100644 index 645b5289d..000000000 --- a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/constant/SharePreferenceKey.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.yizhuan.xchat_android_core.constant; - -public class SharePreferenceKey { - /**是否显示首页的遮罩*/ - public static final String KEY_SHOW_HOME_COVER = "SHOW_HOME_COVER"; - -} diff --git a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/IHomeCore.java b/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/IHomeCore.java deleted file mode 100644 index 9f199d5fc..000000000 --- a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/IHomeCore.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.yizhuan.xchat_android_core.home; - -import com.yizhuan.xchat_android_core.home.bean.TabInfo; -import com.yizhuan.xchat_android_library.coremanager.IBaseCore; - -import java.util.List; - -/** - * 主页接口逻辑处理 - * Created by zhouxiangfeng on 2017/5/17. - */ -public interface IHomeCore extends IBaseCore { - //全局数据-------------------------- - - List getMainTabInfos(); - - void setMainTabInfos(List tabInfoList); - - //接口数据------------------------------ - - void getHomeData(int page, int pageSize); - - void getLightChatData(int tabType); - - void getHotData(int tabType); - - void getHomePartyData(int tabType); - - void commitFeedback(long uid, String feedbackDesc, String contact); - - void getHomeBanner(); - - /** 获取首页排行数据 */ - void getRankingData(); - - /** 获取首页tab数据 */ - void getMainTabData(); - - /** - * 获取tab下的数据 - * - * @param tagId tab的id - * @param pageNum 当前页数 - * @param pageSize 页的总数 - */ - void getMainDataByTab(int tagId, int pageNum, int pageSize); - - /** - * 获取发现页数据 - * @param udi - */ - void loadFindPage(String udi); -} diff --git a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/IHomeCoreClient.java b/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/IHomeCoreClient.java deleted file mode 100644 index bb89d4a8d..000000000 --- a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/IHomeCoreClient.java +++ /dev/null @@ -1,75 +0,0 @@ -package com.yizhuan.xchat_android_core.home; - -import com.yizhuan.xchat_android_core.home.bean.BannerInfo; -import com.yizhuan.xchat_android_core.home.bean.FindInfo; -import com.yizhuan.xchat_android_core.home.bean.HomeRoom; -import com.yizhuan.xchat_android_core.home.bean.HomeRoomList; -import com.yizhuan.xchat_android_library.coremanager.ICoreClient; - -import java.util.List; - -/** - * - * @author zhouxiangfeng - * @date 2017/5/17 - */ - -public interface IHomeCoreClient extends ICoreClient { - - String METHOD_ON_GET_HOME_DATA = "onGetHomeData"; - String METHOD_GET_HOME_LIST_ERROR = "onGetHomeListFail"; - - String METHOD_ON_GET_DATA_BY_TAB = "onGetHomeDataByTab"; - String METHOD_ON_GET_DATA_BY_TAB_ERROR = "onGetHomeDataByTabFail"; - - public static final String METHOD_ON_GET_HOT_DATA = "onGetHotData"; - public static final String METHOD_ON_GET_HOT_DATA_FAIL = "onGetHotDataFail"; - - public static final String METHOD_ON_GET_LIGHT_CHAT_DATA = "onGetLightChatData"; - public static final String METHOD_ON_GET_LIGHT_CHAT_DATA_FAIL = "onGetLightChatDataFail"; - - public static final String METHOD_ON_GET_HOME_PARTY_DATA = "onGetHomePartyData"; - public static final String METHOD_ON_GET_HOME_PARTY_DATA_FAIL = "onGetHomePartyDataFail"; - - public static final String METHOD_ON_COMMIT_BACK = "onCommitFeedback"; - public static final String METHOD_ON_COMMIT_BACK_FAIL = "onCommitFeedbackFail"; - - public static final String METHOD_ON_GET_BANNER_LIST = "onGetBannerList"; - public static final String METHOD_ON_GET_BANNER_LIST_FAIL = "onGetBannerListFail"; - - String METHOD_ON_GET_HOME_RANKING_LIST = "onGetHomeRankingList"; - String METHOD_ON_GET_HOME_RANKING_LIST_ERROR = "onGetHomeRankingListFail"; - - String METHOD_ON_GET_HOME_TAB_LIST = "onGetHomeTabList"; - String METHOD_ON_GET_HOME_TAB_LIST_ERROR = "onGetHomeTabListFail"; - - public void onGetHomeData(List homeDataList); - - public void onGetHomeListFail(String error); - - public void onGetHotData(HomeRoomList homeRoomList); - - public void onGetHotDataFail(String error); - - public void onGetLightChatData(HomeRoomList homeRoomList); - - public void onGetLightChatDataFail(String error); - - public void onGetHomePartyData(HomeRoomList homeRoomList); - - public void onGetHomePartyDataFail(String error); - - void onGetBannerList(List bannerInfoList); - - void onGetBannerListFail(); - - void onCommitFeedback(); - - void onCommitFeedbackFail(String error); - - String METHOD_ON_LOAD_FIND_PAGE_DATA = "onLoadFindPageData"; - void onLoadFindPageData(FindInfo findInfo); - - String METHOD_ON_LOAD_FIND_PAGE_DATA_FAIL = "onLoadFindPageDataFail"; - void onLoadFindPageDataFail(String error); -} diff --git a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/IHomeTabMapView.java b/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/IHomeTabMapView.java index c17d893be..ffc56d351 100644 --- a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/IHomeTabMapView.java +++ b/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/IHomeTabMapView.java @@ -7,7 +7,10 @@ import java.util.List; public interface IHomeTabMapView extends IMvpBaseView { void homeTabMapSuccess(List list); + void homeTabMapFails(String error); + void homeTabMapLoadMoreSuccess(List list); + void homeTabMapLoadMoreFails(String error); } diff --git a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/CategoryInfo.java b/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/CategoryInfo.java deleted file mode 100644 index fa4c76d05..000000000 --- a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/CategoryInfo.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.yizhuan.xchat_android_core.home.bean; - -import android.os.Parcel; -import android.os.Parcelable; - -import java.io.Serializable; -import java.util.List; - -import lombok.Data; - -/** - * @author jack - * @Description - * @Date 2018/4/17 - */ -@Data -public class CategoryInfo implements Parcelable,Serializable { - - private String icon; - private String title; - private List tabInfos; - - public CategoryInfo() { - } - - - protected CategoryInfo(Parcel in) { - icon = in.readString(); - title = in.readString(); - tabInfos = in.createTypedArrayList(TabInfo.CREATOR); - } - - public static final Creator CREATOR = new Creator() { - @Override - public CategoryInfo createFromParcel(Parcel in) { - return new CategoryInfo(in); - } - - @Override - public CategoryInfo[] newArray(int size) { - return new CategoryInfo[size]; - } - }; - - @Override - public int describeContents() { - return 0; - } - - @Override - public void writeToParcel(Parcel dest, int flags) { - - dest.writeString(icon); - dest.writeString(title); - dest.writeTypedList(tabInfos); - } -} diff --git a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/ClassifiedRoomInfo.java b/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/ClassifiedRoomInfo.java deleted file mode 100644 index 3a5a3a4fa..000000000 --- a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/ClassifiedRoomInfo.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.yizhuan.xchat_android_core.home.bean; - -import java.util.ArrayList; -import java.util.List; - -import lombok.Data; - -/** - * @author jack - * @Description - * @Date 2018/11/15 - */ -@Data -public class ClassifiedRoomInfo { - private List rooms; - private ArrayList banners; -} diff --git a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/FindEntranceInfo.java b/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/FindEntranceInfo.java deleted file mode 100644 index 8f005ea74..000000000 --- a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/FindEntranceInfo.java +++ /dev/null @@ -1,68 +0,0 @@ -package com.yizhuan.xchat_android_core.home.bean; - -import lombok.Data; - -/** - * @author jack - * @Description - * @Date 2018/5/24 - */ -@Data -public class FindEntranceInfo { - public final static int TYPE_H5 = 1; - public final static int TYPE_ROOM = 2; - public final static int TYPE_GAME = 3; - public final static int TYPE_DECORATION = 4; - /** - * 如果type=5,表示转到{@link com.yizhuan.xchat_android_core.im.custom.bean.RouterType} 处理 - */ - public final static int TYPE_TO_ROUTERTYPE = 5; - - /** - * 签到入口 - */ - public final static int ACTIVITYTYPE_SIGN_IN = 1; - - /** - * 任务入口 - */ - public final static int ACTIVITYTYPE_TASK = 2; - - private int id; - private String pic; - private int type;//'跳转类型1是链接 2是房间 3是游戏 4是装扮商城', - private String param; - - //start**********以下3.2.4之后接入 - /** - * {@link com.yizhuan.xchat_android_core.im.custom.bean.RouterType} - */ - private int routerType;//3.2.4之后接入,优先获取旧版的type,得不到结果再处理routerType - - private String routerValue; - /** - * 今日未完成的任务数量,任务和签到的时候用到 - */ - private int missionNum; - - /** - * 活动类型,1:签到,2:任务 - */ - private int activityType; - - /** - * 今日是否已经签到 - */ - private boolean signStatus; - - /** - * 小图 - */ - private String minPic; - - /** - * 名称 - */ - private String name; - //end******** -} diff --git a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/FindInfo.java b/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/FindInfo.java deleted file mode 100644 index 347687511..000000000 --- a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/FindInfo.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.yizhuan.xchat_android_core.home.bean; - -import com.yizhuan.xchat_android_core.family.bean.FamilyInfo; - -import java.util.List; - -import lombok.Data; - -/** - * @author jack - * @Description - * @Date 2018/5/31 - */ -@Data -public class FindInfo { - private List banners; - private FamilyInfo family; - /** - * 发现也banner - */ - private List bannerVos; - - private List topLineVos; -} diff --git a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/GameHomeInfo.java b/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/GameHomeInfo.java deleted file mode 100644 index 671be163c..000000000 --- a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/GameHomeInfo.java +++ /dev/null @@ -1,554 +0,0 @@ -package com.yizhuan.xchat_android_core.home.bean; - -import java.util.List; - -public class GameHomeInfo { - - private List roomVos; - - public List getRoomVos() { - return roomVos; - } - - public void setRoomVos(List roomVos) { - this.roomVos = roomVos; - } - - public static class RoomVosBean { - /** - * data : [{"uid":902385,"officeUser":1,"roomId":59451609,"title":"神啊救救我啊的房间","type":3,"meetingName":"5521f0cd18c142cdacb64b4914d164af","valid":true,"operatorStatus":1,"avatar":"https://image.zhongjialx.com/picture_1552544625116.jpg?imageslim","roomDesc":"","backPic":"","openTime":"Mar 20, 2019 5:21:48 PM","onlineNum":0,"abChannelType":1,"gender":2,"nick":"神啊救救我啊","erbanNo":9090518,"roomPwd":"","roomTag":"聊天","calcSumDataIndex":0,"tagId":8,"tagPict":"https://image.zhongjialx.com/new_tag_%E8%81%8A%E5%A4%A9@3x.png","recomSeq":0,"badge":"https://image.zhongjialx.com/Fs-YL5F0qpA2bZbmRcwQInh12NXg?imageslim","isPermitRoom":1,"isRecom":0,"count":0,"hasAnimationEffect":true,"audioQuality":1,"isCloseScreen":false,"hasDragonGame":false,"hasKTVPriv":true,"isOpenKTV":false,"isOpenGame":false,"roomModeType":3,"limitType":"lock","roomGame":{"roomId":59451609,"uid":902385,"startUid":0,"gameId":"","gameName":"","status":2,"createTime":"Mar 19, 2019 10:59:43 AM","updateTime":"Mar 20, 2019 11:01:57 AM"},"isPureMode":false,"isExceptionClose":false}] - * title : 102 - * type : 3 - * moduleId : 42 - * seqNo : 1 - */ - - private String title; - private int type; - private int moduleId; - private int seqNo; - private List data; - - public String getTitle() { - return title; - } - - public void setTitle(String title) { - this.title = title; - } - - public int getType() { - return type; - } - - public void setType(int type) { - this.type = type; - } - - public int getModuleId() { - return moduleId; - } - - public void setModuleId(int moduleId) { - this.moduleId = moduleId; - } - - public int getSeqNo() { - return seqNo; - } - - public void setSeqNo(int seqNo) { - this.seqNo = seqNo; - } - - public List getData() { - return data; - } - - public void setData(List data) { - this.data = data; - } - - public static class DataBean { - /** - * uid : 902385 - * officeUser : 1 - * roomId : 59451609 - * title : 神啊救救我啊的房间 - * type : 3 - * meetingName : 5521f0cd18c142cdacb64b4914d164af - * valid : true - * operatorStatus : 1 - * avatar : https://image.zhongjialx.com/picture_1552544625116.jpg?imageslim - * roomDesc : - * backPic : - * openTime : Mar 20, 2019 5:21:48 PM - * onlineNum : 0 - * abChannelType : 1 - * gender : 2 - * nick : 神啊救救我啊 - * erbanNo : 9090518 - * roomPwd : - * roomTag : 聊天 - * calcSumDataIndex : 0 - * tagId : 8 - * tagPict : https://image.zhongjialx.com/new_tag_%E8%81%8A%E5%A4%A9@3x.png - * recomSeq : 0 - * badge : https://image.zhongjialx.com/Fs-YL5F0qpA2bZbmRcwQInh12NXg?imageslim - * isPermitRoom : 1 - * isRecom : 0 - * count : 0 - * hasAnimationEffect : true - * audioQuality : 1 - * isCloseScreen : false - * hasDragonGame : false - * hasKTVPriv : true - * isOpenKTV : false - * isOpenGame : false - * roomModeType : 3 - * limitType : lock - * roomGame : {"roomId":59451609,"uid":902385,"startUid":0,"gameId":"","gameName":"","status":2,"createTime":"Mar 19, 2019 10:59:43 AM","updateTime":"Mar 20, 2019 11:01:57 AM"} - * isPureMode : false - * isExceptionClose : false - */ - - private int uid; - private int officeUser; - private int roomId; - private String title; - private int type; - private String meetingName; - private boolean valid; - private int operatorStatus; - private String avatar; - private String roomDesc; - private String backPic; - private String openTime; - private int onlineNum; - private int abChannelType; - private int gender; - private String nick; - private int erbanNo; - private String roomPwd; - private String roomTag; - private int calcSumDataIndex; - private int tagId; - private String tagPict; - private int recomSeq; - private String badge; - private int isPermitRoom; - private int isRecom; - private int count; - private boolean hasAnimationEffect; - private int audioQuality; - private boolean isCloseScreen; - private boolean hasDragonGame; - private boolean hasKTVPriv; - private boolean isOpenKTV; - private boolean isOpenGame; - private int roomModeType; - private String limitType; - private RoomGameBean roomGame; - private boolean isPureMode; - private boolean isExceptionClose; - - public int getUid() { - return uid; - } - - public void setUid(int uid) { - this.uid = uid; - } - - public int getOfficeUser() { - return officeUser; - } - - public void setOfficeUser(int officeUser) { - this.officeUser = officeUser; - } - - public int getRoomId() { - return roomId; - } - - public void setRoomId(int roomId) { - this.roomId = roomId; - } - - public String getTitle() { - return title; - } - - public void setTitle(String title) { - this.title = title; - } - - public int getType() { - return type; - } - - public void setType(int type) { - this.type = type; - } - - public String getMeetingName() { - return meetingName; - } - - public void setMeetingName(String meetingName) { - this.meetingName = meetingName; - } - - public boolean isValid() { - return valid; - } - - public void setValid(boolean valid) { - this.valid = valid; - } - - public int getOperatorStatus() { - return operatorStatus; - } - - public void setOperatorStatus(int operatorStatus) { - this.operatorStatus = operatorStatus; - } - - public String getAvatar() { - return avatar; - } - - public void setAvatar(String avatar) { - this.avatar = avatar; - } - - public String getRoomDesc() { - return roomDesc; - } - - public void setRoomDesc(String roomDesc) { - this.roomDesc = roomDesc; - } - - public String getBackPic() { - return backPic; - } - - public void setBackPic(String backPic) { - this.backPic = backPic; - } - - public String getOpenTime() { - return openTime; - } - - public void setOpenTime(String openTime) { - this.openTime = openTime; - } - - public int getOnlineNum() { - return onlineNum; - } - - public void setOnlineNum(int onlineNum) { - this.onlineNum = onlineNum; - } - - public int getAbChannelType() { - return abChannelType; - } - - public void setAbChannelType(int abChannelType) { - this.abChannelType = abChannelType; - } - - public int getGender() { - return gender; - } - - public void setGender(int gender) { - this.gender = gender; - } - - public String getNick() { - return nick; - } - - public void setNick(String nick) { - this.nick = nick; - } - - public int getErbanNo() { - return erbanNo; - } - - public void setErbanNo(int erbanNo) { - this.erbanNo = erbanNo; - } - - public String getRoomPwd() { - return roomPwd; - } - - public void setRoomPwd(String roomPwd) { - this.roomPwd = roomPwd; - } - - public String getRoomTag() { - return roomTag; - } - - public void setRoomTag(String roomTag) { - this.roomTag = roomTag; - } - - public int getCalcSumDataIndex() { - return calcSumDataIndex; - } - - public void setCalcSumDataIndex(int calcSumDataIndex) { - this.calcSumDataIndex = calcSumDataIndex; - } - - public int getTagId() { - return tagId; - } - - public void setTagId(int tagId) { - this.tagId = tagId; - } - - public String getTagPict() { - return tagPict; - } - - public void setTagPict(String tagPict) { - this.tagPict = tagPict; - } - - public int getRecomSeq() { - return recomSeq; - } - - public void setRecomSeq(int recomSeq) { - this.recomSeq = recomSeq; - } - - public String getBadge() { - return badge; - } - - public void setBadge(String badge) { - this.badge = badge; - } - - public int getIsPermitRoom() { - return isPermitRoom; - } - - public void setIsPermitRoom(int isPermitRoom) { - this.isPermitRoom = isPermitRoom; - } - - public int getIsRecom() { - return isRecom; - } - - public void setIsRecom(int isRecom) { - this.isRecom = isRecom; - } - - public int getCount() { - return count; - } - - public void setCount(int count) { - this.count = count; - } - - public boolean isHasAnimationEffect() { - return hasAnimationEffect; - } - - public void setHasAnimationEffect(boolean hasAnimationEffect) { - this.hasAnimationEffect = hasAnimationEffect; - } - - public int getAudioQuality() { - return audioQuality; - } - - public void setAudioQuality(int audioQuality) { - this.audioQuality = audioQuality; - } - - public boolean isIsCloseScreen() { - return isCloseScreen; - } - - public void setIsCloseScreen(boolean isCloseScreen) { - this.isCloseScreen = isCloseScreen; - } - - public boolean isHasDragonGame() { - return hasDragonGame; - } - - public void setHasDragonGame(boolean hasDragonGame) { - this.hasDragonGame = hasDragonGame; - } - - public boolean isHasKTVPriv() { - return hasKTVPriv; - } - - public void setHasKTVPriv(boolean hasKTVPriv) { - this.hasKTVPriv = hasKTVPriv; - } - - public boolean isIsOpenKTV() { - return isOpenKTV; - } - - public void setIsOpenKTV(boolean isOpenKTV) { - this.isOpenKTV = isOpenKTV; - } - - public boolean isIsOpenGame() { - return isOpenGame; - } - - public void setIsOpenGame(boolean isOpenGame) { - this.isOpenGame = isOpenGame; - } - - public int getRoomModeType() { - return roomModeType; - } - - public void setRoomModeType(int roomModeType) { - this.roomModeType = roomModeType; - } - - public String getLimitType() { - return limitType; - } - - public void setLimitType(String limitType) { - this.limitType = limitType; - } - - public RoomGameBean getRoomGame() { - return roomGame; - } - - public void setRoomGame(RoomGameBean roomGame) { - this.roomGame = roomGame; - } - - public boolean isIsPureMode() { - return isPureMode; - } - - public void setIsPureMode(boolean isPureMode) { - this.isPureMode = isPureMode; - } - - public boolean isIsExceptionClose() { - return isExceptionClose; - } - - public void setIsExceptionClose(boolean isExceptionClose) { - this.isExceptionClose = isExceptionClose; - } - - public static class RoomGameBean { - /** - * roomId : 59451609 - * uid : 902385 - * startUid : 0 - * gameId : - * gameName : - * status : 2 - * createTime : Mar 19, 2019 10:59:43 AM - * updateTime : Mar 20, 2019 11:01:57 AM - */ - - private int roomId; - private int uid; - private int startUid; - private String gameId; - private String gameName; - private int status; - private String createTime; - private String updateTime; - - public int getRoomId() { - return roomId; - } - - public void setRoomId(int roomId) { - this.roomId = roomId; - } - - public int getUid() { - return uid; - } - - public void setUid(int uid) { - this.uid = uid; - } - - public int getStartUid() { - return startUid; - } - - public void setStartUid(int startUid) { - this.startUid = startUid; - } - - public String getGameId() { - return gameId; - } - - public void setGameId(String gameId) { - this.gameId = gameId; - } - - public String getGameName() { - return gameName; - } - - public void setGameName(String gameName) { - this.gameName = gameName; - } - - public int getStatus() { - return status; - } - - public void setStatus(int status) { - this.status = status; - } - - public String getCreateTime() { - return createTime; - } - - public void setCreateTime(String createTime) { - this.createTime = createTime; - } - - public String getUpdateTime() { - return updateTime; - } - - public void setUpdateTime(String updateTime) { - this.updateTime = updateTime; - } - } - } - } -} diff --git a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/HomeDynamicResult.java b/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/HomeDynamicResult.java deleted file mode 100644 index 6d530eed9..000000000 --- a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/HomeDynamicResult.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.yizhuan.xchat_android_core.home.bean; - -import java.util.List; - -import lombok.Getter; -import lombok.Setter; - -@Setter -@Getter -public class HomeDynamicResult { - List data; -} diff --git a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/HomeHallMsgInfo.java b/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/HomeHallMsgInfo.java deleted file mode 100644 index 6b1f51d2e..000000000 --- a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/HomeHallMsgInfo.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.yizhuan.xchat_android_core.home.bean; - -import com.chad.library.adapter.base.entity.MultiItemEntity; - -import java.io.Serializable; - -import lombok.Data; - -/** - * @author jack - * @Description - * @Date 2018/11/22 - */ -@Data -public class HomeHallMsgInfo implements Serializable, MultiItemEntity { - public static final transient int ITEM_TYPE_LEFT = 1; - public static final transient int ITEM_TYPE_RIGHT = 2; - public static final transient int ITEM_TYPE_TIP = 3; - - public static final transient int MESSAGE_TYPE_TEXT = 1; - public static final transient int MESSAGE_TYPE_GIFT = 2; - public static final transient int MESSAGE_TYPE_TIME = 3; - - - private String fromAccount; - private String senderAvatar; - private String nick; - private CharSequence content; - private String userLevelUrl; - private String userCharmLevelUrl; - private String nobleLevel; - private boolean isOfficial; - private boolean isNewUser; - private boolean isPrettyErbanNo; - - private String targetNick; - private String giftImage; - private int giftCount; - private String giftName; - - private String formatTime; - - - private int messageType = MESSAGE_TYPE_TEXT; - private int itemType; - - private String fixedWord; - private String iconPic; - - @Override - public int getItemType() { - return itemType; - } -} diff --git a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/HomeImpDataType.java b/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/HomeImpDataType.java deleted file mode 100644 index 09d2f2830..000000000 --- a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/HomeImpDataType.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.yizhuan.xchat_android_core.home.bean; - -/** - * 首页接口数据类型,主要用于区分客户端页面处理类型 - * Created by lvzebiao on 2019/2/20. - */ - -public interface HomeImpDataType { - /** - * 墙裂推荐 - */ - int RECOMENDED = 1; - /** - * 热门 - */ - int HOT = 2; - /** - * 后台可任意配置模块 - */ - int CONFIG = 3; - /** - * banner信息 - */ - int BANNER = 4; - -} diff --git a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/HomeInfo.java b/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/HomeInfo.java deleted file mode 100644 index 1f4d0cb93..000000000 --- a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/HomeInfo.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.yizhuan.xchat_android_core.home.bean; - -import com.google.gson.JsonElement; - -import java.util.List; - -import lombok.Data; - -/** - *

首页数据

- * - * @author Administrator - * @date 2017/11/22 - */ -@Data -public class HomeInfo { - private int type; - private String title; - private String icon; - private JsonElement data; - /** - * 表示大图的数量 - */ - private int maxNum; - /** - * 表示小图的数量 - */ - private int listNum; - private String tagId; - public List banners; - /** 排行数据 */ - public RankingInfo rankHome; - /** 热门推荐 */ - public List hotRooms; - /** 房间推荐 */ - public List listRoom; -} diff --git a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/HomeItem.java b/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/HomeItem.java deleted file mode 100644 index 7e6820e4b..000000000 --- a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/HomeItem.java +++ /dev/null @@ -1,148 +0,0 @@ -package com.yizhuan.xchat_android_core.home.bean; - -import android.os.Parcel; -import android.os.Parcelable; - -import com.chad.library.adapter.base.entity.MultiItemEntity; - -import java.io.Serializable; - -import lombok.Data; - -/** - *

首页View model

- * - * @author jack - * @date 2017/11/16 - */ -@Data -public class HomeItem implements MultiItemEntity, Parcelable, Serializable{ - - // - - public static final transient int TYPE_DIV_1 = -100;//分割线类型1 - public static final transient int TYPE_DIV_2 = -102;//分割线类型2 - - public static final transient int TYPE_BANNER = 4;//首页banner - - public static final transient int TYPE_RECOMMEND = 1; //耳伴推荐 - //显示方式是3N+M的方式,即是1行3列,和1行1列混排 - public static final transient int TYPE_CONFIG = 3; //运营可配置模块 - //显示方式是2*N的方式,即是n行2列, - public static final transient int TYPE_TWO_LINES = 5; //运营可配置模块 - - public static final transient int TYPE_TOP_MESSAGE = 8;//耳伴头条 - - public static final transient int TYPE_MONSTER = -10;//怪兽 - - public static final transient int TYPE_KTV = 9; //ktv房间列表 - - public static final transient int TYPE_HALL = -20;//交友大厅 - - public static final transient int TYPE_MAKE_FRIENDS = 7;//交友 - - public static final transient int TYPE_SQUARE_PIC = 21;//首页显示的正方形图的item - - public static final transient int TYPE_LINEAR_LITTLE_PIC = 22;//首页显示的横向小图普通item - - public static final transient int TYPE_SQUARE_EMPTY = 23;//虚位以待 - - public static final transient int TYPE_BLOCK_TITLE = 24;//每个模块对应的标题 - /** - * 两列单个显示 - */ - public static final transient int TYPE_BLOCK_SINGLE = 25; - /** - * banner 不带顶部背景 - */ - public static final transient int TYPE_BANNER_NO_TOP_BG = 26; - /** - * 新版首页用户列表 - */ - public static final transient int TYPE_USER_LINEAR = 27; - /** - * 两列数据的虚位以待 - */ - public static final transient int TYPE_DOUBLE_SQUARE_EMPTY = 28;//虚位以待 - - - - - //类型 - private int itemType; - - //正常数据 - private T data; - //分割线描述,0、1、2代表格子,第几列 - //-1代表需要底部划线,-2代表不需要 - //-3是其他头部 - private int dividerDesc; - private boolean isShowRankHalfIcon; // 推荐位第三位显示半小时榜图标 - - private boolean isHotItem; - - public HomeItem(int itemType) { - this(itemType, null); - } - - - public HomeItem(int itemType, T data) { - this(itemType, data, false); - } - - public HomeItem(int itemType, T data, boolean isHotItem) { - this.itemType = itemType; - this.data = data; - this.dividerDesc = -3; - this.isHotItem = isHotItem; - } - - - protected HomeItem(Parcel in) { - itemType = in.readInt(); - data = (T) in.readSerializable(); - dividerDesc = in.readInt(); - isHotItem = in.readByte() != 0; - isShowRankHalfIcon = in.readByte() != 0; - } - - public static final Creator CREATOR = new Creator() { - @Override - public HomeItem createFromParcel(Parcel in) { - return new HomeItem(in); - } - - @Override - public HomeItem[] newArray(int size) { - return new HomeItem[size]; - } - }; - - @Override - public int getItemType() { - return itemType; - } - - public void setData(T data) { - this.data = data; - } - - public T getData() { - return data; - } - - - @Override - public int describeContents() { - return 0; - } - - @Override - public void writeToParcel(Parcel dest, int flags) { - dest.writeInt(itemType); - dest.writeSerializable(data); - dest.writeInt(dividerDesc); - dest.writeByte((byte) (isHotItem ? 1 : 0)); - dest.writeByte((byte) (isShowRankHalfIcon ? 1 : 0)); - } -} diff --git a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/HomeMoreData.java b/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/HomeMoreData.java deleted file mode 100644 index 900be02f6..000000000 --- a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/HomeMoreData.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.yizhuan.xchat_android_core.home.bean; - -import java.io.Serializable; -import java.util.List; - -import lombok.Data; - -/** - * 首页更多数据 - * Created by lvzebiao on 2019/2/21. - */ -@Data -public class HomeMoreData implements Serializable { - - private List rooms; - -} diff --git a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/HomePlayInfo.java b/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/HomePlayInfo.java index 05e5ea04d..89ce95038 100644 --- a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/HomePlayInfo.java +++ b/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/HomePlayInfo.java @@ -29,10 +29,6 @@ public class HomePlayInfo { private String title; private String avatar; private List micUsers; - /** - * see {@link HomePlayTheme} - */ - private int theme; @Data public static class MicUsersBean { diff --git a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/HomePlayTheme.java b/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/HomePlayTheme.java deleted file mode 100644 index 27ac4c796..000000000 --- a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/HomePlayTheme.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.yizhuan.xchat_android_core.home.bean; - - -public interface HomePlayTheme { - - int THEME_7E69F3 = 0xFF7E69F3; - - int THEME_3FC7FB = 0xFF3FC7FB; -} diff --git a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/HomeRoomItem.java b/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/HomeRoomItem.java deleted file mode 100644 index dd7aa6f68..000000000 --- a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/HomeRoomItem.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.yizhuan.xchat_android_core.home.bean; - -import com.chad.library.adapter.base.entity.MultiItemEntity; - -import java.io.Serializable; - -import lombok.Data; - -/** - * @author jack - * @Description - * @Date 2018/11/2 - */ -@Data -public class HomeRoomItem implements MultiItemEntity, Serializable { - - public static final transient int TYPE_HOME_ROOM = 1;//房间 - public static final transient int TYPE_BANNER = 2;//banner - public static final transient int TYPE_TOP_THREE = 3; - public static final transient int TYPE_TOP_EMPTY = 4; - - private boolean isBannerInTop = false; - //类型 - private int itemType; - - //正常数据 - private T data; - - public HomeRoomItem(int itemType, T data) { - this.itemType = itemType; - this.data = data; - } - - @Override - public int getItemType() { - return itemType; - } -} diff --git a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/HomeRoomList.java b/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/HomeRoomList.java deleted file mode 100644 index 30823faf2..000000000 --- a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/HomeRoomList.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.yizhuan.xchat_android_core.home.bean; - -import com.yizhuan.xchat_android_core.home.bean.HomeRoom; - -import java.io.Serializable; -import java.util.List; - -/** - * Created by chenran on 2017/10/4. - */ - -public class HomeRoomList implements Serializable{ - private List recomRooms; - private List gameRooms; - private List chatRooms; - - public List getRecomRooms() { - return recomRooms; - } - - public void setRecomRooms(List recomRooms) { - this.recomRooms = recomRooms; - } - - public List getGameRooms() { - return gameRooms; - } - - public void setGameRooms(List gameRooms) { - this.gameRooms = gameRooms; - } - - public List getChatRooms() { - return chatRooms; - } - - public void setChatRooms(List chatRooms) { - this.chatRooms = chatRooms; - } -} diff --git a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/HotInfo.java b/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/HotInfo.java deleted file mode 100644 index 6a1b24b29..000000000 --- a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/HotInfo.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.yizhuan.xchat_android_core.home.bean; - -import java.util.List; - -/** - * @author jack - * @Description - * @Date 2018/4/23 - */ - -public class HotInfo { -// public List banners; -// /** 排行数据 */ -// public RankingInfo rankHome; -// /** 热门推荐 */ -// public List hotRooms; - /** 房间推荐 */ - public List listRoom; -} diff --git a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/KTVRoom.java b/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/KTVRoom.java deleted file mode 100644 index ed52f56ff..000000000 --- a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/KTVRoom.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.yizhuan.xchat_android_core.home.bean; - -import com.chad.library.adapter.base.entity.MultiItemEntity; - -import java.io.Serializable; - -import lombok.Data; - -/** - * @author jack - * @Description - * @Date 2018/11/20 - */ -@Data -public class KTVRoom implements Serializable, MultiItemEntity { - - /** - * 格子布局 - */ - public final static transient int TYPE_GIRD = 1; - /** - * 格子布局虚位以待 - */ - public final static transient int TYPE_GIRD_EMPTY = 2; - - private long roomUid; - private long roomId; - private String avatar; - private String title; - private String roomDesc; - private String singingMusicName; - private int onlineNum; - private String roomPwd; - - - private int itemType = TYPE_GIRD_EMPTY; - - @Override - public int getItemType() { - return itemType; - } -} diff --git a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/KTVRoomInfo.java b/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/KTVRoomInfo.java deleted file mode 100644 index c26e62909..000000000 --- a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/KTVRoomInfo.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.yizhuan.xchat_android_core.home.bean; - -import java.io.Serializable; -import java.util.List; - -import lombok.Data; - -/** - * @author jack - * @Description - * @Date 2018/10/30 - */ -@Data -public class KTVRoomInfo implements Serializable{ - - private String title; - private String subTitle; - private List> roomList; - - public KTVRoomInfo() { - - } - - -} diff --git a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/MakeFriendsHallInfo.java b/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/MakeFriendsHallInfo.java deleted file mode 100644 index 40a6d54af..000000000 --- a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/MakeFriendsHallInfo.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.yizhuan.xchat_android_core.home.bean; - -import java.io.Serializable; -import java.util.List; - -import lombok.Data; - -/** - * @author jack - * @Description - * @Date 2018/10/30 - */ -@Data -public class MakeFriendsHallInfo implements Serializable { - private String title; - private String subTitle; - - private String aitUserName; - - private List msgList; - - public MakeFriendsHallInfo() { - } -} diff --git a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/MakeFriendsInfo.java b/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/MakeFriendsInfo.java deleted file mode 100644 index 134443e3f..000000000 --- a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/MakeFriendsInfo.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.yizhuan.xchat_android_core.home.bean; - -import java.io.Serializable; -import java.util.List; - -import lombok.Data; - -/** - * @author jack - * @Description - * @Date 2018/4/19 - */ -@Data -public class MakeFriendsInfo implements Serializable{ - - private String title; - private String subTitle; - private List roomList; - - private boolean vmIsLoading; - - public MakeFriendsInfo() { - } - - -} diff --git a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/NormalItemInfo.java b/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/NormalItemInfo.java deleted file mode 100644 index 89b4191cb..000000000 --- a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/NormalItemInfo.java +++ /dev/null @@ -1,63 +0,0 @@ -package com.yizhuan.xchat_android_core.home.bean; - -import android.os.Parcel; -import android.os.Parcelable; - -import java.io.Serializable; - -import lombok.Data; - -/** - * @author jack - * @Description - * @Date 2018/4/19 - */ -@Data -public class NormalItemInfo implements Parcelable,Serializable{ - public final static transient int TOP = 1; - public final static transient int BOTTOM = 2; - private int position; - private int type; - private String icon; - private String title; - private HomeRoom homeRoom; - /**表示第几列*/ - private int row; - - public NormalItemInfo() { - } - - protected NormalItemInfo(Parcel in) { - position = in.readInt(); - type = in.readInt(); - icon = in.readString(); - title = in.readString(); - homeRoom = in.readParcelable(HomeRoom.class.getClassLoader()); - } - - public static final Creator CREATOR = new Creator() { - @Override - public NormalItemInfo createFromParcel(Parcel in) { - return new NormalItemInfo(in); - } - - @Override - public NormalItemInfo[] newArray(int size) { - return new NormalItemInfo[size]; - } - }; - - @Override - public int describeContents() { - return 0; - } - - @Override - public void writeToParcel(Parcel dest, int flags) { - dest.writeInt(position); - dest.writeInt(type); - dest.writeString(icon); - dest.writeString(title); - dest.writeParcelable(homeRoom, flags); - } -} diff --git a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/OtherBannerInfo.java b/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/OtherBannerInfo.java deleted file mode 100644 index 5477d4ffe..000000000 --- a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/OtherBannerInfo.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.yizhuan.xchat_android_core.home.bean; - - -import android.os.Parcel; -import android.os.Parcelable; - -import java.io.Serializable; -import java.util.List; - -import lombok.Data; - -/** - * @author jack - * @Description - * @Date 2018/4/17 - */ -@Data -public class OtherBannerInfo implements Parcelable,Serializable { - - private String title; - private List data; - - public OtherBannerInfo() { - } - - - protected OtherBannerInfo(Parcel in) { - title = in.readString(); - data = in.createTypedArrayList(BannerInfo.CREATOR); - } - - public static final Creator CREATOR = new Creator() { - @Override - public OtherBannerInfo createFromParcel(Parcel in) { - return new OtherBannerInfo(in); - } - - @Override - public OtherBannerInfo[] newArray(int size) { - return new OtherBannerInfo[size]; - } - }; - - @Override - public int describeContents() { - return 0; - } - - @Override - public void writeToParcel(Parcel dest, int flags) { - dest.writeString(title); - dest.writeTypedList(data); - } -} diff --git a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/QuickEntranceInfo.java b/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/QuickEntranceInfo.java deleted file mode 100644 index f773ed298..000000000 --- a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/QuickEntranceInfo.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.yizhuan.xchat_android_core.home.bean; - -import android.os.Parcel; -import android.os.Parcelable; - -import java.io.Serializable; - -import lombok.Data; - -/** - * @author jack - * @Description - * @Date 2018/4/17 - */ -@Data -public class QuickEntranceInfo implements Parcelable, Serializable { - - public final static transient int SKIP_TYP_APP = 1; - public final static transient int SKIP_TYP_CHAT_ROOM = 2; - public final static transient int SKIP_TYP_H5 = 3; - - private String panelId; - private String panelName; - private int skipType;//跳转类型 1跳app页面,2跳聊天室,3跳h5页面 - private String skipUrl; - private String panelPic; - private int seqNo;//排序 - - - protected QuickEntranceInfo(Parcel in) { - panelId = in.readString(); - panelName = in.readString(); - skipType = in.readInt(); - skipUrl = in.readString(); - panelPic = in.readString(); - seqNo = in.readInt(); - } - - public static final Creator CREATOR = new Creator() { - @Override - public QuickEntranceInfo createFromParcel(Parcel in) { - return new QuickEntranceInfo(in); - } - - @Override - public QuickEntranceInfo[] newArray(int size) { - return new QuickEntranceInfo[size]; - } - }; - - @Override - public int describeContents() { - return 0; - } - - @Override - public void writeToParcel(Parcel dest, int flags) { - dest.writeString(panelId); - dest.writeString(panelName); - dest.writeInt(skipType); - dest.writeString(skipUrl); - dest.writeString(panelPic); - dest.writeInt(seqNo); - } -} diff --git a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/RankingInfo.java b/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/RankingInfo.java deleted file mode 100644 index 2cae5af0d..000000000 --- a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/RankingInfo.java +++ /dev/null @@ -1,140 +0,0 @@ -package com.yizhuan.xchat_android_core.home.bean; - -import android.os.Parcel; -import android.os.Parcelable; - -import java.util.List; - -/** - *

首页排行信息

- * Created by Administrator on 2017/11/8. - */ -public class RankingInfo implements Parcelable { - - public List starList; - public List nobleList; - public List roomList; - - - - public static class Ranking implements Parcelable { - /** - * erbanNo : 850379 - * avatar : https://nos.netease.com/nim/NDI3OTA4NQ==/bmltYV83Nzg4MzQyNDJfMTUwNzIwMzM4NTc2N184YmJlZmQ4ZS01YzdiLTRmMWMtYmFhOC0xMWRlNzg3MzRlMzk= - * nick : 阿拉善 - * gender : 1 - * totalNum : 9988923 - */ - - private int erbanNo; - private String avatar; - private String nick; - private int gender; - private int totalNum; - - protected Ranking(Parcel in) { - erbanNo = in.readInt(); - avatar = in.readString(); - nick = in.readString(); - gender = in.readInt(); - totalNum = in.readInt(); - } - - @Override - public void writeToParcel(Parcel dest, int flags) { - dest.writeInt(erbanNo); - dest.writeString(avatar); - dest.writeString(nick); - dest.writeInt(gender); - dest.writeInt(totalNum); - } - - @Override - public int describeContents() { - return 0; - } - - public static final Creator CREATOR = new Creator() { - @Override - public Ranking createFromParcel(Parcel in) { - return new Ranking(in); - } - - @Override - public Ranking[] newArray(int size) { - return new Ranking[size]; - } - }; - - public int getErbanNo() { - return erbanNo; - } - - public void setErbanNo(int erbanNo) { - this.erbanNo = erbanNo; - } - - public String getAvatar() { - return avatar; - } - - public void setAvatar(String avatar) { - this.avatar = avatar; - } - - public String getNick() { - return nick; - } - - public void setNick(String nick) { - this.nick = nick; - } - - public int getGender() { - return gender; - } - - public void setGender(int gender) { - this.gender = gender; - } - - public int getTotalNum() { - return totalNum; - } - - public void setTotalNum(int totalNum) { - this.totalNum = totalNum; - } - } - - - protected RankingInfo(Parcel in) { - starList = in.createTypedArrayList(Ranking.CREATOR); - nobleList = in.createTypedArrayList(Ranking.CREATOR); - roomList = in.createTypedArrayList(Ranking.CREATOR); - } - - @Override - public void writeToParcel(Parcel dest, int flags) { - dest.writeTypedList(starList); - dest.writeTypedList(nobleList); - dest.writeTypedList(roomList); - } - - @Override - public int describeContents() { - return 0; - } - - public static final Creator CREATOR = new Creator() { - @Override - public RankingInfo createFromParcel(Parcel in) { - return new RankingInfo(in); - } - - @Override - public RankingInfo[] newArray(int size) { - return new RankingInfo[size]; - } - }; -} diff --git a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/RecommendInfo.java b/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/RecommendInfo.java deleted file mode 100644 index b1adc9336..000000000 --- a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/RecommendInfo.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.yizhuan.xchat_android_core.home.bean; - -import java.io.Serializable; -import java.util.List; - -import lombok.Data; - -/** - * @author jack - * @Description - * @Date 2018/4/17 - */ -@Data -public class RecommendInfo implements Serializable { - - private String title; - private List roomList; - - public RecommendInfo() { - } - -} diff --git a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/RoomGameInfo.java b/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/RoomGameInfo.java deleted file mode 100644 index 70b49543c..000000000 --- a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/RoomGameInfo.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.yizhuan.xchat_android_core.home.bean; - -import java.io.Serializable; - -import lombok.Data; - -@Data -public class RoomGameInfo implements Serializable { - /** - * roomId : 58892673 - * uid : 2 - * startUid : 2 - * gameId : doushouqi1 - * gameName : doushouqi1 - * status : 5 - * createTime : 1548856711000 - * updateTime : 1548856711000 - */ - - private long roomId; - private long uid; - private long startUid; - private String gameId; - private String gameName; - private int status; - private long createTime; - private long updateTime; -} diff --git a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/RoomTabInfo.java b/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/RoomTabInfo.java deleted file mode 100644 index 87630d147..000000000 --- a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/RoomTabInfo.java +++ /dev/null @@ -1,81 +0,0 @@ -package com.yizhuan.xchat_android_core.home.bean; - -import java.io.Serializable; - -import lombok.Data; - -@Data -public class RoomTabInfo implements Serializable { - - /** - * uid : 2 - * officeUser : 1 - * roomId : 58892673 - * title : 音游张展伟的房间 - * type : 5 - * meetingName : edc36c59bc9b449bb5bb58ac17b9c0b4 - * valid : true - * operatorStatus : 1 - * avatar : https://image.zhongjialx.com/FikxU2u59uOjPVS1Sv_zfu4icqMS?imageslim - * roomDesc : - * backPic : - * openTime : 1545018501000 - * onlineNum : 1 - * abChannelType : 1 - * roomPwd : - * roomTag : 聊天 - * calcSumDataIndex : 0 - * tagId : 8 - * tagPict : https://image.zhongjialx.com/new_tag_%E8%81%8A%E5%A4%A9@3x.png - * badge : - * isPermitRoom : 2 - * isRecom : 0 - * count : 0 - * hasAnimationEffect : true - * audioQuality : 1 - * isCloseScreen : false - * hasDragonGame : true - * hasKTVPriv : true - * isOpenKTV : false - * isOpenGame : true - * roomModeType : 0 - * roomGame : {"roomId":58892673,"uid":2,"startUid":2,"gameId":"doushouqi1","gameName":"doushouqi1","status":5,"createTime":1548856711000,"updateTime":1548856711000} - * isExceptionClose : false - * exceptionClose : false - */ - - private long uid; - private int officeUser; - private long roomId; - private String title; - private int type; - private String meetingName; - private boolean valid; - private int operatorStatus; - private String avatar; - private String roomDesc; - private String backPic; - private long openTime; - private int onlineNum; - private int abChannelType; - private String roomPwd; - private String roomTag; - private int calcSumDataIndex; - private int tagId; - private String tagPict; - private String badge; - private int isPermitRoom; - private int isRecom; - private int count; - private boolean hasAnimationEffect; - private int audioQuality; - private boolean isCloseScreen; - private boolean hasDragonGame; - private boolean hasKTVPriv; - private boolean isOpenKTV; - private boolean isOpenGame; - private int roomModeType; - private RoomGameInfo roomGame; - private boolean isExceptionClose; - private boolean exceptionClose; -} diff --git a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/Test.java b/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/Test.java deleted file mode 100644 index f9f02e6c0..000000000 --- a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/Test.java +++ /dev/null @@ -1,482 +0,0 @@ -package com.yizhuan.xchat_android_core.home.bean; - -import java.util.List; - -public class Test { - - /** - * data : [{"uid":2,"officeUser":1,"roomId":58892673,"title":"音游张展伟的房间","type":5,"meetingName":"edc36c59bc9b449bb5bb58ac17b9c0b4","valid":true,"operatorStatus":1,"avatar":"https://image.zhongjialx.com/FikxU2u59uOjPVS1Sv_zfu4icqMS?imageslim","roomDesc":"","backPic":"","openTime":1545018501000,"onlineNum":1,"abChannelType":1,"roomPwd":"","roomTag":"聊天","calcSumDataIndex":0,"tagId":8,"tagPict":"https://image.zhongjialx.com/new_tag_%E8%81%8A%E5%A4%A9@3x.png","badge":"","isPermitRoom":2,"isRecom":0,"count":0,"hasAnimationEffect":true,"audioQuality":1,"isCloseScreen":false,"hasDragonGame":true,"hasKTVPriv":true,"isOpenKTV":false,"isOpenGame":true,"roomModeType":0,"roomGame":{"roomId":58892673,"uid":2,"startUid":2,"gameId":"doushouqi1","gameName":"doushouqi1","status":5,"createTime":1548856711000,"updateTime":1548856711000},"isExceptionClose":false,"exceptionClose":false}] - * title : 墙裂推荐 - * type : 1 - * maxNum : 3 - */ - - private String title; - private int type; - private int maxNum; - private List data; - - public String getTitle() { - return title; - } - - public void setTitle(String title) { - this.title = title; - } - - public int getType() { - return type; - } - - public void setType(int type) { - this.type = type; - } - - public int getMaxNum() { - return maxNum; - } - - public void setMaxNum(int maxNum) { - this.maxNum = maxNum; - } - - public List getData() { - return data; - } - - public void setData(List data) { - this.data = data; - } - - public static class DataBean { - /** - * uid : 2 - * officeUser : 1 - * roomId : 58892673 - * title : 音游张展伟的房间 - * type : 5 - * meetingName : edc36c59bc9b449bb5bb58ac17b9c0b4 - * valid : true - * operatorStatus : 1 - * avatar : https://image.zhongjialx.com/FikxU2u59uOjPVS1Sv_zfu4icqMS?imageslim - * roomDesc : - * backPic : - * openTime : 1545018501000 - * onlineNum : 1 - * abChannelType : 1 - * roomPwd : - * roomTag : 聊天 - * calcSumDataIndex : 0 - * tagId : 8 - * tagPict : https://image.zhongjialx.com/new_tag_%E8%81%8A%E5%A4%A9@3x.png - * badge : - * isPermitRoom : 2 - * isRecom : 0 - * count : 0 - * hasAnimationEffect : true - * audioQuality : 1 - * isCloseScreen : false - * hasDragonGame : true - * hasKTVPriv : true - * isOpenKTV : false - * isOpenGame : true - * roomModeType : 0 - * roomGame : {"roomId":58892673,"uid":2,"startUid":2,"gameId":"doushouqi1","gameName":"doushouqi1","status":5,"createTime":1548856711000,"updateTime":1548856711000} - * isExceptionClose : false - * exceptionClose : false - */ - - private int uid; - private int officeUser; - private int roomId; - private String title; - private int type; - private String meetingName; - private boolean valid; - private int operatorStatus; - private String avatar; - private String roomDesc; - private String backPic; - private long openTime; - private int onlineNum; - private int abChannelType; - private String roomPwd; - private String roomTag; - private int calcSumDataIndex; - private int tagId; - private String tagPict; - private String badge; - private int isPermitRoom; - private int isRecom; - private int count; - private boolean hasAnimationEffect; - private int audioQuality; - private boolean isCloseScreen; - private boolean hasDragonGame; - private boolean hasKTVPriv; - private boolean isOpenKTV; - private boolean isOpenGame; - private int roomModeType; - private RoomGameBean roomGame; - private boolean isExceptionClose; - private boolean exceptionClose; - - public int getUid() { - return uid; - } - - public void setUid(int uid) { - this.uid = uid; - } - - public int getOfficeUser() { - return officeUser; - } - - public void setOfficeUser(int officeUser) { - this.officeUser = officeUser; - } - - public int getRoomId() { - return roomId; - } - - public void setRoomId(int roomId) { - this.roomId = roomId; - } - - public String getTitle() { - return title; - } - - public void setTitle(String title) { - this.title = title; - } - - public int getType() { - return type; - } - - public void setType(int type) { - this.type = type; - } - - public String getMeetingName() { - return meetingName; - } - - public void setMeetingName(String meetingName) { - this.meetingName = meetingName; - } - - public boolean isValid() { - return valid; - } - - public void setValid(boolean valid) { - this.valid = valid; - } - - public int getOperatorStatus() { - return operatorStatus; - } - - public void setOperatorStatus(int operatorStatus) { - this.operatorStatus = operatorStatus; - } - - public String getAvatar() { - return avatar; - } - - public void setAvatar(String avatar) { - this.avatar = avatar; - } - - public String getRoomDesc() { - return roomDesc; - } - - public void setRoomDesc(String roomDesc) { - this.roomDesc = roomDesc; - } - - public String getBackPic() { - return backPic; - } - - public void setBackPic(String backPic) { - this.backPic = backPic; - } - - public long getOpenTime() { - return openTime; - } - - public void setOpenTime(long openTime) { - this.openTime = openTime; - } - - public int getOnlineNum() { - return onlineNum; - } - - public void setOnlineNum(int onlineNum) { - this.onlineNum = onlineNum; - } - - public int getAbChannelType() { - return abChannelType; - } - - public void setAbChannelType(int abChannelType) { - this.abChannelType = abChannelType; - } - - public String getRoomPwd() { - return roomPwd; - } - - public void setRoomPwd(String roomPwd) { - this.roomPwd = roomPwd; - } - - public String getRoomTag() { - return roomTag; - } - - public void setRoomTag(String roomTag) { - this.roomTag = roomTag; - } - - public int getCalcSumDataIndex() { - return calcSumDataIndex; - } - - public void setCalcSumDataIndex(int calcSumDataIndex) { - this.calcSumDataIndex = calcSumDataIndex; - } - - public int getTagId() { - return tagId; - } - - public void setTagId(int tagId) { - this.tagId = tagId; - } - - public String getTagPict() { - return tagPict; - } - - public void setTagPict(String tagPict) { - this.tagPict = tagPict; - } - - public String getBadge() { - return badge; - } - - public void setBadge(String badge) { - this.badge = badge; - } - - public int getIsPermitRoom() { - return isPermitRoom; - } - - public void setIsPermitRoom(int isPermitRoom) { - this.isPermitRoom = isPermitRoom; - } - - public int getIsRecom() { - return isRecom; - } - - public void setIsRecom(int isRecom) { - this.isRecom = isRecom; - } - - public int getCount() { - return count; - } - - public void setCount(int count) { - this.count = count; - } - - public boolean isHasAnimationEffect() { - return hasAnimationEffect; - } - - public void setHasAnimationEffect(boolean hasAnimationEffect) { - this.hasAnimationEffect = hasAnimationEffect; - } - - public int getAudioQuality() { - return audioQuality; - } - - public void setAudioQuality(int audioQuality) { - this.audioQuality = audioQuality; - } - - public boolean isIsCloseScreen() { - return isCloseScreen; - } - - public void setIsCloseScreen(boolean isCloseScreen) { - this.isCloseScreen = isCloseScreen; - } - - public boolean isHasDragonGame() { - return hasDragonGame; - } - - public void setHasDragonGame(boolean hasDragonGame) { - this.hasDragonGame = hasDragonGame; - } - - public boolean isHasKTVPriv() { - return hasKTVPriv; - } - - public void setHasKTVPriv(boolean hasKTVPriv) { - this.hasKTVPriv = hasKTVPriv; - } - - public boolean isIsOpenKTV() { - return isOpenKTV; - } - - public void setIsOpenKTV(boolean isOpenKTV) { - this.isOpenKTV = isOpenKTV; - } - - public boolean isIsOpenGame() { - return isOpenGame; - } - - public void setIsOpenGame(boolean isOpenGame) { - this.isOpenGame = isOpenGame; - } - - public int getRoomModeType() { - return roomModeType; - } - - public void setRoomModeType(int roomModeType) { - this.roomModeType = roomModeType; - } - - public RoomGameBean getRoomGame() { - return roomGame; - } - - public void setRoomGame(RoomGameBean roomGame) { - this.roomGame = roomGame; - } - - public boolean isIsExceptionClose() { - return isExceptionClose; - } - - public void setIsExceptionClose(boolean isExceptionClose) { - this.isExceptionClose = isExceptionClose; - } - - public boolean isExceptionClose() { - return exceptionClose; - } - - public void setExceptionClose(boolean exceptionClose) { - this.exceptionClose = exceptionClose; - } - - public static class RoomGameBean { - /** - * roomId : 58892673 - * uid : 2 - * startUid : 2 - * gameId : doushouqi1 - * gameName : doushouqi1 - * status : 5 - * createTime : 1548856711000 - * updateTime : 1548856711000 - */ - - private int roomId; - private int uid; - private int startUid; - private String gameId; - private String gameName; - private int status; - private long createTime; - private long updateTime; - - public int getRoomId() { - return roomId; - } - - public void setRoomId(int roomId) { - this.roomId = roomId; - } - - public int getUid() { - return uid; - } - - public void setUid(int uid) { - this.uid = uid; - } - - public int getStartUid() { - return startUid; - } - - public void setStartUid(int startUid) { - this.startUid = startUid; - } - - public String getGameId() { - return gameId; - } - - public void setGameId(String gameId) { - this.gameId = gameId; - } - - public String getGameName() { - return gameName; - } - - public void setGameName(String gameName) { - this.gameName = gameName; - } - - public int getStatus() { - return status; - } - - public void setStatus(int status) { - this.status = status; - } - - public long getCreateTime() { - return createTime; - } - - public void setCreateTime(long createTime) { - this.createTime = createTime; - } - - public long getUpdateTime() { - return updateTime; - } - - public void setUpdateTime(long updateTime) { - this.updateTime = updateTime; - } - } - } -} diff --git a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/TitleIndexInfo.java b/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/TitleIndexInfo.java deleted file mode 100644 index 5d92db694..000000000 --- a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/TitleIndexInfo.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.yizhuan.xchat_android_core.home.bean; - -import java.io.Serializable; -import java.util.ArrayList; -import java.util.List; - -import lombok.Data; - -@Data -public class TitleIndexInfo implements Serializable { - private List rooms; - private ArrayList banner; -} diff --git a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/TopBannerInfo.java b/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/TopBannerInfo.java deleted file mode 100644 index 207779d81..000000000 --- a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/TopBannerInfo.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.yizhuan.xchat_android_core.home.bean; - -import android.os.Parcel; -import android.os.Parcelable; - -import java.io.Serializable; -import java.util.List; - -import lombok.Data; - -/** - * @author jack - * @Description - * @Date 2018/4/17 - */ -@Data -public class TopBannerInfo implements Parcelable,Serializable { - - private List topBannerList; - private List panelList; - - public TopBannerInfo() { - } - - - protected TopBannerInfo(Parcel in) { - panelList = in.createTypedArrayList(QuickEntranceInfo.CREATOR); - topBannerList = in.createTypedArrayList(BannerInfo.CREATOR); - } - - public static final Creator CREATOR = new Creator() { - @Override - public TopBannerInfo createFromParcel(Parcel in) { - return new TopBannerInfo(in); - } - - @Override - public TopBannerInfo[] newArray(int size) { - return new TopBannerInfo[size]; - } - }; - - @Override - public int describeContents() { - return 0; - } - - @Override - public void writeToParcel(Parcel dest, int flags) { - dest.writeTypedList(panelList); - dest.writeTypedList(topBannerList); - } -} diff --git a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/TopMessage.java b/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/TopMessage.java deleted file mode 100644 index a08c0235d..000000000 --- a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/TopMessage.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.yizhuan.xchat_android_core.home.bean; - -import com.chad.library.adapter.base.entity.MultiItemEntity; - -import java.io.Serializable; - -import lombok.Data; - -/** - * @author jack - * @Description - * @Date 2018/5/3 - */ -@Data -public class TopMessage implements Serializable, MultiItemEntity { - - public final static transient int TYPE_LAYOUT_1 = 0; - - public final static transient int TIP_TYPE_ABOUT_ME = 1;//是@我 - public final static transient int TIP_TYPE_NEW = 2;//是最新 - public final static transient int TIP_TYPE_MONSTER = 3;//是打怪 - - private String id; - private String title; - private String img; - private int tipType; - - private int paramType; - private String param; - private long time; - - //类型 - private int itemType; - - public TopMessage(int itemType) { - this.itemType = itemType; - } - - @Override - public int getItemType() { - return this.itemType; - } -} diff --git a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/VMTopMessage.java b/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/VMTopMessage.java deleted file mode 100644 index 794086a9c..000000000 --- a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/VMTopMessage.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.yizhuan.xchat_android_core.home.bean; - -import java.io.Serializable; -import java.util.List; - -import lombok.Data; - -/** - * @author jack - * @Description - * @Date 2018/5/3 - */ -@Data -public class VMTopMessage implements Serializable { - - private List topMessageList; - - -} diff --git a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/VMTopMessageInfo.java b/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/VMTopMessageInfo.java deleted file mode 100644 index 8c0aebd3c..000000000 --- a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/bean/VMTopMessageInfo.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.yizhuan.xchat_android_core.home.bean; - -import java.io.Serializable; -import java.util.List; - -import lombok.Data; - -/** - * @author jack - * @Description - * @Date 2018/5/3 - */ -@Data -public class VMTopMessageInfo implements Serializable{ - private String title; - private List vmTopMessageList; - -} diff --git a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/model/GameHomeModel.java b/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/model/GameHomeModel.java index 076ea08ea..9832b52e1 100644 --- a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/model/GameHomeModel.java +++ b/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/model/GameHomeModel.java @@ -26,6 +26,10 @@ public class GameHomeModel extends BaseModel { private final Api api = RxNet.create(Api.class); + public static GameHomeModel get() { + return GameHomeModel.Helper.INSTANCE; + } + public Single> getHomeDynamic() { return api.apiHomeDynamics(String.valueOf(AuthModel.get().getCurrentUid()), CommunityConstant.VERSION_VALID_TYPE, @@ -46,7 +50,6 @@ public class GameHomeModel extends BaseModel { .compose(RxHelper.handleSchedulers()); } - public Single> getHomeTag() { return api.apiHomeTag(String.valueOf(AuthModel.get().getCurrentUid()), CommunityConstant.VERSION_VALID_TYPE, @@ -95,16 +98,6 @@ public class GameHomeModel extends BaseModel { .compose(RxHelper.handleSchedulers()); } - - private static final class Helper { - public static final GameHomeModel INSTANCE = new GameHomeModel(); - } - - public static GameHomeModel get() { - return GameHomeModel.Helper.INSTANCE; - } - - private interface Api { /** @@ -223,5 +216,9 @@ public class GameHomeModel extends BaseModel { ); } + private static final class Helper { + public static final GameHomeModel INSTANCE = new GameHomeModel(); + } + } diff --git a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/model/HomeModel.java b/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/model/HomeModel.java index df40393ea..8bdbeced3 100644 --- a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/model/HomeModel.java +++ b/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/model/HomeModel.java @@ -1,43 +1,20 @@ package com.yizhuan.xchat_android_core.home.model; -import com.google.gson.Gson; -import com.google.gson.reflect.TypeToken; -import com.orhanobut.logger.Logger; import com.yizhuan.xchat_android_core.auth.AuthModel; import com.yizhuan.xchat_android_core.base.BaseModel; import com.yizhuan.xchat_android_core.bean.response.ServiceResult; import com.yizhuan.xchat_android_core.community.bean.UnReadCountInfo; -import com.yizhuan.xchat_android_core.family.bean.HomeBannerInfo; -import com.yizhuan.xchat_android_core.home.bean.BannerInfo; -import com.yizhuan.xchat_android_core.home.bean.ClassifiedRoomInfo; -import com.yizhuan.xchat_android_core.home.bean.FindInfo; -import com.yizhuan.xchat_android_core.home.bean.HomeInfo; -import com.yizhuan.xchat_android_core.home.bean.HomeItem; -import com.yizhuan.xchat_android_core.home.bean.HomeMoreData; -import com.yizhuan.xchat_android_core.home.bean.HomeRoom; -import com.yizhuan.xchat_android_core.home.bean.KTVRoom; -import com.yizhuan.xchat_android_core.home.bean.RecommendInfo; import com.yizhuan.xchat_android_core.home.bean.TabInfo; -import com.yizhuan.xchat_android_core.home.bean.TagListInfo; -import com.yizhuan.xchat_android_core.home.bean.TitleIndexInfo; -import com.yizhuan.xchat_android_core.user.bean.RecommendationUserInfo; import com.yizhuan.xchat_android_core.user.bean.UserInfo; -import com.yizhuan.xchat_android_core.user.bean.UserRecommendRoomInfo; import com.yizhuan.xchat_android_core.utils.net.RxHelper; import com.yizhuan.xchat_android_library.net.rxnet.RxNet; -import com.yizhuan.xchat_android_library.utils.ListUtils; import java.util.ArrayList; import java.util.List; import io.reactivex.Single; import io.reactivex.SingleSource; -import io.reactivex.android.schedulers.AndroidSchedulers; -import io.reactivex.functions.Consumer; import io.reactivex.functions.Function; -import io.reactivex.schedulers.Schedulers; -import retrofit2.http.Field; -import retrofit2.http.FormUrlEncoded; import retrofit2.http.GET; import retrofit2.http.POST; import retrofit2.http.Query; @@ -48,7 +25,9 @@ public class HomeModel extends BaseModel implements IHomeModel { private volatile static IHomeModel instance; private Api api; - private List mTabInfoList; + private HomeModel() { + api = RxNet.create(Api.class); + } public static IHomeModel get() { if (instance == null) { @@ -61,78 +40,6 @@ public class HomeModel extends BaseModel implements IHomeModel { return instance; } - private HomeModel() { - api = RxNet.create(Api.class); - } - - /** - * 获取缓存的房间分类数据 - * - * @return - */ - @Override - public List getmTabInfoList() { - return mTabInfoList; - } - - /** - * 获取首页数据 - * - * @param uid - * @return - */ - @Override - public Single>> loadHomeList(String uid) { - return api.getHomeList(uid) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()); - } - - /** - * 3.1.2之后改版,首页v4 - * - * @param uid - * @return - */ - @Override - public Single>> loadHomeListV4(String uid) { - return api.getHomeListV4(uid) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()); - } - - /** - * 首页加载更多 - */ - @Override - public Single> loadMoreHomeData(int page, int pageSize) { - return api.getMoreHomeListV4( - String.valueOf(AuthModel.get().getCurrentUid()), - page, - pageSize - ) - .compose(RxHelper.handleCommon(HomeMoreData::new)) - .flatMap(homeMoreData -> { - List list = homeMoreData.getRooms(); - if (list == null) { - list = new ArrayList<>(); - } - return Single.just(list); - }); - } - - /** - * 获取佛系交友的列表 - * - * @return - */ - @Override - public Single>> loadMakeFriendList() { - return api.loadMakeFriendList() - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()); - } - /** * 提交反馈 * @@ -161,118 +68,8 @@ public class HomeModel extends BaseModel implements IHomeModel { } }) .compose(RxHelper.handleSchedulers()); - - } - /** - * 获取首页房间 分类 tab 数据 - * - * @return - */ - @Override - public Single> getMainTabData() { - return api.getMainTabList() - .compose(RxHelper.handleBeanData()) - .compose(RxHelper.handleSchedulers()) - .doOnSuccess(new Consumer>() { - @Override - public void accept(List tabInfos) throws Exception { - if (ListUtils.isListEmpty(tabInfos)) { - return; - } - mTabInfoList = tabInfos; - } - }) - .doOnError(new Consumer() { - @Override - public void accept(Throwable throwable) throws Exception { - Logger.e("启动获取首页Tab失败......"); - } - }); - - } - - - /** - * 根据分类 获取房间列表 - * - * @param tagId - * @param pageNum - * @param pageSize - */ - @Override - public Single getMainDataByTab(final int tagId, final int pageNum, int pageSize) { - return api.getMainDataByTab( - String.valueOf(tagId), - String.valueOf(pageNum), - String.valueOf(pageSize) - ) - .flatMap(new Function, SingleSource>() { - @Override - public SingleSource apply(ServiceResult classifiedRoomInfoServiceResult) throws Exception { - if (classifiedRoomInfoServiceResult.isSuccess()) { - if (null == classifiedRoomInfoServiceResult.getData()) { - ClassifiedRoomInfo classifiedRoomInfo = new ClassifiedRoomInfo(); - classifiedRoomInfo.setRooms(new ArrayList<>()); - return Single.just(classifiedRoomInfo); - } else { - return Single.just(classifiedRoomInfoServiceResult.getData()); - } - } else { - return Single.error(new Throwable(classifiedRoomInfoServiceResult.getMessage())); - } - } - }) - .compose(RxHelper.handleException()) - .compose(RxHelper.handleSchedulers()) - ; - - } - - - @Override - public Single loadFindPage(String uid) { - return api.loadFindPage( - uid - ) - .compose(RxHelper.handleBeanData()) - .compose(RxHelper.handleSchedulers()); - } - - - @Override - public Single loadFindPageV2(String uid) { - return api.loadFindPageV2( - uid - ) - .compose(RxHelper.handleBeanData()) - .compose(RxHelper.handleSchedulers()); - } - - - /** - * 获取首页KTV 房间列表 - * - * @param page - * @param pageSize - * @param orderType 排序方式(1:最新,2:最热) - * @return - */ - @Override - public Single> loadKTVList(String page, - String pageSize, - String orderType) { - return api.loadKTVList( - page, - pageSize, - orderType - ) - .compose(RxHelper.handleBeanData()) - .compose(RxHelper.handleSchedulers()); - } - - /** * 获取新人列表 * @@ -302,255 +99,6 @@ public class HomeModel extends BaseModel implements IHomeModel { }); } - /** - * 导流-获取推荐的房间 - * - * @param uid - * @return - */ - @Override - public Single loadRecommendRoom(String uid) { - return api.loadRecommendRoom( - uid - ) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()) - .flatMap(new Function, SingleSource>() { - @Override - public SingleSource apply(ServiceResult response) throws Exception { - if (response.isSuccess()) { - return Single.just(response.getData()); - } else { - return Single.error(new Throwable(response.getMessage())); - } - } - }); - - } - - @Override - public Single> tagList(long uid) { - return api.titleList(uid) - .compose(RxHelper.handleSchAndExce()) - .flatMap(new Function>, SingleSource>>() { - @Override - public SingleSource> apply(ServiceResult> response) throws Exception { - if (response.isSuccess()) { - return Single.just(response.getData()); - } else { - return Single.error(new Throwable(response.getMessage())); - } - } - }); - } - - @Override - public Single titleIndex(long titleId, int pageNum, int pageSize) { - return api.titleIndex(titleId, pageNum, pageSize) - .compose(RxHelper.handleSchAndExce()) - .flatMap(new Function, SingleSource>() { - @Override - public SingleSource apply(ServiceResult response) throws Exception { - if (response.isSuccess()) { - return Single.just(response.getData()); - } else { - return Single.error(new Throwable(response.getMessage())); - } - } - }); - } - - @Override - public Single getGuildRoomId() { - return api.getGuildRoomId(AuthModel.get().getCurrentUid()) - .compose(RxHelper.handleRoomPmLimit()) - .compose(RxHelper.singleMainResult(true)); - } - - public Single addIsomerism() { - return api.addIsomerism(AuthModel.get().getCurrentUid()) - .compose(RxHelper.handleRoomPmLimit()) - .compose(RxHelper.handleCommon(() -> "")); - - } - - public Single removeIsomerism() { - return api.removeIsomerism(AuthModel.get().getCurrentUid()) - .compose(RxHelper.singleMainResult()); - } - - @Override - public Single> getGameHomeInfo() { - return api.getGameHomeRoom() - .compose(RxHelper.singleMainResult()) - .flatMap(homeInfos -> { - List configList = new ArrayList<>(); - for (HomeInfo homeInfo : homeInfos) { - if (homeInfo.getType() == HomeItem.TYPE_TWO_LINES) { - List homeRoomList = new Gson().fromJson(homeInfo.getData(), - new TypeToken>() { - }.getType()); - RecommendInfo recommendInfo = new RecommendInfo(); - recommendInfo.setTitle(homeInfo.getTitle()); - recommendInfo.setRoomList(homeRoomList); - HomeItem homeItem = new HomeItem(HomeItem.TYPE_TWO_LINES, recommendInfo); - configList.add(homeItem); - } else { - HomeItem titleItem = new HomeItem<>(HomeItem.TYPE_BLOCK_TITLE, - homeInfo.getTitle()); - List tmpList = handleSubListToMainList(homeInfo, -1); - if (!ListUtils.isListEmpty(tmpList)) { - if (!ListUtils.isListEmpty(tmpList)) { - configList.add(titleItem); - } - configList.addAll(tmpList); - } - } - - } - return Single.just(configList); - }); - } - - /** - * 由于接口的数据是分模块返回的, - * 所以将模块的数据处理后,合成一条list - */ - private List handleSubListToMainList(HomeInfo homeInfo, int customSquareNum) { - List resultList = new ArrayList<>(); - if (null != homeInfo.getData() && homeInfo.getData().isJsonArray() - && homeInfo.getData().getAsJsonArray().size() > 0) { - //判断不为空 - List homeRoomList = new Gson().fromJson(homeInfo.getData(), - new TypeToken>() { - }.getType()); - if (homeRoomList == null) { - homeRoomList = new ArrayList<>(); - - } - int maxNum; - //表示方格子的个数,如果不足3的倍数,则补足3的倍数 - //处理热门数据,前三个为格子,其他为普通布局,如果不足三个,则补虚位以待 - if (customSquareNum >= 0) { - maxNum = customSquareNum; - } else { - maxNum = homeInfo.getMaxNum(); - } - List squareList = new ArrayList<>(); - List linearList = new ArrayList<>(); - for (int i = 0; i < homeRoomList.size(); i++) { - HomeItem item; - HomeRoom room = homeRoomList.get(i); - if (i < maxNum) { - item = new HomeItem<>(HomeItem.TYPE_SQUARE_PIC, room); - squareList.add(item); - } else if (homeInfo.getListNum() == 0 || linearList.size() < homeInfo.getListNum()) { - item = new HomeItem<>(HomeItem.TYPE_LINEAR_LITTLE_PIC, room); - linearList.add(item); - } - } - //添加虚位以待 - int needEmptySize; - if (squareList.size() == 0) { - //如果方形推荐位为空,添加3个虚位以待 - //如果方块列表为空,maxnum = 0,不配置虚位以待 - needEmptySize = 0; - } else if (squareList.size() % 3 == 0) { - //如果刚好是3的倍数,则不需要添加 - needEmptySize = 0; - } else { - //其余情况补足 - needEmptySize = 3 - squareList.size() % 3; - } - //添加虚位以待 - if (needEmptySize > 0) { - for (int i = 0; i < needEmptySize; i++) { - HomeItem item = new HomeItem<>(HomeItem.TYPE_SQUARE_EMPTY, new HomeRoom()); - squareList.add(item); - } - } - //加个防错机制,保证方形是3的倍数 - while (squareList.size() % 3 != 0) { - if (squareList.size() > 0) { - squareList.remove(squareList.size() - 1); - } - } - //添加分割线 - for (int i = 0; i < squareList.size(); i++) { - squareList.get(i).setDividerDesc(i % 3); - } - //分割线 - for (int i = 0; i < linearList.size(); i++) { - if (i == linearList.size() - 1) { - linearList.get(i).setDividerDesc(-2); - } else { - linearList.get(i).setDividerDesc(-1); - } - } - resultList.addAll(squareList); - resultList.addAll(linearList); - } - return resultList; - } - - @Override - public Single getHomeBannerInfo() { - return api.getHomeBannerInfo(1) - .compose(RxHelper.handleSchedulers()) - .compose(RxHelper.handleException()) - .compose(RxHelper.singleMainResult()) - ; - } - - @Override - public Single> getGodList(long uid, int pageIndex, int pageSize, String type) { - return api.getHomeListV5(uid, pageIndex, pageSize, type) - .compose(RxHelper.handleException()) - .compose(RxHelper.singleMainResult()); - } - - - @Override - public Single> getGodBannerInfo() { - return api.getHomeBannerInfo(2) - .compose(RxHelper.handleSchedulers()) - .compose(RxHelper.handleException()) - .compose(RxHelper.singleMainResult()) - .map(new Function>() { - @Override - public ArrayList apply(HomeBannerInfo homeBannerInfo) throws Exception { - ArrayList list; - if (homeBannerInfo != null) { - list = homeBannerInfo.getFirstPageBannerVos(); - } else { - list = new ArrayList<>(); - } - return list; - } - }); - } - - @Override - public Single> getTabBanner(String tabId) { - return api.getTabBanner(tabId) - .compose(RxHelper.handleException()) - .compose(RxHelper.singleMainResult()); - } - - @Override - public Single> getTabRoomList(int pageIndex, int pageSize, String tabId) { - return api.getTabRoomList(pageIndex, pageSize, tabId) - .compose(RxHelper.handleException()) - .compose(RxHelper.singleMainResult()); - } - - - @Override - public Single getQxBannerInfo() { - return api.getHomeBannerInfo(3) - .compose(RxHelper.handleCommon()); - } - @Override public Single getUnreadCount(long uid) { return api.getUnreadCount(uid).flatMap(new Function, SingleSource>() { @@ -572,41 +120,6 @@ public class HomeModel extends BaseModel implements IHomeModel { private interface Api { - /** - * 获取首页数据接口V4,2019.02.19改版 - * - * @param uid - * @return - */ - @GET("/home/v4/home") - Single>> getHomeListV4(@Query("uid") String uid); - - /** - * 获取首页分页数据接口V4,2019.02.19改版 - * - * @param uid - * @return - */ - @GET("/home/v4/topic") - Single> getMoreHomeListV4(@Query("uid") String uid, - @Query("page") int page, - @Query("pageSize") int pageSize); - - /** - * 获取首页数据接口 - * - * @param uid - * @return - */ - @GET("/home/v3/home") - Single>> getHomeList(@Query("uid") String uid); - - /** - * 佛系交友 - */ - @GET("/home/v3/findByPermit") - Single>> loadMakeFriendList(); - /** * 提交反馈 * @@ -630,53 +143,6 @@ public class HomeModel extends BaseModel implements IHomeModel { @GET("/room/tag/v3/top") Single>> getMainTabList(); - - /** - * 通过tag获取首页数据 - * - * @param tagId - * @param pageNum - * @param pageSize - * @return - */ - @GET("/home/v3/tagindex") - Single> getMainDataByTab(@Query("tagId") String tagId, - @Query("pageNum") String pageNum, - @Query("pageSize") String pageSize); - - - /** - * 获取发现页面数据 - * - * @param uid - * @return - */ - @GET("/discovery") - Single> loadFindPage(@Query("uid") String uid); - - /** - * 获取发现页面数据V2 - * - * @param uid - * @return - */ - @GET("/discovery/v2/get") - Single> loadFindPageV2(@Query("uid") String uid); - - /** - * 获取首页KTV 房间列表 - * - * @param page - * @param pageSize - * @param orderType 排序方式(1:最新,2:最热) - * @return - */ - @GET("/room/listKTVRooms") - Single>> loadKTVList(@Query("page") String page, - @Query("pageSize") String pageSize, - @Query("orderType") String orderType); - - /** * 获取新人列表 * @@ -688,103 +154,9 @@ public class HomeModel extends BaseModel implements IHomeModel { Single>> loadNewUserList(@Query("page") String page, @Query("pageSize") String pageSize); - - /** - * 导流-获取推荐的房间 - * - * @param uid - * @return - */ - @GET("/user/recommend/room") - Single> loadRecommendRoom(@Query("uid") String uid); - - /** - * 获取首页房间标签列表 - */ - @GET("/home/v4/titleList") - Single>> titleList(@Query("uid") long uid); - - /** - * 分页获取标题对应列表数据 - */ - @GET("/home/v4/titleIndex") - Single> titleIndex(@Query("titleId") long titleId, - @Query("page") int page, - @Query("pageSize") int pageSize); - - /** - * 获取游戏首页可配置模块数据 - */ - @GET("/home/v4/getModuleRooms") - Single>> getGameHomeRoom(); - - /** - * 嗨聊派对--随机获取一个牌照房id返回 - */ - @FormUrlEncoded - @POST("/room/getGuildRoomId") - Single> getGuildRoomId(@Field("uid") long uid); - - /** - * 添加进异性匹配池 - * - * @return - - */ - @FormUrlEncoded - @POST("game/v4/match/addIsomerism") - Single> addIsomerism(@Field("uid") long uid); - - /** - * 移除异性匹配池 - * - * @return - - */ - @FormUrlEncoded - @POST("game/v4/match/removeIsomerism") - Single> removeIsomerism(@Field("uid") long uid); - - /** - * 新版首页获取导航栏列表和下拉选择列表 - * - * @param type 1-导航栏 2-首页下方的banner 3 音游的banner - * @return - */ - @GET("home/v5/getFirstPageBanner") - Single> getHomeBannerInfo(@Query("type") long type); - - /** - * 获取语音派对里面的banner - * - * @param tabId - * @return - */ - @GET("home/v5/getTabBanner") - Single>> getTabBanner(@Query("tabId") String tabId); - - /** - * 获取语音派对房间列表(分页) - * - * @param pageIndex - * @param pageSize - * @param tabId - * @return - */ - @GET("home/v5/getTabRoomList") - Single>> getTabRoomList(@Query("currentPage") int pageIndex, @Query("pageSize") int pageSize, @Query("tabId") String tabId); - - /** - * 获取语音派对房间列表(分页) - * - * @param pageIndex - * @param pageSize - * @param tabId - * @return - */ - @GET("home/v6/user/list") - Single>> getHomeListV5(@Query("uid") long uid, @Query("page") int pageIndex, @Query("pageSize") int pageSize, @Query("labelType") String tabId); - /** * 获取互动消息未读数量 + * * @param uid * @return */ diff --git a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/model/IHomeModel.java b/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/model/IHomeModel.java index 47690fc90..4df655f16 100644 --- a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/model/IHomeModel.java +++ b/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/home/model/IHomeModel.java @@ -1,57 +1,13 @@ package com.yizhuan.xchat_android_core.home.model; import com.yizhuan.xchat_android_core.base.IModel; -import com.yizhuan.xchat_android_core.bean.response.ServiceResult; -import com.yizhuan.xchat_android_core.family.bean.HomeBannerInfo; -import com.yizhuan.xchat_android_core.home.bean.BannerInfo; -import com.yizhuan.xchat_android_core.home.bean.ClassifiedRoomInfo; -import com.yizhuan.xchat_android_core.home.bean.FindInfo; -import com.yizhuan.xchat_android_core.home.bean.HomeInfo; -import com.yizhuan.xchat_android_core.home.bean.HomeItem; -import com.yizhuan.xchat_android_core.home.bean.HomeRoom; -import com.yizhuan.xchat_android_core.home.bean.KTVRoom; -import com.yizhuan.xchat_android_core.home.bean.TabInfo; -import com.yizhuan.xchat_android_core.home.bean.TagListInfo; -import com.yizhuan.xchat_android_core.home.bean.TitleIndexInfo; -import com.yizhuan.xchat_android_core.user.bean.RecommendationUserInfo; import com.yizhuan.xchat_android_core.user.bean.UserInfo; -import com.yizhuan.xchat_android_core.user.bean.UserRecommendRoomInfo; -import java.util.ArrayList; import java.util.List; import io.reactivex.Single; public interface IHomeModel extends IModel { - List getmTabInfoList(); - - /** - * 获取首页数据 - * - * @param uid - * @return - */ - Single>> loadHomeList(String uid); - - /** - * 3.1.2之后改版,首页v4 - * - * @param uid - * @return - */ - Single>> loadHomeListV4(String uid); - - /** - * 首页加载更多 - */ - Single> loadMoreHomeData(int page, int pageSize); - - /** - * 获取佛系交友的列表 - * - * @return - */ - Single>> loadMakeFriendList(); /** * 提交反馈 @@ -63,38 +19,6 @@ public interface IHomeModel extends IModel { */ Single commitFeedback(long uid, String feedbackDesc, String contact); - /** - * 获取首页房间 分类 tab 数据 - * - * @return - */ - Single> getMainTabData(); - - /** - * 根据分类 获取房间列表 - * - * @param tagId - * @param pageNum - * @param pageSize - */ - Single getMainDataByTab(int tagId, int pageNum, int pageSize); - - Single loadFindPage(String uid); - - Single loadFindPageV2(String uid); - - /** - * 获取首页KTV 房间列表 - * - * @param page - * @param pageSize - * @param orderType 排序方式(1:最新,2:最热) - * @return - */ - Single> loadKTVList(String page, - String pageSize, - String orderType); - /** * 获取新人列表 * @@ -105,75 +29,6 @@ public interface IHomeModel extends IModel { Single> loadNewUserList(String page, String pageSize); - Single loadRecommendRoom(String uid); - - /** - * 获取首页房间标签列表 - */ - Single> tagList(long uid); - - /** - * 分页获取标题对应列表数据 - */ - Single titleIndex(long titleId, - int pageNum, - int pageSize); - - /** - * 获取游戏首页运营配置数据 - */ - Single> getGameHomeInfo(); - - /** - * 获取嗨聊派对id - */ - Single getGuildRoomId(); - - Single addIsomerism(); - - Single removeIsomerism(); - - /** - * 获取首页banner - * - * @return - */ - Single getHomeBannerInfo(); - - /** - * 获取男神女神数据和banner信息 - * @return - */ - Single> getGodList(long uid,int pageIndex,int pageSize,String type); - - /** - * 获取男神女神的banner - * @return - */ - Single> getGodBannerInfo(); - - - /** - * 获取语音派对房间列表(分页) - * @param pageIndex - * @param pageSize - * @param tabId - * @return - */ - Single> getTabRoomList(int pageIndex, int pageSize, String tabId); - - /** - * 获取语音派对里面的banner - * @param tabId - * @return - */ - Single> getTabBanner(String tabId); - - /** - * 音游顶部 banner信息 - * 包含3部分,顶部banner,测一测那个列表,标签页 - */ - Single getQxBannerInfo(); Single getUnreadCount(long uid); }