This commit is contained in:
oujunhui
2020-04-28 19:34:01 +08:00
parent 81ee4a685a
commit b4469fe600
20 changed files with 591 additions and 280 deletions

4
.gitignore vendored
View File

@@ -6,4 +6,6 @@
/captures
.externalNativeBuild
.idea
.settings
.settings
app/accompany/debug/app-accompany-debug.apk
app/accompany/debug/output.json

View File

@@ -863,7 +863,7 @@ public class GameHomeFragment extends BaseMvpFragment<IMainFragmentView, MainFra
ViewGroup.LayoutParams layoutParams = mBinding.rollView.getLayoutParams();
int bannerWidth = UIUtil.getScreenWidth(mContext) - UIUtil.dip2px(mContext, 40);
layoutParams.width = bannerWidth;
layoutParams.height = bannerWidth * 100 / 345;
layoutParams.height = bannerWidth * 90 / 345;
mBinding.rollView.setLayoutParams(layoutParams);
mBinding.rollView.setHintView(new ColorPointHintView(mContext, Color.WHITE, mContext.getResources().getColor(R.color.color_66FFFFFF)) {
@@ -966,4 +966,5 @@ public class GameHomeFragment extends BaseMvpFragment<IMainFragmentView, MainFra
})
.subscribe();
}
}

View File

