diff --git a/.gitignore b/.gitignore index a8eac4d02..c851a60d2 100644 --- a/.gitignore +++ b/.gitignore @@ -6,4 +6,6 @@ /captures .externalNativeBuild .idea -.settings \ No newline at end of file +.settings +app/accompany/debug/app-accompany-debug.apk +app/accompany/debug/output.json diff --git a/app/accompany/debug/app-accompany-debug.apk b/app/accompany/debug/app-accompany-debug.apk deleted file mode 100644 index 7a8a4bea4..000000000 Binary files a/app/accompany/debug/app-accompany-debug.apk and /dev/null differ diff --git a/app/accompany/debug/output.json b/app/accompany/debug/output.json deleted file mode 100644 index 83f8a099b..000000000 --- a/app/accompany/debug/output.json +++ /dev/null @@ -1 +0,0 @@ -[{"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":{}}] \ No newline at end of file diff --git a/app/src/main/java/com/yizhuan/erban/MainActivity.java b/app/src/main/java/com/yizhuan/erban/MainActivity.java index 79b23352b..490baa872 100644 --- a/app/src/main/java/com/yizhuan/erban/MainActivity.java +++ b/app/src/main/java/com/yizhuan/erban/MainActivity.java @@ -18,6 +18,7 @@ import android.util.LongSparseArray; import android.view.KeyEvent; import android.view.View; import android.view.animation.LinearInterpolator; +import android.widget.LinearLayout; import android.widget.TextView; import com.mcxiaoke.packer.helper.PackerNg; @@ -206,7 +207,7 @@ import static com.yizhuan.xchat_android_core.Constants.SHOW_CAR_GUIDE; */ @CreatePresenter(MainPresenter.class) public class MainActivity extends BaseMvpActivity - implements MainTabLayout.OnTabClickListener, IMainView { + implements MainTabLayout.OnTabClickListener, IMainView , View.OnClickListener { private static final String TAG = "MainActivity"; @@ -217,6 +218,7 @@ public class MainActivity extends BaseMvpActivity private TextView tvName;//最小化窗口名称 private TextView tvId;//最小化窗口ID private CircleImageView avatarImage; + private LinearLayout llDragInfo; private LivingIconView userLivingView; private View viewClose; @@ -514,6 +516,7 @@ public class MainActivity extends BaseMvpActivity avatarImage = findViewById(R.id.avatar_image); userLivingView = findViewById(R.id.liv_user); viewClose = findViewById(R.id.view_close); + llDragInfo = findViewById(R.id.ll_drag_info); // floatingLiveMiniView = findViewById(R.id.floating_view); userLivingView.setColor(Color.WHITE); @@ -573,25 +576,10 @@ public class MainActivity extends BaseMvpActivity private void initMaterialView() { avatarLayout.setVisibility(View.GONE); - avatarLayout.setOnClickListener(v -> { - RoomInfo roomInfo = AvRoomDataManager.get().mCurrentRoomInfo; - if (roomInfo != null) { - if (AvRoomDataManager.get().isParty()) { - AVRoomActivity.start(MainActivity.this, true); - }else { - AVRoomActivity.start(MainActivity.this, roomInfo.getUid()); - } - } else { - toast("-房间信息为空-"); - } - }); + avatarImage.setOnClickListener(this); + llDragInfo.setOnClickListener(this); + viewClose.setOnClickListener(this); - viewClose.setOnClickListener(v -> { - StatisticManager.Instance().onEvent(StatisticsProtocol.Event.EVENT_ROOM_MINIMIZE_CLOSED, - "房间最小化关闭按钮"); - MainActivity.this.getMvpPresenter().exitRoom(); - } - ); } @@ -761,7 +749,8 @@ public class MainActivity extends BaseMvpActivity @Subscribe(threadMode = ThreadMode.MAIN) public void onLoadLoginUserInfoEvent(LoadLoginUserInfoEvent event) { - handleSign(); + //签到弹窗 +// handleSign(); firstLoadedUserInfo(); } @@ -1275,4 +1264,28 @@ public class MainActivity extends BaseMvpActivity } + @Override + public void onClick(View v) { + switch (v.getId()){ + case R.id.avatar_image: + case R.id.ll_drag_info: + RoomInfo roomInfo = AvRoomDataManager.get().mCurrentRoomInfo; + if (roomInfo != null) { + if (AvRoomDataManager.get().isParty()) { + AVRoomActivity.start(MainActivity.this, true); + }else { + AVRoomActivity.start(MainActivity.this, roomInfo.getUid()); + } + } else { + toast("-房间信息为空-"); + } + + break; + case R.id.view_close: + StatisticManager.Instance().onEvent(StatisticsProtocol.Event.EVENT_ROOM_MINIMIZE_CLOSED, + "房间最小化关闭按钮"); + MainActivity.this.getMvpPresenter().exitRoom(); + break; + } + } } diff --git a/app/src/main/java/com/yizhuan/erban/home/adapter/MainMagicIndicatorAdapter.java b/app/src/main/java/com/yizhuan/erban/home/adapter/MainMagicIndicatorAdapter.java index 8ada0b250..3ed834114 100644 --- a/app/src/main/java/com/yizhuan/erban/home/adapter/MainMagicIndicatorAdapter.java +++ b/app/src/main/java/com/yizhuan/erban/home/adapter/MainMagicIndicatorAdapter.java @@ -68,7 +68,7 @@ public class MainMagicIndicatorAdapter extends CommonNavigatorAdapter { indicator.setLineWidth(UIUtil.dip2px(mContext, 9)); indicator.setColors(context.getResources().getColor(R.color.white)); FrameLayout.LayoutParams lp = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT); - lp.bottomMargin = 0; + lp.bottomMargin = UIUtil.dip2px(mContext, 0); indicator.setLayoutParams(lp); return mIsShowIndicator?indicator:null; } diff --git a/app/src/main/java/com/yizhuan/erban/home/fragment/GameHomeFragment.java b/app/src/main/java/com/yizhuan/erban/home/fragment/GameHomeFragment.java index 54f1dac6d..376cbc89e 100644 --- a/app/src/main/java/com/yizhuan/erban/home/fragment/GameHomeFragment.java +++ b/app/src/main/java/com/yizhuan/erban/home/fragment/GameHomeFragment.java @@ -863,7 +863,7 @@ public class GameHomeFragment extends BaseMvpFragment totalHomeItemList = new ArrayList<>(); + private List sixRoomsList; + private final int ROOM_COUNT = 6; public static HomeTabHomeFragment newInstance(int tabId) { @@ -77,12 +70,9 @@ public class HomeTabHomeFragment extends BaseFragment { public void onFindViews() { super.onFindViews(); recyclerView = mView.findViewById(R.id.recycler_view); - initRecyclerView(); - } - /** * 刷新数据 */ @@ -90,8 +80,6 @@ public class HomeTabHomeFragment extends BaseFragment { getData(); } - - /** * 请求数据 */ @@ -107,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 { @@ -146,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++) { diff --git a/app/src/main/java/com/yizhuan/erban/ui/patriarch/PatriarchModeDialog.java b/app/src/main/java/com/yizhuan/erban/ui/patriarch/PatriarchModeDialog.java index 9601a5761..24af58f38 100644 --- a/app/src/main/java/com/yizhuan/erban/ui/patriarch/PatriarchModeDialog.java +++ b/app/src/main/java/com/yizhuan/erban/ui/patriarch/PatriarchModeDialog.java @@ -46,8 +46,8 @@ public class PatriarchModeDialog extends BaseSdDialog { if (window != null) { window.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); WindowManager.LayoutParams windowParams = window.getAttributes(); - windowParams.width = UIUtil.dip2px(getContext(), 296); - windowParams.height = UIUtil.dip2px(getContext(), 277); + windowParams.width = UIUtil.dip2px(getContext(), 300); +// windowParams.height = UIUtil.dip2px(getContext(), 277); windowParams.dimAmount = 0.4f; windowParams.gravity = Gravity.CENTER; window.setAttributes(windowParams); diff --git a/app/src/main/java/com/yizhuan/erban/ui/pay/ChargeActivity.java b/app/src/main/java/com/yizhuan/erban/ui/pay/ChargeActivity.java index 5735fdac2..8f75d615c 100644 --- a/app/src/main/java/com/yizhuan/erban/ui/pay/ChargeActivity.java +++ b/app/src/main/java/com/yizhuan/erban/ui/pay/ChargeActivity.java @@ -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) { @@ -283,6 +288,7 @@ public class ChargeActivity extends BaseActivity { @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { + super.onActivityResult(requestCode, resultCode, data); getDialogManager().dismissDialog(); if (resultCode != RESULT_OK) { return; @@ -436,7 +442,7 @@ public class ChargeActivity extends BaseActivity { } private void setWalletData(WalletInfo walletInfo) { - mTv_gold.setText(getString(R.string.charge_gold, walletInfo != null ? walletInfo.getGoldNum() : 0)); + mTv_gold.setText(getString(R.string.charge_gold, walletInfo != null ? walletInfo.getDiamondNum() : 0)); } @Subscribe(threadMode = ThreadMode.MAIN) diff --git a/app/src/main/java/com/yizhuan/erban/ui/user/UserInfoActivity.java b/app/src/main/java/com/yizhuan/erban/ui/user/UserInfoActivity.java index 9fd862d81..ab934576c 100644 --- a/app/src/main/java/com/yizhuan/erban/ui/user/UserInfoActivity.java +++ b/app/src/main/java/com/yizhuan/erban/ui/user/UserInfoActivity.java @@ -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 @@ -108,11 +115,10 @@ public class UserInfoActivity extends BaseBindingActivity() { + @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() { @@ -204,68 +221,18 @@ public class UserInfoActivity extends BaseBindingActivity() { +// @Override +// public boolean onLoadFailed(@Nullable GlideException e, Object o, +// Target target, boolean b) { +// return false; +// } +// +// @Override +// public boolean onResourceReady(Drawable drawable, Object o, +// Target target, DataSource dataSource, boolean b) { +// drawable.setColorFilter(context.getResources().getColor(R.color.black_transparent_20), PorterDuff.Mode.DARKEN); +// ViewTarget viewTarget = (ViewTarget) 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.tvAttentionCount.setText(String.valueOf(userInfo.getFollowNum())); - 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() { - @Override - public boolean onLoadFailed(@Nullable GlideException e, Object o, - Target target, boolean b) { - return false; - } - - @Override - public boolean onResourceReady(Drawable drawable, Object o, - Target target, DataSource dataSource, boolean b) { - drawable.setColorFilter(context.getResources().getColor(R.color.black_transparent_20), PorterDuff.Mode.DARKEN); - ViewTarget viewTarget = (ViewTarget) 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); - // 设置官字 - mBinding.ivUserOfficial.setVisibility(userInfo.isOfficial() ? View.VISIBLE : View.GONE); - // 设置新字 - mBinding.ivUserNew.setVisibility(userInfo.isNewUser() ? 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) { @@ -622,11 +497,6 @@ public class UserInfoActivity extends BaseBindingActivity { - 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) { - //该用户还未开房间 - setUserRoomVisible(false); - return; - } - //已经存在的activity - if (mRoomInfo != null && mRoomInfo.getRoomId() == roomInfo.getRoomId()) { - mRoomInfo = roomInfo; - } else if (mRoomInfo == null) { - //打开新的activity的时候 - mRoomInfo = roomInfo; - } - setUserRoomVisible(roomInfo.isValid() && identityState != IdentityState.OWN); - } - - 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) { @@ -875,10 +644,6 @@ public class UserInfoActivity extends BaseBindingActivity + implements UserPhotoAdapter.ImageClickListener, ObservableScrollView.ScrollViewListener, + UserMagicIndicator.OnItemSelectListener { + + public static final int REQUEST_CODE_UPDATE_VOICE = 1; + + private int TAB_SIZE = 4; + private int TAB_DYNAMIC = 0; + private int TAB_INFORMATION = 1; + private int TAB_GIFT = 2; + private int TAB_CAR = 3; + + @Override + public void onItemSelect(int position) { + Log.i("onItemselect", "position:" + position); + mBinding.vpUserInfo.setCurrentItem(position); + } + + public interface IdentityState { + int NON = 0; // 无法识别 + int OWN = 1; // 自己 + int OTHER = 2; // 其他人 + } + + private int identityState = IdentityState.NON; + + private UserInfoOldActivity mActivity; + private long userId; + private UserInfo userInfo; + private SVGAParser mSVGAParser; + Drawable mAttenDrawable; + Drawable mAttenedDrawable; + + private boolean mIslike = false; + private RoomInfo mRoomInfo = null; + private int flag = 0; + private boolean isNoble; + private LinearLayout bottomViewLayout = null; + private TextView sendMsgLayout; + private TextView attentionLayout; + + private ImageView ivOfficialMask; + private TextView tvOfficialMask; + + UserInfoFragment mUserInfoFragment; + UserInfoGiftGroupFrg mUserInfoGiftGroupFrg; + UserInfoCarFragment mUserInfoCarFragment; + UserDynamicFrg mUserDynamicFrg; + + private void onSetListener() { + mBinding.ivUserBack.setOnClickListener(this); + mBinding.ivEdit.setOnClickListener(this); + mBinding.llUserRoom.setOnClickListener(this); + mBinding.llWhere.setOnClickListener(this); + mBinding.imageView.setOnClickListener(this); + + mBinding.ablUserInfo.addOnOffsetChangedListener(new AppBarStateChangeListener() { + @Override + public void onStateChanged(AppBarLayout appBarLayout, State state) { + if (state == State.EXPANDED) { + //展开状态 + setEditButton(identityState, true); + setBackBottom(true); + setTitleVisible(false); + + } else if (state == State.COLLAPSED) { + //折叠状态 + setEditButton(identityState, false); + setBackBottom(false); + setTitleVisible(true); + + } else { + //中间状态 + } + + } + }); + + } + + @Override + protected void init() { + mActivity = this; + userId = getIntent().getLongExtra("userId", 0); + UserInfoUiMgr.get().setUid(userId); + + onFindViews(); + onSetListener(); + EventBus.getDefault().register(this); + + mSVGAParser = new SVGAParser(this); + UserModel.get().getUserInfoFromServer(userId) + .compose(bindToLifecycle()) + .subscribe(new BeanObserver() { + @Override + public void onErrorMsg(String error) { + + } + + @Override + public void onSuccess(UserInfo Info) { + userInfo = Info; + //这里座驾只显示一次 + if (userInfo.getCarInfo() != null && userInfo.getCarInfo().isUsing()) { + try { + mSVGAParser.parse(new URL(userInfo.getCarInfo().getEffect()), new SVGAParser.ParseCompletion() { + @Override + public void onComplete(SVGAVideoEntity videoItem) { + mBinding.userInfoSvgaCar.setVisibility(View.VISIBLE); + mBinding.userInfoSvgaCar.setLoops(1); + Drawable drawable = new SVGADrawable(videoItem); + mBinding.userInfoSvgaCar.setImageDrawable(drawable); + mBinding.userInfoSvgaCar.startAnimation(); + } + + @Override + public void onError() { + mBinding.userInfoSvgaCar.setVisibility(View.GONE); + } + }); + } catch (MalformedURLException e) { + e.printStackTrace(); + } + } + initData(userInfo); + } + }); + + mBinding.userInfoSvgaCar.setCallback(new SVGACallback() { + @Override + public void onPause() { + + } + + @Override + public void onFinished() { + + } + + @Override + public void onRepeat() { + + } + + @Override + public void onStep(int i, double v) { + + } + }); + + mAttenDrawable = ContextCompat.getDrawable(this, R.mipmap.icon_new_attention); + mAttenedDrawable = ContextCompat.getDrawable(this, R.drawable.ic_attened); + + mBinding.userInfoSvgaCar.clearAnimation(); + mBinding.userInfoSvgaCar.setVisibility(View.GONE); + mSVGAParser = new SVGAParser(this); + + if (AuthModel.get().getCurrentUid() == userId) { + identityState = IdentityState.OWN; + mBinding.tvAttentionCount.setOnClickListener(this); + mBinding.tvUserAttentionText.setOnClickListener(this); + mBinding.tvFansCount.setOnClickListener(this); + mBinding.tvUserFanText.setOnClickListener(this); + setWhereVisible(false); + + if (bottomViewLayout != null) + bottomViewLayout.setVisibility(View.GONE); + } else { + if (userId == NimP2PMessageActivity.SECRETARY_UID || userId == NimP2PMessageActivity.SYSTEM_MESSAGE_UID) { + identityState = IdentityState.NON; + } else { + identityState = IdentityState.OTHER; + } + setWhereVisible(true); + + if (bottomViewLayout == null) { + View view = mBinding.vsBottomLayout.getViewStub().inflate(); + bottomViewLayout = view.findViewById(R.id.bottom_view_layout); + sendMsgLayout = view.findViewById(R.id.send_msg_layout); + attentionLayout = view.findViewById(R.id.attention_layout); + sendMsgLayout.setOnClickListener(this); + attentionLayout.setOnClickListener(this); + } + + bottomViewLayout.setVisibility(View.VISIBLE); + } + + setEditButton(identityState, true); + setBackBottom(true); + setTitleVisible(false); + + mCompositeDisposable.add(IMNetEaseManager.get().getChatRoomEventObservable() + .subscribe(roomEvent -> { + if (roomEvent != null) { + switch (roomEvent.getEvent()) { + case RoomEvent.KICK_OUT_ROOM: + ChatRoomKickOutEvent reason = roomEvent.getReason(); + if (reason != null) { + ChatRoomKickOutEvent.ChatRoomKickOutReason kickOutReason = reason.getReason(); + if (kickOutReason == ChatRoomKickOutEvent.ChatRoomKickOutReason.CHAT_ROOM_INVALID) { + setUserRoomVisible(false); + } + } + break; + } + } + })); + + if (mBinding.inOfficialMask != null) { + ivOfficialMask = mBinding.inOfficialMask.findViewById(R.id.iv_official_mask); + tvOfficialMask = mBinding.inOfficialMask.findViewById(R.id.tv_official_mask); + } + } + + private void setEditButton(int identityState, boolean isExpanded) { + + if (identityState == IdentityState.OWN) { + mBinding.ivEdit.setVisibility(View.VISIBLE); + mBinding.ivEdit.setImageResource(isExpanded ? R.drawable.icon_user_info_edit : R.drawable.icon_edit_black); + + } else if (identityState == IdentityState.OTHER) { + mBinding.ivEdit.setVisibility(View.VISIBLE); + mBinding.ivEdit.setImageResource(isExpanded ? R.drawable.icon_home_page_more : R.drawable.icon_home_page_more_black); + + } else { + mBinding.ivEdit.setVisibility(View.GONE); + } + + } + + private void setBackBottom(boolean isExpanded) { + mBinding.ivUserBack.setImageResource(isExpanded ? R.drawable.icon_user_back : R.drawable.icon_user_back_black); + } + + private void setTitleVisible(boolean visible) { + mBinding.tvUserInfoTitle.setVisibility(visible ? View.VISIBLE : View.GONE); + } + + /** + * 找到TA, 主态不展示 + */ + private void setWhereVisible(boolean visible) { + mBinding.viewLineTwo.setVisibility(visible ? View.VISIBLE : View.GONE); + mBinding.llWhere.setVisibility(visible ? View.VISIBLE : View.GONE); + } + + /** + * TA的房间, 主态不展示 + */ + private void setUserRoomVisible(boolean visible) { + mBinding.viewLineThree.setVisibility(visible ? View.VISIBLE : View.GONE); + mBinding.llUserRoom.setVisibility(visible ? View.VISIBLE : View.GONE); + } + + private void onFindViews() { + mBinding.tbUserInfo.setTitle(""); + + List tabInfoList = new ArrayList<>(TAB_SIZE); + tabInfoList.add(new TabInfo(TAB_DYNAMIC, "动态")); + tabInfoList.add(new TabInfo(TAB_INFORMATION, "资料")); + tabInfoList.add(new TabInfo(TAB_GIFT, "礼物")); + tabInfoList.add(new TabInfo(TAB_CAR, "座驾")); + + CommonNavigator commonNavigator = new CommonNavigator(this); + commonNavigator.setAdjustMode(true); + UserMagicIndicator indicator = new UserMagicIndicator(this, tabInfoList, 0); + indicator.setOnItemSelectListener(this); + commonNavigator.setAdapter(indicator); + mBinding.miUserInfo.setNavigator(commonNavigator); + mBinding.vpUserInfo.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { + + @Override + public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { + mBinding.miUserInfo.onPageScrolled(position, positionOffset, positionOffsetPixels); + } + + @Override + public void onPageSelected(int position) { + mBinding.miUserInfo.onPageSelected(position); + setStatistic(position); + } + + @Override + public void onPageScrollStateChanged(int state) { + mBinding.miUserInfo.onPageScrollStateChanged(state); + } + }); + + mUserDynamicFrg = UserDynamicFrg.newInstance(userId); + mUserInfoFragment = UserInfoFragment.newInstance(userId, getIntent().getIntExtra("from", 1)); + mUserInfoGiftGroupFrg = UserInfoGiftGroupFrg.newInstance(); + mUserInfoCarFragment = UserInfoCarFragment.newInstance(); + + mBinding.vpUserInfo.setOffscreenPageLimit(3); + mBinding.vpUserInfo.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) { + @Override + public int getCount() { + return TAB_SIZE; + } + + @Override + public Fragment getItem(int position) { + if (position == TAB_DYNAMIC) { + return mUserDynamicFrg; + } else if (position == TAB_INFORMATION) { + return mUserInfoFragment; + } else if (position == TAB_GIFT) { + return mUserInfoGiftGroupFrg; + } else if (position == TAB_CAR) { + return mUserInfoCarFragment; + } + return mUserInfoFragment; + } + }); + mBinding.vpUserInfo.setCurrentItem(0); + setStatistic(0); + } + + // 埋点 + private void setStatistic(int position) { + String temp = AuthModel.get().getCurrentUid() == userId ? "主态" : "客态"; + switch (position) { + case 0: + StatisticManager.Instance().onEvent(StatisticsProtocol.Event.EVENT_HOMEPAGE_MOMENT, "个人主页动态tab-" + temp); + break; + + case 1: + StatisticManager.Instance().onEvent(StatisticsProtocol.Event.EVENT_HOMEPAGE_DATA, "个人主页资料tab-" + temp); + break; + + case 2: + StatisticManager.Instance().onEvent(StatisticsProtocol.Event.EVENT_HOMEPAGE_GIFT, "个人主页礼物tab-" + temp); + break; + + case 3: + StatisticManager.Instance().onEvent(StatisticsProtocol.Event.EVENT_HOMEPAGE_CAR, "个人主页座驾tab-" + temp); + break; + } + + } + + @Subscribe(threadMode = ThreadMode.MAIN) + public void onCurrentUserInfoUpdate(LoginUserInfoUpdateEvent event) { + if (UserModel.get().getCacheLoginUserInfo().getUid() == userId) { + userInfo = UserModel.get().getCacheLoginUserInfo(); + initData(userInfo); + } + } + + 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.tvAttentionCount.setText(String.valueOf(userInfo.getFollowNum())); + 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() { + @Override + public boolean onLoadFailed(@Nullable GlideException e, Object o, + Target target, boolean b) { + return false; + } + + @Override + public boolean onResourceReady(Drawable drawable, Object o, + Target target, DataSource dataSource, boolean b) { + drawable.setColorFilter(context.getResources().getColor(R.color.black_transparent_20), PorterDuff.Mode.DARKEN); + ViewTarget viewTarget = (ViewTarget) 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); + // 设置官字 + mBinding.ivUserOfficial.setVisibility(userInfo.isOfficial() ? View.VISIBLE : View.GONE); + // 设置新字 + mBinding.ivUserNew.setVisibility(userInfo.isNewUser() ? 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) { + mBinding.ivUserCharm.setVisibility(View.GONE); + mBinding.ivUserLevel.setVisibility(View.GONE); + if (userLevelVo != null) { + String userLevelUrl = userLevelVo.getExperUrl(); + String userCharmUrl = userLevelVo.getCharmUrl(); + if (!TextUtils.isEmpty(userLevelUrl)) { + mBinding.ivUserLevel.setVisibility(View.VISIBLE); + ImageLoadUtils.loadImage(this, userLevelUrl, mBinding.ivUserLevel); + } + if (!TextUtils.isEmpty(userCharmUrl)) { + mBinding.ivUserCharm.setVisibility(View.VISIBLE); + ImageLoadUtils.loadImage(this, userCharmUrl, mBinding.ivUserCharm); + } + } + } + + private void setBgByLevel(boolean isNoble) { + this.isNoble = isNoble; + mBinding.ivUserNobleLevel.setVisibility(isNoble ? View.VISIBLE : View.INVISIBLE); + + LinearLayout.LayoutParams layoutParams = (LinearLayout.LayoutParams) mBinding.ivUserNobleLevel.getLayoutParams(); + layoutParams.width = isNoble ? SizeUtils.dp2px(this, 17f) : 0; + layoutParams.height = isNoble ? SizeUtils.dp2px(this, 17f) : 0; + + int nobleTextColor = ContextCompat.getColor(this, R.color.white_op_30); + mBinding.tvConstellation.setTextColor(isNoble ? nobleTextColor : Color.WHITE); + } + + @Override + public void onScrollChanged(NestedScrollView view, int x, int y, int oldx, int oldy) { + if (flag == 0 && oldy > 300) { + flag = 1; + boolean isNoble = (userInfo != null && userInfo.getNobleInfo() != null); + mBinding.ivEdit.setImageResource( + (isNoble) ? R.drawable.icon_user_info_edit : R.drawable.icon_edit_black); + } else if (flag == 1 && oldy <= 300) { + flag = 0; + mBinding.ivEdit.setImageResource(R.drawable.icon_user_info_edit); + } + } + + @Override + public void click(int position, UserPhoto userPhoto, boolean isOwner) { + if (isOwner) { + if (position > 0) { + showUserPhoto(position - 1); + } else { + UIHelper.showModifyPhotosAct(this, userId); + } + } else { + //创建一个集合拿来做用户所有照片信息 + showUserPhoto(position); + } + } + + private void showUserPhoto(int position) { + //创建一个集合拿来做用户所有照片信息 + ArrayList userPhotos = new ArrayList<>(); + List realmList = userInfo.getPrivatePhoto(); + for (UserPhoto photo : realmList) { + UserPhoto newPhoto = new UserPhoto(); + newPhoto.setPid(photo.getPid()); + newPhoto.setPhotoUrl(photo.getPhotoUrl()); + userPhotos.add(newPhoto); + } + Intent intent = new Intent(mActivity, ShowPhotoActivity.class); + intent.putExtra("position", position); + intent.putExtra("photoList", userPhotos); + startActivity(intent); + } + + private void editClick(int identityState) { + if (identityState == IdentityState.OWN) { + UIHelper.showUserInfoModifyAct(this, REQUEST_CODE_UPDATE_VOICE, userId); + } else if (identityState == IdentityState.OTHER) { + if (userInfo != null) { + String account = String.valueOf(userInfo.getUid()); + boolean inMyBlackList = NimFriendModel.get().isInMyBlackList(account); + List buttonItems = new ArrayList<>(); + if (!inMyBlackList) { + ButtonItem blackListItem = ButtonItemFactory.createAddToBlackListItem( + getDialogManager(), account); + buttonItems.add(blackListItem); + } + ButtonItem reportItem = ButtonItemFactory.createReportItem(context, userInfo.getUid(), XChatConstants.REPORT_TYPE_PERSONAL); + buttonItems.add(reportItem); + new CommonPopupDialog(this, "", buttonItems, "取消", false).show(); + } + + } + } + + private void avatarClick(int identityState) { + if (identityState == IdentityState.OWN) { + UIHelper.showUserInfoModifyAct(this, REQUEST_CODE_UPDATE_VOICE, userId); + } + } + + @Override + public void onClick(View v) { + switch (v.getId()) { + case R.id.iv_user_back: + finish(); + break; + + case R.id.imageView: + avatarClick(identityState); + break; + + case R.id.iv_edit: + editClick(identityState); + break; + case R.id.tv_attention_count: + 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) { + NimP2PMessageActivity.start(this, String.valueOf(userId)); + } else { + NimUserInfoCache.getInstance().getUserInfoFromRemote(String.valueOf(userId), new RequestCallbackWrapper() { + @Override + public void onResult(int code, NimUserInfo result, Throwable exception) { + if (code == 200) { + NimP2PMessageActivity.start(mActivity, String.valueOf(userId)); + } else { + toast("网络异常,请重试"); + } + } + }); + } + 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) { + //该用户还未开房间 + setUserRoomVisible(false); + return; + } + //已经存在的activity + if (mRoomInfo != null && mRoomInfo.getRoomId() == roomInfo.getRoomId()) { + mRoomInfo = roomInfo; + } else if (mRoomInfo == null) { + //打开新的activity的时候 + mRoomInfo = roomInfo; + } + setUserRoomVisible(roomInfo.isValid() && identityState != IdentityState.OWN); + } + + 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) { + setLikedText(event.isLiked); + } + + private void setLikedText(boolean isliked) { + mIslike = isliked; + attentionLayout.setCompoundDrawablesWithIntrinsicBounds( + (!isliked) ? mAttenDrawable : mAttenedDrawable, null, null, null); + attentionLayout.setCompoundDrawablePadding((isliked) ? 0 : SizeUtils.dp2px(this, 5f)); + attentionLayout.setText(getString((isliked) ? R.string.already_attention : R.string.attention)); + } + + @Subscribe(threadMode = ThreadMode.MAIN) + public void onPraise(PraiseEvent event) { + if (event.getLikedUid() != userId || + userId == AuthModel.get().getCurrentUid()) { + return; + } + if (event.isFailed()) { + getDialogManager().dismissDialog(); + toast(event.getError()); + return; + } + getDialogManager().dismissDialog(); + toast(event.isPraise() ? R.string.fan_success : R.string.cancel_fan_success); + setLikedText(event.isPraise()); + } + + @Override + protected void onDestroy() { + super.onDestroy(); + EventBus.getDefault().unregister(this); + + if (mBinding.userInfoSvgaCar.isAnimating()) { + mBinding.userInfoSvgaCar.clearAnimation(); + } + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, Intent data) { + super.onActivityResult(requestCode, resultCode, data); + if (resultCode == RESULT_OK) { + if (requestCode == REQUEST_CODE_UPDATE_VOICE) { + String audioFileUrl = data.getStringExtra(RecordingVoiceActivity.AUDIO_FILE); + int audioDuration = data.getIntExtra(RecordingVoiceActivity.AUDIO_DURA, 0); + if (mUserInfoFragment != null) { + mUserInfoFragment.refreshVoiceDataView(audioFileUrl, audioDuration); + } + } + } + } + + private void setOfficialMask(String name, String icon) { + if (!TextUtils.isEmpty(name) && !TextUtils.isEmpty(icon)) { + mBinding.inOfficialMask.setVisibility(View.VISIBLE); + + if (tvOfficialMask != null && ivOfficialMask != null) { + tvOfficialMask.setText(name); + NobleUtil.loadResource(icon, ivOfficialMask); + } + + } else { + mBinding.inOfficialMask.setVisibility(View.GONE); + } + } + + /** + * static静态代码 + */ + + public final static class Companion { + public final static String TAG = UserInfoOldActivity.class.getSimpleName(); + + static final int FROM_TYPE_NORMAL = 1; + static final int FROM_TYPE_FAMILY = 2; + + public static void start(Context context, long userId) { + Intent intent = new Intent(context, UserInfoOldActivity.class); + intent.putExtra("userId", userId); + int from = FROM_TYPE_NORMAL; + if (context instanceof FamilyHomeActivity + || context instanceof FamilyMemberListActivity + || context instanceof FamilyMemberSearchActivity) { + //这里限制循环访问, 例如:家族->个人主页->家族->个人主页->.... + from = FROM_TYPE_FAMILY; + } + intent.putExtra("from", from); + context.startActivity(intent); + + } + } + +} diff --git a/app/src/main/java/com/yizhuan/erban/ui/wallet/JewelActivity.java b/app/src/main/java/com/yizhuan/erban/ui/wallet/JewelActivity.java index 44c158ccd..379ab30f0 100644 --- a/app/src/main/java/com/yizhuan/erban/ui/wallet/JewelActivity.java +++ b/app/src/main/java/com/yizhuan/erban/ui/wallet/JewelActivity.java @@ -212,12 +212,12 @@ public class JewelActivity extends BaseActivity { public void initData() { WalletInfo walletInfo = PayModel.get().getCurrentWalletInfo(); if (walletInfo != null) { - setDiamondNum(walletInfo.diamondNum); + setDiamondNum(walletInfo.diamonds); } PayModel.get().getWalletInfo(AuthModel.get().getCurrentUid()) .subscribe(info -> { if (info != null) { - setDiamondNum(info.diamondNum); + setDiamondNum(info.diamonds); } }); } @@ -226,7 +226,7 @@ public class JewelActivity extends BaseActivity { public void onGetWalletInfo(GetWalletInfoEvent event) { WalletInfo walletInfo = PayModel.get().getCurrentWalletInfo(); if (walletInfo != null) { - setDiamondNum(walletInfo.diamondNum); + setDiamondNum(walletInfo.diamonds); } } @@ -234,7 +234,7 @@ public class JewelActivity extends BaseActivity { public void onWalletInfoUpdate(UpdateWalletInfoEvent event) { WalletInfo walletInfo = PayModel.get().getCurrentWalletInfo(); if (walletInfo != null) - setDiamondNum(walletInfo.diamondNum); + setDiamondNum(walletInfo.diamonds); } private void setDiamondNum(double diamondNum) { diff --git a/app/src/main/java/com/yizhuan/erban/ui/wallet/JewelFragment.java b/app/src/main/java/com/yizhuan/erban/ui/wallet/JewelFragment.java index 8743f3b6e..540f85e14 100644 --- a/app/src/main/java/com/yizhuan/erban/ui/wallet/JewelFragment.java +++ b/app/src/main/java/com/yizhuan/erban/ui/wallet/JewelFragment.java @@ -155,12 +155,12 @@ public class JewelFragment extends BaseFragment { public void initiate() { WalletInfo walletInfo = PayModel.get().getCurrentWalletInfo(); if (walletInfo != null) { - setDiamondNum(walletInfo.diamondNum); + setDiamondNum(walletInfo.diamonds); } PayModel.get().getWalletInfo(AuthModel.get().getCurrentUid()) .subscribe(info -> { if (info != null) { - setDiamondNum(info.diamondNum); + setDiamondNum(info.diamonds); } }); } @@ -169,7 +169,7 @@ public class JewelFragment extends BaseFragment { public void onGetWalletInfo(GetWalletInfoEvent event) { WalletInfo walletInfo = PayModel.get().getCurrentWalletInfo(); if (walletInfo != null) { - setDiamondNum(walletInfo.diamondNum); + setDiamondNum(walletInfo.diamonds); } } @@ -177,7 +177,7 @@ public class JewelFragment extends BaseFragment { public void onWalletInfoUpdate(UpdateWalletInfoEvent event) { WalletInfo walletInfo = PayModel.get().getCurrentWalletInfo(); if (walletInfo != null) - setDiamondNum(walletInfo.diamondNum); + setDiamondNum(walletInfo.diamonds); } private void setDiamondNum(double diamondNum) { diff --git a/app/src/main/res/drawable-xhdpi/icon_erban_grid_empty.webp b/app/src/main/res/drawable-xhdpi/icon_erban_grid_empty.webp index ba5385473..e242c60eb 100644 Binary files a/app/src/main/res/drawable-xhdpi/icon_erban_grid_empty.webp and b/app/src/main/res/drawable-xhdpi/icon_erban_grid_empty.webp differ diff --git a/app/src/main/res/drawable-xhdpi/icon_pm_close.png b/app/src/main/res/drawable-xhdpi/icon_pm_close.png index 16d0d2a53..635787aad 100644 Binary files a/app/src/main/res/drawable-xhdpi/icon_pm_close.png and b/app/src/main/res/drawable-xhdpi/icon_pm_close.png differ diff --git a/app/src/main/res/drawable-xhdpi/icon_pm_top.webp b/app/src/main/res/drawable-xhdpi/icon_pm_top.webp index 50b72960e..fe37a7a91 100644 Binary files a/app/src/main/res/drawable-xhdpi/icon_pm_top.webp and b/app/src/main/res/drawable-xhdpi/icon_pm_top.webp differ diff --git a/app/src/main/res/drawable/shape_white_corner_8dp.xml b/app/src/main/res/drawable/shape_white_corner_8dp.xml index 67b042cff..aa2d3899f 100644 --- a/app/src/main/res/drawable/shape_white_corner_8dp.xml +++ b/app/src/main/res/drawable/shape_white_corner_8dp.xml @@ -4,5 +4,5 @@ - + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_charge.xml b/app/src/main/res/layout/activity_charge.xml index 8c2a26b77..d54fa2747 100644 --- a/app/src/main/res/layout/activity_charge.xml +++ b/app/src/main/res/layout/activity_charge.xml @@ -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" /> + + + diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 28ee3a54e..4bc747d76 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -50,6 +50,7 @@ android:layout_marginEnd="@dimen/dp_15" android:visibility="visible"> + diff --git a/app/src/main/res/layout/activity_setting.xml b/app/src/main/res/layout/activity_setting.xml index 441847aec..2d37c043e 100644 --- a/app/src/main/res/layout/activity_setting.xml +++ b/app/src/main/res/layout/activity_setting.xml @@ -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" /> diff --git a/app/src/main/res/layout/activity_user_info.xml b/app/src/main/res/layout/activity_user_info.xml index 7d02650c4..44c5b7dda 100644 --- a/app/src/main/res/layout/activity_user_info.xml +++ b/app/src/main/res/layout/activity_user_info.xml @@ -10,6 +10,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -419,11 +94,140 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + android:layout_height="match_parent" > + + + - + - + diff --git a/app/src/main/res/layout/activity_user_info_old.xml b/app/src/main/res/layout/activity_user_info_old.xml new file mode 100644 index 000000000..7d02650c4 --- /dev/null +++ b/app/src/main/res/layout/activity_user_info_old.xml @@ -0,0 +1,473 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/dialog_patriarch_mode.xml b/app/src/main/res/layout/dialog_patriarch_mode.xml index c6f67bd39..8667b944b 100644 --- a/app/src/main/res/layout/dialog_patriarch_mode.xml +++ b/app/src/main/res/layout/dialog_patriarch_mode.xml @@ -10,16 +10,15 @@ android:background="@drawable/shape_white_corner_8dp" android:gravity="center_horizontal" android:orientation="vertical" - android:paddingBottom="@dimen/dp_20" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent"> @@ -29,6 +28,7 @@ android:text="青少年保护" android:textSize="@dimen/sp_16" android:textStyle="bold" + android:layout_marginTop="@dimen/dp_8" android:textColor="@color/color_333333" /> diff --git a/app/src/main/res/layout/fragment_game_home.xml b/app/src/main/res/layout/fragment_game_home.xml index 23980ef58..21e38ba30 100644 --- a/app/src/main/res/layout/fragment_game_home.xml +++ b/app/src/main/res/layout/fragment_game_home.xml @@ -66,7 +66,7 @@ android:id="@+id/iv_bg" android:layout_width="match_parent" android:layout_height="wrap_content" - android:minHeight="55dp" + android:minHeight="48dp" app:layout_constraintTop_toTopOf="parent" /> + android:paddingEnd="@dimen/dp_15" + android:layout_marginTop="@dimen/dp_8"/> @@ -101,7 +102,7 @@ diff --git a/app/src/main/res/layout/item_erban_grid_empty.xml b/app/src/main/res/layout/item_erban_grid_empty.xml index e62c0c32f..542b3688d 100644 --- a/app/src/main/res/layout/item_erban_grid_empty.xml +++ b/app/src/main/res/layout/item_erban_grid_empty.xml @@ -6,9 +6,9 @@ android:layout_height="wrap_content" xmlns:tools="http://schemas.android.com/tools" tools:layout_width="108dp" - android:layout_marginStart="3dp" - android:layout_marginEnd="3dp" - android:layout_marginTop="1.5dp" + android:layout_marginStart="@dimen/margin_home_tab_gride" + android:layout_marginEnd="@dimen/margin_home_tab_gride" + android:layout_marginBottom="@dimen/margin_home_tab_gride" android:background="@drawable/bg_corner_shadow_12" android:orientation="vertical"> @@ -24,26 +24,15 @@ android:layout_width="match_parent" android:layout_height="match_parent" app:riv_corner_radius="@dimen/dp_12" - android:scaleType="fitCenter" + android:scaleType="fitXY" android:src="@drawable/icon_erban_grid_empty" /> - - \ No newline at end of file diff --git a/app/src/main/res/layout/item_home_tab_map.xml b/app/src/main/res/layout/item_home_tab_map.xml index c0e2a073e..623470364 100644 --- a/app/src/main/res/layout/item_home_tab_map.xml +++ b/app/src/main/res/layout/item_home_tab_map.xml @@ -6,9 +6,9 @@ android:layout_height="wrap_content" xmlns:tools="http://schemas.android.com/tools" tools:layout_width="108dp" - android:layout_marginStart="3dp" - android:layout_marginEnd="3dp" - android:layout_marginTop="1.5dp" + android:layout_marginStart="@dimen/margin_home_tab_gride" + android:layout_marginEnd="@dimen/margin_home_tab_gride" + android:layout_marginBottom="@dimen/margin_home_tab_gride" android:background="@drawable/bg_corner_shadow_12" android:orientation="vertical"> @@ -91,7 +91,8 @@ android:layout_height="wrap_content" android:layout_marginStart="@dimen/dp_8" android:layout_marginEnd="@dimen/dp_10" - android:layout_marginBottom="@dimen/dp_5" + android:layout_marginBottom="@dimen/dp_6" + android:layout_marginTop="@dimen/dp_3" android:ellipsize="end" android:maxLines="1" tools:text="房间名称" diff --git a/app/src/main/res/mipmap-hdpi/app_logo.png b/app/src/main/res/mipmap-hdpi/app_logo.png index 626a6cb94..8d5c61781 100644 Binary files a/app/src/main/res/mipmap-hdpi/app_logo.png and b/app/src/main/res/mipmap-hdpi/app_logo.png differ diff --git a/app/src/main/res/mipmap-xhdpi/app_logo.png b/app/src/main/res/mipmap-xhdpi/app_logo.png index e22f2668c..41bc3ef4e 100644 Binary files a/app/src/main/res/mipmap-xhdpi/app_logo.png and b/app/src/main/res/mipmap-xhdpi/app_logo.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/app_logo.png b/app/src/main/res/mipmap-xxhdpi/app_logo.png index fb5088e33..30278c3d2 100644 Binary files a/app/src/main/res/mipmap-xxhdpi/app_logo.png and b/app/src/main/res/mipmap-xxhdpi/app_logo.png differ diff --git a/app/src/main/res/mipmap-xxxhdpi/app_logo.png b/app/src/main/res/mipmap-xxxhdpi/app_logo.png index efc486398..167d52454 100644 Binary files a/app/src/main/res/mipmap-xxxhdpi/app_logo.png and b/app/src/main/res/mipmap-xxxhdpi/app_logo.png differ diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index 0cebbc0d9..40f1c67e4 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -214,4 +214,5 @@ 75dp 100dp + 1.5dp diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index d59593942..49d539978 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -145,7 +145,7 @@ - 66星球号:%d + 66号:%d 我的关注 我的粉丝 @@ -877,6 +877,8 @@ 钻石 加入 《66星球护苗计划》 + 已阅读并同意 + 《用户充值协议》 diff --git a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/UriProvider.java b/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/UriProvider.java index 12993a77c..16693eb9a 100644 --- a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/UriProvider.java +++ b/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/UriProvider.java @@ -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技能认证页面 * diff --git a/core/src/main/java/com/yizhuan/xchat_android_core/pay/bean/WalletInfo.java b/core/src/main/java/com/yizhuan/xchat_android_core/pay/bean/WalletInfo.java index 7564566ee..f09183fca 100644 --- a/core/src/main/java/com/yizhuan/xchat_android_core/pay/bean/WalletInfo.java +++ b/core/src/main/java/com/yizhuan/xchat_android_core/pay/bean/WalletInfo.java @@ -13,9 +13,9 @@ import android.os.Parcelable; public class WalletInfo implements Parcelable { public long uid; /** 总金币(贵族+普通)数量 */ - public double goldNum; + public double golds; /** 钻石数量 */ - public double diamondNum; + public double diamonds; /** 预扣款(押金) */ public double depositNum; public int amount; @@ -34,8 +34,8 @@ public class WalletInfo implements Parcelable { protected WalletInfo(Parcel in) { uid = in.readLong(); - goldNum = in.readDouble(); - diamondNum = in.readDouble(); + golds = in.readDouble(); + diamonds = in.readDouble(); depositNum = in.readDouble(); amount = in.readInt(); chargeGoldNum = in.readDouble(); @@ -45,8 +45,8 @@ public class WalletInfo implements Parcelable { @Override public void writeToParcel(Parcel dest, int flags) { dest.writeLong(uid); - dest.writeDouble(goldNum); - dest.writeDouble(diamondNum); + dest.writeDouble(golds); + dest.writeDouble(diamonds); dest.writeDouble(depositNum); dest.writeInt(amount); dest.writeDouble(chargeGoldNum); @@ -71,11 +71,11 @@ public class WalletInfo implements Parcelable { }; public double getDiamondNum() { - return diamondNum; + return diamonds; } public void setDiamondNum(double diamondNum) { - this.diamondNum = diamondNum; + this.diamonds = diamondNum; } @@ -88,11 +88,11 @@ public class WalletInfo implements Parcelable { } public double getGoldNum() { - return goldNum; + return golds; } public void setGoldNum(double goldNum) { - this.goldNum = goldNum; + this.golds = goldNum; } public double getDepositNum() { @@ -115,8 +115,8 @@ public class WalletInfo implements Parcelable { public String toString() { return "WalletInfo{" + "uid=" + uid + - ", goldNum=" + goldNum + - ", diamondNum=" + diamondNum + + ", goldNum=" + golds + + ", diamondNum=" + diamonds + ", depositNum=" + depositNum + ", amount=" + amount + '}'; diff --git a/core/src/main/java/com/yizhuan/xchat_android_core/user/IUserModel.java b/core/src/main/java/com/yizhuan/xchat_android_core/user/IUserModel.java index 10724c639..a92398e3c 100644 --- a/core/src/main/java/com/yizhuan/xchat_android_core/user/IUserModel.java +++ b/core/src/main/java/com/yizhuan/xchat_android_core/user/IUserModel.java @@ -5,9 +5,11 @@ 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; +import com.yizhuan.xchat_android_core.user.bean.UserDetailInfo; import com.yizhuan.xchat_android_core.user.bean.UserGameInfo; import com.yizhuan.xchat_android_core.user.bean.UserInfo; import com.yizhuan.xchat_android_core.user.bean.UserRandomConfig; @@ -60,12 +62,20 @@ public interface IUserModel extends IModel { /** * 根据uid 从服务器获取用户详细信息。 - * + *旧的 * @param userId * @return */ Single getUserInfoFromServer(long userId); + /** + * 根据uid 从服务器获取用户详细信息。 + *66新的 + * @param userId + * @return + */ + Single getUserInfoDetail(long userId); + /** * 根据 批量 Uid 去我们后台获取用户的具体信息 * diff --git a/core/src/main/java/com/yizhuan/xchat_android_core/user/UserModel.java b/core/src/main/java/com/yizhuan/xchat_android_core/user/UserModel.java index 08f976a5c..af5b722a4 100644 --- a/core/src/main/java/com/yizhuan/xchat_android_core/user/UserModel.java +++ b/core/src/main/java/com/yizhuan/xchat_android_core/user/UserModel.java @@ -15,12 +15,14 @@ import com.yizhuan.xchat_android_core.bean.response.ServiceResult; import com.yizhuan.xchat_android_core.bean.response.result.GiftWallListResult; import com.yizhuan.xchat_android_core.bean.response.result.UserListResult; import com.yizhuan.xchat_android_core.bean.response.result.UserResult; +import com.yizhuan.xchat_android_core.community.CommunityConstant; import com.yizhuan.xchat_android_core.level.event.CharmLevelUpEvent; import com.yizhuan.xchat_android_core.level.event.LevelUpEvent; import com.yizhuan.xchat_android_core.noble.NobleUtil; import com.yizhuan.xchat_android_core.user.bean.GiftAchievementInfo; import com.yizhuan.xchat_android_core.user.bean.GiftWallInfo; import com.yizhuan.xchat_android_core.user.bean.NewUserInfo; +import com.yizhuan.xchat_android_core.user.bean.UserDetailInfo; import com.yizhuan.xchat_android_core.user.bean.UserGameInfo; import com.yizhuan.xchat_android_core.user.bean.UserInfo; import com.yizhuan.xchat_android_core.user.bean.UserRandomConfig; @@ -287,6 +289,18 @@ public final class UserModel extends BaseModel implements IUserModel { } + @Override + public Single getUserInfoDetail(long uid) { + return api.getUserInfoDetail(String.valueOf(uid)) + .compose(RxHelper.handleSchedulers()) + .flatMap(userDetailInfo -> { + UserDetailInfo userInfo = userDetailInfo; + if (null == userInfo) { + return Single.error(new Exception("服务器返回的userInfo字段为空")); + } + return Single.just(userInfo); + }); + } /** * 根据 云信的Uid 去我们后台获取用户的具体信息 @@ -622,6 +636,7 @@ public final class UserModel extends BaseModel implements IUserModel { .compose(RxHelper.singleMainResult()); } + @Override public Single useOrDelete(long id, int status) { return api.useOrDeleteTag(id, status) @@ -762,6 +777,9 @@ public final class UserModel extends BaseModel implements IUserModel { @GET("/user/get") Single requestUserInfo(@Query("uid") String uid); + @GET("/user/detail/get") + Single getUserInfoDetail(@Query("uid") String uid); + /** * @param key diff --git a/core/src/main/java/com/yizhuan/xchat_android_core/user/bean/UserDetailInfo.java b/core/src/main/java/com/yizhuan/xchat_android_core/user/bean/UserDetailInfo.java new file mode 100644 index 000000000..ad9c711ce --- /dev/null +++ b/core/src/main/java/com/yizhuan/xchat_android_core/user/bean/UserDetailInfo.java @@ -0,0 +1,416 @@ +package com.yizhuan.xchat_android_core.user.bean; + +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 dynamicInfo; + private List 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 getDynamicInfo() { + return dynamicInfo; + } + + public void setDynamicInfo(List dynamicInfo) { + this.dynamicInfo = dynamicInfo; + } + + public List getPrivatePhoto() { + return privatePhoto; + } + + public void setPrivatePhoto(List 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; + } + } + } +}