首页房间
This commit is contained in:
BIN
app/accompany/debug/app-accompany-debug.apk
Normal file
BIN
app/accompany/debug/app-accompany-debug.apk
Normal file
Binary file not shown.
1
app/accompany/debug/output.json
Normal file
1
app/accompany/debug/output.json
Normal file
@@ -0,0 +1 @@
|
||||
[{"outputType":{"type":"APK"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":1,"versionName":"1.0.0","enabled":true,"outputFile":"app-accompany-debug.apk","fullName":"accompanyDebug","baseName":"accompany-debug"},"path":"app-accompany-debug.apk","properties":{}}]
|
||||
@@ -18,6 +18,7 @@ import android.util.LongSparseArray;
|
||||
import android.view.KeyEvent;
|
||||
import android.view.View;
|
||||
import android.view.animation.LinearInterpolator;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.mcxiaoke.packer.helper.PackerNg;
|
||||
import com.microquation.linkedme.android.LinkedME;
|
||||
@@ -213,6 +214,8 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
public static final String MSG_TAB = "msgTab";
|
||||
|
||||
private DragLayout avatarLayout;
|
||||
private TextView tvName;//最小化窗口名称
|
||||
private TextView tvId;//最小化窗口ID
|
||||
private CircleImageView avatarImage;
|
||||
private LivingIconView userLivingView;
|
||||
private View viewClose;
|
||||
@@ -505,6 +508,9 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
private void initView() {
|
||||
mMainTabLayout = findViewById(R.id.main_tab_layout);
|
||||
avatarLayout = findViewById(R.id.avatar_image_layout);
|
||||
tvName = findViewById(R.id.tv_name);
|
||||
tvId = findViewById(R.id.tv_id);
|
||||
|
||||
avatarImage = findViewById(R.id.avatar_image);
|
||||
userLivingView = findViewById(R.id.liv_user);
|
||||
viewClose = findViewById(R.id.view_close);
|
||||
@@ -528,6 +534,7 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
|
||||
@Override
|
||||
protected void onNewIntent(Intent intent) {
|
||||
super.onNewIntent(intent);
|
||||
setIntent(intent);
|
||||
//这里退出登录,实际上mainActivity是没有销毁的,当从linkme 调起来时候这里需要检查一下登录状态。
|
||||
if (TextUtils.isEmpty(AuthModel.get().getTicket())) {
|
||||
@@ -855,7 +862,7 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
@Override
|
||||
public void accept(UserInfo userInfo) throws Exception {
|
||||
if (userInfo != null) {
|
||||
displayAvatarLayout(userInfo.getAvatar());
|
||||
displayAvatarLayout(userInfo.getAvatar(),userInfo.getNick(),userInfo.getErbanNo());
|
||||
} else {
|
||||
NimUserInfo nimUserInfo = NimUserInfoCache.getInstance().getUserInfo(roomInfo.getUid() + "");
|
||||
if (nimUserInfo == null) {
|
||||
@@ -863,12 +870,12 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
@Override
|
||||
public void onResult(int i, NimUserInfo nimUserInfo, Throwable throwable) {
|
||||
if (nimUserInfo != null) {
|
||||
displayAvatarLayout(nimUserInfo.getAvatar());
|
||||
displayAvatarLayout(nimUserInfo.getAvatar(),userInfo.getNick(),userInfo.getUid());
|
||||
}
|
||||
}
|
||||
});
|
||||
} else {
|
||||
displayAvatarLayout(nimUserInfo.getAvatar());
|
||||
displayAvatarLayout(nimUserInfo.getAvatar(),userInfo.getNick(),userInfo.getUid());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -892,9 +899,12 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
}
|
||||
}
|
||||
|
||||
private void displayAvatarLayout(String avatar) {
|
||||
@SuppressLint("SetTextI18n")
|
||||
private void displayAvatarLayout(String avatar, String nickName, long uid) {
|
||||
avatarLayout.clearAnimation();
|
||||
avatarLayout.setVisibility(View.VISIBLE);
|
||||
tvName.setText(nickName);
|
||||
tvId.setText("ID:"+uid);
|
||||
userLivingView.start();
|
||||
stopRoomMinAnim();
|
||||
startRoomMinAnim();
|
||||
|
||||
@@ -177,6 +177,27 @@ public abstract class BaseMvpActivity<V extends IMvpBaseView, P extends Abstract
|
||||
}
|
||||
}
|
||||
|
||||
public void initTitleBar(String title, boolean whiteModel) {
|
||||
mTitleBar = findViewById(R.id.title_bar);
|
||||
if (mTitleBar != null) {
|
||||
mTitleBar.setTitle(title);
|
||||
mTitleBar.setImmersive(false);
|
||||
mTitleBar.setTitleColor(getResources().getColor(
|
||||
whiteModel ? R.color.white : R.color.back_font));
|
||||
mTitleBar.setLeftImageResource(
|
||||
whiteModel ? R.drawable.arrow_left_white : R.drawable.arrow_left);
|
||||
mTitleBar.setCommonBackgroundColor(getResources().getColor(
|
||||
whiteModel ? R.color.transparent : R.color.transparent)
|
||||
);
|
||||
mTitleBar.setLeftClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
onLeftClickListener();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
public void initTitleBar(int title) {
|
||||
initTitleBar(getResources().getString(title));
|
||||
}
|
||||
|
||||
@@ -3,27 +3,39 @@ package com.yizhuan.erban.home.activity;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
|
||||
import androidx.viewpager.widget.ViewPager;
|
||||
|
||||
import com.netease.nim.uikit.StatusBarUtil;
|
||||
import com.chad.library.adapter.base.BaseQuickAdapter;
|
||||
import com.yizhuan.erban.R;
|
||||
import com.yizhuan.erban.avroom.activity.AVRoomActivity;
|
||||
import com.yizhuan.erban.avroom.adapter.RoomContributeListAdapter;
|
||||
import com.yizhuan.erban.base.BaseActivity;
|
||||
import com.yizhuan.erban.base.BaseMvpActivity;
|
||||
import com.yizhuan.erban.home.adapter.HomeConcernsAdapter;
|
||||
import com.yizhuan.erban.home.adapter.MainMagicIndicatorAdapter;
|
||||
import com.yizhuan.erban.home.bean.HomeTagInfo;
|
||||
import com.yizhuan.erban.home.fragment.HomeTabMapFragment;
|
||||
import com.yizhuan.erban.home.model.HomeModel;
|
||||
import com.yizhuan.erban.home.presenter.HomeMorePresenter;
|
||||
import com.yizhuan.erban.home.presenter.IHomeMoreRoomView;
|
||||
import com.yizhuan.erban.ui.search.RoomHistoryAdapter;
|
||||
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.erban.ui.widget.recyclerview.decoration.VerticalDecoration;
|
||||
import com.yizhuan.xchat_android_core.bean.RoomHistoryInfo;
|
||||
import com.yizhuan.xchat_android_core.home.bean.HomeConcernsInfo;
|
||||
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.SizeUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@@ -31,13 +43,16 @@ import java.util.List;
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
|
||||
public class HomeMoreRoomActivity extends BaseActivity implements MainMagicIndicatorAdapter.OnItemSelectListener {
|
||||
@CreatePresenter(HomeMorePresenter.class)
|
||||
public class HomeMoreRoomActivity extends BaseMvpActivity<IHomeMoreRoomView, HomeMorePresenter> implements IHomeMoreRoomView,MainMagicIndicatorAdapter.OnItemSelectListener {
|
||||
|
||||
@BindView(R.id.magic_indicator)
|
||||
MagicIndicator magicIndicator;
|
||||
@BindView(R.id.view_pager)
|
||||
ViewPager viewPager;
|
||||
|
||||
@BindView(R.id.rv_follow_room)
|
||||
RecyclerView rvFollowRoom;
|
||||
private HomeConcernsAdapter mFollowRoomsAdapter;
|
||||
private List<Fragment> mFragments;
|
||||
|
||||
|
||||
@@ -48,6 +63,7 @@ public class HomeMoreRoomActivity extends BaseActivity implements MainMagicIndi
|
||||
ButterKnife.bind(this);
|
||||
initTitleBar("房间",true);
|
||||
initRoomTitleTab();
|
||||
initRoomConcern();
|
||||
}
|
||||
|
||||
public static void start(Context context) {
|
||||
@@ -57,54 +73,36 @@ public class HomeMoreRoomActivity extends BaseActivity implements MainMagicIndi
|
||||
|
||||
|
||||
private void initRoomTitleTab() {
|
||||
List<CharSequence> mTabInfoList = new ArrayList<>();
|
||||
if (!ListUtils.isListEmpty(mFragments)) {
|
||||
mFragments.clear();
|
||||
}
|
||||
mFragments = new ArrayList<>();
|
||||
|
||||
HomeModel.get().getHomeTag().subscribe((serviceResult, throwable) -> {
|
||||
if (throwable != null) {
|
||||
} else {
|
||||
List<HomeTagInfo> info = serviceResult;
|
||||
for (int i = 0; i < info.size(); i++) {
|
||||
//过滤对象是空和没有标签名同时也没有子标签的情况
|
||||
CharSequence title;
|
||||
int tabId;
|
||||
Fragment fragment;
|
||||
String name = info.get(i).getName();
|
||||
if (name != null) {
|
||||
name = name.trim();
|
||||
}
|
||||
title = name;
|
||||
tabId = info.get(i).getId();
|
||||
fragment = HomeTabMapFragment.newInstance(tabId);
|
||||
mFragments.add(fragment);
|
||||
mTabInfoList.add(title);
|
||||
}
|
||||
getMvpPresenter().getHomeTag();
|
||||
|
||||
CommonNavigator commonNavigator = new CommonNavigator(HomeMoreRoomActivity.this);
|
||||
MainMagicIndicatorAdapter magicIndicatorAdapter = new MainMagicIndicatorAdapter(HomeMoreRoomActivity.this, mTabInfoList);
|
||||
magicIndicatorAdapter.setOnItemSelectListener(this);
|
||||
|
||||
commonNavigator.setAdapter(magicIndicatorAdapter);
|
||||
magicIndicator.setNavigator(commonNavigator);
|
||||
|
||||
commonNavigator.getTitleContainer().setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE);
|
||||
|
||||
viewPager.setOffscreenPageLimit(5);
|
||||
viewPager.setAdapter(new RoomContributeListAdapter(getSupportFragmentManager(),mFragments));
|
||||
viewPager.addOnPageChangeListener(new OnPageSelectedListener() {
|
||||
@Override
|
||||
public void onPageSelected(int position) {
|
||||
|
||||
}
|
||||
});
|
||||
ViewPagerHelper.bind(magicIndicator, viewPager);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void initRoomConcern() {
|
||||
mFollowRoomsAdapter = new HomeConcernsAdapter(null,context);
|
||||
rvFollowRoom.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false));
|
||||
rvFollowRoom.addItemDecoration(new VerticalDecoration(SizeUtils.dp2px(this, 10), false, true));
|
||||
mFollowRoomsAdapter.setOnItemChildClickListener(new BaseQuickAdapter.OnItemChildClickListener() {
|
||||
@Override
|
||||
public void onItemChildClick(BaseQuickAdapter adapter, View view, int position) {
|
||||
StatisticManager.Instance().onEvent(StatisticsProtocol.Event.EVENT_SEARCH_RECENT_ENTER_ROOM, "最近进房记录");
|
||||
|
||||
List<HomeConcernsInfo> list = adapter.getData();
|
||||
if (position >= 0 && position < list.size()) {
|
||||
//// ImeUtil.hideIME(HomeMoreRoomActivity.this, tvSearch);
|
||||
HomeConcernsInfo record = list.get(position);
|
||||
// if (record.isValid()) {
|
||||
// list.remove(position);
|
||||
// list.add(0, record);
|
||||
// mFollowRoomsAdapter.setNewData(list);
|
||||
// }
|
||||
AVRoomActivity.start(HomeMoreRoomActivity.this, record.getRoomUid());
|
||||
}
|
||||
}
|
||||
});
|
||||
rvFollowRoom.setAdapter(mFollowRoomsAdapter);
|
||||
getMvpPresenter().getHomeConcerns();
|
||||
}
|
||||
|
||||
// @Override
|
||||
// protected boolean needSteepStateBar() {
|
||||
@@ -134,4 +132,68 @@ public class HomeMoreRoomActivity extends BaseActivity implements MainMagicIndi
|
||||
viewPager.setCurrentItem(position);
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void getFollowRoomsSuccess(List<HomeConcernsInfo> list) {
|
||||
if (list != null && list.size() > 0) {
|
||||
rvFollowRoom.setVisibility(View.VISIBLE);
|
||||
mFollowRoomsAdapter.setNewData(list);
|
||||
} else {
|
||||
rvFollowRoom.setVisibility(View.GONE);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getFollowRoomFail() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getHomeTagSuccess(List<HomeTagInfo> info) {
|
||||
List<CharSequence> mTabInfoList = new ArrayList<>();
|
||||
if (!ListUtils.isListEmpty(mFragments)) {
|
||||
mFragments.clear();
|
||||
}
|
||||
mFragments = new ArrayList<>();
|
||||
for (int i = 0; i < info.size(); i++) {
|
||||
//过滤对象是空和没有标签名同时也没有子标签的情况
|
||||
CharSequence title;
|
||||
int tabId;
|
||||
Fragment fragment;
|
||||
String name = info.get(i).getName();
|
||||
if (name != null) {
|
||||
name = name.trim();
|
||||
}
|
||||
title = name;
|
||||
tabId = info.get(i).getId();
|
||||
fragment = HomeTabMapFragment.newInstance(tabId);
|
||||
mFragments.add(fragment);
|
||||
mTabInfoList.add(title);
|
||||
}
|
||||
|
||||
CommonNavigator commonNavigator = new CommonNavigator(HomeMoreRoomActivity.this);
|
||||
MainMagicIndicatorAdapter magicIndicatorAdapter = new MainMagicIndicatorAdapter(HomeMoreRoomActivity.this, mTabInfoList);
|
||||
magicIndicatorAdapter.setOnItemSelectListener(this);
|
||||
|
||||
commonNavigator.setAdapter(magicIndicatorAdapter);
|
||||
magicIndicator.setNavigator(commonNavigator);
|
||||
|
||||
commonNavigator.getTitleContainer().setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE);
|
||||
|
||||
viewPager.setOffscreenPageLimit(5);
|
||||
viewPager.setAdapter(new RoomContributeListAdapter(getSupportFragmentManager(),mFragments));
|
||||
viewPager.addOnPageChangeListener(new OnPageSelectedListener() {
|
||||
@Override
|
||||
public void onPageSelected(int position) {
|
||||
|
||||
}
|
||||
});
|
||||
ViewPagerHelper.bind(magicIndicator, viewPager);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getHomeTagFail() {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
package com.yizhuan.erban.home.adapter;
|
||||
|
||||
import android.content.Context;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
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.ImageLoadUtilsV2;
|
||||
import com.yizhuan.erban.ui.widget.magicindicator.buildins.UIUtil;
|
||||
import com.yizhuan.xchat_android_core.bean.RoomHistoryInfo;
|
||||
import com.yizhuan.xchat_android_core.home.bean.HomeConcernsInfo;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class HomeConcernsAdapter extends BaseQuickAdapter<HomeConcernsInfo, BaseViewHolder> {
|
||||
private Context mContext;
|
||||
|
||||
public HomeConcernsAdapter(@Nullable List<HomeConcernsInfo> data, Context context) {
|
||||
super(R.layout.item_home_concerns, data);
|
||||
mContext = context;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void convert(BaseViewHolder helper, HomeConcernsInfo item) {
|
||||
if (item == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
// helper.setVisible(R.id.tv_room_name,true);
|
||||
|
||||
CircleImageView circleImageView = helper.getView(R.id.civ_room_avatar);
|
||||
ImageLoadUtilsV2.loadImage(circleImageView, item.getAvatar());
|
||||
circleImageView.setBorderWidth(UIUtil.dip2px(mContext,1));
|
||||
circleImageView.setBorderColor(mContext.getResources().getColor(R.color.appColor));
|
||||
|
||||
TextView tvName = helper.getView(R.id.tv_room_name);
|
||||
if (item.getFollowType() == 1){
|
||||
tvName.setText("");
|
||||
}else {
|
||||
tvName.setText(item.getName());
|
||||
}
|
||||
// helper.setText(R.id.iv_living,item.getFollowType() == 1?item.getName():"直播中");
|
||||
helper.addOnClickListener(R.id.container_item_room_history);
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -3,20 +3,12 @@ package com.yizhuan.erban.home.fragment;
|
||||
import android.Manifest;
|
||||
import android.annotation.SuppressLint;
|
||||
import android.app.Activity;
|
||||
import androidx.databinding.DataBindingUtil;
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.drawable.ColorDrawable;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.graphics.drawable.GradientDrawable;
|
||||
import android.os.Bundle;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import com.google.android.material.appbar.AppBarLayout;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.core.content.ContextCompat;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
import android.text.Spannable;
|
||||
import android.text.SpannableString;
|
||||
import android.text.SpannableStringBuilder;
|
||||
@@ -36,7 +28,14 @@ import android.widget.LinearLayout;
|
||||
import android.widget.ListView;
|
||||
import android.widget.PopupWindow;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.core.content.ContextCompat;
|
||||
import androidx.databinding.DataBindingUtil;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.amap.api.location.AMapLocation;
|
||||
import com.amap.api.location.AMapLocationClient;
|
||||
@@ -45,6 +44,7 @@ import com.amap.api.location.AMapLocationListener;
|
||||
import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool;
|
||||
import com.bumptech.glide.load.resource.bitmap.BitmapTransformation;
|
||||
import com.bumptech.glide.request.RequestOptions;
|
||||
import com.google.android.material.appbar.AppBarLayout;
|
||||
import com.jude.rollviewpager.Util;
|
||||
import com.jude.rollviewpager.hintview.ColorPointHintView;
|
||||
import com.netease.nim.uikit.common.util.log.LogUtil;
|
||||
@@ -177,6 +177,11 @@ public class GameHomeFragment extends BaseMvpFragment<IMainFragmentView, MainFra
|
||||
*/
|
||||
public static final int TAB_TYPE_PLAY = 1;
|
||||
|
||||
/**
|
||||
* 首页Banner
|
||||
*/
|
||||
private static final String BANNER_TYPE = "1";
|
||||
|
||||
@Override
|
||||
public void onCreate(@Nullable Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
@@ -249,11 +254,10 @@ public class GameHomeFragment extends BaseMvpFragment<IMainFragmentView, MainFra
|
||||
initLocation();
|
||||
initGuide();
|
||||
initRefreshView();
|
||||
if (isUserLogin) {
|
||||
initRoomTitleTab();
|
||||
initTitleTab();
|
||||
initBanner();
|
||||
}
|
||||
initTitleTab();
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
private void initRefreshView() {
|
||||
@@ -273,9 +277,6 @@ public class GameHomeFragment extends BaseMvpFragment<IMainFragmentView, MainFra
|
||||
});
|
||||
}
|
||||
|
||||
private void getHomeBannerInfo() {
|
||||
getMvpPresenter().getHomeBannerInfo();
|
||||
}
|
||||
|
||||
private void initLocation() {
|
||||
//初始化定位
|
||||
@@ -296,52 +297,7 @@ public class GameHomeFragment extends BaseMvpFragment<IMainFragmentView, MainFra
|
||||
*/
|
||||
|
||||
private void initRoomTitleTab() {
|
||||
List<CharSequence> mTabInfoList = new ArrayList<>();
|
||||
if (!ListUtils.isListEmpty(mFragments)) {
|
||||
mFragments.clear();
|
||||
}
|
||||
mFragments = new ArrayList<>();
|
||||
|
||||
HomeModel.get().getHomeTag().subscribe((serviceResult, throwable) -> {
|
||||
if (throwable != null) {
|
||||
} else {
|
||||
List<HomeTagInfo> info = serviceResult;
|
||||
for (int i = 0; i < info.size(); i++) {
|
||||
//过滤对象是空和没有标签名同时也没有子标签的情况
|
||||
CharSequence title;
|
||||
int tabId;
|
||||
Fragment fragment;
|
||||
String name = info.get(i).getName();
|
||||
if (name != null) {
|
||||
name = name.trim();
|
||||
}
|
||||
title = name;
|
||||
tabId = info.get(i).getId();
|
||||
fragment = HomeTabHomeFragment.newInstance(tabId);
|
||||
mFragments.add(fragment);
|
||||
mTabInfoList.add(title);
|
||||
}
|
||||
|
||||
CommonNavigator commonNavigator = new CommonNavigator(getContext());
|
||||
MainMagicIndicatorAdapter magicIndicatorAdapter = new MainMagicIndicatorAdapter(getContext(), mTabInfoList);
|
||||
magicIndicatorAdapter.setOnItemSelectListener(this);
|
||||
|
||||
commonNavigator.setAdapter(magicIndicatorAdapter);
|
||||
mBinding.magicIndicator.setNavigator(commonNavigator);
|
||||
|
||||
commonNavigator.getTitleContainer().setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE);
|
||||
|
||||
mBinding.viewPager.setOffscreenPageLimit(5);
|
||||
mBinding.viewPager.setAdapter(new RoomContributeListAdapter(getChildFragmentManager(), mFragments));
|
||||
mBinding.viewPager.addOnPageChangeListener(new OnPageSelectedListener() {
|
||||
@Override
|
||||
public void onPageSelected(int position) {
|
||||
|
||||
}
|
||||
});
|
||||
ViewPagerHelper.bind(mBinding.magicIndicator, mBinding.viewPager);
|
||||
}
|
||||
});
|
||||
getMvpPresenter().getHomeTag();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -746,134 +702,54 @@ public class GameHomeFragment extends BaseMvpFragment<IMainFragmentView, MainFra
|
||||
toast(error);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取首页信息成功
|
||||
*
|
||||
* @param homeBannerInfo
|
||||
*/
|
||||
@Override
|
||||
public void onGetFirstPageBannerSucceeded(HomeBannerInfo homeBannerInfo) {
|
||||
// if (homeBannerInfo == null || homeBannerInfo.isEmpty()) {
|
||||
// //数据为空的时候显示empty
|
||||
// mBinding.layoutEmpty.setVisibility(View.VISIBLE);
|
||||
// return;
|
||||
// }
|
||||
|
||||
// initHomeBanner(homeBannerInfo.getFirstPageBannerVos());
|
||||
// this.mHomeTitleInfos = homeBannerInfo.getAllVo();
|
||||
|
||||
// initQxTopBanner(homeBannerInfo.getTopBanners());
|
||||
|
||||
public void onGetHomeBannerSuccess(List<BannerInfo> bannerInfos) {
|
||||
setBanner(bannerInfos);
|
||||
}
|
||||
|
||||
/**
|
||||
* 初始化顶部banner位
|
||||
*
|
||||
* @param bannerInfos
|
||||
*/
|
||||
private void initHomeBanner(List<BannerInfo> bannerInfos) {
|
||||
if (ListUtils.isListEmpty(bannerInfos)) {
|
||||
mView.findViewById(R.id.home_banner_group).setVisibility(View.GONE);
|
||||
return;
|
||||
@Override
|
||||
public void onGetHomeTagSuccess(List<HomeTagInfo> info) {
|
||||
List<CharSequence> mTabInfoList = new ArrayList<>();
|
||||
if (!ListUtils.isListEmpty(mFragments)) {
|
||||
mFragments.clear();
|
||||
}
|
||||
mView.findViewById(R.id.home_banner_group).setVisibility(View.VISIBLE);
|
||||
// 遍历去掉 小世界 这个 item
|
||||
if (MarketVerifyModel.get().isMarketChecking()) {
|
||||
Iterator<BannerInfo> iterator = bannerInfos.iterator();
|
||||
while (iterator.hasNext()) {
|
||||
BannerInfo next = iterator.next();
|
||||
if (Objects.equals(next.getBannerName(), "66星球-小世界")) {
|
||||
iterator.remove();
|
||||
break;
|
||||
}
|
||||
mFragments = new ArrayList<>();
|
||||
for (int i = 0; i < info.size(); i++) {
|
||||
//过滤对象是空和没有标签名同时也没有子标签的情况
|
||||
CharSequence title;
|
||||
int tabId;
|
||||
Fragment fragment;
|
||||
String name = info.get(i).getName();
|
||||
if (name != null) {
|
||||
name = name.trim();
|
||||
}
|
||||
title = name;
|
||||
tabId = info.get(i).getId();
|
||||
fragment = HomeTabHomeFragment.newInstance(tabId);
|
||||
mFragments.add(fragment);
|
||||
mTabInfoList.add(title);
|
||||
}
|
||||
mBinding.recyclerView.setLayoutManager(new LinearLayoutManager(getActivity(), LinearLayoutManager.HORIZONTAL, false) {
|
||||
|
||||
CommonNavigator commonNavigator = new CommonNavigator(getContext());
|
||||
MainMagicIndicatorAdapter magicIndicatorAdapter = new MainMagicIndicatorAdapter(getContext(), mTabInfoList);
|
||||
magicIndicatorAdapter.setOnItemSelectListener(this);
|
||||
|
||||
commonNavigator.setAdapter(magicIndicatorAdapter);
|
||||
mBinding.magicIndicator.setNavigator(commonNavigator);
|
||||
|
||||
commonNavigator.getTitleContainer().setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE);
|
||||
|
||||
mBinding.viewPager.setOffscreenPageLimit(5);
|
||||
mBinding.viewPager.setAdapter(new RoomContributeListAdapter(getChildFragmentManager(), mFragments));
|
||||
mBinding.viewPager.addOnPageChangeListener(new OnPageSelectedListener() {
|
||||
@Override
|
||||
public boolean canScrollVertically() {
|
||||
return false;
|
||||
public void onPageSelected(int position) {
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
CommonAdapter<BannerInfo, com.yizhuan.erban.base.list.BaseViewHolder>
|
||||
baseQuickAdapter = new CommonAdapter<BannerInfo, BaseViewHolder>(R.layout.item_image_banner, bannerInfos) {
|
||||
|
||||
@Override
|
||||
protected void convert(BaseViewHolder holder, BannerInfo item) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void convert(BaseViewHolder helper, BannerInfo item, int position) {
|
||||
super.convert(helper, item, position);
|
||||
if (null == item) {
|
||||
return;
|
||||
}
|
||||
ImageView imageView = helper.getView(R.id.iv_icon);
|
||||
ImageLoadUtils.loadImage(imageView.getContext(), item.getBannerPic(), imageView);
|
||||
helper.getAdapterPosition();
|
||||
RecyclerView.LayoutParams params = (RecyclerView.LayoutParams) helper.itemView.getLayoutParams();
|
||||
if (position == 0) {
|
||||
params.leftMargin = 0;
|
||||
} else {
|
||||
params.leftMargin = -UIUtil.dip2px(mContext, 28);
|
||||
}
|
||||
helper.itemView.setLayoutParams(params);
|
||||
}
|
||||
};
|
||||
|
||||
baseQuickAdapter.setOnItemClickListener((ada, view, position) -> {
|
||||
BannerInfo item = baseQuickAdapter.getItem(position);
|
||||
if (null == item) {
|
||||
return;
|
||||
}
|
||||
switch (item.getSkipType()) {
|
||||
case SKIP_TYP_APP:
|
||||
int routerType = JavaUtil.str2int(item.getSkipUri());
|
||||
if (routerType == 0) {
|
||||
return;
|
||||
}
|
||||
switch (routerType) {
|
||||
case RouterType.VOICE_BOTTLE_PAGE:
|
||||
StatisticManager.Instance().onEvent(StatisticsProtocol.Event.EVENT_HOME_SOUND_MATCHING, "首页-声音匹配");
|
||||
break;
|
||||
case RouterType.GAME_MATCHING:
|
||||
StatisticManager.Instance().onEvent(StatisticsProtocol.Event.EVENT_HOME_SMALL_GAME, "首页-小游戏");
|
||||
break;
|
||||
case RouterType.CHAT_PARTY:
|
||||
StatisticManager.Instance().onEvent(StatisticsProtocol.Event.EVENT_HOME_VOICE_PARTY, "首页-语音派对");
|
||||
break;
|
||||
case RouterType.MINI_WORLD:
|
||||
StatisticManager.Instance().onEvent(StatisticsProtocol.Event.EVENT_HOME_MINI_WORLD, "首页-小世界");
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case SKIP_TYP_H5:
|
||||
if (item.getBannerName().equals("测一测")) {
|
||||
StatisticManager.Instance().onEvent(StatisticsProtocol.Event.EVENT_HOME_TEST, "首页-测一测");
|
||||
}
|
||||
break;
|
||||
|
||||
case SKIP_TYPE_ROUTER:
|
||||
int routerRouterType = JavaUtil.str2int(item.getRouterType());
|
||||
switch (routerRouterType) {
|
||||
case RouterType.MINI_WORLD_TEST:
|
||||
StatisticManager.Instance().onEvent(StatisticsProtocol.Event.EVENT_HOME_TEST, "首页-测一测");
|
||||
break;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
CommonJumpHelper.bannerJump(mContext, item);
|
||||
});
|
||||
mBinding.recyclerView.setAdapter(baseQuickAdapter);
|
||||
|
||||
ViewPagerHelper.bind(mBinding.magicIndicator, mBinding.viewPager);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 用户信息更新
|
||||
*
|
||||
@@ -892,6 +768,12 @@ public class GameHomeFragment extends BaseMvpFragment<IMainFragmentView, MainFra
|
||||
startLocation();
|
||||
// 超管不展示开房按钮
|
||||
mBinding.setOpenVisible(!(userInfo != null && userInfo.getPlatformRole() == 1));
|
||||
initRoomTitleTab();
|
||||
initBanner();
|
||||
}
|
||||
|
||||
private void initBanner() {
|
||||
getMvpPresenter().getHomeBanner(BANNER_TYPE);
|
||||
}
|
||||
|
||||
public List<View> getHomeBanner(int num) {
|
||||
@@ -1010,20 +892,6 @@ public class GameHomeFragment extends BaseMvpFragment<IMainFragmentView, MainFra
|
||||
|
||||
activity.getWindow().setAttributes(lp);
|
||||
|
||||
}
|
||||
|
||||
|
||||
public void initBanner() {
|
||||
HomeModel.get().getHomeBanner("1").subscribe((serviceResult, throwable) -> {
|
||||
if (throwable != null) {
|
||||
} else {
|
||||
List<BannerInfo> info = serviceResult;
|
||||
setBanner(info);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
private void setBanner(List<BannerInfo> bannerList){
|
||||
|
||||
@@ -1,53 +1,40 @@
|
||||
package com.yizhuan.erban.home.fragment;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.recyclerview.widget.GridLayoutManager;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
|
||||
|
||||
import com.trello.rxlifecycle2.android.FragmentEvent;
|
||||
import com.chad.library.adapter.base.BaseQuickAdapter;
|
||||
import com.yizhuan.erban.R;
|
||||
import com.yizhuan.erban.base.BaseFragment;
|
||||
import com.yizhuan.erban.common.NoDataFragment;
|
||||
import com.yizhuan.erban.base.BaseMvpFragment;
|
||||
import com.yizhuan.erban.community.publish.presenter.WorldChoosePresenter;
|
||||
import com.yizhuan.erban.home.adapter.HomeRoomFragmentAdapter;
|
||||
import com.yizhuan.erban.home.model.HomeModel;
|
||||
import com.yizhuan.xchat_android_core.home.bean.HomeItem;
|
||||
import com.yizhuan.xchat_android_core.utils.net.RxHelper;
|
||||
import com.yizhuan.erban.home.bean.HomeTabMapInfo;
|
||||
import com.yizhuan.erban.home.presenter.HomeTabMapPresenter;
|
||||
import com.yizhuan.erban.home.presenter.IHomeTabMapView;
|
||||
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;
|
||||
import java.util.concurrent.CancellationException;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public class HomeTabMapFragment extends BaseFragment {
|
||||
@CreatePresenter(HomeTabMapPresenter.class)
|
||||
public class HomeTabMapFragment extends BaseMvpFragment<IHomeTabMapView, HomeTabMapPresenter> implements IHomeTabMapView, BaseQuickAdapter.RequestLoadMoreListener {
|
||||
public static final int ROWS = 2;
|
||||
private static final String PARAM_TAB_ID = "tabId";
|
||||
private RecyclerView recyclerView;
|
||||
private SwipeRefreshLayout swipeRefresh;
|
||||
private String tabId;
|
||||
private HomeRoomFragmentAdapter mHomeRoomAdapter;
|
||||
private final Object lock = new Object();
|
||||
private static final int PAGE = 1;
|
||||
private static final int PAGE_SIZE = 20;
|
||||
/**
|
||||
* 是否包含了banner
|
||||
*/
|
||||
private boolean isContainsBanner = false;
|
||||
|
||||
/**
|
||||
* 用于显示的数据
|
||||
*/
|
||||
private List<HomeItem> totalHomeItemList = new ArrayList<>();
|
||||
|
||||
public static HomeTabMapFragment newInstance(int tabId) {
|
||||
|
||||
Bundle args = new Bundle();
|
||||
args.putString(PARAM_TAB_ID, String.valueOf(tabId));
|
||||
HomeTabMapFragment fragment = new HomeTabMapFragment();
|
||||
@@ -55,10 +42,6 @@ public class HomeTabMapFragment extends BaseFragment {
|
||||
return fragment;
|
||||
}
|
||||
|
||||
public HomeTabMapFragment() {
|
||||
// Required empty public constructor
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreate(@Nullable Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
@@ -67,7 +50,6 @@ public class HomeTabMapFragment extends BaseFragment {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public int getRootLayoutId() {
|
||||
return R.layout.fragment_home_tab_map;
|
||||
@@ -75,90 +57,108 @@ public class HomeTabMapFragment extends BaseFragment {
|
||||
|
||||
@Override
|
||||
public void onFindViews() {
|
||||
super.onFindViews();
|
||||
recyclerView = mView.findViewById(R.id.recycler_view);
|
||||
swipeRefresh = mView.findViewById(R.id.swipe_refresh);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSetListener() {
|
||||
swipeRefresh.setOnRefreshListener(() -> {
|
||||
mHomeRoomAdapter.setEnableLoadMore(true);
|
||||
loadData(true);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initiate() {
|
||||
initRecyclerView();
|
||||
loadData(true);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 刷新数据
|
||||
*/
|
||||
private void refreshData() {
|
||||
getData();
|
||||
private void loadData(boolean isRefresh) {
|
||||
getMvpPresenter().loadData(isRefresh,tabId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 请求数据
|
||||
*/
|
||||
@SuppressLint("CheckResult")
|
||||
private void getData() {
|
||||
HomeModel.get()
|
||||
.getHomeTabMap(tabId,PAGE,PAGE_SIZE)
|
||||
.compose(RxHelper.handleSchedulers())
|
||||
.compose(bindUntilEvent(FragmentEvent.DESTROY_VIEW))
|
||||
.subscribe((serviceResult, throwable) -> {
|
||||
if (throwable == null) {
|
||||
if (ListUtils.isListEmpty(serviceResult)) {
|
||||
showNoData();
|
||||
mHomeRoomAdapter.notifyDataSetChanged();
|
||||
}
|
||||
mHomeRoomAdapter.setNewData(serviceResult);
|
||||
mHomeRoomAdapter.notifyDataSetChanged();
|
||||
|
||||
} else {
|
||||
if (!(throwable instanceof CancellationException)) {
|
||||
toast("请求失败,请稍后再试!!" + throwable.getMessage());
|
||||
}
|
||||
}
|
||||
});
|
||||
@Override
|
||||
public View.OnClickListener getLoadMoreListener() {
|
||||
return super.getLoadMoreListener();
|
||||
}
|
||||
|
||||
private void initRecyclerView() {
|
||||
recyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
|
||||
recyclerView.setItemAnimator(null);
|
||||
mHomeRoomAdapter = new HomeRoomFragmentAdapter(getContext());
|
||||
mHomeRoomAdapter.setEnableLoadMore(false);
|
||||
mHomeRoomAdapter.setOnLoadMoreListener(this, recyclerView);
|
||||
GridLayoutManager gridLayoutManager = new GridLayoutManager(getContext(), ROWS);
|
||||
mHomeRoomAdapter.setEnableLoadMore(false);
|
||||
recyclerView.setLayoutManager(gridLayoutManager);
|
||||
recyclerView.setAdapter(mHomeRoomAdapter);
|
||||
|
||||
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);
|
||||
mHomeRoomAdapter.setEmptyView(emptyView);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initiate() {
|
||||
refreshData();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setUserVisibleHint(boolean isVisibleToUser) {
|
||||
super.setUserVisibleHint(isVisibleToUser);
|
||||
}
|
||||
|
||||
@SuppressLint("ResourceType")
|
||||
@Override
|
||||
public void showNoData(View view, int drawable, CharSequence charSequence) {
|
||||
if (!checkActivityValid()) {
|
||||
return;
|
||||
}
|
||||
public void homeTabMapSuccess(List<HomeTabMapInfo> list) {
|
||||
hideStatus();
|
||||
if (mHomeRoomAdapter != null) {
|
||||
int page = getMvpPresenter().getPage();
|
||||
if (page <= 1) {
|
||||
swipeRefresh.setRefreshing(false);
|
||||
|
||||
if (view == null) {
|
||||
MLog.error(this, "xuwakao, showNoData view is NULL");
|
||||
if (list == null || list.size() == 0) {
|
||||
showNoData();
|
||||
} else {
|
||||
mHomeRoomAdapter.setNewData(list);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void homeTabMapFails(String error) {
|
||||
hideStatus();
|
||||
|
||||
int page = getMvpPresenter().getPage();
|
||||
if (page <= 1) {
|
||||
showNoData();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void homeTabMapLoadMoreSuccess(List<HomeTabMapInfo> list) {
|
||||
if (ListUtils.isListEmpty(list)){
|
||||
mHomeRoomAdapter.loadMoreEnd(true);
|
||||
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;
|
||||
mHomeRoomAdapter.addData(list);
|
||||
mHomeRoomAdapter.loadMoreComplete();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void homeTabMapLoadMoreFails(String error) {
|
||||
hideStatus();
|
||||
int page = getMvpPresenter().getPage();
|
||||
if (page <= 1) {
|
||||
showNoData();
|
||||
}
|
||||
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();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onReloadData() {
|
||||
super.onReloadData();
|
||||
loadData(true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLoadMoreRequested() {
|
||||
loadData(false);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,6 +18,7 @@ import com.yizhuan.erban.base.BaseMvpFragment;
|
||||
import com.yizhuan.erban.common.widget.dialog.DialogManager;
|
||||
import com.yizhuan.erban.home.adapter.FragmentViewPagerAdapter;
|
||||
import com.yizhuan.erban.home.adapter.TopMagicIndicatorAdapter;
|
||||
import com.yizhuan.erban.home.bean.HomeTagInfo;
|
||||
import com.yizhuan.erban.home.dialog.CreateRoomDialog;
|
||||
import com.yizhuan.erban.home.presenter.MainFragmentPresenter;
|
||||
import com.yizhuan.erban.home.view.IMainFragmentTabBg;
|
||||
@@ -33,6 +34,7 @@ import com.yizhuan.xchat_android_core.UriProvider;
|
||||
import com.yizhuan.xchat_android_core.auth.AuthModel;
|
||||
import com.yizhuan.xchat_android_core.certification.CertificationModel;
|
||||
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.TagListInfo;
|
||||
import com.yizhuan.xchat_android_core.manager.AvRoomDataManager;
|
||||
import com.yizhuan.xchat_android_core.market_verify.MarketVerifyModel;
|
||||
@@ -396,11 +398,6 @@ public class MainFragment extends BaseMvpFragment<IMainFragmentView, MainFragmen
|
||||
// }
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onGetFirstPageBannerSucceeded(HomeBannerInfo homeBannerInfo) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onGetFirstPageBannerFailed(String message) {
|
||||
|
||||
@@ -415,4 +412,14 @@ public class MainFragment extends BaseMvpFragment<IMainFragmentView, MainFragmen
|
||||
public void roomWorldModeCloseFail(String error) {
|
||||
toast(error);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onGetHomeBannerSuccess(List<BannerInfo> bannerInfos) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onGetHomeTagSuccess(List<HomeTagInfo> tagInfos) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,6 +20,7 @@ import com.yizhuan.erban.common.widget.dialog.DialogManager;
|
||||
import com.yizhuan.erban.databinding.FragmentMeBinding;
|
||||
import com.yizhuan.erban.decoration.view.MyDecorationActivity;
|
||||
import com.yizhuan.erban.home.activity.CollectionRoomActivity;
|
||||
import com.yizhuan.erban.home.bean.HomeTagInfo;
|
||||
import com.yizhuan.erban.home.dialog.CreateRoomDialog;
|
||||
import com.yizhuan.erban.home.presenter.MainFragmentPresenter;
|
||||
import com.yizhuan.erban.home.view.IMainFragmentView;
|
||||
@@ -37,6 +38,7 @@ import com.yizhuan.xchat_android_core.certification.CertificationModel;
|
||||
import com.yizhuan.xchat_android_core.customer_server.CustomerServerModel;
|
||||
import com.yizhuan.xchat_android_core.decoration.headwear.bean.HeadWearInfo;
|
||||
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.TagListInfo;
|
||||
import com.yizhuan.xchat_android_core.manager.AvRoomDataManager;
|
||||
import com.yizhuan.xchat_android_core.manager.IMNetEaseManager;
|
||||
@@ -655,11 +657,6 @@ public class MeFragment extends BaseMvpFragment<IMainFragmentView, MainFragmentP
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onGetFirstPageBannerSucceeded(HomeBannerInfo homeBannerInfo) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onGetFirstPageBannerFailed(String message) {
|
||||
|
||||
@@ -675,4 +672,14 @@ public class MeFragment extends BaseMvpFragment<IMainFragmentView, MainFragmentP
|
||||
toast(error);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onGetHomeBannerSuccess(List<BannerInfo> bannerInfos) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onGetHomeTagSuccess(List<HomeTagInfo> tagInfos) {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -9,6 +9,7 @@ import com.yizhuan.xchat_android_core.base.BaseModel;
|
||||
import com.yizhuan.xchat_android_core.bean.response.ServiceResult;
|
||||
import com.yizhuan.xchat_android_core.community.CommunityConstant;
|
||||
import com.yizhuan.xchat_android_core.home.bean.BannerInfo;
|
||||
import com.yizhuan.xchat_android_core.home.bean.HomeConcernsInfo;
|
||||
import com.yizhuan.xchat_android_core.utils.net.RxHelper;
|
||||
import com.yizhuan.xchat_android_library.net.rxnet.RxNet;
|
||||
|
||||
@@ -74,6 +75,14 @@ public class HomeModel extends BaseModel {
|
||||
.compose(RxHelper.handleSchedulers());
|
||||
}
|
||||
|
||||
public Single<List<HomeConcernsInfo>> getHomeConcerns() {
|
||||
return api.apiHomeConcerns(String.valueOf(AuthModel.get().getCurrentUid()),
|
||||
CommunityConstant.VERSION_VALID_TYPE,
|
||||
AuthModel.get().getTicket())
|
||||
.compose(RxHelper.handleBeanData())
|
||||
.compose(RxHelper.handleSchedulers());
|
||||
}
|
||||
|
||||
|
||||
private static final class Helper {
|
||||
public static final HomeModel INSTANCE = new HomeModel();
|
||||
@@ -169,6 +178,19 @@ public class HomeModel extends BaseModel {
|
||||
@Query("uid") String uid,
|
||||
@Query("types") String types,
|
||||
@Query("ticket") String ticket);
|
||||
|
||||
/**
|
||||
* 首页顶部收藏房间列表
|
||||
* @param uid
|
||||
* @param types
|
||||
* @param ticket
|
||||
* @return
|
||||
*/
|
||||
@GET("/home/concerns")
|
||||
Single<ServiceResult<List<HomeConcernsInfo>>> apiHomeConcerns(
|
||||
@Query("uid") String uid,
|
||||
@Query("types") String types,
|
||||
@Query("ticket") String ticket);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
package com.yizhuan.erban.home.presenter;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.os.Bundle;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.yizhuan.erban.base.BaseMvpPresenter;
|
||||
import com.yizhuan.erban.home.model.HomeModel;
|
||||
|
||||
public class HomeMorePresenter extends BaseMvpPresenter<IHomeMoreRoomView> {
|
||||
|
||||
public HomeMorePresenter() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreatePresenter(@Nullable Bundle saveState) {
|
||||
super.onCreatePresenter(saveState);
|
||||
|
||||
}
|
||||
|
||||
@SuppressLint("CheckResult")
|
||||
public void getHomeTag(){
|
||||
HomeModel.get().getHomeTag().subscribe((homeTabResult, throwable) -> {
|
||||
if (throwable != null) {
|
||||
if (mMvpView != null) {
|
||||
mMvpView.getHomeTagFail();
|
||||
}
|
||||
} else {
|
||||
if (mMvpView != null) {
|
||||
mMvpView.getHomeTagSuccess(homeTabResult);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@SuppressLint("CheckResult")
|
||||
public void getHomeConcerns(){
|
||||
HomeModel.get().getHomeConcerns().subscribe((result, throwable) -> {
|
||||
if (throwable != null) {
|
||||
if (mMvpView != null) {
|
||||
mMvpView.getFollowRoomFail();
|
||||
}
|
||||
} else {
|
||||
if (mMvpView != null) {
|
||||
mMvpView.getFollowRoomsSuccess(result);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,65 @@
|
||||
package com.yizhuan.erban.home.presenter;
|
||||
|
||||
import com.yizhuan.erban.base.BaseMvpPresenter;
|
||||
import com.yizhuan.erban.home.bean.HomeTabMapInfo;
|
||||
import com.yizhuan.erban.home.model.HomeModel;
|
||||
import com.yizhuan.xchat_android_core.Constants;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import io.reactivex.SingleObserver;
|
||||
import io.reactivex.disposables.Disposable;
|
||||
|
||||
public class HomeTabMapPresenter extends BaseMvpPresenter<IHomeTabMapView> {
|
||||
|
||||
private int page = 0;
|
||||
|
||||
public void loadData(boolean isRefresh, String id) {
|
||||
if (isRefresh) {
|
||||
page = 1;
|
||||
} else {
|
||||
page++;
|
||||
}
|
||||
|
||||
HomeModel.get().getHomeTabMap(id, page, Constants.PAGE_SIZE)
|
||||
.compose(bindToLifecycle()).subscribe(new SingleObserver<List<HomeTabMapInfo>>() {
|
||||
@Override
|
||||
public void onSubscribe(Disposable d) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(List<HomeTabMapInfo> homeTabMapInfos) {
|
||||
if (homeTabMapInfos != null) {
|
||||
if (mMvpView != null) {
|
||||
if (isRefresh){
|
||||
mMvpView.homeTabMapSuccess(homeTabMapInfos);
|
||||
}else {
|
||||
mMvpView.homeTabMapLoadMoreSuccess(homeTabMapInfos);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (mMvpView != null) {
|
||||
if (isRefresh){
|
||||
mMvpView.homeTabMapFails("暂无数据");
|
||||
}else {
|
||||
mMvpView.homeTabMapLoadMoreFails("已经到底啦");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(Throwable e) {
|
||||
if (mMvpView != null) {
|
||||
mMvpView.homeTabMapFails(e.getMessage());
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public int getPage() {
|
||||
return page;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package com.yizhuan.erban.home.presenter;
|
||||
|
||||
import com.yizhuan.erban.home.bean.HomeTagInfo;
|
||||
import com.yizhuan.xchat_android_core.home.bean.HomeConcernsInfo;
|
||||
import com.yizhuan.xchat_android_library.base.IMvpBaseView;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface IHomeMoreRoomView extends IMvpBaseView {
|
||||
void getFollowRoomsSuccess(List<HomeConcernsInfo> infos);
|
||||
void getFollowRoomFail();
|
||||
|
||||
void getHomeTagSuccess(List<HomeTagInfo> infos);
|
||||
void getHomeTagFail();
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package com.yizhuan.erban.home.presenter;
|
||||
|
||||
import com.yizhuan.erban.home.bean.HomeTabMapInfo;
|
||||
import com.yizhuan.xchat_android_library.base.IMvpBaseView;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface IHomeTabMapView extends IMvpBaseView {
|
||||
void homeTabMapSuccess(List<HomeTabMapInfo> list);
|
||||
void homeTabMapFails(String error);
|
||||
void homeTabMapLoadMoreSuccess(List<HomeTabMapInfo> list);
|
||||
void homeTabMapLoadMoreFails(String error);
|
||||
}
|
||||
@@ -6,9 +6,11 @@ import androidx.annotation.Nullable;
|
||||
import android.text.TextUtils;
|
||||
|
||||
import com.yizhuan.erban.base.BaseMvpPresenter;
|
||||
import com.yizhuan.erban.home.bean.HomeTagInfo;
|
||||
import com.yizhuan.erban.home.view.IMainFragmentView;
|
||||
import com.yizhuan.xchat_android_core.auth.AuthModel;
|
||||
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.TagListInfo;
|
||||
import com.yizhuan.xchat_android_core.home.model.HomeModel;
|
||||
import com.yizhuan.xchat_android_core.market_verify.event.MarketVerifyUpdateEvent;
|
||||
@@ -285,22 +287,41 @@ public class MainFragmentPresenter extends BaseMvpPresenter<IMainFragmentView> {
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取首页banner和tab
|
||||
* 获取首页banner
|
||||
*/
|
||||
public void getHomeBannerInfo() {
|
||||
public void getHomeBanner(String type) {
|
||||
if (mDisposable != null && !mDisposable.isDisposed()) {
|
||||
return;
|
||||
}
|
||||
mDisposable = HomeModel.get()
|
||||
.getQxBannerInfo()
|
||||
mDisposable = com.yizhuan.erban.home.model.HomeModel.get()
|
||||
.getHomeBanner(type)
|
||||
.compose(bindUntilEvent(PresenterEvent.DESTROY))
|
||||
.subscribe(new BiConsumer<HomeBannerInfo, Throwable>() {
|
||||
.subscribe(new BiConsumer<List<BannerInfo>, Throwable>() {
|
||||
@Override
|
||||
public void accept(HomeBannerInfo homeBannerInfo, Throwable throwable) throws Exception {
|
||||
public void accept(List<BannerInfo> infos, Throwable throwable) throws Exception {
|
||||
if (throwable == null) {
|
||||
getMvpView().onGetFirstPageBannerSucceeded(homeBannerInfo);
|
||||
} else {
|
||||
getMvpView().onGetFirstPageBannerFailed(throwable.getMessage());
|
||||
getMvpView().onGetHomeBannerSuccess(infos);
|
||||
}
|
||||
}
|
||||
});
|
||||
mCompositeDisposable.add(mDisposable);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取首页banner和tab
|
||||
*/
|
||||
public void getHomeTag() {
|
||||
if (mDisposable != null && !mDisposable.isDisposed()) {
|
||||
return;
|
||||
}
|
||||
mDisposable = com.yizhuan.erban.home.model.HomeModel.get()
|
||||
.getHomeTag()
|
||||
.compose(bindUntilEvent(PresenterEvent.DESTROY))
|
||||
.subscribe(new BiConsumer<List<HomeTagInfo>, Throwable>() {
|
||||
@Override
|
||||
public void accept(List<HomeTagInfo> infos, Throwable throwable) throws Exception {
|
||||
if (throwable == null) {
|
||||
getMvpView().onGetHomeTagSuccess(infos);
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -309,7 +330,6 @@ public class MainFragmentPresenter extends BaseMvpPresenter<IMainFragmentView> {
|
||||
|
||||
public void uploadAddress(long uid, String address, int adcode, double longitude, double latitude) {
|
||||
Disposable disposable = HomeModel.get().uploadAddress(uid, address, adcode, longitude, latitude).compose(bindUntilEvent(PresenterEvent.DESTROY)).subscribe(new BiConsumer<Object, Throwable>() {
|
||||
|
||||
@Override
|
||||
public void accept(Object o, Throwable throwable) throws Exception {
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.yizhuan.erban.home.view;
|
||||
|
||||
import com.yizhuan.erban.home.bean.HomeTagInfo;
|
||||
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.TagListInfo;
|
||||
@@ -52,10 +53,7 @@ public interface IMainFragmentView extends IMvpBaseView {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onGetFirstPageBannerSucceeded(HomeBannerInfo homeBannerInfo) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onGetFirstPageBannerFailed(String message) {
|
||||
@@ -71,16 +69,21 @@ public interface IMainFragmentView extends IMvpBaseView {
|
||||
public void roomWorldModeCloseFail(String error) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onGetHomeBannerSuccess(List<BannerInfo> bannerInfos) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onGetHomeTagSuccess(List<HomeTagInfo> tagInfos) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
void titleListSuccess(List<TagListInfo> tagListInfoList);
|
||||
void titleListFail(String msg);
|
||||
|
||||
/**
|
||||
* 获取首页banner成功
|
||||
* @param homeBannerInfo
|
||||
*/
|
||||
void onGetFirstPageBannerSucceeded(HomeBannerInfo homeBannerInfo);
|
||||
|
||||
/**
|
||||
* 获取首页banner失败
|
||||
@@ -91,4 +94,8 @@ public interface IMainFragmentView extends IMvpBaseView {
|
||||
void roomWorldModeCloseSuccess();
|
||||
void roomWorldModeCloseFail(String error);
|
||||
|
||||
void onGetHomeBannerSuccess(List<BannerInfo> bannerInfos);
|
||||
|
||||
void onGetHomeTagSuccess(List<HomeTagInfo> tagInfos);
|
||||
|
||||
}
|
||||
|
||||
@@ -152,7 +152,8 @@ public class ChargeActivity extends BaseActivity {
|
||||
titleBar.addAction(new TitleBar.TextAction("我的收益",getResources().getColor(R.color.white)) {
|
||||
@Override
|
||||
public void performAction(View view) {
|
||||
startActivity(new Intent(ChargeActivity.this, ChargeBillsActivity.class));
|
||||
CommonWebViewActivity.start(ChargeActivity.this,
|
||||
UriProvider.getMyIncomeUrl());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -280,10 +280,7 @@ public class SearchActivity extends BaseMvpActivity<ISearchView, SearchPresenter
|
||||
mRoomHistoryAdapter.setNewData(list);
|
||||
}
|
||||
AVRoomActivity.start(SearchActivity.this, record.getRoomUid());
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
rvRoomHistory.setAdapter(mRoomHistoryAdapter);
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 3.8 KiB |
BIN
app/src/main/res/drawable-xhdpi/ic_room_main_entrance_close.png
Normal file
BIN
app/src/main/res/drawable-xhdpi/ic_room_main_entrance_close.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 283 B |
@@ -23,13 +23,23 @@
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
/>
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/rv_follow_room"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintTop_toBottomOf="@id/title_bar"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
android:paddingStart="@dimen/dp_15"
|
||||
android:paddingEnd="@dimen/dp_15"/>
|
||||
|
||||
<com.yizhuan.erban.ui.widget.magicindicator.MagicIndicator
|
||||
android:id="@+id/magic_indicator"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="48dp"
|
||||
android:paddingStart="@dimen/dp_15"
|
||||
android:paddingEnd="@dimen/dp_15"
|
||||
app:layout_constraintTop_toBottomOf="@id/title_bar"
|
||||
app:layout_constraintTop_toBottomOf="@id/rv_follow_room"
|
||||
/>
|
||||
|
||||
<androidx.viewpager.widget.ViewPager
|
||||
|
||||
@@ -42,42 +42,86 @@
|
||||
android:layout_height="0dp">
|
||||
<com.yizhuan.erban.common.widget.DragLayout
|
||||
android:id="@+id/avatar_image_layout"
|
||||
android:layout_width="@dimen/dp_drag_layout_bg_size"
|
||||
android:layout_height="@dimen/dp_drag_layout_bg_size"
|
||||
android:layout_width="@dimen/dp_drag_layout_bg_width"
|
||||
android:layout_height="@dimen/dp_drag_layout_bg_height"
|
||||
android:background="@drawable/bg_room_main_entrance"
|
||||
android:layout_gravity="bottom|end"
|
||||
android:layout_marginBottom="95dp"
|
||||
android:layout_marginEnd="@dimen/dp_15"
|
||||
android:visibility="visible">
|
||||
|
||||
<com.yizhuan.erban.common.widget.CircleImageView
|
||||
android:id="@+id/avatar_image"
|
||||
tools:src="@drawable/default_avatar"
|
||||
android:layout_centerInParent="true"
|
||||
<FrameLayout
|
||||
android:id="@+id/fl_avatar"
|
||||
android:layout_width="@dimen/dp_drag_layout_avatar_size"
|
||||
android:layout_height="@dimen/dp_drag_layout_avatar_size" />
|
||||
android:layout_height="@dimen/dp_drag_layout_avatar_size"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_marginStart="12.5dp"
|
||||
|
||||
<com.yizhuan.erban.common.widget.CircleImageView
|
||||
android:src="@color/black"
|
||||
android:alpha="0.1"
|
||||
android:layout_centerInParent="true"
|
||||
android:layout_width="@dimen/dp_drag_layout_avatar_size"
|
||||
android:layout_height="@dimen/dp_drag_layout_avatar_size" />
|
||||
>
|
||||
<com.yizhuan.erban.common.widget.CircleImageView
|
||||
android:id="@+id/avatar_image"
|
||||
tools:src="@drawable/default_avatar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent" />
|
||||
|
||||
<com.yizhuan.erban.ui.widget.LivingIconView
|
||||
android:id="@+id/liv_user"
|
||||
android:background="@color/transparent"
|
||||
android:layout_centerInParent="true"
|
||||
android:layout_width="8dp"
|
||||
android:layout_height="8dp" />
|
||||
<com.yizhuan.erban.common.widget.CircleImageView
|
||||
android:src="@color/black"
|
||||
android:alpha="0.1"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent" />
|
||||
|
||||
<View
|
||||
<com.yizhuan.erban.ui.widget.LivingIconView
|
||||
android:id="@+id/liv_user"
|
||||
android:background="@color/transparent"
|
||||
android:layout_gravity="center"
|
||||
android:layout_width="10dp"
|
||||
android:layout_height="10dp" />
|
||||
</FrameLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:layout_toEndOf="@id/fl_avatar"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_toStartOf="@id/view_close"
|
||||
android:layout_marginStart="@dimen/dp_5"
|
||||
>
|
||||
<TextView
|
||||
android:id="@+id/tv_name"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="@dimen/dp_12"
|
||||
android:textColor="@color/white"
|
||||
tools:text="我是一只小萌新"
|
||||
android:lines="1"
|
||||
android:ellipsize="end"
|
||||
android:maxEms="6"
|
||||
android:singleLine="true"
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_id"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
tools:text="ID:666"
|
||||
android:textSize="@dimen/dp_10"
|
||||
android:textColor="@color/white"
|
||||
android:singleLine="true"
|
||||
android:ellipsize="end"
|
||||
/>
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/view_close"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_marginTop="@dimen/dp_5"
|
||||
android:layout_marginEnd="@dimen/dp_5"
|
||||
android:layout_width="@dimen/dp_21"
|
||||
android:layout_height="@dimen/dp_21" />
|
||||
android:layout_marginEnd="@dimen/dp_18"
|
||||
android:layout_centerVertical="true"
|
||||
android:src="@drawable/ic_room_main_entrance_close"
|
||||
android:layout_width="@dimen/dp_22"
|
||||
android:layout_height="@dimen/dp_22" />
|
||||
|
||||
</com.yizhuan.erban.common.widget.DragLayout>
|
||||
</FrameLayout>
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
android:layout_gravity="center|start"
|
||||
android:background="@color/transparent"
|
||||
android:scaleType="centerInside"
|
||||
android:src="@mipmap/common_ic_back" />
|
||||
android:src="@drawable/arrow_left" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="0dp"
|
||||
|
||||
@@ -30,7 +30,6 @@
|
||||
android:textSize="@dimen/sp_16"
|
||||
android:textStyle="bold"
|
||||
android:textColor="@color/color_333333"
|
||||
android:layout_marginTop="@dimen/dp_20"
|
||||
/>
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
@@ -53,6 +52,7 @@
|
||||
android:paddingEnd="@dimen/dp_31"
|
||||
android:paddingTop="@dimen/dp_12"
|
||||
android:paddingBottom="@dimen/dp_12"
|
||||
android:layout_marginBottom="@dimen/dp_10"
|
||||
android:textColor="@color/white"
|
||||
android:background="@drawable/bg_common_confirm_normal_22r"
|
||||
android:textSize="@dimen/sp_14" />
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<com.yizhuan.erban.common.widget.StatusLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
tools:context="com.yizhuan.erban.home.fragment.HomeOtherTabFragment">
|
||||
|
||||
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout
|
||||
android:id="@+id/swipe_refresh"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
>
|
||||
@@ -21,4 +22,4 @@
|
||||
|
||||
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
|
||||
|
||||
</LinearLayout>
|
||||
</com.yizhuan.erban.common.widget.StatusLayout>
|
||||
|
||||
52
app/src/main/res/layout/item_home_concerns.xml
Normal file
52
app/src/main/res/layout/item_home_concerns.xml
Normal file
@@ -0,0 +1,52 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/container_item_room_history"
|
||||
android:layout_width="50dp"
|
||||
android:layout_height="wrap_content"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools">
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/fl_room_history_avatar_container"
|
||||
android:layout_width="50dp"
|
||||
android:layout_height="50dp"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" >
|
||||
|
||||
<com.yizhuan.erban.common.widget.CircleImageView
|
||||
android:id="@+id/civ_room_avatar"
|
||||
android:layout_width="50dp"
|
||||
android:layout_height="50dp"
|
||||
app:civ_border_width="1dp"
|
||||
app:civ_border_color="@color/appColor"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/iv_living"
|
||||
android:layout_width="38dp"
|
||||
android:layout_height="15dp"
|
||||
android:layout_gravity="center_horizontal|bottom"
|
||||
android:background="@drawable/bg_common_confirm_normal"
|
||||
android:text="直播中"
|
||||
android:gravity="center"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/dp_11"
|
||||
tools:visibility="visible"/>
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_room_name"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="2.5dp"
|
||||
android:singleLine="true"
|
||||
android:textSize="@dimen/dp_12"
|
||||
android:textColor="@color/color_666666"
|
||||
tools:text="小小问问小问问小问问问问"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/fl_room_history_avatar_container"/>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
@@ -29,14 +29,14 @@
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginRight="5dp"
|
||||
android:layout_marginLeft="5dp"
|
||||
android:layout_marginBottom="5dp"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:layout_marginStart="5dp"
|
||||
android:layout_marginBottom="8dp"
|
||||
android:paddingLeft="7dp"
|
||||
android:paddingRight="7dp"
|
||||
android:paddingTop="2dp"
|
||||
android:paddingBottom="2dp"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:background="@drawable/shape_item_room_online_member"
|
||||
android:gravity="center_vertical"
|
||||
@@ -49,7 +49,7 @@
|
||||
android:background="@color/transparent"/>
|
||||
|
||||
<TextView
|
||||
android:layout_marginLeft="4dp"
|
||||
android:layout_marginStart="4dp"
|
||||
android:id="@+id/tv_online_number"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
@@ -63,7 +63,7 @@
|
||||
<ImageView
|
||||
android:id="@+id/iv_tab_label"
|
||||
android:layout_alignParentTop="true"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:layout_alignParentStart="true"
|
||||
android:layout_width="51dp"
|
||||
android:layout_height="18dp"
|
||||
android:layout_marginTop="6dp"
|
||||
|
||||
@@ -203,8 +203,9 @@
|
||||
<dimen name="dp_me_icon_height">55dp</dimen>
|
||||
<dimen name="dp_me_padding_left">12dp</dimen>
|
||||
<dimen name="dp_me_text_padding_to_icon">15dp</dimen>
|
||||
<dimen name="dp_drag_layout_bg_size">80dp</dimen>
|
||||
<dimen name="dp_drag_layout_avatar_size">55dp</dimen>
|
||||
<dimen name="dp_drag_layout_bg_width">190dp</dimen>
|
||||
<dimen name="dp_drag_layout_bg_height">63dp</dimen>
|
||||
<dimen name="dp_drag_layout_avatar_size">38dp</dimen>
|
||||
|
||||
<dimen name="dp_setting_item_height">50dp</dimen>
|
||||
<dimen name="dp_setting_sys_notice_item_height">70.5dp</dimen>
|
||||
|
||||
@@ -54,12 +54,10 @@ public class WorldsChooseFrg extends BaseMvpFragment<IWorldsChooseView, WorldCho
|
||||
loadData(true);
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initiate() {
|
||||
|
||||
Bundle bundle = getArguments();
|
||||
if (bundle != null) {
|
||||
mType = bundle.getByte("type", Constants.TYPE_ALL);
|
||||
@@ -80,7 +78,6 @@ public class WorldsChooseFrg extends BaseMvpFragment<IWorldsChooseView, WorldCho
|
||||
mChooseWorldCallback.callback(miniWorldChooseInfo);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
recyclerView.setAdapter(mAdapter);
|
||||
@@ -124,10 +121,7 @@ public class WorldsChooseFrg extends BaseMvpFragment<IWorldsChooseView, WorldCho
|
||||
mAdapter.setEnableLoadMore(false);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -217,6 +217,15 @@ public class UriProvider {
|
||||
return JAVA_WEB_URL.concat("/modules/identity/new.html");
|
||||
}
|
||||
|
||||
/**
|
||||
* 我的收益
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public static String getMyIncomeUrl() {
|
||||
return JAVA_WEB_URL.concat("/accompany/index.html#/MyIncome");
|
||||
}
|
||||
|
||||
/**
|
||||
* 66星球专属,101技能认证页面
|
||||
*
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
package com.yizhuan.xchat_android_core.home.bean;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class HomeConcernsInfo implements Serializable {
|
||||
private long roomUid;
|
||||
private String name;
|
||||
private String avatar;
|
||||
private int followType;
|
||||
}
|
||||
Reference in New Issue
Block a user