@@ -24,6 +24,7 @@ import com.yizhuan.xchat_android_library.utils.log.MLog;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.concurrent.CancellationException;
/**
@@ -35,6 +36,8 @@ public class HomeTabHomeFragment extends BaseFragment {
private RecyclerView recyclerView;
private String tabId;
private HomeRoomFragmentAdapter mHomeRoomAdapter;
private List<HomeTabMapInfo> sixRoomsList;
private final int ROOM_COUNT = 6;
public static HomeTabHomeFragment newInstance(int tabId) {
@@ -92,7 +95,18 @@ public class HomeTabHomeFragment extends BaseFragment {
showNoData();
mHomeRoomAdapter.notifyDataSetChanged();
}
mHomeRoomAdapter.setNewData(getMultipleItemData(serviceResult));
int max = getMultipleItemData(serviceResult).size();
int min = 0;
sixRoomsList = new ArrayList<>();
for (int i = 0; i < ROOM_COUNT ; i++) {
Random random = new Random();
int s = random.nextInt(max)%(max-min+1) + min;
sixRoomsList.add(getMultipleItemData(serviceResult).get(s));
}
mHomeRoomAdapter.setNewData(sixRoomsList);
mHomeRoomAdapter.notifyDataSetChanged();
} else {
@@ -131,7 +145,7 @@ public class HomeTabHomeFragment extends BaseFragment {
return null;
}
final int ROOM_COUNT = 6;
final int ADD_COUNT = ROOM_COUNT - itemList.size();
for (int i = 0; i < ADD_COUNT; i++) {

View File

@@ -40,8 +40,8 @@ public class PatriarchModeDialog extends BaseSdDialog {
super.onCreate(savedInstanceState);
setContentView(R.layout.dialog_patriarch_mode);
ButterKnife.bind(this);
setCancelable(true);
setCanceledOnTouchOutside(true);
setCancelable(false);
setCanceledOnTouchOutside(false);
Window window = getWindow();
if (window != null) {
window.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));

View File

@@ -75,6 +75,7 @@ public class ChargeActivity extends BaseActivity {
private ChargeAdapter mChargeAdapter;
private LinearLayout unionPayLayout;
private ImageView unionPayImage;
private TextView tvAgreement;
private ChargeBean mSelectChargeBean;
@@ -113,6 +114,9 @@ public class ChargeActivity extends BaseActivity {
getDialogManager().showProgressDialog(this, false);
PaymentActivity.start(this, payChannel, String.valueOf(mSelectChargeBean.chargeProdId));
});
tvAgreement.setOnClickListener(v -> {
CommonWebViewActivity.start(this,UriProvider.getRechargeAgreementUrl());
});
}
@@ -125,6 +129,7 @@ public class ChargeActivity extends BaseActivity {
tvCharge = findViewById(R.id.tv_charge);
unionPayLayout = findViewById(R.id.ll_union_pay);
unionPayImage = findViewById(R.id.iv_sel_union_pay);
tvAgreement = findViewById(R.id.tv_agreement);
}
public void selectPayChannelDisplay(String payChannel) {

View File

@@ -1,11 +1,14 @@
package com.yizhuan.erban.ui.user;
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.graphics.PorterDuff;
import android.graphics.drawable.Drawable;
import androidx.annotation.Nullable;
import com.coorchice.library.utils.LogUtils;
import com.google.android.material.appbar.AppBarLayout;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentPagerAdapter;
@@ -79,6 +82,7 @@ import com.yizhuan.xchat_android_core.statistic.StatisticManager;
import com.yizhuan.xchat_android_core.statistic.protocol.StatisticsProtocol;
import com.yizhuan.xchat_android_core.user.UserInfoUiMgr;
import com.yizhuan.xchat_android_core.user.UserModel;
import com.yizhuan.xchat_android_core.user.bean.UserDetailInfo;
import com.yizhuan.xchat_android_core.user.bean.UserInfo;
import com.yizhuan.xchat_android_core.user.bean.UserPhoto;
import com.yizhuan.xchat_android_core.user.event.LoginUserInfoUpdateEvent;
@@ -96,6 +100,9 @@ import java.net.URL;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.concurrent.CancellationException;
import io.reactivex.android.schedulers.AndroidSchedulers;
/**
* create by lvzebiao on 2018/8/31
@@ -177,6 +184,7 @@ public class UserInfoActivity extends BaseBindingActivity<ActivityUserInfoBindin
}
@SuppressLint("CheckResult")
@Override
protected void init() {
mActivity = this;
@@ -187,6 +195,21 @@ public class UserInfoActivity extends BaseBindingActivity<ActivityUserInfoBindin
onSetListener();
EventBus.getDefault().register(this);
UserModel.get().getUserInfoDetail(userId)
.compose(bindToLifecycle())
.subscribe(new BeanObserver<UserDetailInfo>() {
@Override
public void onErrorMsg(String error) {
}
@Override
public void onSuccess(UserDetailInfo info) {
LogUtil.e(info.toString());
initUserDetail(info.getData());
}
});
UserModel.get().getUserInfoFromServer(userId)
.compose(bindToLifecycle())
.subscribe(new BeanObserver<UserInfo>() {
@@ -260,6 +283,8 @@ public class UserInfoActivity extends BaseBindingActivity<ActivityUserInfoBindin
}
}
private void setEditButton(int identityState, boolean isExpanded) {
if (identityState == IdentityState.OWN) {
@@ -374,157 +399,86 @@ public class UserInfoActivity extends BaseBindingActivity<ActivityUserInfoBindin
}
}
private void initUserDetail(UserDetailInfo.DataBean info) {
if (null != info) {
String nick = RegexUtil.getPrintableString(info.getNick());
mBinding.tvNick.setText(nick);
mBinding.tvUserInfoTitle.setText(nick);
// Drawable drawable = ContextCompat.getDrawable(this,
// (info.getGender() == 1) ? R.drawable.ic_gender_male : R.drawable.ic_gender_female);
// mBinding.tvNick.setCompoundDrawablesWithIntrinsicBounds(null, null, drawable, null);
mBinding.tvFansCount.setText(String.valueOf(info.getFansNum()));
//设置星座
// String star = StarUtils.getConstellation(new Date(info.getBirth()));
// if (null == star) {
// mBinding.tvConstellation.setVisibility(View.GONE);
// } else {
// mBinding.tvConstellation.setText(star);
// mBinding.tvConstellation.setVisibility(View.VISIBLE);
// }
mBinding.tvErbanId.setText(getString(R.string.me_user_id, info.getErbanNo()));
setUserLevel(info.getUserLevelVo());
// if (info.getNameplate() != null) {
// setOfficialMask(info.getNameplate().getFixedWord(), info.getNameplate().getIconPic());
// } else {
// setOfficialMask("", "");
// }
// if (!TextUtils.isEmpty(info.getAttestationBackPic())) {
// ImageLoadUtils.loadImage(this, info.getAttestationBackPic(), mBinding.avatarBg);
//
// } else {
// setBgByLevel(false);
// GlideApp.with(this)
// .load(info.getAvatar())
// .dontAnimate()
// .centerInside()
// .diskCacheStrategy(DiskCacheStrategy.RESOURCE)
// .listener(new RequestListener<Drawable>() {
// @Override
// public boolean onLoadFailed(@Nullable GlideException e, Object o,
// Target<Drawable> target, boolean b) {
// return false;
// }
//
// @Override
// public boolean onResourceReady(Drawable drawable, Object o,
// Target<Drawable> target, DataSource dataSource, boolean b) {
// drawable.setColorFilter(context.getResources().getColor(R.color.black_transparent_20), PorterDuff.Mode.DARKEN);
// ViewTarget<ImageView, Drawable> viewTarget = (ViewTarget<ImageView, Drawable>) target;
// viewTarget.getView().setImageDrawable(drawable);
// return true;
// }
// })
// // “23”设置模糊度(在0.0到25.0之间)默认”25";"4":图片缩放比例,默认“1”。
// .transforms(new BlurTransformation(context, 10, 1))
// .into(mBinding.avatarBg);
// }
// if (null == star) {
// mBinding.tvConstellation.setVisibility(View.GONE);
// } else {
// mBinding.tvConstellation.setText(star);
// mBinding.tvConstellation.setVisibility(View.VISIBLE);
// }
if (AuthModel.get().getCurrentUid() != info.getUid()) {
PraiseModel.get().isPraised(AuthModel.get().getCurrentUid(), info.getUid()).subscribe();
}
}
}
private void initData(UserInfo userInfo) {
if (null != userInfo) {
UserInfoUiMgr.get().setValue(userInfo);
// ImageLoadUtils.loadBigAvatar(this, userInfo.getAvatar(), mBinding.imageView, false);
requestRoomInfo(userInfo);
String nick = RegexUtil.getPrintableString(userInfo.getNick());
mBinding.tvNick.setText(nick);
mBinding.tvUserInfoTitle.setText(nick);
Drawable drawable = ContextCompat.getDrawable(this,
(userInfo.getGender() == 1) ? R.drawable.ic_gender_male : R.drawable.ic_gender_female);
mBinding.tvNick.setCompoundDrawablesWithIntrinsicBounds(null, null, drawable, null);
mBinding.tvFansCount.setText(String.valueOf(userInfo.getFansNum()));
//设置星座
String star = StarUtils.getConstellation(new Date(userInfo.getBirth()));
if (null == star) {
mBinding.tvConstellation.setVisibility(View.GONE);
} else {
mBinding.tvConstellation.setText(star);
mBinding.tvConstellation.setVisibility(View.VISIBLE);
}
mBinding.tvErbanId.setText(getString(R.string.me_user_id, userInfo.getErbanNo()));
setUserLevel(userInfo.getUserLevelVo());
if (userInfo.getNameplate() != null) {
setOfficialMask(userInfo.getNameplate().getFixedWord(), userInfo.getNameplate().getIconPic());
} else {
setOfficialMask("", "");
}
NobleInfo nobleInfo = userInfo.getNobleInfo();
HeadWearInfo headWearInfo = userInfo.getUserHeadwear();
if (!TextUtils.isEmpty(userInfo.getAttestationBackPic())) {
ImageLoadUtils.loadImage(this, userInfo.getAttestationBackPic(), mBinding.avatarBg);
}
// else if (nobleInfo != null) {
// setBgByLevel(true);
// String zoneBg = nobleInfo.getZoneBg();
// if (TextUtils.isEmpty(zoneBg)) {
// ImageLoadUtils.loadImage(this, userInfo.getAvatar(), mBinding.avatarBg);
// } else {
// ImageLoadUtils.loadImage(this, zoneBg, mBinding.avatarBg);
// }
// NobleUtil.loadResource(
// NobleUtil.getBadgeByLevel(nobleInfo.getLevel()), mBinding.ivUserNobleLevel);
// }
else {
setBgByLevel(false);
// mBinding.ivUserNobleLevel.setImageDrawable(null);
GlideApp.with(this)
.load(userInfo.getAvatar())
.dontAnimate()
.centerInside()
.diskCacheStrategy(DiskCacheStrategy.RESOURCE)
.listener(new RequestListener<Drawable>() {
@Override
public boolean onLoadFailed(@Nullable GlideException e, Object o,
Target<Drawable> target, boolean b) {
return false;
}
@Override
public boolean onResourceReady(Drawable drawable, Object o,
Target<Drawable> target, DataSource dataSource, boolean b) {
drawable.setColorFilter(context.getResources().getColor(R.color.black_transparent_20), PorterDuff.Mode.DARKEN);
ViewTarget<ImageView, Drawable> viewTarget = (ViewTarget<ImageView, Drawable>) target;
viewTarget.getView().setImageDrawable(drawable);
return true;
}
})
// “23”设置模糊度(在0.0到25.0之间)默认”25";"4":图片缩放比例,默认“1”。
.transforms(new BlurTransformation(context, 10, 1))
.into(mBinding.avatarBg);
}
// setHeadWare(headWearInfo, nobleInfo);
//设置靓号
// boolean hasPrettyErbanNo = userInfo.isHasPrettyErbanNo();
// mBinding.ivGoodNumber.setVisibility(hasPrettyErbanNo ? View.VISIBLE : View.GONE);
if (null == star) {
mBinding.tvConstellation.setVisibility(View.GONE);
} else {
mBinding.tvConstellation.setText(star);
mBinding.tvConstellation.setVisibility(View.VISIBLE);
}
//设置地址
String address = null;
if (null != userInfo.getUserExpand() && userInfo.getUserExpand().isShowLocation()) {
StringBuilder sb = new StringBuilder();
String province = userInfo.getUserExpand().getProvinceName();
if (!TextUtils.isEmpty(province)) {
sb.append(" ").append(province);
}
String city = userInfo.getUserExpand().getCityName();
if (!TextUtils.isEmpty(city)) {
sb.append(" ").append(city);
}
if (sb.length() != 0) {
address = sb.toString();
}
}
if (TextUtils.isEmpty(address)) {
mBinding.tvAddress.setVisibility(View.GONE);
} else {
mBinding.tvAddress.setText(address);
mBinding.tvAddress.setVisibility(View.VISIBLE);
}
if (AuthModel.get().getCurrentUid() != userInfo.getUid()) {
PraiseModel.get().isPraised(AuthModel.get().getCurrentUid(), userInfo.getUid()).subscribe();
}
mUserInfoFragment.onGetUserInfo(userInfo);
}
}
private void requestRoomInfo(UserInfo userInfo) {
AvRoomModel.get().requestRoomInfoByUser(String.valueOf(userInfo.getUid()))
.compose(bindToLifecycle())
.subscribe(roomInfo -> onGetRoomInfo(roomInfo));
}
/**
* 自选头饰 -> 贵族头饰 -> 无
*/
// private void setHeadWare(HeadWearInfo headWearInfo, NobleInfo nobleInfo) {
// mBinding.ivAvatarHeadWear.setImageDrawable(null);
// mBinding.ivAvatarHeadWear.setVisibility(View.GONE);
//
// if (headWearInfo != null) {
// mBinding.ivAvatarHeadWear.setVisibility(View.VISIBLE);
// NobleUtil.loadHeadWear(headWearInfo.getPic(), mBinding.ivAvatarHeadWear);
// return;
// }
//
// if (nobleInfo != null) {
// mBinding.ivAvatarHeadWear.setVisibility(View.VISIBLE);
// NobleUtil.loadResource(nobleInfo.getHeadWear(), mBinding.ivAvatarHeadWear);
// }
//
// }
private void setUserLevel(UserLevelVo userLevelVo) {
private void setUserLevel(UserDetailInfo.DataBean.UserLevelVoBean userLevelVo) {
mBinding.ivUserCharm.setVisibility(View.GONE);
mBinding.ivUserLevel.setVisibility(View.GONE);
if (userLevelVo != null) {
@@ -633,24 +587,6 @@ public class UserInfoActivity extends BaseBindingActivity<ActivityUserInfoBindin
editClick(identityState);
break;
case R.id.tv_user_attention_text:
Intent intent = new Intent(mActivity, FansListActivity.class);
intent.putExtra(FansListActivity.IS_ATTENT, true);
startActivity(intent);
break;
case R.id.tv_fans_count:
case R.id.tv_user_fan_text:
startActivity(new Intent(mActivity, FansListActivity.class));
break;
case R.id.ll_user_room:
if (mRoomInfo != null) {
LogUtil.i(Companion.TAG, "进入的房间: " + mRoomInfo.getUid());
AVRoomActivity.start(this, mRoomInfo.getUid(), mRoomInfo.getType());
}
break;
case R.id.send_msg_layout:
NimUserInfo nimUserInfo = NimUserInfoCache.getInstance().getUserInfo(String.valueOf(userId));
if (nimUserInfo != null) {
@@ -669,92 +605,11 @@ public class UserInfoActivity extends BaseBindingActivity<ActivityUserInfoBindin
}
break;
case R.id.attention_layout:
if (userInfo == null) {
toast("用户信息为空。");
return;
}
if (mIslike) {
boolean isMyFriend = IMFriendModel.get().isMyFriend(String.valueOf(userInfo.getUid()));
String tip = (isMyFriend) ? "取消关注将不再是好友关系,确定取消关注?" : "确定取消关注?";
getDialogManager().showOkCancelDialog(tip, true, new DialogManager.OkCancelDialogListener() {
@Override
public void onCancel() {
getDialogManager().dismissDialog();
}
@Override
public void onOk() {
getDialogManager().dismissDialog();
getDialogManager().showProgressDialog(mActivity, getString(R.string.waiting_text));
PraiseModel.get().praise(userInfo.getUid(), false).subscribe();
}
});
} else {
StatisticManager.Instance().onEvent(StatisticsProtocol.Event.guest_page_follow, "客态页-关注");
getDialogManager().showProgressDialog(mActivity, getString(R.string.waiting_text));
PraiseModel.get().praise(userInfo.getUid(), true).subscribe();
}
break;
case R.id.ll_where:
getDialogManager().showProgressDialog(this, "请稍后...");
AvRoomModel.get()
.getUserRoom(userId)
.compose(bindToLifecycle())
.subscribe((roomResult, throwable) -> {
if (throwable != null) {
onGetUserRoomFail(throwable.getMessage());
} else if (roomResult != null && roomResult.isSuccess()) {
onGetUserRoom(roomResult.getData());
} else if (roomResult != null && !roomResult.isSuccess()) {
onGetUserRoomFail(roomResult.getError());
} else {
onGetUserRoomFail("未知错误");
}
});
// /**************** 测试代码 **************/
// AVRoomActivity.start(this, 91, mRoomInfo!!.type)
break;
}
}
public void onGetRoomInfo(RoomInfo roomInfo) {
if (roomInfo == null) {
//该用户还未开房间
return;
}
//已经存在的activity
if (mRoomInfo != null && mRoomInfo.getRoomId() == roomInfo.getRoomId()) {
mRoomInfo = roomInfo;
} else if (mRoomInfo == null) {
//打开新的activity的时候
mRoomInfo = roomInfo;
}
}
public void onGetUserRoom(RoomInfo roomInfo) {
getDialogManager().dismissDialog();
RoomInfo current = AvRoomDataManager.get().mCurrentRoomInfo;
if (roomInfo != null && roomInfo.getUid() > 0) {
if (current != null) {
if (current.getUid() == roomInfo.getUid()) {
toast("已经和对方在同一个房间");
return;
}
}
AVRoomActivity.start(this, roomInfo.getUid(), roomInfo.getType());
} else {
toast("对方不在房间内");
}
}
public void onGetUserRoomFail(String msg) {
getDialogManager().dismissDialog();
toast(msg);
}
@Subscribe(threadMode = ThreadMode.MAIN)
public void onIsLiked(IsLikedEvent event) {

View File

@@ -290,7 +290,8 @@ public class UserInfoFragment extends BaseFragment implements View.OnClickListen
}
setHallData(userInfo);
setGameInfo();
// setGameInfo();
}
@Override
@@ -371,18 +372,13 @@ public class UserInfoFragment extends BaseFragment implements View.OnClickListen
}
@SuppressWarnings("CheckResult")
private void setGameInfo() {
UserModel.get().getGameWeek(userId)
.observeOn(AndroidSchedulers.mainThread())
.subscribe(userGameInfos -> {
setUserInfoItem((ArrayList<UserGameInfo>) userGameInfos, UserInfoItem.TYPE_DES_GAME, true);
});
UserModel.get().getUserInfoDetail(userId)
.observeOn(AndroidSchedulers.mainThread())
.subscribe(userGameInfos -> {
LogUtils.e(userGameInfos.toString());
});
}
private void hallOption(View view, OwnerHallInfo ownerHallInfo) {

Binary file not shown.

Before

Width:  |  Height:  |  Size: 755 B

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -257,14 +257,34 @@
android:text="确认充值"
android:textColor="@color/white"
android:textSize="@dimen/dp_15"
android:layout_marginBottom="@dimen/dp_40"
app:layout_constraintBottom_toBottomOf="parent" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="@dimen/dp_20"
android:layout_marginBottom="@dimen/dp_10"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/charge_agreement"
android:textSize="@dimen/sp_12"
android:gravity="center"
android:textColor="@color/color_999999"
/>
<TextView
android:id="@+id/tv_agreement"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/agreement"
android:textColor="@color/appColor"
android:gravity="center"
android:textSize="@dimen/sp_12"
/>
</LinearLayout>
</LinearLayout>

View File

@@ -22,7 +22,7 @@
android:layout_marginTop="@dimen/dp_23"/>
<LinearLayout
android:layout_marginTop="60dp"
android:layout_marginTop="40dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
@@ -30,8 +30,8 @@
<ImageView
android:id="@+id/image"
android:layout_width="71dp"
android:layout_height="71dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/icon_pm_top" />
<TextView
@@ -41,6 +41,7 @@
android:textColor="@color/color_333333"
android:gravity="center"
android:textStyle="bold"
android:layout_marginTop="@dimen/dp_25"
android:textSize="18sp" />
</LinearLayout>

View File

@@ -346,6 +346,7 @@
android:paddingStart="@dimen/dp_15"
android:paddingEnd="@dimen/dp_15"
android:text="@string/privacy_setting"
android:visibility="gone"
android:textColor="@color/color_333333"
android:textSize="@dimen/sp_14" />

View File

@@ -189,7 +189,6 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxLines="1"
android:paddingLeft="5dp"
android:paddingTop="1dp"
android:paddingRight="5dp"
android:paddingBottom="1dp"
@@ -226,19 +225,6 @@
</LinearLayout>
<TextView
android:id="@+id/tv_address"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginStart="8dp"
android:drawableStart="@drawable/ic_user_info_address"
android:textColor="#fff5f5f5"
android:textSize="12sp"
tools:text="广东 广州"
android:visibility="gone"
/>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -64,7 +64,6 @@
android:layout_height="@dimen/dp_25"
android:contentDescription="@string/close"
android:scaleType="fitCenter"
android:visibility="gone"
android:src="@drawable/icon_pm_close"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />

View File

@@ -115,10 +115,10 @@
<androidx.viewpager.widget.ViewPager
<com.yizhuan.erban.ui.widget.ContentWrapViewPager
android:id="@+id/view_pager"
android:layout_width="match_parent"
android:layout_height="270dp"
android:layout_height="wrap_content"
app:layout_constraintTop_toBottomOf="@id/ll_indicator"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"

View File

@@ -10,7 +10,7 @@
android:paddingTop="2dp"
android:id="@+id/recycler_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_height="wrap_content"
/>

View File

@@ -877,6 +877,8 @@
<string name="diamond">钻石</string>
<string name="join">加入</string>
<string name="pm_detail">《66星球护苗计划》</string>
<string name="charge_agreement">已阅读并同意</string>
<string name="agreement">《用户充值协议》</string>
</resources>

View File

@@ -226,6 +226,15 @@ public class UriProvider {
return JAVA_WEB_URL.concat("/accompany/index.html#/MyIncome");
}
/**
* 用户充值协议
*
* @return
*/
public static String getRechargeAgreementUrl() {
return JAVA_WEB_URL.concat("/accompany/modules/rule/rechargeAgreement.html");
}
/**
* 66星球专属101技能认证页面
*

View File

@@ -5,6 +5,7 @@ import androidx.annotation.Nullable;
import com.yizhuan.xchat_android_core.base.IModel;
import com.yizhuan.xchat_android_core.bean.RoomHistoryInfo;
import com.yizhuan.xchat_android_core.bean.response.ServiceResult;
import com.yizhuan.xchat_android_core.home.bean.BannerInfo;
import com.yizhuan.xchat_android_core.user.bean.GiftAchievementInfo;
import com.yizhuan.xchat_android_core.user.bean.NewUserInfo;
import com.yizhuan.xchat_android_core.user.bean.GiftWallInfo;

View File

@@ -292,7 +292,14 @@ public final class UserModel extends BaseModel implements IUserModel {
@Override
public Single<UserDetailInfo> getUserInfoDetail(long uid) {
return api.getUserInfoDetail(String.valueOf(uid))
.compose(RxHelper.handleSchedulers());
.compose(RxHelper.handleSchedulers())
.flatMap(userDetailInfo -> {
UserDetailInfo userInfo = userDetailInfo;
if (null == userInfo) {
return Single.error(new Exception("服务器返回的userInfo字段为空"));
}
return Single.just(userInfo);
});
}
/**

View File

@@ -1,4 +1,416 @@
package com.yizhuan.xchat_android_core.user.bean;
public class UserDetailInfo {
import java.io.Serializable;
import java.util.List;
public class UserDetailInfo implements Serializable {
/**
* code : 200
* message : success
* data : {"uid":935001,"nick":"我是一只小萌新","erbanNo":3894073,"fansNum":1,"userLevelVo":{"experAmount":0,"charmAmount":0,"experUrl":"http://image.doudouyue.com/wealth_01.png","charmUrl":"http://image.doudouyue.com/charm_01.png","experLevelName":"Lv1","charmLevelName":"Lv1","experLevelGrp":"","charmLevelGrp":"","experLevelSeq":1,"charmLevelSeq":1},"userGiftWall":[],"dynamicInfo":[{"uid":935001,"worldId":-1,"content":"哈哈哈哈","likeCount":3,"commentCount":0,"dynamicId":1323,"publishTime":1587613571000,"playCount":0,"type":0,"status":1,"isLike":true,"nick":"我是一只小萌新","avatar":"https://img.erbanyy.com/qingxun_default_avatar.png"},{"uid":935001,"worldId":-1,"content":"测试哦","likeCount":0,"commentCount":0,"dynamicId":1290,"publishTime":1587113734000,"playCount":0,"type":0,"status":0,"isLike":false,"nick":"我是一只小萌新","avatar":"https://img.erbanyy.com/qingxun_default_avatar.png"},{"uid":935001,"worldId":-1,"content":"哈哈哈哈","likeCount":1,"commentCount":0,"dynamicId":1260,"publishTime":1587031053000,"playCount":0,"type":0,"status":1,"isLike":false,"nick":"我是一只小萌新","avatar":"https://img.erbanyy.com/qingxun_default_avatar.png"},{"uid":935001,"worldId":-1,"content":"哈哈","likeCount":0,"commentCount":0,"dynamicId":1246,"publishTime":1587019900000,"playCount":0,"type":0,"status":0,"isLike":false,"nick":"我是一只小萌新","avatar":"https://img.erbanyy.com/qingxun_default_avatar.png"},{"uid":935001,"worldId":-1,"content":"测试","likeCount":0,"commentCount":0,"dynamicId":1234,"publishTime":1586947335000,"playCount":0,"type":0,"status":0,"isLike":false,"nick":"我是一只小萌新","avatar":"https://img.erbanyy.com/qingxun_default_avatar.png"}],"privatePhoto":[{"photoUrl":"https://img.erbanyy.com/qingxun_default_avatar.png","seqNo":0},{"pid":1300,"photoUrl":"http://image.doudouyuyin.com/FpaSiFuVl7o0IDV5mWhwsuJoPOO_?imageslim","seqNo":1,"createTime":1587986501000},{"pid":1299,"photoUrl":"http://image.doudouyuyin.com/FlehFmWF3B-u4p5Pl96D-VkH8gYo?imageslim","seqNo":1,"createTime":1587986493000},{"pid":1298,"photoUrl":"http://image.doudouyuyin.com/FgS7jdfiky4712SuV4fb4Cxpe1tV?imageslim","seqNo":1,"createTime":1587986484000}]}
*/
private int code;
private String message;
private DataBean data;
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public DataBean getData() {
return data;
}
public void setData(DataBean data) {
this.data = data;
}
public static class DataBean {
/**
* uid : 935001
* nick : 我是一只小萌新
* erbanNo : 3894073
* fansNum : 1
* userLevelVo : {"experAmount":0,"charmAmount":0,"experUrl":"http://image.doudouyue.com/wealth_01.png","charmUrl":"http://image.doudouyue.com/charm_01.png","experLevelName":"Lv1","charmLevelName":"Lv1","experLevelGrp":"","charmLevelGrp":"","experLevelSeq":1,"charmLevelSeq":1}
* userGiftWall : []
* dynamicInfo : [{"uid":935001,"worldId":-1,"content":"哈哈哈哈","likeCount":3,"commentCount":0,"dynamicId":1323,"publishTime":1587613571000,"playCount":0,"type":0,"status":1,"isLike":true,"nick":"我是一只小萌新","avatar":"https://img.erbanyy.com/qingxun_default_avatar.png"},{"uid":935001,"worldId":-1,"content":"测试哦","likeCount":0,"commentCount":0,"dynamicId":1290,"publishTime":1587113734000,"playCount":0,"type":0,"status":0,"isLike":false,"nick":"我是一只小萌新","avatar":"https://img.erbanyy.com/qingxun_default_avatar.png"},{"uid":935001,"worldId":-1,"content":"哈哈哈哈","likeCount":1,"commentCount":0,"dynamicId":1260,"publishTime":1587031053000,"playCount":0,"type":0,"status":1,"isLike":false,"nick":"我是一只小萌新","avatar":"https://img.erbanyy.com/qingxun_default_avatar.png"},{"uid":935001,"worldId":-1,"content":"哈哈","likeCount":0,"commentCount":0,"dynamicId":1246,"publishTime":1587019900000,"playCount":0,"type":0,"status":0,"isLike":false,"nick":"我是一只小萌新","avatar":"https://img.erbanyy.com/qingxun_default_avatar.png"},{"uid":935001,"worldId":-1,"content":"测试","likeCount":0,"commentCount":0,"dynamicId":1234,"publishTime":1586947335000,"playCount":0,"type":0,"status":0,"isLike":false,"nick":"我是一只小萌新","avatar":"https://img.erbanyy.com/qingxun_default_avatar.png"}]
* privatePhoto : [{"photoUrl":"https://img.erbanyy.com/qingxun_default_avatar.png","seqNo":0},{"pid":1300,"photoUrl":"http://image.doudouyuyin.com/FpaSiFuVl7o0IDV5mWhwsuJoPOO_?imageslim","seqNo":1,"createTime":1587986501000},{"pid":1299,"photoUrl":"http://image.doudouyuyin.com/FlehFmWF3B-u4p5Pl96D-VkH8gYo?imageslim","seqNo":1,"createTime":1587986493000},{"pid":1298,"photoUrl":"http://image.doudouyuyin.com/FgS7jdfiky4712SuV4fb4Cxpe1tV?imageslim","seqNo":1,"createTime":1587986484000}]
*/
private int uid;
private String nick;
private int erbanNo;
private int fansNum;
private UserLevelVoBean userLevelVo;
private List<?> userGiftWall;
private List<DynamicInfoBean> dynamicInfo;
private List<PrivatePhotoBean> privatePhoto;
public int getUid() {
return uid;
}
public void setUid(int uid) {
this.uid = uid;
}
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 int getFansNum() {
return fansNum;
}
public void setFansNum(int fansNum) {
this.fansNum = fansNum;
}
public UserLevelVoBean getUserLevelVo() {
return userLevelVo;
}
public void setUserLevelVo(UserLevelVoBean userLevelVo) {
this.userLevelVo = userLevelVo;
}
public List<?> getUserGiftWall() {
return userGiftWall;
}
public void setUserGiftWall(List<?> userGiftWall) {
this.userGiftWall = userGiftWall;
}
public List<DynamicInfoBean> getDynamicInfo() {
return dynamicInfo;
}
public void setDynamicInfo(List<DynamicInfoBean> dynamicInfo) {
this.dynamicInfo = dynamicInfo;
}
public List<PrivatePhotoBean> getPrivatePhoto() {
return privatePhoto;
}
public void setPrivatePhoto(List<PrivatePhotoBean> privatePhoto) {
this.privatePhoto = privatePhoto;
}
public static class UserLevelVoBean {
/**
* experAmount : 0
* charmAmount : 0
* experUrl : http://image.doudouyue.com/wealth_01.png
* charmUrl : http://image.doudouyue.com/charm_01.png
* experLevelName : Lv1
* charmLevelName : Lv1
* experLevelGrp :
* charmLevelGrp :
* experLevelSeq : 1
* charmLevelSeq : 1
*/
private int experAmount;
private int charmAmount;
private String experUrl;
private String charmUrl;
private String experLevelName;
private String charmLevelName;
private String experLevelGrp;
private String charmLevelGrp;
private int experLevelSeq;
private int charmLevelSeq;
public int getExperAmount() {
return experAmount;
}
public void setExperAmount(int experAmount) {
this.experAmount = experAmount;
}
public int getCharmAmount() {
return charmAmount;
}
public void setCharmAmount(int charmAmount) {
this.charmAmount = charmAmount;
}
public String getExperUrl() {
return experUrl;
}
public void setExperUrl(String experUrl) {
this.experUrl = experUrl;
}
public String getCharmUrl() {
return charmUrl;
}
public void setCharmUrl(String charmUrl) {
this.charmUrl = charmUrl;
}
public String getExperLevelName() {
return experLevelName;
}
public void setExperLevelName(String experLevelName) {
this.experLevelName = experLevelName;
}
public String getCharmLevelName() {
return charmLevelName;
}
public void setCharmLevelName(String charmLevelName) {
this.charmLevelName = charmLevelName;
}
public String getExperLevelGrp() {
return experLevelGrp;
}
public void setExperLevelGrp(String experLevelGrp) {
this.experLevelGrp = experLevelGrp;
}
public String getCharmLevelGrp() {
return charmLevelGrp;
}
public void setCharmLevelGrp(String charmLevelGrp) {
this.charmLevelGrp = charmLevelGrp;
}
public int getExperLevelSeq() {
return experLevelSeq;
}
public void setExperLevelSeq(int experLevelSeq) {
this.experLevelSeq = experLevelSeq;
}
public int getCharmLevelSeq() {
return charmLevelSeq;
}
public void setCharmLevelSeq(int charmLevelSeq) {
this.charmLevelSeq = charmLevelSeq;
}
}
public static class DynamicInfoBean {
/**
* uid : 935001
* worldId : -1
* content : 哈哈哈哈
* likeCount : 3
* commentCount : 0
* dynamicId : 1323
* publishTime : 1587613571000
* playCount : 0
* type : 0
* status : 1
* isLike : true
* nick : 我是一只小萌新
* avatar : https://img.erbanyy.com/qingxun_default_avatar.png
*/
private int uid;
private int worldId;
private String content;
private int likeCount;
private int commentCount;
private int dynamicId;
private long publishTime;
private int playCount;
private int type;
private int status;
private boolean isLike;
private String nick;
private String avatar;
public int getUid() {
return uid;
}
public void setUid(int uid) {
this.uid = uid;
}
public int getWorldId() {
return worldId;
}
public void setWorldId(int worldId) {
this.worldId = worldId;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public int getLikeCount() {
return likeCount;
}
public void setLikeCount(int likeCount) {
this.likeCount = likeCount;
}
public int getCommentCount() {
return commentCount;
}
public void setCommentCount(int commentCount) {
this.commentCount = commentCount;
}
public int getDynamicId() {
return dynamicId;
}
public void setDynamicId(int dynamicId) {
this.dynamicId = dynamicId;
}
public long getPublishTime() {
return publishTime;
}
public void setPublishTime(long publishTime) {
this.publishTime = publishTime;
}
public int getPlayCount() {
return playCount;
}
public void setPlayCount(int playCount) {
this.playCount = playCount;
}
public int getType() {
return type;
}
public void setType(int type) {
this.type = type;
}
public int getStatus() {
return status;
}
public void setStatus(int status) {
this.status = status;
}
public boolean isIsLike() {
return isLike;
}
public void setIsLike(boolean isLike) {
this.isLike = isLike;
}
public String getNick() {
return nick;
}
public void setNick(String nick) {
this.nick = nick;
}
public String getAvatar() {
return avatar;
}
public void setAvatar(String avatar) {
this.avatar = avatar;
}
}
public static class PrivatePhotoBean {
/**
* photoUrl : https://img.erbanyy.com/qingxun_default_avatar.png
* seqNo : 0
* pid : 1300
* createTime : 1587986501000
*/
private String photoUrl;
private int seqNo;
private int pid;
private long createTime;
public String getPhotoUrl() {
return photoUrl;
}
public void setPhotoUrl(String photoUrl) {
this.photoUrl = photoUrl;
}
public int getSeqNo() {
return seqNo;
}
public void setSeqNo(int seqNo) {
this.seqNo = seqNo;
}
public int getPid() {
return pid;
}
public void setPid(int pid) {
this.pid = pid;
}
public long getCreateTime() {
return createTime;
}
public void setCreateTime(long createTime) {
this.createTime = createTime;
}
}
}
}