diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/controller/dynamics/adapter/DynamicsAdapter1.java b/app/src/main/java/com/xuebiping/bolizhuzi/controller/dynamics/adapter/DynamicsAdapter1.java index 0938e67..3758edf 100644 --- a/app/src/main/java/com/xuebiping/bolizhuzi/controller/dynamics/adapter/DynamicsAdapter1.java +++ b/app/src/main/java/com/xuebiping/bolizhuzi/controller/dynamics/adapter/DynamicsAdapter1.java @@ -195,8 +195,8 @@ public class DynamicsAdapter1 extends BaseAdapter { } else { holder.msgBtn.setVisibility(View.INVISIBLE); } - //holder.likeCountLabel.setText(bean.getLike_count() + ""); - // holder.commentCountLabel.setText(bean.getComment_count() + ""); + holder.likeCountLabel.setText(bean.getLike_count() + ""); + holder.commentCountLabel.setText(bean.getComment_count() + ""); final int index = i; holder.name.setText(bean.getNickname()); holder.head.setImageURI(StrU.getResourcePath(bean.getAvatar(), mContext)); @@ -226,14 +226,14 @@ public class DynamicsAdapter1 extends BaseAdapter { holder.years.setCompoundDrawables(drawableLeft, null, null, null); } holder.years.setText(bean.getAge() + ""); - holder.location.setText(bean.getCity() + " | " + bean.getCreate_time()); +// holder.location.setText(bean.getCity() + " | " + bean.getCreate_time()); + holder.location.setText(bean.getCreate_time()); // holder.info.setText(bean.getContent()); //TODO 显示浏览次数 holder.tv_see_count.setText("已有"+bean.getLike_count()+"次浏览"); - //TODO 显示话题 - holder.tv_topic.setText("# 只想发个自拍"); + holder.info.setText(bean.getContent(), bean.getExpand(), new ExpandLayout.OnExpandListener() { @Override @@ -248,31 +248,34 @@ public class DynamicsAdapter1 extends BaseAdapter { NimUIKit.startChat(bean.getUser_id(), mContext); } }); - /*holder.commentImageView.setOnClickListener(new View.OnClickListener() { + holder.commentImageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (dynamicCommentCallback != null) { dynamicCommentCallback.commentDynamic(bean); - } else { - Intent intent = new Intent(mContext, DynamicDetailActivity.class); - intent.putExtra("dynamic_id", bean.getId()); - mContext.startActivity(intent); } +// else { +// Intent intent = new Intent(mContext, DynamicDetailActivity.class); +// intent.putExtra("dynamic_id", bean.getId()); +// mContext.startActivity(intent); +// } } - });*/ + }); holder.getMenu.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - if (String.valueOf(SPUtils.getInt(mContext, ConsUser.USER_ID)).equals(mDynamicsItemList.get(index).getUser_id())) { - if (null != mOnMunuDeleteClickListener) { +// if (String.valueOf(SPUtils.getInt(mContext, ConsUser.USER_ID)).equals(mDynamicsItemList.get(index).getUser_id())) { +// if (null != mOnMunuDeleteClickListener) { +// +// mOnMunuDeleteClickListener.onMenuDelete(index, mDynamicsItemList); +// } +// } else { +// if (null != mMenuClickListener) { +// mMenuClickListener.onMenuClicked(index); +// } +// } - mOnMunuDeleteClickListener.onMenuDelete(index, mDynamicsItemList); - } - } else { - if (null != mMenuClickListener) { - mMenuClickListener.onMenuClicked(index); - } - } + NimUIKit.startChat("4", mContext); } }); @@ -295,11 +298,11 @@ public class DynamicsAdapter1 extends BaseAdapter { addImageView(holder, bean.getImages()); - /* if (bean.getIs_like() == 1) { + if (bean.getIs_like() == 1) { holder.likeImageView.setImageResource(R.mipmap.feed_heart_); } else { holder.likeImageView.setImageResource(R.mipmap.feed_heart); - }*/ + } holder.head.setOnClickListener(new View.OnClickListener() { @Override @@ -309,7 +312,7 @@ public class DynamicsAdapter1 extends BaseAdapter { mContext.startActivity(intent); } }); - /* holder.likeImageView.setOnClickListener(new View.OnClickListener() { + holder.likeImageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (likeDynamicCallback != null) { @@ -317,7 +320,7 @@ public class DynamicsAdapter1 extends BaseAdapter { } } - });*/ + }); view.setTag(R.id.tag_second, holder); return view; @@ -539,14 +542,14 @@ public class DynamicsAdapter1 extends BaseAdapter { holder.dynamic_image_num = v.findViewById(R.id.dynamic_image_num); holder.imageListView3 = v.findViewById(R.id.dynamic_list_image_list_3); holder.msgBtn = v.findViewById(R.id.msgBtn); - // holder.commentCountLabel = v.findViewById(R.id.commentCountLabel); - //holder.likeCountLabel = v.findViewById(R.id.likeCountLabel); - // holder.likeImageView = v.findViewById(R.id.likeImageView); - // holder.commentImageView = v.findViewById(R.id.commentImageView); + holder.commentCountLabel = v.findViewById(R.id.commentCountLabel); + holder.likeCountLabel = v.findViewById(R.id.likeCountLabel); + holder.likeImageView = v.findViewById(R.id.likeImageView); + holder.commentImageView = v.findViewById(R.id.commentImageView); holder.realPeopleImageView = v.findViewById(R.id.realPeopleImageView); holder.newPeopleImageView = v.findViewById(R.id.newPeopleImageView); holder.rl_dynamic_item = v.findViewById(R.id.rl_dynamic_item); - holder.tv_topic = v.findViewById(R.id.tv_topic); + return holder; } @@ -558,8 +561,8 @@ public class DynamicsAdapter1 extends BaseAdapter { TextView years; ImageView iv_sex; ExpandLayout info; - // TextView commentCountLabel; - // TextView likeCountLabel; + TextView commentCountLabel; + TextView likeCountLabel; LinearLayout imageListView1; ConstraintLayout imageListView2; SimpleDraweeView dynamic_image1; @@ -571,12 +574,12 @@ public class DynamicsAdapter1 extends BaseAdapter { TextView tv_see_count; ImageView getMenu; ImageView msgBtn; - //ImageView likeImageView; - // ImageView commentImageView; + ImageView likeImageView; + ImageView commentImageView; ImageView realPeopleImageView; ImageView newPeopleImageView; RelativeLayout rl_dynamic_item; - TextView tv_topic; + } public void delete(int index) { diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/controller/settings/adapter/constant/SettingOptions.java b/app/src/main/java/com/xuebiping/bolizhuzi/controller/settings/adapter/constant/SettingOptions.java index 3f017af..364d648 100644 --- a/app/src/main/java/com/xuebiping/bolizhuzi/controller/settings/adapter/constant/SettingOptions.java +++ b/app/src/main/java/com/xuebiping/bolizhuzi/controller/settings/adapter/constant/SettingOptions.java @@ -1,23 +1,29 @@ package com.xuebiping.bolizhuzi.controller.settings.adapter.constant; public enum SettingOptions { - WALLET, + CONTRACT,//价格设置 INVITATION, GUIDE,//用户指南 - RANK, - CUSTOMER,//客服 MISSIONS, BEAUTY,//美颜设置 - MEMBER,//会员特权 OFFICIAL, - SETTING,//设置 GODDESSPRIVILEGE, //女神特权 VIOLATION,//违规公布 ADDWECHAT,//添加微信 HELLOW,//招呼设置 ITEMS,//我的道具 VIDEO, //视频聊天 + DETAIL,//账单明细 + + RANK, //排行榜 + DONOTMODEL, //勿扰模式 + MEMBER,//会员特权 + SETFRIEND, //交友偏好 + WALLET, //钱包 TASK, //每日任务 - DETAIL//账单明细 + MYMYINTIMACY, //我的亲密度 + UPAUTH, //up主认证 + CUSTOMER,//客服 + SETTING,//设置 } diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/view/dynamics/activity/DynamicDetailActivity.kt b/app/src/main/java/com/xuebiping/bolizhuzi/view/dynamics/activity/DynamicDetailActivity.kt index 2bee892..2fbb9cf 100644 --- a/app/src/main/java/com/xuebiping/bolizhuzi/view/dynamics/activity/DynamicDetailActivity.kt +++ b/app/src/main/java/com/xuebiping/bolizhuzi/view/dynamics/activity/DynamicDetailActivity.kt @@ -15,31 +15,37 @@ import androidx.recyclerview.widget.LinearLayoutManager import com.chad.library.adapter.base.BaseQuickAdapter import com.chad.library.adapter.base.viewholder.BaseViewHolder import com.facebook.drawee.view.SimpleDraweeView +import com.fengliyan.uikit.dialog.BottomGiftDialog +import com.fengliyan.uikit.dialog.BottomSelectiveDialog +import com.fengliyan.uikit.dialog.DialogGiftBean +import com.fengliyan.uikit.dialog.GiftListBean +import com.fengliyan.uikit.toast.MaleToast +import com.ryan.github.menupopupview.MenuPopupAdapter +import com.ryan.github.menupopupview.PopupLayout +import com.ryan.github.menupopupview.PopupView import com.xuebiping.bolizhuzi.R import com.xuebiping.bolizhuzi.controller.constant.ConsUser import com.xuebiping.bolizhuzi.controller.constant.ConstUrl -import com.xuebiping.bolizhuzi.controller.dynamics.adapter.DynamicsAdapter import com.xuebiping.bolizhuzi.controller.dynamics.adapter.DynamicsAdapter.* +import com.xuebiping.bolizhuzi.controller.dynamics.adapter.DynamicsAdapter1 import com.xuebiping.bolizhuzi.controller.dynamics.adapter.MenuPopupItemAdapter import com.xuebiping.bolizhuzi.controller.dynamics.manager.DynamicsManager import com.xuebiping.bolizhuzi.controller.eventBus.DynamicLikeEvent +import com.xuebiping.bolizhuzi.controller.main.manager.MainManager import com.xuebiping.bolizhuzi.databinding.ActivityDynamicdetailBinding import com.xuebiping.bolizhuzi.databinding.HeaderDynamicDetailBinding import com.xuebiping.bolizhuzi.model.dynamics.CommentBean import com.xuebiping.bolizhuzi.model.dynamics.DynamicsItemBean import com.xuebiping.bolizhuzi.model.main.FollowResultBean +import com.xuebiping.bolizhuzi.model.main.GiftBean +import com.xuebiping.bolizhuzi.model.settings.RechargeListBean import com.xuebiping.bolizhuzi.utils.SPUtils import com.xuebiping.bolizhuzi.view.base.BaseActivity import com.xuebiping.bolizhuzi.view.base.utils.HttpUiCallBack import com.xuebiping.bolizhuzi.view.base.utils.view.HangUpDialog import com.xuebiping.bolizhuzi.view.base.utils.view.HangUpDialog.OnHangUpListener -import com.xuebiping.bolizhuzi.view.main.ComplaintActivity import com.xuebiping.bolizhuzi.view.main.MainPageActivity -import com.fengliyan.uikit.dialog.BottomSelectiveDialog -import com.fengliyan.uikit.toast.MaleToast -import com.ryan.github.menupopupview.MenuPopupAdapter -import com.ryan.github.menupopupview.PopupLayout -import com.ryan.github.menupopupview.PopupView +import com.xuebiping.bolizhuzi.view.settings.CaibeiRechargeActivity import de.greenrobot.event.EventBus import kotlinx.android.synthetic.main.header_dynamic_detail.* import kotlinx.android.synthetic.main.header_dynamic_detail.view.* @@ -51,7 +57,7 @@ class DynamicDetailActivity : BaseActivity() { var datas = mutableListOf() var likes = mutableListOf() val dynamidData: ArrayList = ArrayList() - lateinit var dynamicAdapter: DynamicsAdapter + lateinit var dynamicAdapter: DynamicsAdapter1 var dynamic_id: String? = null var dynamic_from: Int = 0 lateinit var adapter: BaseQuickAdapter @@ -62,7 +68,7 @@ class DynamicDetailActivity : BaseActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - dynamicAdapter = DynamicsAdapter(this) + dynamicAdapter = DynamicsAdapter1(this) bindDynamicEvent(dynamicAdapter) dynamicAdapter.setList(dynamidData) dynamic_id = intent.getStringExtra("dynamic_id") @@ -236,55 +242,146 @@ class DynamicDetailActivity : BaseActivity() { } - fun bindDynamicEvent(mAdapter: DynamicsAdapter) { - mAdapter.likeDynamicCallback = DynamicLikeCallback { bean -> likeFeed(bean) } - mAdapter.dynamicCommentCallback = DynamicCommentCallback { - replcyCommentId = null - binding.contentField.hint = "想和TA说..." - showKeyboard(true) - } - mAdapter.setOnMenuClickListener(OnMenuClickListener { dynamicIndex -> - mSelectiveDialog = - BottomSelectiveDialog(DynamicDetailActivity@ this, R.style.SelectiveDialog) - if (0 == dynamidData.get(dynamicIndex).is_follow) { - mSelectiveDialog?.addSelectButton( - "关注", - BottomSelectiveDialog.OnButtonSelectListener { view, index -> - mSelectiveDialog?.dismiss() - focus(dynamidData.get(dynamicIndex).getUser_id()) - }) - } - mSelectiveDialog?.addSelectButton( - "举报", - BottomSelectiveDialog.OnButtonSelectListener { view, index -> - mSelectiveDialog?.dismiss() - var intent = Intent(DynamicDetailActivity@ this, ComplaintActivity::class.java) - intent.putExtra("uid", dynamidData.get(dynamicIndex).getUser_id()) - intent.putExtra("type", 3) - startActivity(intent) - }) - mSelectiveDialog?.show() - }) + fun bindDynamicEvent(mAdapter: DynamicsAdapter1) { +// mAdapter.likeDynamicCallback = DynamicLikeCallback { bean -> likeFeed(bean) }) +// mAdapter.dynamicCommentCallback = DynamicCommentCallback { +// replcyCommentId = null +// binding.contentField.hint = "想和TA说..." +// showKeyboard(true) +// } +// mAdapter.setOnMenuClickListener(OnMenuClickListener { dynamicIndex -> +// mSelectiveDialog = +// BottomSelectiveDialog(DynamicDetailActivity@ this, R.style.SelectiveDialog) +// if (0 == dynamidData.get(dynamicIndex).is_follow) { +// mSelectiveDialog?.addSelectButton( +// "关注", +// BottomSelectiveDialog.OnButtonSelectListener { view, index -> +// mSelectiveDialog?.dismiss() +// focus(dynamidData.get(dynamicIndex).getUser_id()) +// }) +// } +// mSelectiveDialog?.addSelectButton( +// "举报", +// BottomSelectiveDialog.OnButtonSelectListener { view, index -> +// mSelectiveDialog?.dismiss() +// var intent = Intent(DynamicDetailActivity@ this, ComplaintActivity::class.java) +// intent.putExtra("uid", dynamidData.get(dynamicIndex).getUser_id()) +// intent.putExtra("type", 3) +// startActivity(intent) +// }) +// mSelectiveDialog?.show() +// }) //删除动态 - mAdapter.setOnMenuDeleteClickListener(OnMenuDeleteClickListener { position, mDynamicsItemList -> - val hangUpDialog = HangUpDialog( - this@DynamicDetailActivity, - OnHangUpListener { - deleteDynamics(mDynamicsItemList[position].id, position) - }, "您确定要删除吗?", "确定", "取消" - ) - hangUpDialog.show() -// mDeleteBottomDialog = -// BottomSelectiveDialog(this@DynamicDetailActivity, R.style.SelectiveDialog) -// mDeleteBottomDialog?.addSelectButton( -// "删除", -// BottomSelectiveDialog.OnButtonSelectListener { view, index -> -// mDeleteBottomDialog?.dismiss() +// mAdapter.setOnMenuDeleteClickListener(OnMenuDeleteClickListener { position, mDynamicsItemList -> +// val hangUpDialog = HangUpDialog( +// this@DynamicDetailActivity, +// OnHangUpListener { // deleteDynamics(mDynamicsItemList[position].id, position) -// }) -// mDeleteBottomDialog?.show() - }) +// }, "您确定要删除吗?", "确定", "取消" +// ) +// hangUpDialog.show() +//// mDeleteBottomDialog = +//// BottomSelectiveDialog(this@DynamicDetailActivity, R.style.SelectiveDialog) +//// mDeleteBottomDialog?.addSelectButton( +//// "删除", +//// BottomSelectiveDialog.OnButtonSelectListener { view, index -> +//// mDeleteBottomDialog?.dismiss() +//// deleteDynamics(mDynamicsItemList[position].id, position) +//// }) +//// mDeleteBottomDialog?.show() +// }) + + mAdapter.likeDynamicCallback = DynamicsAdapter1.DynamicLikeCallback { bean -> + likeFeed( + bean + ) + } + + mAdapter.setOnGiftSendListener { bean, quantity -> // sendGift(bean.getId(), quantity, bean); + getGiftData(bean.user_id) + } + } + + private var mGiftDialog: BottomGiftDialog? = null + + /** + * 礼物列表数据 + */ + private fun getGiftData(user_id: String) { + + val callBack = object : HttpUiCallBack { + override fun onSuccess(activity: BaseActivity?, result: GiftListBean?, tips: String?) { + mGiftDialog = BottomGiftDialog( + this@DynamicDetailActivity, + R.style.SelectiveDialog + ) + mGiftDialog!!.setGiftListBean(result) + mGiftDialog!!.setOnGiftItemClickedListener(object : + BottomGiftDialog.OnGiftItemClickedListener { + override fun onGiftClicked(bean: DialogGiftBean) { + if (!TextUtils.isEmpty(user_id)) { + sendGift(user_id.toInt(), bean.id) + } + } + + override fun onWalletClicked() { + val intent = Intent(this@DynamicDetailActivity, CaibeiRechargeActivity::class.java) + startActivity(intent) + } + }) + mGiftDialog!!.show() + } + + override fun onFailure(activity: BaseActivity?, tip: String?) { + MaleToast.showMessage(activity, tip) + } + + override fun onException(activity: BaseActivity?, e: Throwable?) { + MaleToast.showMessage(activity, "请重试") + } + + } + + MainManager.getGiftBeans(this as BaseActivity?, callBack) + } + + /** + * 赠送礼物 + * + * @param toUid + * @param giftId + */ + fun sendGift(toUid: Int, giftId: Int) { + + val callBack = object : HttpUiCallBack { + override fun onSuccess(activity: BaseActivity?, result: GiftListBean?, tips: String?) { + if (null != mGiftDialog) { + mGiftDialog!!.setCoin(result!!.coin.toString() + "") + mGiftDialog!!.dismiss() + } + MaleToast.showMessage(this@DynamicDetailActivity, "赠送成功") + } + + override fun onFailure(activity: BaseActivity?, tip: String?) { + MaleToast.showMessage(this@DynamicDetailActivity, tip) + } + + override fun onException(activity: BaseActivity?, e: Throwable?) { + MaleToast.showMessage(this@DynamicDetailActivity, "赠送失败") + } + + } + + MainManager.sendGift( + this as BaseActivity?, + 1, + toUid, + giftId, + 1, + callBack) + + } fun likeFeed(bean: DynamicsItemBean) { @@ -464,6 +561,7 @@ class DynamicDetailActivity : BaseActivity() { object : HttpUiCallBack { override fun onSuccess(activity: BaseActivity?, result: Any?, tips: String?) { binding.contentField.setText("") + getCommentList() refresh() } diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/view/dynamics/fragment/DynamicViewPager2Fragment.java b/app/src/main/java/com/xuebiping/bolizhuzi/view/dynamics/fragment/DynamicViewPager2Fragment.java new file mode 100644 index 0000000..bf1a28f --- /dev/null +++ b/app/src/main/java/com/xuebiping/bolizhuzi/view/dynamics/fragment/DynamicViewPager2Fragment.java @@ -0,0 +1,201 @@ +package com.xuebiping.bolizhuzi.view.dynamics.fragment; + +import android.content.Context; +import android.content.Intent; +import android.graphics.Color; +import android.graphics.Typeface; +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ImageView; +import android.widget.RelativeLayout; + +import androidx.fragment.app.Fragment; +import androidx.viewpager.widget.ViewPager; + +import com.fengliyan.base.base.AnyCallback; +import com.xuebiping.bolizhuzi.R; +import com.xuebiping.bolizhuzi.controller.main.adapter.MainViewPagerAdapter; +import com.xuebiping.bolizhuzi.controller.main.adapter.ScaleTransitionPagerTitleView; +import com.xuebiping.bolizhuzi.view.base.BaseActivity; +import com.xuebiping.bolizhuzi.view.dynamics.activity.DynamicPostActivity; +import com.xuebiping.bolizhuzi.view.main.SearchActivity; + +import net.lucode.hackware.magicindicator.MagicIndicator; +import net.lucode.hackware.magicindicator.ViewPagerHelper; +import net.lucode.hackware.magicindicator.buildins.UIUtil; +import net.lucode.hackware.magicindicator.buildins.commonnavigator.CommonNavigator; +import net.lucode.hackware.magicindicator.buildins.commonnavigator.abs.CommonNavigatorAdapter; +import net.lucode.hackware.magicindicator.buildins.commonnavigator.abs.IPagerIndicator; +import net.lucode.hackware.magicindicator.buildins.commonnavigator.abs.IPagerTitleView; +import net.lucode.hackware.magicindicator.buildins.commonnavigator.indicators.LinePagerIndicator; +import net.lucode.hackware.magicindicator.buildins.commonnavigator.titles.SimplePagerTitleView; + +import java.util.ArrayList; +import java.util.List; + +import static android.app.Activity.RESULT_OK; + +public class DynamicViewPager2Fragment extends Fragment implements View.OnClickListener { + + private MagicIndicator mMagicIndicator; + private RelativeLayout mRl_home_search; + private ViewPager mDynamicViewPager; + + private List mDataList = new ArrayList<>(); + private int mIndex = 1; + + private MainViewPagerAdapter mViewPagerAdapter; + private List mDynamicFragments = new ArrayList<>(); + private RecentDynamicFragment mRecent; + private FollowUsersDynamicFragment mFocusFragment; + private ImageView mAddFeedBtn; + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + View v = inflater.inflate(R.layout.fragment_dynamic_view_pager2, container, false); + initView(v); + return v; + } + + @Override + public void onHiddenChanged(boolean hidden) { + if (!hidden) { + ((BaseActivity) getActivity()).hideTitleBar(); + } + } + + private void initView(View v) { + + mMagicIndicator = v.findViewById(R.id.magic_indicator); + mDynamicViewPager = v.findViewById(R.id.dynamic_view_pager); + mRl_home_search = v.findViewById(R.id.rl_home_search); + mAddFeedBtn = v.findViewById(R.id.addFeedBtn); + + mRecent = new RecentDynamicFragment(); + mFocusFragment = new FollowUsersDynamicFragment(); + + mDynamicFragments.add(mFocusFragment); + mDynamicFragments.add(mRecent); + + + mViewPagerAdapter = new MainViewPagerAdapter(getChildFragmentManager(), + mDynamicFragments); + mDynamicViewPager.setAdapter(mViewPagerAdapter); + + initMagicIndicator(); + + mDynamicViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { + @Override + public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { + + } + + @Override + public void onPageSelected(int position) { + mIndex = position; + } + + @Override + public void onPageScrollStateChanged(int state) { + + } + }); + + mViewPagerAdapter.notifyDataSetChanged(); + mDynamicViewPager.setCurrentItem(mIndex); + + + mAddFeedBtn.setOnClickListener(this); + mRl_home_search.setOnClickListener(this); + } + + private void initMagicIndicator() { + mDataList.clear(); + mDataList.add("关注"); + mDataList.add("动态"); + + CommonNavigator commonNavigator = new CommonNavigator(getActivity()); + commonNavigator.setAdapter(new CommonNavigatorAdapter() { + @Override + public int getCount() { + return mDataList == null ? 0 : mDataList.size(); + } + + @Override + public IPagerTitleView getTitleView(Context context, final int index) { + SimplePagerTitleView simplePagerTitleView = new ScaleTransitionPagerTitleView(context); + simplePagerTitleView.setText(mDataList.get(index)); + simplePagerTitleView.setTextSize(20); + simplePagerTitleView.setTypeface(Typeface.defaultFromStyle(Typeface.BOLD));//加粗 + simplePagerTitleView.setNormalColor(Color.parseColor("#33000000")); + simplePagerTitleView.setSelectedColor(Color.parseColor("#000000")); + simplePagerTitleView.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + mDynamicViewPager.setCurrentItem(index); + } + }); + return simplePagerTitleView; + } + + @Override + public IPagerIndicator getIndicator(Context context) { + + LinePagerIndicator indicator = new LinePagerIndicator(context); + indicator.setColors(getResources().getColor(R.color.yellow_ffd33e)); + indicator.setLineHeight(UIUtil.dip2px(context, 10)); + indicator.setMode(LinePagerIndicator.MODE_WRAP_CONTENT); + return null; + } + }); + mMagicIndicator.setNavigator(commonNavigator); + ViewPagerHelper.bind(mMagicIndicator, mDynamicViewPager); + } + + public static int REQUEST_POST = 206; + + @Override + public void onActivityResult(int requestCode, int resultCode, Intent data) { + super.onActivityResult(requestCode, resultCode, data); + if (requestCode == REQUEST_POST && resultCode == RESULT_OK) { + clickRefresh(); + } + } + + public void clickRefresh() { + if (mIndex == 1) { + if (null != mRecent) { + mRecent.getDynamicList(1, 1); + } + } else { + mDynamicViewPager.setCurrentItem(1, false); + } + } + + void chooseFeedType() { + ChooseFeedTypeDialog dialog = new ChooseFeedTypeDialog(getActivity()); + dialog.setCallback(new AnyCallback() { + @Override + public void callback(ChooseFeedTypeDialog.FeedType feedType) { + Intent intent = new Intent(getActivity(), DynamicPostActivity.class); + intent.putExtra("isVideo", feedType == ChooseFeedTypeDialog.FeedType.Video); + getActivity().startActivityForResult(intent, REQUEST_POST); + } + }); + dialog.show(); + } + + @Override + public void onClick(View view) { + + if (view == mRl_home_search) { + Intent intent = new Intent(getActivity(), SearchActivity.class); + startActivity(intent); + }else if (view == mAddFeedBtn) { + chooseFeedType(); + } + } +} diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/view/dynamics/fragment/FollowUsersDynamicFragment.java b/app/src/main/java/com/xuebiping/bolizhuzi/view/dynamics/fragment/FollowUsersDynamicFragment.java index ec62f35..504d154 100644 --- a/app/src/main/java/com/xuebiping/bolizhuzi/view/dynamics/fragment/FollowUsersDynamicFragment.java +++ b/app/src/main/java/com/xuebiping/bolizhuzi/view/dynamics/fragment/FollowUsersDynamicFragment.java @@ -3,6 +3,7 @@ package com.xuebiping.bolizhuzi.view.dynamics.fragment; import android.content.Intent; import android.os.Bundle; import android.os.Parcelable; +import android.text.TextUtils; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -11,10 +12,14 @@ import android.widget.AbsListView; import androidx.fragment.app.Fragment; import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; +import com.fengliyan.uikit.dialog.BottomGiftDialog; +import com.fengliyan.uikit.dialog.DialogGiftBean; +import com.fengliyan.uikit.dialog.GiftListBean; import com.xuebiping.bolizhuzi.R; import com.xuebiping.bolizhuzi.controller.dynamics.adapter.DynamicsAdapter1; import com.xuebiping.bolizhuzi.controller.dynamics.manager.DynamicsManager; import com.xuebiping.bolizhuzi.controller.eventBus.DynamicLikeEvent; +import com.xuebiping.bolizhuzi.controller.main.manager.MainManager; import com.xuebiping.bolizhuzi.model.dynamics.DynamicsItemBean; import com.xuebiping.bolizhuzi.model.dynamics.DynamicsListBean; import com.xuebiping.bolizhuzi.model.main.BannerBean; @@ -29,6 +34,7 @@ import com.xuebiping.bolizhuzi.view.main.ComplaintActivity; import com.fengliyan.uikit.dialog.BottomSelectiveDialog; import com.fengliyan.uikit.refresh.LoadMoreListView; import com.fengliyan.uikit.toast.MaleToast; +import com.xuebiping.bolizhuzi.view.settings.CaibeiRechargeActivity; import java.util.ArrayList; import java.util.List; @@ -111,7 +117,8 @@ public class FollowUsersDynamicFragment extends Fragment { mAdapter.setOnGiftSendListener(new DynamicsAdapter1.OnGiftSendListener() { @Override public void onSend(DynamicsItemBean bean, int quantity) { - sendGift(bean.getId(), quantity, bean); +// sendGift(bean.getId(), quantity, bean); + getGiftData(bean.getUser_id()); } }); @@ -180,6 +187,16 @@ public class FollowUsersDynamicFragment extends Fragment { startActivity(intent); } }); + + mAdapter.dynamicCommentCallback = new DynamicsAdapter1.DynamicCommentCallback() { + @Override + public void commentDynamic(DynamicsItemBean bean) { + Intent intent = new Intent(getActivity(), DynamicDetailActivity.class); + intent.putExtra("dynamic_id", bean.getId()); + getActivity().startActivity(intent); + } + }; + mRefresh.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { @Override public void onRefresh() { @@ -201,6 +218,48 @@ public class FollowUsersDynamicFragment extends Fragment { } } + private BottomGiftDialog mGiftDialog; + + /** + * 礼物列表数据 + */ + private void getGiftData(String user_id) { + MainManager.getGiftBeans((BaseActivity) getActivity(), new HttpUiCallBack() { + @Override + public void onSuccess(BaseActivity activity, GiftListBean result, String message) { + mGiftDialog = new BottomGiftDialog(getActivity(), + R.style.SelectiveDialog); + + mGiftDialog.setGiftListBean(result); + mGiftDialog.setOnGiftItemClickedListener(new BottomGiftDialog.OnGiftItemClickedListener() { + @Override + public void onGiftClicked(final DialogGiftBean bean) { + if (!TextUtils.isEmpty(user_id)) { + sendGift(Integer.parseInt(user_id), bean.getId()); + } + } + + @Override + public void onWalletClicked() { + Intent intent = new Intent(getActivity(), CaibeiRechargeActivity.class); + startActivity(intent); + } + }); + mGiftDialog.show(); + } + + @Override + public void onFailure(BaseActivity activity, String tip) { + MaleToast.showMessage(activity, tip); + } + + @Override + public void onException(BaseActivity activity, Throwable e) { + MaleToast.showMessage(activity, "请重试"); + } + }); + } + void likeFeed(DynamicsItemBean bean) { BaseActivity activity = (BaseActivity) getActivity(); boolean isLikeParam = false; @@ -315,15 +374,22 @@ public class FollowUsersDynamicFragment extends Fragment { }); } - public void sendGift(String dynamicId, final int number, final DynamicsItemBean bean) { - DynamicsManager.sendGifts((BaseActivity) getActivity(), dynamicId, number, new HttpUiCallBack() { + /** + * 赠送礼物 + * + * @param toUid + * @param giftId + */ + private void sendGift(int toUid, int giftId) { + MainManager.sendGift((BaseActivity) getActivity(), 1, toUid, giftId, 1, new HttpUiCallBack() { @Override - public void onSuccess(BaseActivity activity, Object result, String message) { - MaleToast.showMessage(getActivity(), "礼物赠送成功"); - if (null != mAdapter) { - mAdapter.setGiftCount(number + bean.getReward_count(), bean.getId()); - mAdapter.notifyDataSetChanged(); + public void onSuccess(BaseActivity activity, GiftListBean result, String message) { + if (null != mGiftDialog) { + mGiftDialog.setCoin(result.getCoin() + ""); + mGiftDialog.dismiss(); } + MaleToast.showMessage(getActivity(), "赠送成功"); +// mSvgaDialog.show(giftUrl); } @Override @@ -333,11 +399,34 @@ public class FollowUsersDynamicFragment extends Fragment { @Override public void onException(BaseActivity activity, Throwable e) { - MaleToast.showMessage(getActivity(), "赠送失败,请重试"); + MaleToast.showMessage(getActivity(), "赠送失败"); } }); } +// public void sendGift(String dynamicId, final int number, final DynamicsItemBean bean) { +// DynamicsManager.sendGifts((BaseActivity) getActivity(), dynamicId, number, new HttpUiCallBack() { +// @Override +// public void onSuccess(BaseActivity activity, Object result, String message) { +// MaleToast.showMessage(getActivity(), "礼物赠送成功"); +// if (null != mAdapter) { +// mAdapter.setGiftCount(number + bean.getReward_count(), bean.getId()); +// mAdapter.notifyDataSetChanged(); +// } +// } +// +// @Override +// public void onFailure(BaseActivity activity, String tip) { +// MaleToast.showMessage(getActivity(), tip); +// } +// +// @Override +// public void onException(BaseActivity activity, Throwable e) { +// MaleToast.showMessage(getActivity(), "赠送失败,请重试"); +// } +// }); +// } + private void focus(String userId) { DynamicsManager.follow((BaseActivity) getActivity(), userId, diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/view/dynamics/fragment/RecentDynamicFragment.java b/app/src/main/java/com/xuebiping/bolizhuzi/view/dynamics/fragment/RecentDynamicFragment.java index 64fe00e..24edf1c 100644 --- a/app/src/main/java/com/xuebiping/bolizhuzi/view/dynamics/fragment/RecentDynamicFragment.java +++ b/app/src/main/java/com/xuebiping/bolizhuzi/view/dynamics/fragment/RecentDynamicFragment.java @@ -3,6 +3,7 @@ package com.xuebiping.bolizhuzi.view.dynamics.fragment; import android.content.Intent; import android.os.Bundle; import android.os.Parcelable; +import android.text.TextUtils; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -11,10 +12,14 @@ import android.widget.AbsListView; import androidx.fragment.app.Fragment; import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; +import com.fengliyan.uikit.dialog.BottomGiftDialog; +import com.fengliyan.uikit.dialog.DialogGiftBean; +import com.fengliyan.uikit.dialog.GiftListBean; import com.xuebiping.bolizhuzi.R; import com.xuebiping.bolizhuzi.controller.dynamics.adapter.DynamicsAdapter1; import com.xuebiping.bolizhuzi.controller.dynamics.manager.DynamicsManager; import com.xuebiping.bolizhuzi.controller.eventBus.DynamicLikeEvent; +import com.xuebiping.bolizhuzi.controller.main.manager.MainManager; import com.xuebiping.bolizhuzi.model.dynamics.DynamicsItemBean; import com.xuebiping.bolizhuzi.model.dynamics.DynamicsListBean; import com.xuebiping.bolizhuzi.model.main.BannerBean; @@ -29,6 +34,7 @@ import com.xuebiping.bolizhuzi.view.main.ComplaintActivity; import com.fengliyan.uikit.dialog.BottomSelectiveDialog; import com.fengliyan.uikit.refresh.LoadMoreListView; import com.fengliyan.uikit.toast.MaleToast; +import com.xuebiping.bolizhuzi.view.settings.CaibeiRechargeActivity; import java.util.ArrayList; import java.util.List; @@ -124,7 +130,9 @@ public class RecentDynamicFragment extends Fragment { mAdapter.setOnGiftSendListener(new DynamicsAdapter1.OnGiftSendListener() { @Override public void onSend(DynamicsItemBean bean, int quantity) { - sendGift(bean.getId(), quantity, bean); +// sendGift(bean.getId(), quantity, bean); + + getGiftData(bean.getUser_id()); } }); @@ -190,6 +198,15 @@ public class RecentDynamicFragment extends Fragment { } }); + mAdapter.dynamicCommentCallback = new DynamicsAdapter1.DynamicCommentCallback() { + @Override + public void commentDynamic(DynamicsItemBean bean) { + Intent intent = new Intent(getActivity(), DynamicDetailActivity.class); + intent.putExtra("dynamic_id", bean.getId()); + getActivity().startActivity(intent); + } + }; + mRefresh.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { @Override public void onRefresh() { @@ -211,6 +228,48 @@ public class RecentDynamicFragment extends Fragment { } } + private BottomGiftDialog mGiftDialog; + + /** + * 礼物列表数据 + */ + private void getGiftData(String user_id) { + MainManager.getGiftBeans((BaseActivity) getActivity(), new HttpUiCallBack() { + @Override + public void onSuccess(BaseActivity activity, GiftListBean result, String message) { + mGiftDialog = new BottomGiftDialog(getActivity(), + R.style.SelectiveDialog); + + mGiftDialog.setGiftListBean(result); + mGiftDialog.setOnGiftItemClickedListener(new BottomGiftDialog.OnGiftItemClickedListener() { + @Override + public void onGiftClicked(final DialogGiftBean bean) { + if (!TextUtils.isEmpty(user_id)) { + sendGift(Integer.parseInt(user_id), bean.getId()); + } + } + + @Override + public void onWalletClicked() { + Intent intent = new Intent(getActivity(), CaibeiRechargeActivity.class); + startActivity(intent); + } + }); + mGiftDialog.show(); + } + + @Override + public void onFailure(BaseActivity activity, String tip) { + MaleToast.showMessage(activity, tip); + } + + @Override + public void onException(BaseActivity activity, Throwable e) { + MaleToast.showMessage(activity, "请重试"); + } + }); + } + void likeFeed(DynamicsItemBean bean) { BaseActivity activity = (BaseActivity) getActivity(); boolean isLikeParam = false; @@ -327,16 +386,22 @@ public class RecentDynamicFragment extends Fragment { }); } - public void sendGift(String dynamicId, final int number, final DynamicsItemBean bean) { - DynamicsManager.sendGifts((BaseActivity) getActivity(), dynamicId, number, new HttpUiCallBack() { + /** + * 赠送礼物 + * + * @param toUid + * @param giftId + */ + private void sendGift(int toUid, int giftId) { + MainManager.sendGift((BaseActivity) getActivity(), 1, toUid, giftId, 1, new HttpUiCallBack() { @Override - public void onSuccess(BaseActivity activity, Object result, String message) { - MaleToast.showMessage(getActivity(), "礼物赠送成功"); - if (null != mAdapter) { - mAdapter.setGiftCount(number + bean.getReward_count(), bean.getId()); - mAdapter.notifyDataSetChanged(); + public void onSuccess(BaseActivity activity, GiftListBean result, String message) { + if (null != mGiftDialog) { + mGiftDialog.setCoin(result.getCoin() + ""); + mGiftDialog.dismiss(); } - + MaleToast.showMessage(getActivity(), "赠送成功"); +// mSvgaDialog.show(giftUrl); } @Override @@ -346,11 +411,35 @@ public class RecentDynamicFragment extends Fragment { @Override public void onException(BaseActivity activity, Throwable e) { - MaleToast.showMessage(getActivity(), "赠送失败,请重试"); + MaleToast.showMessage(getActivity(), "赠送失败"); } }); } +// public void sendGift(String dynamicId, final int number, final DynamicsItemBean bean) { +// DynamicsManager.sendGifts((BaseActivity) getActivity(), dynamicId, number, new HttpUiCallBack() { +// @Override +// public void onSuccess(BaseActivity activity, Object result, String message) { +// MaleToast.showMessage(getActivity(), "礼物赠送成功"); +// if (null != mAdapter) { +// mAdapter.setGiftCount(number + bean.getReward_count(), bean.getId()); +// mAdapter.notifyDataSetChanged(); +// } +// +// } +// +// @Override +// public void onFailure(BaseActivity activity, String tip) { +// MaleToast.showMessage(getActivity(), tip); +// } +// +// @Override +// public void onException(BaseActivity activity, Throwable e) { +// MaleToast.showMessage(getActivity(), "赠送失败,请重试"); +// } +// }); +// } + private void focus(String userId) { DynamicsManager.follow((BaseActivity) getActivity(), userId, diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/view/main/MainActivity.java b/app/src/main/java/com/xuebiping/bolizhuzi/view/main/MainActivity.java index 7448e86..482736d 100644 --- a/app/src/main/java/com/xuebiping/bolizhuzi/view/main/MainActivity.java +++ b/app/src/main/java/com/xuebiping/bolizhuzi/view/main/MainActivity.java @@ -108,6 +108,7 @@ import com.xuebiping.bolizhuzi.view.base.utils.HttpUiCallBack; import com.xuebiping.bolizhuzi.view.base.utils.view.AttentionDialog; import com.xuebiping.bolizhuzi.view.base.utils.view.KidDialog; import com.xuebiping.bolizhuzi.view.base.utils.view.KidOpenDialog; +import com.xuebiping.bolizhuzi.view.dynamics.fragment.DynamicViewPager2Fragment; import com.xuebiping.bolizhuzi.view.dynamics.fragment.DynamicViewPagerFragment; import com.xuebiping.bolizhuzi.view.login.LoginActivity; import com.xuebiping.bolizhuzi.view.login.utils.LoginUtils; @@ -124,6 +125,7 @@ import com.xuebiping.bolizhuzi.view.news.im.DemoCache; import com.xuebiping.bolizhuzi.view.settings.BindPhoneConfirmActivity; import com.xuebiping.bolizhuzi.view.settings.QuickRechargeActivity; import com.xuebiping.bolizhuzi.view.settings.SettingFragment; +import com.xuebiping.bolizhuzi.view.settings.SettingFragment2; import com.xuebiping.bolizhuzi.view.settings.dialog.GirlAuthDialog; import com.xuebiping.bolizhuzi.view.settings.dialog.SpeedCallDialog; import com.fengliyan.storage.StorageManager; @@ -167,10 +169,10 @@ public class MainActivity extends BaseActivity implements DemoHelper.AppIdsUpdat private long mExitTime; private LuckFragment luckFragment; private SwipeCardFragment swipeCardFragment; - private DynamicViewPagerFragment mDynamicViewPagerFragment; + private DynamicViewPager2Fragment mDynamicViewPagerFragment; private MainRecommend2Fragment mMainRecommendFragment; private MainMessageFragment mMainMessageFragment; - private SettingFragment mSettingFragment; + private SettingFragment2 mSettingFragment; private Disposable mDisposable; private boolean isLoginViewShowed; private UpdateDialog mUpdateDialog; @@ -1057,7 +1059,7 @@ public class MainActivity extends BaseActivity implements DemoHelper.AppIdsUpdat } } if (mDynamicViewPagerFragment == null) { - mDynamicViewPagerFragment = new DynamicViewPagerFragment(); + mDynamicViewPagerFragment = new DynamicViewPager2Fragment(); } if (mMainRecommendFragment == null) { mMainRecommendFragment = new MainRecommend2Fragment(); @@ -1066,7 +1068,7 @@ public class MainActivity extends BaseActivity implements DemoHelper.AppIdsUpdat mMainMessageFragment = new MainMessageFragment(); } if (mSettingFragment == null) { - mSettingFragment = new SettingFragment(); + mSettingFragment = new SettingFragment2(); } mBottomTab.addTab(mMainRecommendFragment); @@ -1152,7 +1154,7 @@ public class MainActivity extends BaseActivity implements DemoHelper.AppIdsUpdat finish(); } else if (REQUEST_FINISH == requestCode && RESULT_LOGIN == resultCode) { handleLoginInfo(null); - } else if (SettingFragment.SETTING_SOCIAL_CHANGE_RESULT == resultCode && SettingFragment.SETTING_SOCIAL_REQUEST == requestCode) { + } else if (SettingFragment2.SETTING_SOCIAL_CHANGE_RESULT == resultCode && SettingFragment2.SETTING_SOCIAL_REQUEST == requestCode) { mSettingFragment.getUserInfo(); } // else if (requestCode == 10010 && resultCode == RESULT_OK) { diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/view/main/MainRecommend2Fragment.java b/app/src/main/java/com/xuebiping/bolizhuzi/view/main/MainRecommend2Fragment.java index 9e23058..c44882c 100644 --- a/app/src/main/java/com/xuebiping/bolizhuzi/view/main/MainRecommend2Fragment.java +++ b/app/src/main/java/com/xuebiping/bolizhuzi/view/main/MainRecommend2Fragment.java @@ -62,7 +62,7 @@ public class MainRecommend2Fragment extends Fragment implements View.OnClickList private MainNewPeopleFragment mNewPeopleFragment; private MainFiveStarFragment mFiveStarFragment; private MainFourStarFragment mFourStarFragment; - private MainThreeStarFragment mThreeStarFragment; + private MainRecommendActiveFragment mThreeStarFragment; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, @@ -97,7 +97,7 @@ public class MainRecommend2Fragment extends Fragment implements View.OnClickList mNewPeopleFragment = new MainNewPeopleFragment(); mFiveStarFragment = new MainFiveStarFragment(); mFourStarFragment = new MainFourStarFragment(); - mThreeStarFragment = new MainThreeStarFragment(); + mThreeStarFragment = new MainRecommendActiveFragment(); mChannelFragments.add(mLookMeFragment); mChannelFragments.add(mRecommendFragment); @@ -277,7 +277,8 @@ public class MainRecommend2Fragment extends Fragment implements View.OnClickList @Override public void onClick(View view) { if (view == mRl_home_search) { - MaleToast.showMessage(getActivity(), "搜索"); + Intent intent = new Intent(getActivity(), SearchActivity.class); + startActivity(intent); }else if (view == mLl_select) { ShaiXuanDialog shaiXuanDialog = new ShaiXuanDialog(getActivity()); diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/view/main/SearchActivity.java b/app/src/main/java/com/xuebiping/bolizhuzi/view/main/SearchActivity.java index 1f8dd8f..8991360 100644 --- a/app/src/main/java/com/xuebiping/bolizhuzi/view/main/SearchActivity.java +++ b/app/src/main/java/com/xuebiping/bolizhuzi/view/main/SearchActivity.java @@ -64,7 +64,7 @@ public class SearchActivity extends BaseActivity implements View.OnClickListener String searchText = mSearchEdit.getText().toString(); if (TextUtils.isEmpty(searchText)) { mListView.setVisibility(View.GONE); - mOptionView.setVisibility(View.VISIBLE); +// mOptionView.setVisibility(View.VISIBLE); } else { search(); } @@ -130,7 +130,7 @@ public class SearchActivity extends BaseActivity implements View.OnClickListener private void initTitle() { Title title = getCustomTitle(); - title.findViewById(R.id.title_bg).setBackgroundResource(R.color.yellow_ffd33e); + title.findViewById(R.id.title_bg).setBackgroundResource(R.color.white); title.dismissBottomLine(); title.dimissRight(); title.dismissLeft(); @@ -155,7 +155,7 @@ public class SearchActivity extends BaseActivity implements View.OnClickListener MainManager.search(this, mSelectedType, searchText, mSelectedGender, new HttpUiCallBack() { @Override public void onSuccess(BaseActivity activity, SearchListBean result, String message) { - mOptionView.setVisibility(View.GONE); +// mOptionView.setVisibility(View.GONE); mListView.setVisibility(View.VISIBLE); mSearchList.clear(); mSearchList.addAll(result.getList()); diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/SettingFragment.java b/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/SettingFragment.java index c8dda4c..81cd702 100644 --- a/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/SettingFragment.java +++ b/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/SettingFragment.java @@ -1,8 +1,11 @@ package com.xuebiping.bolizhuzi.view.settings; +import android.content.ClipData; +import android.content.ClipboardManager; import android.content.Context; import android.content.Intent; import android.os.Bundle; +import android.text.TextUtils; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -137,6 +140,7 @@ public class SettingFragment extends Fragment implements View.OnClickListener { private View mLiVipGo; private boolean isVip; private LinearLayout ll_go_edit_layout; + private String mUsercode; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, @@ -241,6 +245,7 @@ public class SettingFragment extends Fragment implements View.OnClickListener { rl_vip.setOnClickListener(this); // ll_mine_video_chat.setOnClickListener(this); ll_certification.setOnClickListener(this); + tv_qingyu_id.setOnClickListener(this); UserManager.getInstance().registerUserInfoObserver(new Observer() { @Override public void onSubscribe(Disposable d) { @@ -286,7 +291,8 @@ public class SettingFragment extends Fragment implements View.OnClickListener { user_head.setImageURI(ConstUrl.IMAGE_URL + result.getUserinfo().getAvatar()); tv_nick_name.setText(result.getUserinfo().getNickname()); tv_age.setText(result.getUserinfo().getAge() + ""); - tv_qingyu_id.setText("用户号:" + result.getUserinfo().getUsercode()); + mUsercode = result.getUserinfo().getUsercode(); + tv_qingyu_id.setText("ID:" + mUsercode); //1=超级会员 0=普通会员 2=没有会员 if (0 == result.getUserinfo().getVip()) { isVip = true; @@ -715,11 +721,31 @@ public class SettingFragment extends Fragment implements View.OnClickListener { intent.putExtra("userId", SPUtils.getInt(getActivity(), ConsUser.USER_ID)); startActivity(intent); break; + case R.id.tv_qingyu_id: + if (!TextUtils.isEmpty(mUsercode)) { + clipUrlData(mUsercode); + } + break; } } } } + /** + * 将分享链接地址复制到剪切板 + */ + public void clipUrlData(String content) { + //获取剪贴板管理器: + ClipboardManager cm = (ClipboardManager) getActivity().getSystemService(Context.CLIPBOARD_SERVICE); + // 创建普通字符型ClipData + ClipData mClipData = ClipData.newPlainText("Label", content); + // 将ClipData内容放到系统剪贴板里。 + cm.setPrimaryClip(mClipData); + + MaleToast.showMessage(getActivity(), "复制成功"); + + } + @Override public void onDestroy() { super.onDestroy(); diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/SettingFragment2.java b/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/SettingFragment2.java new file mode 100644 index 0000000..b0468f4 --- /dev/null +++ b/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/SettingFragment2.java @@ -0,0 +1,850 @@ +package com.xuebiping.bolizhuzi.view.settings; + +import android.content.ClipData; +import android.content.ClipboardManager; +import android.content.Context; +import android.content.Intent; +import android.os.Bundle; +import android.text.TextUtils; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.RelativeLayout; +import android.widget.Switch; +import android.widget.TextView; + +import androidx.constraintlayout.widget.ConstraintLayout; +import androidx.core.content.ContextCompat; +import androidx.fragment.app.Fragment; + +import com.blankj.utilcode.util.GsonUtils; +import com.facebook.drawee.view.SimpleDraweeView; +import com.fengliyan.device.DeviceManager; +import com.fengliyan.http.httprequest.HttpCallback; +import com.fengliyan.storage.StorageManager; +import com.fengliyan.uikit.toast.MaleToast; +import com.flyco.roundview.RoundLinearLayout; +import com.flyco.roundview.RoundTextView; +import com.opensource.svgaplayer.SVGADrawable; +import com.opensource.svgaplayer.SVGAImageView; +import com.opensource.svgaplayer.SVGAParser; +import com.opensource.svgaplayer.SVGAVideoEntity; +import com.xuebiping.bolizhuzi.R; +import com.xuebiping.bolizhuzi.controller.constant.ConsUser; +import com.xuebiping.bolizhuzi.controller.constant.ConstUrl; +import com.xuebiping.bolizhuzi.controller.eventBus.BeAnchorEvent; +import com.xuebiping.bolizhuzi.controller.eventBus.RegisterInfoEvent; +import com.xuebiping.bolizhuzi.controller.eventBus.SocialToSettingEvent; +import com.xuebiping.bolizhuzi.controller.main.manager.MainManager; +import com.xuebiping.bolizhuzi.controller.settings.adapter.constant.SettingOptions; +import com.xuebiping.bolizhuzi.controller.settings.manager.SettingManager; +import com.xuebiping.bolizhuzi.controller.user.manager.UserManager; +import com.xuebiping.bolizhuzi.im.uikit.api.NimUIKit; +import com.xuebiping.bolizhuzi.im.uikit.common.Constans; +import com.xuebiping.bolizhuzi.im.uikit.common.ToastHelper; +import com.xuebiping.bolizhuzi.model.login.bean.LoginBean; +import com.xuebiping.bolizhuzi.model.main.MainPageAnchorBean; +import com.xuebiping.bolizhuzi.model.settings.UserFrameBean; +import com.xuebiping.bolizhuzi.model.settings.UserHomeBean; +import com.xuebiping.bolizhuzi.model.settings.WalletIndexBean; +import com.xuebiping.bolizhuzi.model.user.bean.BaseUserInfo; +import com.xuebiping.bolizhuzi.utils.NoClearSPUtils; +import com.xuebiping.bolizhuzi.utils.SPUtils; +import com.xuebiping.bolizhuzi.utils.StrU; +import com.xuebiping.bolizhuzi.view.base.BaseActivity; +import com.xuebiping.bolizhuzi.view.base.BaseApplication; +import com.xuebiping.bolizhuzi.view.base.BaseWebViewActivity; +import com.xuebiping.bolizhuzi.view.base.utils.HttpUiCallBack; +import com.xuebiping.bolizhuzi.view.main.MainPageActivity; +import com.xuebiping.bolizhuzi.view.main.dialog.ShaiXuanDialog; +import com.xuebiping.bolizhuzi.view.news.activity.ChatActivity; +import com.xuebiping.bolizhuzi.view.rank.ZhiRankActivity; +import com.xuebiping.bolizhuzi.view.settings.dialog.FreeVipDialog; +import com.xuebiping.bolizhuzi.view.settings.greeting.GreetingSettingActivity; + +import org.jetbrains.annotations.NotNull; + +import java.io.File; +import java.net.MalformedURLException; +import java.net.URL; +import java.util.ArrayList; +import java.util.List; + +import de.greenrobot.event.EventBus; +import io.reactivex.Observer; +import io.reactivex.disposables.Disposable; + +public class SettingFragment2 extends Fragment implements View.OnClickListener { + public static int SETTING_SOCIAL_REQUEST = 105; + public static int SETTING_SOCIAL_CHANGE_RESULT = 214; + private ConstraintLayout rl_user_info; + private SimpleDraweeView user_head; + private SimpleDraweeView user_avatar_frame; + private SVGAImageView svga_image_view; + private TextView tv_nick_name; + private TextView tv_age; + private TextView tv_qingyu_id; + private ImageView iv_user_icon1; + private ImageView iv_user_icon2; + private ImageView iv_user_icon3; + private ImageView iv_user_icon4; + private LinearLayout ll_foucs; + private TextView tv_foucus_num; + private ConstraintLayout ll_fans; + private TextView tv_fans_num; + private RoundTextView rtv_new_fans_num; + private ConstraintLayout ll_scan; + private TextView tv_scan_num; + private RoundTextView rtv_new_scan_num; + private LinearLayout ll_foot; + private TextView tv_foot_num; + private LinearLayout cl_invite; + private RelativeLayout rl_vip; + private LinearLayout cl_income; + private LinearLayout ll_income; + + + private TextView tv_income_num; + + //private ConstraintLayout cl_recharge; + //private TextView tv_recharge; + // private TextView tv_recharge_hint; + + + private LinearLayout lin_my_list1; + private LinearLayout lin_my_list2; + private TextView tv_go_homepage; + //private LinearLayout ll_mine_video_chat; + + private List mOptions1 = new ArrayList<>(); + + private Disposable mDisponsable; + private int mVideoEnableFlag; + private int gender; + + private FreeVipDialog mFreeVipDialog; + private View mLlVip; + private View mLiVipGo; + private boolean isVip; + private LinearLayout ll_go_edit_layout; + private String mUsercode; + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + View v = inflater.inflate(R.layout.fragment_setting2, container, false); + initView(v); + initTitle(); +// getUserInfo(); +// getWalletIndex(); + + EventBus.getDefault().register(this); + return v; + } + + @Override + public void onHiddenChanged(boolean hidden) { + if (!hidden) { + initTitle(); + getUserInfo(); + } + } + + @Override + public void onResume() { + super.onResume(); + getWalletIndex(); + getUserInfo(); + } + + private void initView(View v) { + rl_user_info = v.findViewById(R.id.rl_user_info); + ll_go_edit_layout = v.findViewById(R.id.ll_go_edit_layout); + user_avatar_frame = v.findViewById(R.id.user_avatar_frame); + svga_image_view = v.findViewById(R.id.svga_image_view); + user_head = v.findViewById(R.id.user_head); + tv_nick_name = v.findViewById(R.id.tv_nick_name); + tv_age = v.findViewById(R.id.tv_age); + tv_qingyu_id = v.findViewById(R.id.tv_qingyu_id); + iv_user_icon1 = v.findViewById(R.id.iv_user_icon1); + iv_user_icon2 = v.findViewById(R.id.iv_user_icon2); + iv_user_icon3 = v.findViewById(R.id.iv_user_icon3); + iv_user_icon4 = v.findViewById(R.id.iv_user_icon4); + ll_foucs = v.findViewById(R.id.ll_foucs); + tv_foucus_num = v.findViewById(R.id.tv_foucus_num); + ll_fans = v.findViewById(R.id.ll_fans); + tv_fans_num = v.findViewById(R.id.tv_fans_num); + rtv_new_fans_num = v.findViewById(R.id.rtv_new_fans_num); + ll_scan = v.findViewById(R.id.ll_scan); + tv_scan_num = v.findViewById(R.id.tv_scan_num); + rtv_new_scan_num = v.findViewById(R.id.rtv_new_scan_num); + ll_foot = v.findViewById(R.id.ll_foot); + + tv_foot_num = v.findViewById(R.id.tv_foot_num); + cl_invite = v.findViewById(R.id.cl_invite); + + + rl_vip = v.findViewById(R.id.rl_vip); + + cl_income = v.findViewById(R.id.cl_income); + ll_income = v.findViewById(R.id.ll_income); + + tv_income_num = v.findViewById(R.id.tv_income_num); + + lin_my_list1 = v.findViewById(R.id.lin_my_list1); + lin_my_list2 = v.findViewById(R.id.lin_my_list2); + tv_go_homepage = v.findViewById(R.id.tv_go_homepage); + + rl_user_info.setOnClickListener(this); + ll_go_edit_layout.setOnClickListener(this); + tv_go_homepage.setOnClickListener(this); + ll_foucs.setOnClickListener(this); + ll_fans.setOnClickListener(this); + ll_scan.setOnClickListener(this); + ll_foot.setOnClickListener(this); + + cl_invite.setOnClickListener(this); + + ll_income.setOnClickListener(this); + cl_income.setOnClickListener(this); + rl_vip.setOnClickListener(this); + + tv_qingyu_id.setOnClickListener(this); + UserManager.getInstance().registerUserInfoObserver(new Observer() { + @Override + public void onSubscribe(Disposable d) { + mDisponsable = d; + } + + @Override + public void onNext(BaseUserInfo userInfo) { + if (null == userInfo || 0 == userInfo.getUser_id()) { + return; + } + getUserInfo(); + getWalletIndex(); + } + + @Override + public void onError(Throwable e) { + + } + + @Override + public void onComplete() { + + } + }); + } + + private void initTitle() { + ((BaseActivity) getActivity()).hideTitleBar(); + } + + private boolean isShowAd = false; + + public void getUserInfo() { + SettingManager.getHomeUser((BaseActivity) getActivity(), new HttpUiCallBack() { + @Override + public void onSuccess(BaseActivity activity, UserHomeBean result, String message) { + save(result); + if (!isShowAd) { + EventBus.getDefault().post(new RegisterInfoEvent(result.getUserinfo().getNewer_win_status())); + isShowAd = true; + } + user_head.setImageURI(ConstUrl.IMAGE_URL + result.getUserinfo().getAvatar()); + tv_nick_name.setText(result.getUserinfo().getNickname()); + tv_age.setText(result.getUserinfo().getAge() + ""); + mUsercode = result.getUserinfo().getUsercode(); + tv_qingyu_id.setText("ID:" + mUsercode); + //1=超级会员 0=普通会员 2=没有会员 + if (0 == result.getUserinfo().getVip()) { + isVip = true; + iv_user_icon1.setVisibility(View.VISIBLE); + iv_user_icon2.setVisibility(View.GONE); + } else if (1 == result.getUserinfo().getVip()) { + isVip = true; + iv_user_icon1.setVisibility(View.GONE); + iv_user_icon2.setVisibility(View.VISIBLE); + } else { + isVip = false; + iv_user_icon1.setVisibility(View.GONE); + iv_user_icon2.setVisibility(View.GONE); + } + SPUtils.saveBoolean(getActivity(), ConsUser.USER_VIP, isVip); + SPUtils.saveString(getActivity(), ConsUser.HIDE_READ_MSG, result.getHide_read_msg()); + //0.无标识 1.真人标识 2.新人标识 + if (1 == result.getUserinfo().getMark()) { + iv_user_icon3.setVisibility(View.VISIBLE); + iv_user_icon3.setImageResource(R.drawable.setting_my_icon31); + } else if (2 == result.getUserinfo().getMark()) { + iv_user_icon3.setVisibility(View.VISIBLE); + iv_user_icon3.setImageResource(R.drawable.setting_my_icon3); + } else { + iv_user_icon3.setVisibility(View.GONE); + } + //1手机号为空 2存在手机号 + if (2 == result.getUserinfo().getIs_mobile()) { + iv_user_icon4.setVisibility(View.VISIBLE); + } else { + iv_user_icon4.setVisibility(View.GONE); + } + + tv_foucus_num.setText(result.getUsercount().getFollow_count() + ""); + tv_fans_num.setText(result.getUsercount().getFans_count() + ""); + if (0 != result.getUsercount().getNew_fans_count()) { + rtv_new_fans_num.setVisibility(View.VISIBLE); + rtv_new_fans_num.setText(result.getUsercount().getNew_fans_count() + ""); + } else { + rtv_new_fans_num.setVisibility(View.GONE); + } + tv_scan_num.setText(result.getUsercount().getVisitor_count()); + if (0 != result.getUsercount().getNew_visitor_count()) { + rtv_new_scan_num.setVisibility(View.VISIBLE); + rtv_new_scan_num.setText(result.getUsercount().getNew_visitor_count() + ""); + } else { + rtv_new_scan_num.setVisibility(View.GONE); + } + tv_foot_num.setText(result.getUsercount().getFootprint_count()); + if (result.getSwitchX() != null) { + mVideoEnableFlag = result.getSwitchX().getOpen_video_status(); + } + mOptions1.clear(); + + mOptions1.add(SettingOptions.RANK); + mOptions1.add(SettingOptions.DONOTMODEL); + mOptions1.add(SettingOptions.MEMBER); + mOptions1.add(SettingOptions.SETFRIEND); + mOptions1.add(SettingOptions.WALLET); + mOptions1.add(SettingOptions.TASK); + mOptions1.add(SettingOptions.MYMYINTIMACY); + mOptions1.add(SettingOptions.UPAUTH); + mOptions1.add(SettingOptions.CUSTOMER); + mOptions1.add(SettingOptions.SETTING); + addOption(mOptions1, lin_my_list1); + + gender = result.getUserinfo().getGender(); + if (result.getUserinfo().getGender() == 2) { + if (result.getUserinfo().getAvatar_hide() == 0 && isVip) { + user_avatar_frame.setVisibility(View.VISIBLE); + user_avatar_frame.setImageResource(R.mipmap.privilege_avatar_border_man1); + } else { + user_avatar_frame.setVisibility(View.GONE); + } + //男 + tv_age.setCompoundDrawablesWithIntrinsicBounds(ContextCompat.getDrawable(activity, R.drawable.icon_man), null, null, null); + + } else { + //女 + if (result.getUserinfo().getAvatar_hide() == 0 && isVip) { + user_avatar_frame.setVisibility(View.VISIBLE); + user_avatar_frame.setImageResource(R.mipmap.privilege_avatar_border1); + } else { + user_avatar_frame.setVisibility(View.GONE); + } + + tv_age.setCompoundDrawablesWithIntrinsicBounds(ContextCompat.getDrawable(activity, R.drawable.icon_women), null, null, null); + + } + + if (result.getUserinfo().getUser_frame() != null) { + SPUtils.saveString(getActivity(), ConsUser.MY_AVATAR_FRAME, GsonUtils.toJson(result.getUserinfo().getUser_frame())); + UserFrameBean bean = result.getUserinfo().getUser_frame(); + if (bean.getProfile_frame() != null) { + if (!StrU.isEmpty(bean.getProfile_frame().getEffect())) { + user_avatar_frame.setVisibility(View.GONE); + svga_image_view.setVisibility(View.VISIBLE); + showSVGA(bean.getProfile_frame().getEffect()); + } else { + if (!StrU.isEmpty(bean.getProfile_frame().getImg())) { + user_avatar_frame.setVisibility(View.VISIBLE); + user_avatar_frame.setImageURI(ConstUrl.IMAGE_URL + bean.getProfile_frame().getImg()); + svga_image_view.setVisibility(View.GONE); + } + } + } + + if (bean.getBubble_frame() != null) { + if (!StrU.isEmpty(bean.getBubble_frame().getImg())) { + String[] strings = bean.getBubble_frame().getImg().split("/"); + String path = strings[strings.length - 1]; + File pngFile = new File(ConstUrl.DEFAULT_PATH, path); + if (!pngFile.exists()) { + MainManager.downloadNewApp((BaseActivity) getActivity(), ConstUrl.IMAGE_URL + bean.getBubble_frame().getImg(), + ConstUrl.DEFAULT_PATH + "/" + path, + new HttpCallback() { + @Override + public void onFailure(int httpStatusCode, String message, Throwable throwable) { + } + + @Override + public void onSuccess(int httpStatusCode, String responseObject) { + } + + @Override + public void onProgress(long bytesCount, long contentLength, boolean done) { + } + }); + + } + } + } + } else { + SPUtils.saveString(getActivity(), ConsUser.MY_AVATAR_FRAME, ""); + } + } + + @Override + public void onFailure(BaseActivity activity, String tip) { + + } + + @Override + public void onException(BaseActivity activity, Throwable e) { + + } + }); + } + + private void getWalletIndex() { + SettingManager.getWalletIndex((BaseActivity) getActivity(), new HttpUiCallBack() { + @Override + public void onSuccess(BaseActivity activity, WalletIndexBean result, String message) { + tv_income_num.setText(result.getAccount().getCoin() + ""); + } + + @Override + public void onFailure(BaseActivity activity, String tip) { + + } + + @Override + public void onException(BaseActivity activity, Throwable e) { + + } + }); + } + + private void changeVideoStatus() { + MainManager.changeVideoStatus((BaseActivity) getActivity(), + (mVideoEnableFlag == 1 ? 0 : 1), new HttpUiCallBack() { + @Override + public void onSuccess(BaseActivity activity, MainPageAnchorBean result, String message) { + mVideoEnableFlag = result.getOpen_video_status(); + addOption(mOptions1, lin_my_list1); + } + + @Override + public void onFailure(BaseActivity activity, String tip) { + MaleToast.showMessage(activity, tip); + + } + + @Override + public void onException(BaseActivity activity, Throwable e) { + + } + }); + } + + private void showSVGA(String effect) { + SVGAParser mSVGAParser = SVGAParser.Companion.shareParser(); + mSVGAParser.init(requireActivity()); + try { + mSVGAParser.decodeFromURL(new URL(ConstUrl.IMAGE_URL + effect), new SVGAParser.ParseCompletion() { + @Override + public void onComplete(@NotNull SVGAVideoEntity svgaVideoEntity) { + SVGADrawable drawable = new SVGADrawable(svgaVideoEntity); + svga_image_view.setImageDrawable(drawable); + svga_image_view.startAnimation(); + } + + @Override + public void onError() { + } + }); + } catch (MalformedURLException e) { + e.printStackTrace(); + } + } + + /** + * 保存头像到本地 + * + * @param result + */ + private void save(UserHomeBean result) { + LoginBean loginBean = (LoginBean) StorageManager.getInstance(getActivity()).getBean("loginBean", LoginBean.class); + loginBean.getUserinfo().setAvatar(result.getUserinfo().getAvatar()); + loginBean.getUserinfo().setIs_anchor(result.getUserinfo().getIs_anchor()); + loginBean.getUserinfo().setIs_face_status(result.getUserinfo().getIs_face_status()); + loginBean.getUserinfo().setReal_name_status(result.getUserinfo().getReal_name_status()); + loginBean.getUserinfo().setMobile(result.getUserinfo().getMobile()); + loginBean.getUserinfo().setUser_type(result.getUserinfo().getUser_type()); + StorageManager.getInstance(getActivity()).putBean("loginBean", loginBean); + UserManager.setUserInfo(loginBean.getUserinfo()); + BaseApplication.getInstance().setUserInfo(loginBean.getUserinfo()); + } + + @Override + public void onClick(View view) { + + Intent intent; + switch (view.getId()) { + case R.id.ll_go_edit_layout://编辑资料 + intent = new Intent(getActivity(), InfoEditActivity.class); + startActivity(intent); + break; + case R.id.ll_foucs://关注 + intent = new Intent(getActivity(), SocialActivity.class); + intent.putExtra("socialType", 0); + getActivity().startActivityForResult(intent, SETTING_SOCIAL_REQUEST); + break; + case R.id.ll_fans://粉丝 + intent = new Intent(getActivity(), SocialActivity.class); + intent.putExtra("socialType", 1); + getActivity().startActivityForResult(intent, SETTING_SOCIAL_REQUEST); + break; + case R.id.ll_scan://来访 + intent = new Intent(getActivity(), SocialActivity.class); + intent.putExtra("socialType", 2); + startActivity(intent); + break; + case R.id.ll_foot://足迹 + intent = new Intent(getActivity(), SocialActivity.class); + intent.putExtra("socialType", 3); + startActivity(intent); + break; + case R.id.cl_invite://邀请 + intent = new Intent(getActivity(), InvitationActivity.class); + startActivity(intent); + break; + case R.id.cl_income: + case R.id.ll_income: + intent = new Intent(getActivity(), CaibeiRechargeActivity.class); + startActivity(intent); + break; + case R.id.rl_vip: + intent = new Intent(getActivity(), MemberActivity.class); + intent.putExtra("index", 0); + startActivity(intent); + break; + case R.id.tv_go_homepage: //主页 + intent = new Intent(getActivity(), MainPageActivity.class); + intent.putExtra("userId", SPUtils.getInt(getActivity(), ConsUser.USER_ID)); + startActivity(intent); + break; + case R.id.tv_qingyu_id: + if (!TextUtils.isEmpty(mUsercode)) { + clipUrlData(mUsercode); + } + break; + } + } + + /** + * 将分享链接地址复制到剪切板 + */ + public void clipUrlData(String content) { + //获取剪贴板管理器: + ClipboardManager cm = (ClipboardManager) getActivity().getSystemService(Context.CLIPBOARD_SERVICE); + // 创建普通字符型ClipData + ClipData mClipData = ClipData.newPlainText("Label", content); + // 将ClipData内容放到系统剪贴板里。 + cm.setPrimaryClip(mClipData); + + MaleToast.showMessage(getActivity(), "复制成功"); + + } + + @Override + public void onDestroy() { + super.onDestroy(); + mDisponsable.dispose(); + EventBus.getDefault().unregister(this); + } + + //提交申请通过后,刷新界面 + public void onEventMainThread(BeAnchorEvent event) { + getUserInfo(); + } + + //监听从粉丝界面或者最近来访界面回来 + public void onEventMainThread(SocialToSettingEvent event) { + int type = event.getType(); + if (type == 1) { //粉丝 + rtv_new_fans_num.setVisibility(View.GONE); + } else if (type == 2) { //最近来访 + rtv_new_scan_num.setVisibility(View.GONE); + } + } + + private void addOption(List list, LinearLayout layout) { + layout.removeAllViews(); + LayoutInflater inflater = (LayoutInflater) getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE); + for (int i = 0; i < list.size(); i++) { + View view = inflater.inflate(R.layout.item_setting_option, null); + ImageView mLogo = view.findViewById(R.id.setting_option_logo); + TextView mName = view.findViewById(R.id.setting_option_name); + ImageView mArrow = view.findViewById(R.id.iv_option_arrow); + TextView mHint = view.findViewById(R.id.tv_option_hint); + Switch mSwitch = view.findViewById(R.id.st_option_switch); + SettingOptions options = list.get(i); + switch (options) { + case VIDEO: + mSwitch.setChecked(mVideoEnableFlag == 1); + mSwitch.setVisibility(View.VISIBLE); + mHint.setVisibility(View.GONE); + mArrow.setVisibility(View.GONE); + mLogo.setImageResource(R.mipmap.icon_my_video); + mName.setText("视频聊天"); + mSwitch.setOnClickListener(v -> changeVideoStatus()); + break; + case CONTRACT: + mSwitch.setVisibility(View.GONE); + mHint.setVisibility(View.GONE); + mArrow.setVisibility(View.VISIBLE); + mLogo.setImageResource(R.drawable.ic_my_certified); + mName.setText("价格设置"); + view.setOnClickListener(view12 -> { + Intent intent = new Intent(getActivity(), SkillSettingActivity.class); + startActivity(intent); + }); + break; + case GUIDE: + mSwitch.setVisibility(View.GONE); + mHint.setVisibility(View.GONE); + mArrow.setVisibility(View.VISIBLE); + mLogo.setImageResource(R.drawable.ic_my_guide); + mName.setText("用户指南"); + view.setOnClickListener(view14 -> { + if (!BaseApplication.getInstance().showCertificationDialog(getActivity())) { + Intent intent = new Intent(getActivity(), UseCentreActivity.class); + startActivity(intent); + } + }); + break; + + case DETAIL: + if (gender == 2) { + mLogo.setImageResource(R.mipmap.ic_my_certified); + } else { + mLogo.setImageResource(R.mipmap.ic_my_certified); + } + mName.setText("账单明细"); + view.setOnClickListener(view16 -> { + if (!BaseApplication.getInstance().showCertificationDialog(getActivity())) { + Intent intent = new Intent(getActivity(), BillActivity.class); + intent.putExtra("type", 0); + startActivity(intent); + } + }); + break; + + case BEAUTY: + mSwitch.setVisibility(View.GONE); + mHint.setVisibility(View.GONE); + mArrow.setVisibility(View.VISIBLE); + if (gender == 2) { + mLogo.setImageResource(R.drawable.ic_my_beauty); + } else { + mLogo.setImageResource(R.drawable.ic_my_beauty1); + } + mName.setText("美颜设置"); + view.setOnClickListener(view17 -> { + if (!BaseApplication.getInstance().showCertificationDialog(getActivity())) { + Intent intent = new Intent(getActivity(), BeautySettingActivity.class); + startActivity(intent); + } + }); + break; + + + case GODDESSPRIVILEGE: + mSwitch.setVisibility(View.GONE); + mHint.setVisibility(View.GONE); + mArrow.setVisibility(View.VISIBLE); + mLogo.setImageResource(R.mipmap.ic_my_ntequan); + mName.setText("up主认证"); + view.setOnClickListener(view19 -> { + if (!BaseApplication.getInstance().showCertificationDialog(getActivity())) { + startActivity(new Intent(getActivity(), GoddessPrivilegeActivity.class)); +// startActivity(new Intent(getActivity(), UpPrivilegeActivity.class)); + } + }); + break; + case VIOLATION: + mSwitch.setVisibility(View.GONE); + mHint.setVisibility(View.GONE); + mArrow.setVisibility(View.VISIBLE); + mLogo.setImageResource(R.mipmap.ic_wd_weigui); + mName.setText("违规公布"); + view.setOnClickListener(view110 -> { + if (!BaseApplication.getInstance().showCertificationDialog(getActivity())) { + Intent intent = new Intent(getActivity(), BaseWebViewActivity.class); + intent.putExtra("ClickUrl", ConstUrl.FORBID_LIST); + startActivity(intent); + } + }); + break; + case ADDWECHAT: + mSwitch.setVisibility(View.GONE); + mHint.setVisibility(View.GONE); + mArrow.setVisibility(View.VISIBLE); + mLogo.setImageResource(R.mipmap.ic_wd_addwechat); + mName.setText("微信设置"); + view.setOnClickListener(view111 -> { + if (!BaseApplication.getInstance().showCertificationDialog(getActivity())) { + Intent intent = new Intent(getActivity(), WXAccountActivity.class); + startActivity(intent); + } + }); + break; + case HELLOW: + mSwitch.setVisibility(View.GONE); + mHint.setVisibility(View.GONE); + mArrow.setVisibility(View.VISIBLE); + mLogo.setImageResource(R.mipmap.ic_wd_hellow_set); + mName.setText("招呼设置"); + view.setOnClickListener(view112 -> { + if (!BaseApplication.getInstance().showCertificationDialog(getActivity())) { + startActivity(new Intent(getActivity(), GreetingSettingActivity.class)); + } + }); + break; + case ITEMS: + mSwitch.setVisibility(View.GONE); + mHint.setVisibility(View.GONE); + mArrow.setVisibility(View.VISIBLE); + mLogo.setImageResource(R.mipmap.ic_wd_items1); + mName.setText("红包卡券"); + view.setOnClickListener(view113 -> { + if (!BaseApplication.getInstance().showCertificationDialog(getActivity())) { + startActivity(new Intent(getActivity(), MyItemsActivity.class)); + } + }); + break; + + case RANK: + mSwitch.setVisibility(View.GONE); + mHint.setVisibility(View.GONE); + mArrow.setVisibility(View.VISIBLE); + mLogo.setImageResource(R.mipmap.ic_wd_rank); + mName.setText("排行榜"); + view.setOnClickListener(view113 -> { + Intent intent = new Intent(getActivity(), ZhiRankActivity.class); + startActivity(intent); + }); + break; + + case DONOTMODEL: + mSwitch.setVisibility(View.GONE); + mHint.setVisibility(View.GONE); + mArrow.setVisibility(View.VISIBLE); + mLogo.setImageResource(R.mipmap.ic_do_not_model); + mName.setText("勿扰模式"); + break; + case MEMBER: + mSwitch.setVisibility(View.GONE); + mArrow.setVisibility(View.VISIBLE); + mLogo.setImageResource(R.mipmap.ic_my_vip); + if (gender == 2) { + mHint.setVisibility(View.VISIBLE); + } else { + mHint.setVisibility(View.GONE); + } + mName.setText("会员权限"); + view.setOnClickListener(v -> { + Intent intent = new Intent(getActivity(), PrivilegeSettingActivity.class); + intent.putExtra("isVip", isVip); + startActivity(intent); + }); + break; + case SETFRIEND: + mSwitch.setVisibility(View.GONE); + mHint.setVisibility(View.GONE); + mArrow.setVisibility(View.VISIBLE); + mLogo.setImageResource(R.mipmap.ic_set_friend); + mName.setText("交友偏好"); + view.setOnClickListener(view113 -> { + ShaiXuanDialog shaiXuanDialog = new ShaiXuanDialog(getActivity()); + shaiXuanDialog.show(); + shaiXuanDialog.setRightOnClickListener(new ShaiXuanDialog.OnDialogRightClickListener() { + @Override + public void rightClick(int isSelect) { + ToastHelper.showToast(getContext(),"选择了 " + isSelect); + } + }); + }); + break; + case WALLET: + mSwitch.setVisibility(View.GONE); + mHint.setVisibility(View.GONE); + mArrow.setVisibility(View.VISIBLE); + mLogo.setImageResource(R.mipmap.ic_wallet); + mName.setText("我的钱包"); + view.setOnClickListener(view113 -> { + Intent intent = new Intent(getActivity(), WalletActivity.class); + startActivity(intent); + }); + break; + case TASK: + mSwitch.setVisibility(View.GONE); + mHint.setVisibility(View.GONE); + mArrow.setVisibility(View.VISIBLE); + mLogo.setImageResource(R.mipmap.ic_task_mine); + mName.setText("任务中心"); + view.setOnClickListener(view16 -> { + Intent intent = new Intent(getActivity(), MissionActivity.class); + startActivity(intent); + }); + break; + case MYMYINTIMACY: + mSwitch.setVisibility(View.GONE); + mHint.setVisibility(View.GONE); + mArrow.setVisibility(View.VISIBLE); + mLogo.setImageResource(R.mipmap.ic_my_intimacy); + mName.setText("我的亲密度"); + view.setOnClickListener(view16 -> { + MaleToast.showMessage(getActivity(),"我的亲密度"); + }); + break; + case UPAUTH: + mSwitch.setVisibility(View.GONE); + mHint.setVisibility(View.GONE); + mArrow.setVisibility(View.VISIBLE); + mLogo.setImageResource(R.mipmap.ic_my_ntequan); + mName.setText("up主认证"); + view.setOnClickListener(view19 -> { + startActivity(new Intent(getActivity(), UpPrivilegeActivity.class)); + }); + break; + case CUSTOMER: + mSwitch.setVisibility(View.GONE); + mHint.setVisibility(View.GONE); + mArrow.setVisibility(View.VISIBLE); + mLogo.setImageResource(R.mipmap.ic_my_service); + mName.setText("在线客服"); + view.setOnClickListener(view15 -> { + NimUIKit.startP2PSession(getActivity(), "4"); + }); + break; + case SETTING: + mSwitch.setVisibility(View.GONE); + mHint.setVisibility(View.GONE); + mArrow.setVisibility(View.VISIBLE); + mLogo.setImageResource(R.mipmap.ic_my_setting_new); + mName.setText("系统设置"); + view.setOnClickListener(view18 -> { + Intent intent = new Intent(getActivity(), SystemSettingActivity.class); + intent.putExtra("isVip", isVip); + startActivity(intent); + }); + break; + } + layout.addView(view); + } + } +} diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/SocialActivity.java b/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/SocialActivity.java index 68e528a..cad0794 100644 --- a/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/SocialActivity.java +++ b/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/SocialActivity.java @@ -124,7 +124,7 @@ public class SocialActivity extends BaseActivity implements View.OnClickListener mSocialList.get(position).setIs_follow(mSocialList.get(position) .getIs_follow() == 1? 0 :1); mSocialAdapter.notifyDataSetChanged(); - setResult(SettingFragment.SETTING_SOCIAL_CHANGE_RESULT); + setResult(SettingFragment2.SETTING_SOCIAL_CHANGE_RESULT); } @Override diff --git a/app/src/main/res/drawable/shape_search_layout.xml b/app/src/main/res/drawable/shape_search_layout.xml index 3c6b7e7..672748e 100644 --- a/app/src/main/res/drawable/shape_search_layout.xml +++ b/app/src/main/res/drawable/shape_search_layout.xml @@ -1,6 +1,6 @@ - + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_search.xml b/app/src/main/res/layout/activity_search.xml index e583c17..70ad775 100644 --- a/app/src/main/res/layout/activity_search.xml +++ b/app/src/main/res/layout/activity_search.xml @@ -3,7 +3,8 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" - tools:viewBindingIgnore="true"> + tools:viewBindingIgnore="true" + android:background="@color/white"> diff --git a/app/src/main/res/layout/fragment_dynamic_view_pager2.xml b/app/src/main/res/layout/fragment_dynamic_view_pager2.xml new file mode 100644 index 0000000..d4bac68 --- /dev/null +++ b/app/src/main/res/layout/fragment_dynamic_view_pager2.xml @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_main_recommend2.xml b/app/src/main/res/layout/fragment_main_recommend2.xml index 14864e3..8ade0c2 100644 --- a/app/src/main/res/layout/fragment_main_recommend2.xml +++ b/app/src/main/res/layout/fragment_main_recommend2.xml @@ -45,7 +45,6 @@ @@ -58,7 +57,6 @@ diff --git a/app/src/main/res/layout/fragment_setting.xml b/app/src/main/res/layout/fragment_setting.xml index 63f79f5..b705c03 100644 --- a/app/src/main/res/layout/fragment_setting.xml +++ b/app/src/main/res/layout/fragment_setting.xml @@ -160,6 +160,8 @@ android:layout_height="wrap_content" android:layout_marginStart="16dp" android:layout_marginTop="2dp" + android:drawableRight="@mipmap/ic_id_copy" + android:drawablePadding="4dp" android:text="ID:" android:textColor="#524B52" android:textSize="12dp" @@ -183,7 +185,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginStart="16dp" - android:layout_marginTop="2dp" + android:layout_marginTop="8dp" android:text="距下一级还差100财富值" android:textColor="#9A989D" android:textSize="12dp" @@ -688,7 +690,7 @@ android:layout_marginTop="-20dp" android:background="@drawable/shape_white_bg_r14" android:orientation="horizontal" - android:weightSum="4"> + android:weightSum="3"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/item_dynamic_list1.xml b/app/src/main/res/layout/item_dynamic_list1.xml index 134a5d6..9fd7814 100644 --- a/app/src/main/res/layout/item_dynamic_list1.xml +++ b/app/src/main/res/layout/item_dynamic_list1.xml @@ -270,18 +270,6 @@ android:gravity="center_vertical" android:orientation="vertical"> - - - + android:layout_width="match_parent" + android:layout_height="wrap_content"> - + android:layout_marginStart="16dp" + android:gravity="center_vertical" + android:orientation="horizontal"> - - + + + + + + + + + + + + + + + + + - - - + android:src="@drawable/ic_return" /> + + + android:textSize="12sp" /> diff --git a/app/src/main/res/mipmap-xhdpi/ic_do_not_model.png b/app/src/main/res/mipmap-xhdpi/ic_do_not_model.png new file mode 100644 index 0000000..0652261 Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/ic_do_not_model.png differ diff --git a/app/src/main/res/mipmap-xhdpi/ic_id_copy.png b/app/src/main/res/mipmap-xhdpi/ic_id_copy.png new file mode 100644 index 0000000..377147a Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/ic_id_copy.png differ diff --git a/app/src/main/res/mipmap-xhdpi/ic_my_intimacy.png b/app/src/main/res/mipmap-xhdpi/ic_my_intimacy.png new file mode 100644 index 0000000..3d34ca4 Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/ic_my_intimacy.png differ diff --git a/app/src/main/res/mipmap-xhdpi/ic_set_friend.png b/app/src/main/res/mipmap-xhdpi/ic_set_friend.png new file mode 100644 index 0000000..bde144d Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/ic_set_friend.png differ diff --git a/app/src/main/res/mipmap-xhdpi/ic_wallet.png b/app/src/main/res/mipmap-xhdpi/ic_wallet.png new file mode 100644 index 0000000..bc023c9 Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/ic_wallet.png differ