diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index cba2a8a..a82eb30 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -477,6 +477,18 @@ + + + + { +public class MainLookMeAdapter extends BaseQuickAdapter { private Context mContext; + private int mType; - public MainLookMeAdapter(int layoutResId, Context context) { + public MainLookMeAdapter(int layoutResId, Context context, int type) { super(layoutResId); this.mContext = context; + this.mType = type; } @Override - protected void convert(@NotNull BaseViewHolder baseViewHolder, LookMeBean lookMeBean) { - SimpleDraweeView list_photo = baseViewHolder.getView(R.id.list_photo); + protected void convert(@NotNull BaseViewHolder baseViewHolder, SocialBean bean) { - list_photo.setImageURI(StrU.getResourcePath(lookMeBean.getAvatar_url(), mContext)); + SimpleDraweeView photo = baseViewHolder.getView(R.id.list_photo); + TextView name = baseViewHolder.getView(R.id.social_list_name); + View redPoint = baseViewHolder.getView(R.id.social_red_point); + ImageView ivMemberSign = baseViewHolder.getView(R.id.iv_member_sign); + TextView tv_sign = baseViewHolder.getView(R.id.tv_sign); + RelativeLayout rl_online_bg = baseViewHolder.getView(R.id.rl_online_bg); + TextView tv_online = baseViewHolder.getView(R.id.tv_online); + LinearLayout ll_visit_time = baseViewHolder.getView(R.id.ll_visit_time); + TextView tv_add_time = baseViewHolder.getView(R.id.tv_add_time); + TextView tv_visit_number = baseViewHolder.getView(R.id.tv_visit_number); + TextView tv_chat = baseViewHolder.getView(R.id.tv_chat); + RelativeLayout rl_item = baseViewHolder.getView(R.id.rl_item); + + if (mType == 0) { + ll_visit_time.setVisibility(View.VISIBLE); + tv_chat.setVisibility(View.GONE); + + tv_add_time.setText(bean.getAdd_time() + "访问"); + tv_visit_number.setText(bean.getVisit_times() + "次"); + }else if (mType == 1) { + ll_visit_time.setVisibility(View.GONE); + tv_chat.setVisibility(View.VISIBLE); + + tv_chat.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + NimUIKit.startP2PSession(mContext, bean.getUserid() + ""); + } + }); + } + + + photo.setImageURI(StrU.getResourcePath(bean.getAvatar(), mContext)); + name.setText(bean.getNickname()); + +// if (1 == bean.getIs_watch()) { +// redPoint.setVisibility(View.GONE); +// } else { +// redPoint.setVisibility(View.VISIBLE); +// } + + if (0 == bean.getVip()) { + ivMemberSign.setVisibility(View.VISIBLE); + ivMemberSign.setImageResource(R.drawable.ic_pvip); + } else if (1 == bean.getVip()) { + ivMemberSign.setVisibility(View.VISIBLE); + ivMemberSign.setImageResource(R.drawable.ic_gvip); + } else { + ivMemberSign.setVisibility(View.GONE); + } + + if (TextUtils.isEmpty(bean.getSignature())) { + tv_sign.setVisibility(View.INVISIBLE); + }else { + tv_sign.setVisibility(View.VISIBLE); + tv_sign.setText(bean.getSignature()); + } + + if (bean.getOnline_status() == 0) { + rl_online_bg.setBackgroundResource(R.drawable.look_me_not_online_bg); + tv_online.setText("离线"); + }else if (bean.getOnline_status() == 1) { + rl_online_bg.setBackgroundResource(R.drawable.look_me_online_bg); + tv_online.setText("在线"); + }else if (bean.getOnline_status() == 2) { + rl_online_bg.setBackgroundResource(R.drawable.look_me_activi_bg); + tv_online.setText("活跃"); + } + + rl_item.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Intent intent = new Intent(mContext, MainPageActivity.class); + intent.putExtra("userId", bean.getUserid()); + mContext.startActivity(intent); } + }); } } diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/controller/main/adapter/MainRecommendAdapter.java b/app/src/main/java/com/xuebiping/bolizhuzi/controller/main/adapter/MainRecommendAdapter.java index 7f4edd6..2d2cde2 100644 --- a/app/src/main/java/com/xuebiping/bolizhuzi/controller/main/adapter/MainRecommendAdapter.java +++ b/app/src/main/java/com/xuebiping/bolizhuzi/controller/main/adapter/MainRecommendAdapter.java @@ -1,9 +1,13 @@ package com.xuebiping.bolizhuzi.controller.main.adapter; import android.content.Context; +import android.graphics.Color; import android.view.View; import android.view.ViewGroup; +import android.widget.ImageView; import android.widget.LinearLayout; +import android.widget.RelativeLayout; +import android.widget.TextView; import androidx.cardview.widget.CardView; @@ -11,15 +15,17 @@ import com.chad.library.adapter.base.BaseQuickAdapter; import com.chad.library.adapter.base.viewholder.BaseViewHolder; import com.facebook.drawee.view.SimpleDraweeView; import com.xuebiping.bolizhuzi.R; +import com.xuebiping.bolizhuzi.model.main.AnchorBean; import com.xuebiping.bolizhuzi.model.main.LookMeBean; import com.xuebiping.bolizhuzi.utils.SPUtils; import com.xuebiping.bolizhuzi.utils.StrU; +import com.xuebiping.bolizhuzi.view.main.utils.UiUtils; import net.lucode.hackware.magicindicator.buildins.UIUtil; import org.jetbrains.annotations.NotNull; -public class MainRecommendAdapter extends BaseQuickAdapter { +public class MainRecommendAdapter extends BaseQuickAdapter { private Context mContext; private int mTabType; //1代表推荐 2代表语聊 0代表其他 @@ -36,14 +42,38 @@ public class MainRecommendAdapter extends BaseQuickAdapter httpUiCallBack) { + HttpWithUiTask task = new HttpWithUiTask(activity, httpUiCallBack) { + @Override + protected HttpResult run() throws Exception { + final String url = ConstUrl.HOME_DATA; + HttpRequest.Builder builder = new HttpRequest.Builder() + .setResultType(new TType>() { + + }).setHttpMethod(HttpMethod.POST) + .addParam("type", type) + .addParam("page", page + "") + .setUrl(url); + + HttpRequest request = builder.build(); + return request.request(); + } + }; + // task.start(); task.start(false); } @@ -600,7 +625,7 @@ public class MainManager { .setResultType(new TType>() { }).setHttpMethod(HttpMethod.POST) - .addParam("status", status + "") + .addParam("value", status + "") .setUrl(url); HttpRequest request = builder.build(); @@ -611,6 +636,28 @@ public class MainManager { task.start(); } + public static void changeVideoStatus2(BaseActivity activity, + final int status, + HttpUiCallBack httpUiCallBack) { + HttpWithUiTask task = new HttpWithUiTask(activity, httpUiCallBack) { + @Override + protected HttpResult run() throws Exception { + final String url = ConstUrl.SET_DO_NOT_DISTURB; + HttpRequest.Builder builder = new HttpRequest.Builder() + .setResultType(new TType>() { + + }).setHttpMethod(HttpMethod.POST) + .addParam("do_not_disturb", status + "") + .setUrl(url); + + HttpRequest request = builder.build(); + return request.request(); + } + }; + + task.start(false); + } + public static void changeswitchServiceNum(BaseActivity activity, final int status, HttpUiCallBack httpUiCallBack) { @@ -904,6 +951,30 @@ public class MainManager { task.start(); } + public static void getGenderActiveList(BaseActivity activity, + final int gender, + final int page, + HttpUiCallBack httpUiCallBack) { + HttpWithUiTask task = new HttpWithUiTask(activity, httpUiCallBack) { + @Override + protected HttpResult run() throws Exception { + String url = ConstUrl.GET_ACTIVE_USERS; + HttpRequest.Builder builder = new HttpRequest.Builder() + .setResultType(new TType>() { + + }).setHttpMethod(HttpMethod.POST) + .addParam("gender", gender + "") + .addParam("page", page + "") + .setUrl(url); + + HttpRequest request = builder.build(); + return request.request(); + } + }; + + task.start(false); + } + public static void getSystemVersion(BaseActivity activity, HttpUiCallBack httpUiCallBack) { HttpWithUiTask task = new HttpWithUiTask(activity, httpUiCallBack) { diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/controller/settings/adapter/ContactListAdapter.java b/app/src/main/java/com/xuebiping/bolizhuzi/controller/settings/adapter/ContactListAdapter.java new file mode 100644 index 0000000..e6731cc --- /dev/null +++ b/app/src/main/java/com/xuebiping/bolizhuzi/controller/settings/adapter/ContactListAdapter.java @@ -0,0 +1,137 @@ +package com.xuebiping.bolizhuzi.controller.settings.adapter; + +import android.content.Context; +import android.content.Intent; +import android.graphics.Color; +import android.text.TextUtils; +import android.view.View; +import android.widget.ImageView; +import android.widget.RelativeLayout; +import android.widget.TextView; + +import com.chad.library.adapter.base.BaseQuickAdapter; +import com.chad.library.adapter.base.viewholder.BaseViewHolder; +import com.facebook.drawee.view.SimpleDraweeView; +import com.xuebiping.bolizhuzi.R; +import com.xuebiping.bolizhuzi.model.settings.SocialBean; +import com.xuebiping.bolizhuzi.utils.StrU; +import com.xuebiping.bolizhuzi.view.main.MainPageActivity; + +import org.jetbrains.annotations.NotNull; + +public class ContactListAdapter extends BaseQuickAdapter { + + private Context mContext; + private int mType; + + public ContactListAdapter(int layoutResId, Context context, int type) { + super(layoutResId); + this.mContext = context; + this.mType = type; + } + + @Override + protected void convert(@NotNull BaseViewHolder baseViewHolder, SocialBean bean) { + + SimpleDraweeView photo = baseViewHolder.getView(R.id.list_photo); + TextView name = baseViewHolder.getView(R.id.social_list_name); + TextView focus = baseViewHolder.getView(R.id.tv_focus); + View redPoint = baseViewHolder.getView(R.id.social_red_point); + ImageView ivMemberSign = baseViewHolder.getView(R.id.iv_member_sign); + TextView tv_sign = baseViewHolder.getView(R.id.tv_sign); + RelativeLayout rl_online_bg = baseViewHolder.getView(R.id.rl_online_bg); + TextView tv_online = baseViewHolder.getView(R.id.tv_online); + RelativeLayout rl_item = baseViewHolder.getView(R.id.rl_item); + + + photo.setImageURI(StrU.getResourcePath(bean.getAvatar(), mContext)); + name.setText(bean.getNickname()); + +// if (mType == 0 || mType == 1) { +// focus.setText("已关注"); +// focus.setTextColor(Color.parseColor("#dddddd")); +// focus.setBackgroundResource(R.drawable.shape_dddddd_line_oval_bg); +// }else if (mType == 2) { +// if (bean.getIs_follow() == 1) { +// focus.setText("已关注"); +// focus.setTextColor(Color.parseColor("#dddddd")); +// focus.setBackgroundResource(R.drawable.shape_dddddd_line_oval_bg); +// }else { +// focus.setText("关注"); +// focus.setTextColor(mContext.getResources().getColor(R.color.yellow_ffd33e)); +// focus.setBackgroundResource(R.drawable.shape_main_color_line_oval_bg); +// } +// } + + if (bean.getIs_follow() == 1) { + focus.setText("已关注"); + focus.setTextColor(Color.parseColor("#dddddd")); + focus.setBackgroundResource(R.drawable.shape_dddddd_line_oval_bg); + }else { + focus.setText("关注"); + focus.setTextColor(mContext.getResources().getColor(R.color.yellow_ffd33e)); + focus.setBackgroundResource(R.drawable.shape_main_color_line_oval_bg); + } + +// if (1 == bean.getIs_watch()) { +// redPoint.setVisibility(View.GONE); +// } else { +// redPoint.setVisibility(View.VISIBLE); +// } + + if (0 == bean.getVip()) { + ivMemberSign.setVisibility(View.VISIBLE); + ivMemberSign.setImageResource(R.drawable.ic_pvip); + } else if (1 == bean.getVip()) { + ivMemberSign.setVisibility(View.VISIBLE); + ivMemberSign.setImageResource(R.drawable.ic_gvip); + } else { + ivMemberSign.setVisibility(View.GONE); + } + + if (TextUtils.isEmpty(bean.getSignature())) { + tv_sign.setVisibility(View.INVISIBLE); + }else { + tv_sign.setVisibility(View.VISIBLE); + tv_sign.setText(bean.getSignature()); + } + + if (bean.getOnline_status() == 0) { + rl_online_bg.setBackgroundResource(R.drawable.look_me_not_online_bg); + tv_online.setText("离线"); + }else if (bean.getOnline_status() == 1) { + rl_online_bg.setBackgroundResource(R.drawable.look_me_online_bg); + tv_online.setText("在线"); + }else if (bean.getOnline_status() == 2) { + rl_online_bg.setBackgroundResource(R.drawable.look_me_activi_bg); + tv_online.setText("活跃"); + } + + focus.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + if (null != mOnFocusClickListener) { + mOnFocusClickListener.onFocusClick(baseViewHolder.getLayoutPosition(), bean.getUserid(), bean.getIs_follow()); + } + } + }); + + rl_item.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Intent intent = new Intent(mContext, MainPageActivity.class); + intent.putExtra("userId", bean.getUserid()); + mContext.startActivity(intent); } + }); + } + + private OnFocusClickListener mOnFocusClickListener; + + public void setOnFocusClickListener(OnFocusClickListener onFocusClickListener) { + mOnFocusClickListener = onFocusClickListener; + } + + public interface OnFocusClickListener { + void onFocusClick(int position, int user_id, int is_follow); + } +} diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/controller/settings/adapter/GenderActiveAdapter.java b/app/src/main/java/com/xuebiping/bolizhuzi/controller/settings/adapter/GenderActiveAdapter.java new file mode 100644 index 0000000..6e26a5a --- /dev/null +++ b/app/src/main/java/com/xuebiping/bolizhuzi/controller/settings/adapter/GenderActiveAdapter.java @@ -0,0 +1,87 @@ +package com.xuebiping.bolizhuzi.controller.settings.adapter; + +import android.content.Context; +import android.content.Intent; +import android.graphics.Color; +import android.text.TextUtils; +import android.view.View; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.TextView; + +import com.chad.library.adapter.base.BaseQuickAdapter; +import com.chad.library.adapter.base.viewholder.BaseViewHolder; +import com.facebook.drawee.view.SimpleDraweeView; +import com.flyco.roundview.RoundTextView; +import com.xuebiping.bolizhuzi.R; +import com.xuebiping.bolizhuzi.im.uikit.api.NimUIKit; +import com.xuebiping.bolizhuzi.model.settings.UserInfoBean; +import com.xuebiping.bolizhuzi.utils.StrU; +import com.xuebiping.bolizhuzi.view.main.MainPageActivity; + +import org.jetbrains.annotations.NotNull; + +public class GenderActiveAdapter extends BaseQuickAdapter { + + private Context mContext; + + public GenderActiveAdapter(int layoutResId, Context context) { + super(layoutResId); + this.mContext = context; + } + + @Override + protected void convert(@NotNull BaseViewHolder baseViewHolder, UserInfoBean bean) { + LinearLayout lin_gender_item = baseViewHolder.getView(R.id.lin_gender_item); + SimpleDraweeView user_head = baseViewHolder.getView(R.id.user_head); + View view_online_status = baseViewHolder.getView(R.id.view_online_status); + TextView tv_nick_name = baseViewHolder.getView(R.id.tv_nick_name); + ImageView iv_member_sign = baseViewHolder.getView(R.id.iv_member_sign); + TextView tv_user_info = baseViewHolder.getView(R.id.tv_user_info); + TextView iv_luck_hi = baseViewHolder.getView(R.id.iv_luck_hi); + + user_head.setImageURI(StrU.getResourcePath(bean.getAvatar(), mContext)); + + if (bean.getOnline_status() == 0) { + view_online_status.setBackgroundResource(R.drawable.shape_999999_oval_bg); + }else if (bean.getOnline_status() == 1) { + view_online_status.setBackgroundResource(R.drawable.shape_6ce4b7_oval_bg); + }else if (bean.getOnline_status() == 2) { + view_online_status.setBackgroundResource(R.drawable.shape_f2b854_oval_bg); + } + + tv_nick_name.setText(bean.getNickname()); + + if (0 == bean.getVip()) { + iv_member_sign.setVisibility(View.VISIBLE); + iv_member_sign.setImageResource(R.drawable.ic_pvip); + } else if (1 == bean.getVip()) { + iv_member_sign.setVisibility(View.VISIBLE); + iv_member_sign.setImageResource(R.drawable.ic_gvip); + } else { + iv_member_sign.setVisibility(View.GONE); + } + + if (TextUtils.isEmpty(bean.getCity())) { + tv_user_info.setText((bean.getGender() == 2 ? "男" : "女") + " | " + bean.getAge()); + }else { + tv_user_info.setText(bean.getCity() + " | " + (bean.getGender() == 2 ? "男" : "女") + " | " + bean.getAge()); + } + + iv_luck_hi.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + NimUIKit.startP2PSession(mContext, bean.getUser_id() + ""); + } + }); + + lin_gender_item.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Intent intent = new Intent(mContext, MainPageActivity.class); + intent.putExtra("userId", bean.getUserid()); + mContext.startActivity(intent); + } + }); + } +} diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/controller/settings/adapter/GeneralOptionsRecyclerAdapter.java b/app/src/main/java/com/xuebiping/bolizhuzi/controller/settings/adapter/GeneralOptionsRecyclerAdapter.java index 22e8665..415eac1 100644 --- a/app/src/main/java/com/xuebiping/bolizhuzi/controller/settings/adapter/GeneralOptionsRecyclerAdapter.java +++ b/app/src/main/java/com/xuebiping/bolizhuzi/controller/settings/adapter/GeneralOptionsRecyclerAdapter.java @@ -12,7 +12,9 @@ import android.widget.TextView; import androidx.constraintlayout.widget.ConstraintLayout; import androidx.recyclerview.widget.RecyclerView; +import com.facebook.drawee.view.SimpleDraweeView; import com.xuebiping.bolizhuzi.R; +import com.xuebiping.bolizhuzi.controller.constant.ConstUrl; import com.xuebiping.bolizhuzi.controller.main.adapter.ViewHolder; import com.xuebiping.bolizhuzi.controller.settings.manager.SettingManager; import com.xuebiping.bolizhuzi.model.settings.MemberPrivilegesInfo; @@ -44,7 +46,6 @@ public class GeneralOptionsRecyclerAdapter extends RecyclerView.Adapter { public void setOptions(List list) { mOptions = list; notifyDataSetChanged(); - Log.i("TAG", "setOptions: mOptions---->" + mOptions.size()); } public List getmOptions() { @@ -65,120 +66,125 @@ public class GeneralOptionsRecyclerAdapter extends RecyclerView.Adapter { public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { MemberPrivilegesInfo options = mOptions.get(position); Holder dataHolder = (Holder) holder; - if (vipType == 0) { -// dataHolder.cl_privilege.setBackgroundResource(R.drawable.member_privilege_bg); - dataHolder.iv_privilege_tip.setImageResource(R.drawable.ic_privilege_tip); -// dataHolder.tv_member_privilege_name.setTextColor(Color.parseColor("#61380C")); -// dataHolder.tv_privilege_dec.setTextColor(Color.parseColor("#A6793E")); - } else { -// dataHolder.cl_privilege.setBackgroundResource(R.drawable.super_member_privilege_bg); - dataHolder.iv_privilege_tip.setImageResource(R.drawable.ic_privilege_tip1); -// dataHolder.tv_member_privilege_name.setTextColor(Color.parseColor("#DDD6FF")); -// dataHolder.tv_privilege_dec.setTextColor(Color.parseColor("#AAA0F0")); - } - switch (options.getId()) { - case 0: - if (vipType == 0) { - dataHolder.iv_privilege_img.setImageResource(R.drawable.ic_privilege1); - dataHolder.tv_member_privilege_name.setText("私信畅聊特权"); - dataHolder.tv_privilege_dec.setText(options.getDesc()); - dataHolder.iv_privilege_tip.setVisibility(View.GONE); - } else { - dataHolder.iv_privilege_img.setImageResource(R.drawable.ic_super_privilege1); - dataHolder.tv_member_privilege_name.setText("加送金币"); - dataHolder.tv_privilege_dec.setText("额外赠送金币"); - if (TextUtils.equals("VISIBLE", options.getName())) { - dataHolder.iv_privilege_tip.setVisibility(View.VISIBLE); - dataHolder.iv_privilege_tip.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - getGoodsList(); - } - }); - } else { - dataHolder.iv_privilege_tip.setVisibility(View.GONE); - } - } - break; - case 1: - if (vipType == 0) { - dataHolder.iv_privilege_img.setImageResource(R.drawable.ic_privilege4); - } else { - dataHolder.iv_privilege_img.setImageResource(R.drawable.ic_super_privilege2); - } - dataHolder.tv_member_privilege_name.setText("视频畅聊卡"); - dataHolder.tv_privilege_dec.setText(options.getDesc()); - dataHolder.iv_privilege_tip.setVisibility(View.GONE); - dataHolder.iv_privilege_tip.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - MemberTipsDialog tipsDialog = new MemberTipsDialog(mContext, "隐身功能,开启后您的上线、榜单、充值、登录、访问都会隐身,并且群发和速配免打扰。"); - tipsDialog.show(); - } - }); - break; - case 2: - if (vipType == 0) { - dataHolder.iv_privilege_img.setImageResource(R.drawable.ic_privilege3); - } else { - dataHolder.iv_privilege_img.setImageResource(R.drawable.ic_super_privilege3); - } - dataHolder.tv_member_privilege_name.setText("充值加送金币"); - dataHolder.tv_privilege_dec.setText("额外赠送金币"); -// if (TextUtils.equals("VISIBLE", options.getName())) { -// dataHolder.iv_privilege_tip.setVisibility(View.VISIBLE); -// dataHolder.iv_privilege_tip.setOnClickListener(new View.OnClickListener() { -// @Override -// public void onClick(View v) { -// MemberTipsDialog tipsDialog = new MemberTipsDialog(mContext, "专属客服微信号: Zdhfa1234"); -// tipsDialog.show(); -// } -// }); + + dataHolder.iv_privilege_img.setImageURI(ConstUrl.IMAGE_URL + options.getIcon()); + dataHolder.tv_member_privilege_name.setText(options.getName()); + dataHolder.tv_privilege_dec.setText(options.getDesc()); + +// if (vipType == 0) { +//// dataHolder.cl_privilege.setBackgroundResource(R.drawable.member_privilege_bg); +// dataHolder.iv_privilege_tip.setImageResource(R.drawable.ic_privilege_tip); +//// dataHolder.tv_member_privilege_name.setTextColor(Color.parseColor("#61380C")); +//// dataHolder.tv_privilege_dec.setTextColor(Color.parseColor("#A6793E")); +// } else { +//// dataHolder.cl_privilege.setBackgroundResource(R.drawable.super_member_privilege_bg); +// dataHolder.iv_privilege_tip.setImageResource(R.drawable.ic_privilege_tip1); +//// dataHolder.tv_member_privilege_name.setTextColor(Color.parseColor("#DDD6FF")); +//// dataHolder.tv_privilege_dec.setTextColor(Color.parseColor("#AAA0F0")); +// } +// switch (options.getId()) { +// case 0: +// if (vipType == 0) { +// dataHolder.iv_privilege_img.setImageResource(R.drawable.ic_privilege1); +// dataHolder.tv_member_privilege_name.setText("私信畅聊特权"); +// dataHolder.tv_privilege_dec.setText(options.getDesc()); +// dataHolder.iv_privilege_tip.setVisibility(View.GONE); // } else { - dataHolder.iv_privilege_tip.setVisibility(View.GONE); +// dataHolder.iv_privilege_img.setImageResource(R.drawable.ic_super_privilege1); +// dataHolder.tv_member_privilege_name.setText("加送金币"); +// dataHolder.tv_privilege_dec.setText("额外赠送金币"); +// if (TextUtils.equals("VISIBLE", options.getName())) { +// dataHolder.iv_privilege_tip.setVisibility(View.VISIBLE); +// dataHolder.iv_privilege_tip.setOnClickListener(new View.OnClickListener() { +// @Override +// public void onClick(View v) { +// getGoodsList(); +// } +// }); +// } else { +// dataHolder.iv_privilege_tip.setVisibility(View.GONE); +// } // } - break; - case 3: - if (vipType == 0) { - dataHolder.iv_privilege_img.setImageResource(R.drawable.ic_privilege7); - } else { - dataHolder.iv_privilege_img.setImageResource(R.drawable.ic_super_privilege7); - } - dataHolder.tv_member_privilege_name.setText("消息读取状态"); - dataHolder.tv_privilege_dec.setText("可查看是否已读"); - dataHolder.iv_privilege_tip.setVisibility(View.GONE); - break; - case 4: - if (vipType == 0) { - dataHolder.iv_privilege_img.setImageResource(R.drawable.ic_privilege5); - } else { - dataHolder.iv_privilege_img.setImageResource(R.drawable.ic_super_privilege4); - } - dataHolder.tv_member_privilege_name.setText("专属会员标识"); - dataHolder.tv_privilege_dec.setText("头像框、聊天气泡"); - dataHolder.iv_privilege_tip.setVisibility(View.GONE); - break; - case 5: - if (vipType == 0) { - dataHolder.iv_privilege_img.setImageResource(R.drawable.ic_privilege2); - } else { - dataHolder.iv_privilege_img.setImageResource(R.drawable.ic_super_privilege5); - } - dataHolder.tv_member_privilege_name.setText("隐身模式"); - dataHolder.tv_privilege_dec.setText("全平台隐身畅玩"); - dataHolder.iv_privilege_tip.setVisibility(View.GONE); - break; - case 6: - if (vipType == 0) { - dataHolder.iv_privilege_img.setImageResource(R.drawable.ic_privilege6); - } else { - dataHolder.iv_privilege_img.setImageResource(R.drawable.ic_super_privilege6); - } - dataHolder.tv_member_privilege_name.setText("聊天气泡框"); - dataHolder.tv_privilege_dec.setText("VIP专属聊天框"); - dataHolder.iv_privilege_tip.setVisibility(View.GONE); - break; - } +// break; +// case 1: +// if (vipType == 0) { +// dataHolder.iv_privilege_img.setImageResource(R.drawable.ic_privilege4); +// } else { +// dataHolder.iv_privilege_img.setImageResource(R.drawable.ic_super_privilege2); +// } +// dataHolder.tv_member_privilege_name.setText("视频畅聊卡"); +// dataHolder.tv_privilege_dec.setText(options.getDesc()); +// dataHolder.iv_privilege_tip.setVisibility(View.GONE); +// dataHolder.iv_privilege_tip.setOnClickListener(new View.OnClickListener() { +// @Override +// public void onClick(View v) { +// MemberTipsDialog tipsDialog = new MemberTipsDialog(mContext, "隐身功能,开启后您的上线、榜单、充值、登录、访问都会隐身,并且群发和速配免打扰。"); +// tipsDialog.show(); +// } +// }); +// break; +// case 2: +// if (vipType == 0) { +// dataHolder.iv_privilege_img.setImageResource(R.drawable.ic_privilege3); +// } else { +// dataHolder.iv_privilege_img.setImageResource(R.drawable.ic_super_privilege3); +// } +// dataHolder.tv_member_privilege_name.setText("充值加送金币"); +// dataHolder.tv_privilege_dec.setText("额外赠送金币"); +//// if (TextUtils.equals("VISIBLE", options.getName())) { +//// dataHolder.iv_privilege_tip.setVisibility(View.VISIBLE); +//// dataHolder.iv_privilege_tip.setOnClickListener(new View.OnClickListener() { +//// @Override +//// public void onClick(View v) { +//// MemberTipsDialog tipsDialog = new MemberTipsDialog(mContext, "专属客服微信号: Zdhfa1234"); +//// tipsDialog.show(); +//// } +//// }); +//// } else { +// dataHolder.iv_privilege_tip.setVisibility(View.GONE); +//// } +// break; +// case 3: +// if (vipType == 0) { +// dataHolder.iv_privilege_img.setImageResource(R.drawable.ic_privilege7); +// } else { +// dataHolder.iv_privilege_img.setImageResource(R.drawable.ic_super_privilege7); +// } +// dataHolder.tv_member_privilege_name.setText("消息读取状态"); +// dataHolder.tv_privilege_dec.setText("可查看是否已读"); +// dataHolder.iv_privilege_tip.setVisibility(View.GONE); +// break; +// case 4: +// if (vipType == 0) { +// dataHolder.iv_privilege_img.setImageResource(R.drawable.ic_privilege5); +// } else { +// dataHolder.iv_privilege_img.setImageResource(R.drawable.ic_super_privilege4); +// } +// dataHolder.tv_member_privilege_name.setText("专属会员标识"); +// dataHolder.tv_privilege_dec.setText("头像框、聊天气泡"); +// dataHolder.iv_privilege_tip.setVisibility(View.GONE); +// break; +// case 5: +// if (vipType == 0) { +// dataHolder.iv_privilege_img.setImageResource(R.drawable.ic_privilege2); +// } else { +// dataHolder.iv_privilege_img.setImageResource(R.drawable.ic_super_privilege5); +// } +// dataHolder.tv_member_privilege_name.setText("隐身模式"); +// dataHolder.tv_privilege_dec.setText("全平台隐身畅玩"); +// dataHolder.iv_privilege_tip.setVisibility(View.GONE); +// break; +// case 6: +// if (vipType == 0) { +// dataHolder.iv_privilege_img.setImageResource(R.drawable.ic_privilege6); +// } else { +// dataHolder.iv_privilege_img.setImageResource(R.drawable.ic_super_privilege6); +// } +// dataHolder.tv_member_privilege_name.setText("聊天气泡框"); +// dataHolder.tv_privilege_dec.setText("VIP专属聊天框"); +// dataHolder.iv_privilege_tip.setVisibility(View.GONE); +// break; +// } } @Override @@ -188,7 +194,7 @@ public class GeneralOptionsRecyclerAdapter extends RecyclerView.Adapter { public class Holder extends ViewHolder { - ImageView iv_privilege_img; + SimpleDraweeView iv_privilege_img; TextView tv_member_privilege_name; TextView tv_privilege_dec; ImageView iv_privilege_tip; @@ -204,25 +210,25 @@ public class GeneralOptionsRecyclerAdapter extends RecyclerView.Adapter { } } - private void getGoodsList() { - SettingManager.getRechargeInfo((BaseActivity) mContext, 6, new HttpUiCallBack() { - @Override - public void onSuccess(BaseActivity activity, RechargeListBean result, String message) { - if (result != null && result.getList() != null && result.getList().size() > 0) { - MemberRechargeDialog memberRechargeDialog = new MemberRechargeDialog(activity, result.getList()); - memberRechargeDialog.show(); - } - } - - @Override - public void onFailure(BaseActivity activity, String tip) { - - } - - @Override - public void onException(BaseActivity activity, Throwable e) { - - } - }); - } +// private void getGoodsList() { +// SettingManager.getRechargeInfo((BaseActivity) mContext, 6, new HttpUiCallBack() { +// @Override +// public void onSuccess(BaseActivity activity, RechargeListBean result, String message) { +// if (result != null && result.getList() != null && result.getList().size() > 0) { +// MemberRechargeDialog memberRechargeDialog = new MemberRechargeDialog(activity, result.getList()); +// memberRechargeDialog.show(); +// } +// } +// +// @Override +// public void onFailure(BaseActivity activity, String tip) { +// +// } +// +// @Override +// public void onException(BaseActivity activity, Throwable e) { +// +// } +// }); +// } } diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/controller/settings/adapter/IntimacyAdapter.java b/app/src/main/java/com/xuebiping/bolizhuzi/controller/settings/adapter/IntimacyAdapter.java new file mode 100644 index 0000000..69b600c --- /dev/null +++ b/app/src/main/java/com/xuebiping/bolizhuzi/controller/settings/adapter/IntimacyAdapter.java @@ -0,0 +1,48 @@ +package com.xuebiping.bolizhuzi.controller.settings.adapter; + +import android.content.Context; +import android.content.Intent; +import android.view.View; +import android.widget.RelativeLayout; +import android.widget.TextView; + +import com.chad.library.adapter.base.BaseQuickAdapter; +import com.chad.library.adapter.base.viewholder.BaseViewHolder; +import com.facebook.drawee.view.SimpleDraweeView; +import com.xuebiping.bolizhuzi.R; +import com.xuebiping.bolizhuzi.model.settings.IntimacyBean; +import com.xuebiping.bolizhuzi.utils.StrU; +import com.xuebiping.bolizhuzi.view.main.MainPageActivity; + +import org.jetbrains.annotations.NotNull; + +public class IntimacyAdapter extends BaseQuickAdapter { + + private Context mContext; + + public IntimacyAdapter(int layoutResId, Context context) { + super(layoutResId); + this.mContext = context; + } + + @Override + protected void convert(@NotNull BaseViewHolder baseViewHolder, IntimacyBean bean) { + RelativeLayout rl_item = baseViewHolder.getView(R.id.rl_item); + SimpleDraweeView user_head = baseViewHolder.getView(R.id.user_head); + TextView tv_nick_name = baseViewHolder.getView(R.id.tv_nick_name); + TextView tv_intimacy = baseViewHolder.getView(R.id.tv_intimacy); + + user_head.setImageURI(StrU.getResourcePath(bean.getAvatar(), mContext)); + tv_nick_name.setText(bean.getNickname()); + tv_intimacy.setText(bean.getTotal_consume_coin() + ""); + + rl_item.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Intent intent = new Intent(mContext, MainPageActivity.class); + intent.putExtra("userId", bean.getUser_id()); + mContext.startActivity(intent); + } + }); + } +} diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/controller/settings/manager/SettingManager.java b/app/src/main/java/com/xuebiping/bolizhuzi/controller/settings/manager/SettingManager.java index df331eb..3dc611e 100644 --- a/app/src/main/java/com/xuebiping/bolizhuzi/controller/settings/manager/SettingManager.java +++ b/app/src/main/java/com/xuebiping/bolizhuzi/controller/settings/manager/SettingManager.java @@ -19,6 +19,7 @@ import com.xuebiping.bolizhuzi.model.settings.CancellationBean; import com.xuebiping.bolizhuzi.model.settings.ChatPriceBean; import com.xuebiping.bolizhuzi.model.settings.GoddessPrivilegeBean; import com.xuebiping.bolizhuzi.model.settings.GreetingBean; +import com.xuebiping.bolizhuzi.model.settings.IntimacyListBean; import com.xuebiping.bolizhuzi.model.settings.InvitationBean; import com.xuebiping.bolizhuzi.model.settings.InviteDataListBean; import com.xuebiping.bolizhuzi.model.settings.MemberBean; @@ -315,6 +316,27 @@ public class SettingManager { task.start(); } + public static void getIntimacyList(BaseActivity activity, final int page, + HttpUiCallBack httpUiCallBack) { + HttpWithUiTask task = new HttpWithUiTask(activity, httpUiCallBack) { + @Override + protected HttpResult run() throws Exception { + final String url = ConstUrl.INTIMACY_LIST; + HttpRequest.Builder builder = new HttpRequest.Builder() + .setResultType(new TType>() { + + }).setHttpMethod(HttpMethod.POST) + .addParam("page", page + "") + .setUrl(url); + + HttpRequest request = builder.build(); + return request.request(); + } + }; + + task.start(false); + } + public static void rankWealth(BaseActivity activity, final int type, final int page, HttpUiCallBack httpUiCallBack) { @@ -511,6 +533,66 @@ public class SettingManager { task.start(); } + public static void getLookData(BaseActivity activity, + final int type, + final int page, + HttpUiCallBack httpUiCallBack) { + HttpWithUiTask task = new HttpWithUiTask(activity, httpUiCallBack) { + @Override + protected HttpResult run() throws Exception { + String url = null; + if (type == 0) { + url = ConstUrl.VISITOR_LIST_NEW; + } else if (1 == type) { + url = ConstUrl.TRACER_LIST; + } + + HttpRequest.Builder builder = new HttpRequest.Builder() + .setResultType(new TType>() { + + }).setHttpMethod(HttpMethod.POST) + .addParam("page", page + "") + .setUrl(url); + + HttpRequest request = builder.build(); + return request.request(); + } + }; + + task.start(false); + } + + public static void getContactList(BaseActivity activity, + final int type, + final int page, + HttpUiCallBack httpUiCallBack) { + HttpWithUiTask task = new HttpWithUiTask(activity, httpUiCallBack) { + @Override + protected HttpResult run() throws Exception { + String url = null; + if (type == 0) { + url = ConstUrl.FRIEND_LIST; + } else if (1 == type) { + url = ConstUrl.FOCUS_LIST; + } else if (2 == type) { + url = ConstUrl.FANS_LIST; + } + + HttpRequest.Builder builder = new HttpRequest.Builder() + .setResultType(new TType>() { + + }).setHttpMethod(HttpMethod.POST) + .addParam("page", page + "") + .setUrl(url); + + HttpRequest request = builder.build(); + return request.request(); + } + }; + + task.start(false); + } + public static void getInviteList(BaseActivity activity, final int page, String user, HttpUiCallBack< SocialListBean> httpUiCallBack) { HttpWithUiTask task = new HttpWithUiTask(activity, httpUiCallBack) { diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/im/uikit/common/ui/drop/DropFake.java b/app/src/main/java/com/xuebiping/bolizhuzi/im/uikit/common/ui/drop/DropFake.java index 5d4b288..627307c 100644 --- a/app/src/main/java/com/xuebiping/bolizhuzi/im/uikit/common/ui/drop/DropFake.java +++ b/app/src/main/java/com/xuebiping/bolizhuzi/im/uikit/common/ui/drop/DropFake.java @@ -65,7 +65,8 @@ public class DropFake extends View { protected void onDraw(Canvas canvas) { super.onDraw(canvas); // circle - int[] mColors = {0xFFE69EFF, 0xFF925BF7}; +// int[] mColors = {0xFFE69EFF, 0xFF925BF7}; + int[] mColors = {0xFFF94F2E, 0xFFF94F2E}; Paint circlePaint = DropManager.getInstance().getCirclePaint(); circlePaint.setShader(new LinearGradient(0, 0, circleX + radius, circleY + radius, mColors, null, Shader.TileMode.CLAMP)); canvas.drawCircle(circleX, circleY, radius, circlePaint); diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/model/main/AnchorBean.java b/app/src/main/java/com/xuebiping/bolizhuzi/model/main/AnchorBean.java index ed28f7e..a802dd5 100644 --- a/app/src/main/java/com/xuebiping/bolizhuzi/model/main/AnchorBean.java +++ b/app/src/main/java/com/xuebiping/bolizhuzi/model/main/AnchorBean.java @@ -23,6 +23,33 @@ public class AnchorBean implements Serializable { private boolean isVideo; private boolean is_follow;//true关注false未关注 private int anchor_tag;// 1=王牌 2=人气 + private int member_discount_price; //会员优惠价格 + private int star_level; //星级 + private int voice_price; //语聊价格 + + public int getVoice_price() { + return voice_price; + } + + public void setVoice_price(int voice_price) { + this.voice_price = voice_price; + } + + public int getStar_level() { + return star_level; + } + + public void setStar_level(int star_level) { + this.star_level = star_level; + } + + public int getMember_discount_price() { + return member_discount_price; + } + + public void setMember_discount_price(int member_discount_price) { + this.member_discount_price = member_discount_price; + } public int getPrice() { return price; diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/model/main/AnchorListBean.java b/app/src/main/java/com/xuebiping/bolizhuzi/model/main/AnchorListBean.java index 75c9969..42832d6 100644 --- a/app/src/main/java/com/xuebiping/bolizhuzi/model/main/AnchorListBean.java +++ b/app/src/main/java/com/xuebiping/bolizhuzi/model/main/AnchorListBean.java @@ -8,9 +8,18 @@ public class AnchorListBean { private String skill_name; private String skill_icon; private int total; + private int total_page; private List anchors = new ArrayList<>(); private List list = new ArrayList<>(); + public int getTotal_page() { + return total_page; + } + + public void setTotal_page(int total_page) { + this.total_page = total_page; + } + public List getAnchors() { return anchors; } diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/model/main/MainPageAnchorBean.java b/app/src/main/java/com/xuebiping/bolizhuzi/model/main/MainPageAnchorBean.java index 027dc0e..1f43462 100644 --- a/app/src/main/java/com/xuebiping/bolizhuzi/model/main/MainPageAnchorBean.java +++ b/app/src/main/java/com/xuebiping/bolizhuzi/model/main/MainPageAnchorBean.java @@ -4,6 +4,15 @@ public class MainPageAnchorBean { private int open_video_status; private int open_voice_status; private int video_status; + private int do_not_disturb; + + public int getDo_not_disturb() { + return do_not_disturb; + } + + public void setDo_not_disturb(int do_not_disturb) { + this.do_not_disturb = do_not_disturb; + } public int getOpen_video_status() { return open_video_status; diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/model/main/UserGenderBean.java b/app/src/main/java/com/xuebiping/bolizhuzi/model/main/UserGenderBean.java index c99d877..556109d 100644 --- a/app/src/main/java/com/xuebiping/bolizhuzi/model/main/UserGenderBean.java +++ b/app/src/main/java/com/xuebiping/bolizhuzi/model/main/UserGenderBean.java @@ -8,6 +8,7 @@ import java.util.List; public class UserGenderBean { private int total; private int page; + private int total_page; private List list = new ArrayList<>(); public int getTotal() { @@ -33,4 +34,12 @@ public class UserGenderBean { public void setList(List list) { this.list = list; } + + public int getTotal_page() { + return total_page; + } + + public void setTotal_page(int total_page) { + this.total_page = total_page; + } } diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/model/settings/IntimacyBean.java b/app/src/main/java/com/xuebiping/bolizhuzi/model/settings/IntimacyBean.java new file mode 100644 index 0000000..d49971f --- /dev/null +++ b/app/src/main/java/com/xuebiping/bolizhuzi/model/settings/IntimacyBean.java @@ -0,0 +1,41 @@ +package com.xuebiping.bolizhuzi.model.settings; + +public class IntimacyBean { + + private int user_id; + private int total_consume_coin; + private String nickname; + private String avatar; + + public int getUser_id() { + return user_id; + } + + public void setUser_id(int user_id) { + this.user_id = user_id; + } + + public int getTotal_consume_coin() { + return total_consume_coin; + } + + public void setTotal_consume_coin(int total_consume_coin) { + this.total_consume_coin = total_consume_coin; + } + + public String getNickname() { + return nickname; + } + + public void setNickname(String nickname) { + this.nickname = nickname; + } + + public String getAvatar() { + return avatar; + } + + public void setAvatar(String avatar) { + this.avatar = avatar; + } +} diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/model/settings/IntimacyListBean.java b/app/src/main/java/com/xuebiping/bolizhuzi/model/settings/IntimacyListBean.java new file mode 100644 index 0000000..6cf971e --- /dev/null +++ b/app/src/main/java/com/xuebiping/bolizhuzi/model/settings/IntimacyListBean.java @@ -0,0 +1,35 @@ +package com.xuebiping.bolizhuzi.model.settings; + +import java.util.ArrayList; +import java.util.List; + +public class IntimacyListBean { + + private int page; + private int total_page; + private List list = new ArrayList<>(); + + public int getPage() { + return page; + } + + public void setPage(int page) { + this.page = page; + } + + public int getTotal_page() { + return total_page; + } + + public void setTotal_page(int total_page) { + this.total_page = total_page; + } + + public List getList() { + return list; + } + + public void setList(List list) { + this.list = list; + } +} diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/model/settings/MemberBean.java b/app/src/main/java/com/xuebiping/bolizhuzi/model/settings/MemberBean.java index abab946..fcd0684 100644 --- a/app/src/main/java/com/xuebiping/bolizhuzi/model/settings/MemberBean.java +++ b/app/src/main/java/com/xuebiping/bolizhuzi/model/settings/MemberBean.java @@ -13,6 +13,7 @@ public class MemberBean { private FreeBean free; private List privilege; private List privileges; + private String notice; public List getPrivilege() { return privilege; @@ -62,6 +63,14 @@ public class MemberBean { this.free = free; } + public String getNotice() { + return notice; + } + + public void setNotice(String notice) { + this.notice = notice; + } + @Override public String toString() { return "MemberBean{" + diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/model/settings/SocialBean.java b/app/src/main/java/com/xuebiping/bolizhuzi/model/settings/SocialBean.java index e979e8f..aa0b0d4 100644 --- a/app/src/main/java/com/xuebiping/bolizhuzi/model/settings/SocialBean.java +++ b/app/src/main/java/com/xuebiping/bolizhuzi/model/settings/SocialBean.java @@ -14,6 +14,9 @@ public class SocialBean { private String city; private int is_watch = 1; private int vip = 2; + private String signature; + private int online_status; //0 不在线 1在线 2活跃 + private int visit_times; public int getUserid() { return userid; @@ -119,6 +122,30 @@ public class SocialBean { this.vip = vip; } + public String getSignature() { + return signature; + } + + public void setSignature(String signature) { + this.signature = signature; + } + + public int getOnline_status() { + return online_status; + } + + public void setOnline_status(int online_status) { + this.online_status = online_status; + } + + public int getVisit_times() { + return visit_times; + } + + public void setVisit_times(int visit_times) { + this.visit_times = visit_times; + } + @Override public String toString() { return "SocialBean{" + diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/model/settings/SocialListBean.java b/app/src/main/java/com/xuebiping/bolizhuzi/model/settings/SocialListBean.java index 2a55db9..3d04a7c 100644 --- a/app/src/main/java/com/xuebiping/bolizhuzi/model/settings/SocialListBean.java +++ b/app/src/main/java/com/xuebiping/bolizhuzi/model/settings/SocialListBean.java @@ -5,6 +5,7 @@ import java.util.List; public class SocialListBean { private List list = new ArrayList<>(); + private int total_page; private int total; public List getList() { @@ -22,4 +23,12 @@ public class SocialListBean { public void setTotal(int total) { this.total = total; } + + public int getTotal_page() { + return total_page; + } + + public void setTotal_page(int total_page) { + this.total_page = total_page; + } } diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/model/settings/UserInfoBean.java b/app/src/main/java/com/xuebiping/bolizhuzi/model/settings/UserInfoBean.java index 0b30da9..4b3dc67 100644 --- a/app/src/main/java/com/xuebiping/bolizhuzi/model/settings/UserInfoBean.java +++ b/app/src/main/java/com/xuebiping/bolizhuzi/model/settings/UserInfoBean.java @@ -40,6 +40,24 @@ public class UserInfoBean { private String signature; private UserFrameBean user_frame; private int user_type; + private int online_status; + private int do_not_disturb; + + public int getDo_not_disturb() { + return do_not_disturb; + } + + public void setDo_not_disturb(int do_not_disturb) { + this.do_not_disturb = do_not_disturb; + } + + public int getOnline_status() { + return online_status; + } + + public void setOnline_status(int online_status) { + this.online_status = online_status; + } public int getUser_type() { return user_type; diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/view/main/LookMeFragment.java b/app/src/main/java/com/xuebiping/bolizhuzi/view/main/LookMeFragment.java index 8532622..bc41ac4 100644 --- a/app/src/main/java/com/xuebiping/bolizhuzi/view/main/LookMeFragment.java +++ b/app/src/main/java/com/xuebiping/bolizhuzi/view/main/LookMeFragment.java @@ -4,6 +4,7 @@ import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.widget.LinearLayout; import androidx.annotation.NonNull; import androidx.annotation.Nullable; @@ -11,12 +12,18 @@ import androidx.fragment.app.Fragment; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; +import com.fengliyan.uikit.toast.MaleToast; import com.scwang.smartrefresh.layout.SmartRefreshLayout; import com.scwang.smartrefresh.layout.api.RefreshLayout; import com.scwang.smartrefresh.layout.listener.OnRefreshLoadMoreListener; import com.xuebiping.bolizhuzi.R; import com.xuebiping.bolizhuzi.controller.main.adapter.MainLookMeAdapter; +import com.xuebiping.bolizhuzi.controller.settings.manager.SettingManager; import com.xuebiping.bolizhuzi.model.main.LookMeBean; +import com.xuebiping.bolizhuzi.model.settings.SocialBean; +import com.xuebiping.bolizhuzi.model.settings.SocialListBean; +import com.xuebiping.bolizhuzi.view.base.BaseActivity; +import com.xuebiping.bolizhuzi.view.base.utils.HttpUiCallBack; import org.jetbrains.annotations.NotNull; @@ -25,14 +32,19 @@ import java.util.List; public class LookMeFragment extends Fragment implements OnRefreshLoadMoreListener { + private int mType = 0; //0看过我的 1我的足迹 + private View v; private SmartRefreshLayout mSmart_refresh; private RecyclerView mRv_recommend_list; + private LinearLayout mRl_no_data; + private MainLookMeAdapter mMainLookMeAdapter; private int mPage = 1; - private List mData = new ArrayList<>(); + private int mTotalPage; + private List mData = new ArrayList<>(); @Nullable @org.jetbrains.annotations.Nullable @@ -40,34 +52,63 @@ public class LookMeFragment extends Fragment implements OnRefreshLoadMoreListene public View onCreateView(@NonNull @NotNull LayoutInflater inflater, @Nullable @org.jetbrains.annotations.Nullable ViewGroup container, @Nullable @org.jetbrains.annotations.Nullable Bundle savedInstanceState) { v = inflater.inflate(R.layout.fragment_look_me, container, false); initView(v); - getData(mPage); + getLookData(mPage); return v; } private void initView(View v) { mSmart_refresh = v.findViewById(R.id.smart_refresh); mRv_recommend_list = v.findViewById(R.id.rv_recommend_list); + mRl_no_data = v.findViewById(R.id.rl_no_data); + mRv_recommend_list.setLayoutManager(new LinearLayoutManager(getActivity())); - mMainLookMeAdapter = new MainLookMeAdapter(R.layout.item_main_look_me, getActivity()); + mMainLookMeAdapter = new MainLookMeAdapter(R.layout.item_main_look_me, getActivity(), mType); mRv_recommend_list.setAdapter(mMainLookMeAdapter); mSmart_refresh.setOnRefreshLoadMoreListener(this); } - private void getData(int page) { + private void getLookData(int page){ + SettingManager.getLookData((BaseActivity) getActivity(), mType, page, new HttpUiCallBack() { + @Override + public void onSuccess(BaseActivity activity, SocialListBean result, String message) { + finishFresh(); + if (result != null) { + mTotalPage = result.getTotal_page(); + if (mPage == 1) { + mData.clear(); + } + List list = result.getList(); + if (list != null && list.size() > 0) { + mData.addAll(list); + } + } + if (mData != null && mData.size() > 0) { + if (mPage == 1) { + mRl_no_data.setVisibility(View.GONE); + mRv_recommend_list.setVisibility(View.VISIBLE); + } + mMainLookMeAdapter.setList(mData); + } else { + if (mPage == 1) { + mRl_no_data.setVisibility(View.VISIBLE); + mRv_recommend_list.setVisibility(View.GONE); + } + } + } - for (int i = 0; i < 10; i++) { - - LookMeBean lookMeBean = new LookMeBean(); - lookMeBean.setId(i + ""); - lookMeBean.setAvatar_url("uploads/admin/202403/25/04cf409ab9148f11c0052bb254b5c155.jpg"); - mData.add(lookMeBean); - - } - - finishFresh(); - mMainLookMeAdapter.setList(mData); + @Override + public void onFailure(BaseActivity activity, String tip) { + finishFresh(); + MaleToast.showFailureMsg(activity, tip); + } + @Override + public void onException(BaseActivity activity, Throwable e) { + finishFresh(); + MaleToast.showFailureMsg(activity, "请重试"); + } + }); } public void finishFresh() { @@ -78,12 +119,17 @@ public class LookMeFragment extends Fragment implements OnRefreshLoadMoreListene @Override public void onLoadMore(@NonNull @NotNull RefreshLayout refreshLayout) { mPage++; - getData(mPage); + if (mPage > mTotalPage) { + mSmart_refresh.finishLoadMore(); + mSmart_refresh.setNoMoreData(true); + } else { + getLookData(mPage); + } } @Override public void onRefresh(@NonNull @NotNull RefreshLayout refreshLayout) { mPage = 1; - getData(mPage); + getLookData(mPage); } } diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/view/main/MainFiveStarFragment.java b/app/src/main/java/com/xuebiping/bolizhuzi/view/main/MainFiveStarFragment.java index 377a7b5..263aeaa 100644 --- a/app/src/main/java/com/xuebiping/bolizhuzi/view/main/MainFiveStarFragment.java +++ b/app/src/main/java/com/xuebiping/bolizhuzi/view/main/MainFiveStarFragment.java @@ -11,12 +11,18 @@ import androidx.fragment.app.Fragment; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; +import com.fengliyan.uikit.toast.MaleToast; import com.scwang.smartrefresh.layout.SmartRefreshLayout; import com.scwang.smartrefresh.layout.api.RefreshLayout; import com.scwang.smartrefresh.layout.listener.OnRefreshLoadMoreListener; import com.xuebiping.bolizhuzi.R; import com.xuebiping.bolizhuzi.controller.main.adapter.MainRecommendAdapter; -import com.xuebiping.bolizhuzi.model.main.LookMeBean; +import com.xuebiping.bolizhuzi.controller.main.manager.MainManager; +import com.xuebiping.bolizhuzi.model.main.AnchorBean; +import com.xuebiping.bolizhuzi.model.main.AnchorListBean; +import com.xuebiping.bolizhuzi.model.main.ChannelAnchorBean; +import com.xuebiping.bolizhuzi.view.base.BaseActivity; +import com.xuebiping.bolizhuzi.view.base.utils.HttpUiCallBack; import org.jetbrains.annotations.NotNull; @@ -25,12 +31,15 @@ import java.util.List; public class MainFiveStarFragment extends Fragment implements OnRefreshLoadMoreListener { + private String mType = "five_star"; + private SmartRefreshLayout mSmart_refresh; private RecyclerView mRv_list; private MainRecommendAdapter mAdapter; private int mPage = 1; - private List mData = new ArrayList<>(); + private int mTotalPage; + private List mData = new ArrayList<>(); private LinearLayoutManager mLinearLayoutManager; @Nullable @@ -57,21 +66,42 @@ public class MainFiveStarFragment extends Fragment implements OnRefreshLoadMoreL } private void getData(int page) { + MainManager.getHomeData((BaseActivity) getActivity(), mType, page, new HttpUiCallBack() { + @Override + public void onSuccess(BaseActivity activity, ChannelAnchorBean result, String message) { + finishFresh(); + if (result != null) { - if (page == 1) { - mData.clear(); - } + if (mPage == 1) { + mData.clear(); + } - for (int i = 0; i < 10; i++) { - LookMeBean lookMeBean = new LookMeBean(); - lookMeBean.setId(i + ""); - lookMeBean.setAvatar_url("uploads/admin/202403/25/04cf409ab9148f11c0052bb254b5c155.jpg"); - mData.add(lookMeBean); + AnchorListBean list1 = result.getList(); + if (list1 != null) { + mTotalPage = list1.getTotal_page(); + List list = list1.getList(); + if (list != null && list.size() > 0) { + mData.addAll(list); + } + } + } + if (mData != null && mData.size() > 0) { + mAdapter.setList(mData); + } + } - } + @Override + public void onFailure(BaseActivity activity, String tip) { + finishFresh(); + MaleToast.showFailureMsg(activity, tip); + } - finishFresh(); - mAdapter.setList(mData); + @Override + public void onException(BaseActivity activity, Throwable e) { + finishFresh(); + MaleToast.showFailureMsg(activity, "请重试"); + } + }); } public void finishFresh() { @@ -82,7 +112,12 @@ public class MainFiveStarFragment extends Fragment implements OnRefreshLoadMoreL @Override public void onLoadMore(@NonNull @NotNull RefreshLayout refreshLayout) { mPage++; - getData(mPage); + if (mPage > mTotalPage) { + mSmart_refresh.finishLoadMore(); + mSmart_refresh.setNoMoreData(true); + } else { + getData(mPage); + } } @Override diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/view/main/MainFourStarFragment.java b/app/src/main/java/com/xuebiping/bolizhuzi/view/main/MainFourStarFragment.java index 0ed719d..d9183fc 100644 --- a/app/src/main/java/com/xuebiping/bolizhuzi/view/main/MainFourStarFragment.java +++ b/app/src/main/java/com/xuebiping/bolizhuzi/view/main/MainFourStarFragment.java @@ -11,12 +11,19 @@ import androidx.fragment.app.Fragment; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; +import com.fengliyan.uikit.toast.MaleToast; import com.scwang.smartrefresh.layout.SmartRefreshLayout; import com.scwang.smartrefresh.layout.api.RefreshLayout; import com.scwang.smartrefresh.layout.listener.OnRefreshLoadMoreListener; import com.xuebiping.bolizhuzi.R; import com.xuebiping.bolizhuzi.controller.main.adapter.MainRecommendAdapter; +import com.xuebiping.bolizhuzi.controller.main.manager.MainManager; +import com.xuebiping.bolizhuzi.model.main.AnchorBean; +import com.xuebiping.bolizhuzi.model.main.AnchorListBean; +import com.xuebiping.bolizhuzi.model.main.ChannelAnchorBean; import com.xuebiping.bolizhuzi.model.main.LookMeBean; +import com.xuebiping.bolizhuzi.view.base.BaseActivity; +import com.xuebiping.bolizhuzi.view.base.utils.HttpUiCallBack; import org.jetbrains.annotations.NotNull; @@ -25,12 +32,15 @@ import java.util.List; public class MainFourStarFragment extends Fragment implements OnRefreshLoadMoreListener { + private String mType = "four_star"; + private SmartRefreshLayout mSmart_refresh; private RecyclerView mRv_list; private MainRecommendAdapter mAdapter; private int mPage = 1; - private List mData = new ArrayList<>(); + private int mTotalPage; + private List mData = new ArrayList<>(); private LinearLayoutManager mLinearLayoutManager; @Nullable @@ -57,21 +67,42 @@ public class MainFourStarFragment extends Fragment implements OnRefreshLoadMoreL } private void getData(int page) { + MainManager.getHomeData((BaseActivity) getActivity(), mType, page, new HttpUiCallBack() { + @Override + public void onSuccess(BaseActivity activity, ChannelAnchorBean result, String message) { + finishFresh(); + if (result != null) { - if (page == 1) { - mData.clear(); - } + if (mPage == 1) { + mData.clear(); + } - for (int i = 0; i < 10; i++) { - LookMeBean lookMeBean = new LookMeBean(); - lookMeBean.setId(i + ""); - lookMeBean.setAvatar_url("uploads/admin/202403/25/04cf409ab9148f11c0052bb254b5c155.jpg"); - mData.add(lookMeBean); + AnchorListBean list1 = result.getList(); + if (list1 != null) { + mTotalPage = list1.getTotal_page(); + List list = list1.getList(); + if (list != null && list.size() > 0) { + mData.addAll(list); + } + } + } + if (mData != null && mData.size() > 0) { + mAdapter.setList(mData); + } + } - } + @Override + public void onFailure(BaseActivity activity, String tip) { + finishFresh(); + MaleToast.showFailureMsg(activity, tip); + } - finishFresh(); - mAdapter.setList(mData); + @Override + public void onException(BaseActivity activity, Throwable e) { + finishFresh(); + MaleToast.showFailureMsg(activity, "请重试"); + } + }); } public void finishFresh() { @@ -82,7 +113,12 @@ public class MainFourStarFragment extends Fragment implements OnRefreshLoadMoreL @Override public void onLoadMore(@NonNull @NotNull RefreshLayout refreshLayout) { mPage++; - getData(mPage); + if (mPage > mTotalPage) { + mSmart_refresh.finishLoadMore(); + mSmart_refresh.setNoMoreData(true); + } else { + getData(mPage); + } } @Override diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/view/main/MainNewPeopleFragment.java b/app/src/main/java/com/xuebiping/bolizhuzi/view/main/MainNewPeopleFragment.java index 94d541a..9205d3c 100644 --- a/app/src/main/java/com/xuebiping/bolizhuzi/view/main/MainNewPeopleFragment.java +++ b/app/src/main/java/com/xuebiping/bolizhuzi/view/main/MainNewPeopleFragment.java @@ -11,12 +11,18 @@ import androidx.fragment.app.Fragment; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; +import com.fengliyan.uikit.toast.MaleToast; import com.scwang.smartrefresh.layout.SmartRefreshLayout; import com.scwang.smartrefresh.layout.api.RefreshLayout; import com.scwang.smartrefresh.layout.listener.OnRefreshLoadMoreListener; import com.xuebiping.bolizhuzi.R; import com.xuebiping.bolizhuzi.controller.main.adapter.MainRecommendAdapter; -import com.xuebiping.bolizhuzi.model.main.LookMeBean; +import com.xuebiping.bolizhuzi.controller.main.manager.MainManager; +import com.xuebiping.bolizhuzi.model.main.AnchorBean; +import com.xuebiping.bolizhuzi.model.main.AnchorListBean; +import com.xuebiping.bolizhuzi.model.main.ChannelAnchorBean; +import com.xuebiping.bolizhuzi.view.base.BaseActivity; +import com.xuebiping.bolizhuzi.view.base.utils.HttpUiCallBack; import org.jetbrains.annotations.NotNull; @@ -25,12 +31,15 @@ import java.util.List; public class MainNewPeopleFragment extends Fragment implements OnRefreshLoadMoreListener { + private String mType = "new"; + private SmartRefreshLayout mSmart_refresh; private RecyclerView mRv_list; private MainRecommendAdapter mAdapter; private int mPage = 1; - private List mData = new ArrayList<>(); + private int mTotalPage; + private List mData = new ArrayList<>(); private LinearLayoutManager mLinearLayoutManager; @Nullable @@ -57,21 +66,42 @@ public class MainNewPeopleFragment extends Fragment implements OnRefreshLoadMore } private void getData(int page) { + MainManager.getHomeData((BaseActivity) getActivity(), mType, page, new HttpUiCallBack() { + @Override + public void onSuccess(BaseActivity activity, ChannelAnchorBean result, String message) { + finishFresh(); + if (result != null) { - if (page == 1) { - mData.clear(); - } + if (mPage == 1) { + mData.clear(); + } - for (int i = 0; i < 10; i++) { - LookMeBean lookMeBean = new LookMeBean(); - lookMeBean.setId(i + ""); - lookMeBean.setAvatar_url("uploads/admin/202403/25/04cf409ab9148f11c0052bb254b5c155.jpg"); - mData.add(lookMeBean); + AnchorListBean list1 = result.getList(); + if (list1 != null) { + mTotalPage = list1.getTotal_page(); + List list = list1.getList(); + if (list != null && list.size() > 0) { + mData.addAll(list); + } + } + } + if (mData != null && mData.size() > 0) { + mAdapter.setList(mData); + } + } - } + @Override + public void onFailure(BaseActivity activity, String tip) { + finishFresh(); + MaleToast.showFailureMsg(activity, tip); + } - finishFresh(); - mAdapter.setList(mData); + @Override + public void onException(BaseActivity activity, Throwable e) { + finishFresh(); + MaleToast.showFailureMsg(activity, "请重试"); + } + }); } public void finishFresh() { @@ -82,7 +112,12 @@ public class MainNewPeopleFragment extends Fragment implements OnRefreshLoadMore @Override public void onLoadMore(@NonNull @NotNull RefreshLayout refreshLayout) { mPage++; - getData(mPage); + if (mPage > mTotalPage) { + mSmart_refresh.finishLoadMore(); + mSmart_refresh.setNoMoreData(true); + } else { + getData(mPage); + } } @Override 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 c44882c..147b1d3 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 @@ -22,9 +22,12 @@ import androidx.viewpager.widget.ViewPager; import com.fengliyan.uikit.UiUtils; import com.fengliyan.uikit.toast.MaleToast; import com.xuebiping.bolizhuzi.R; +import com.xuebiping.bolizhuzi.controller.constant.Constant; import com.xuebiping.bolizhuzi.controller.main.adapter.MainViewPagerAdapter; import com.xuebiping.bolizhuzi.controller.main.adapter.ScaleTransitionPagerTitleView; +import com.xuebiping.bolizhuzi.controller.user.manager.UserManager; import com.xuebiping.bolizhuzi.im.uikit.common.ToastHelper; +import com.xuebiping.bolizhuzi.utils.NoClearSPUtils; import com.xuebiping.bolizhuzi.view.base.BaseActivity; import com.xuebiping.bolizhuzi.view.main.dialog.ShaiXuanDialog; @@ -62,7 +65,7 @@ public class MainRecommend2Fragment extends Fragment implements View.OnClickList private MainNewPeopleFragment mNewPeopleFragment; private MainFiveStarFragment mFiveStarFragment; private MainFourStarFragment mFourStarFragment; - private MainRecommendActiveFragment mThreeStarFragment; + private MainThreeStarFragment mThreeStarFragment; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, @@ -97,7 +100,7 @@ public class MainRecommend2Fragment extends Fragment implements View.OnClickList mNewPeopleFragment = new MainNewPeopleFragment(); mFiveStarFragment = new MainFiveStarFragment(); mFourStarFragment = new MainFourStarFragment(); - mThreeStarFragment = new MainRecommendActiveFragment(); + mThreeStarFragment = new MainThreeStarFragment(); mChannelFragments.add(mLookMeFragment); mChannelFragments.add(mRecommendFragment); @@ -145,6 +148,7 @@ public class MainRecommend2Fragment extends Fragment implements View.OnClickList mViewPagerAdapter.notifyDataSetChanged(); mMainViewPager.setCurrentItem(mIndex); + mMainViewPager.setOffscreenPageLimit(7); } private void initMagicIndicator() { @@ -286,7 +290,7 @@ public class MainRecommend2Fragment extends Fragment implements View.OnClickList shaiXuanDialog.setRightOnClickListener(new ShaiXuanDialog.OnDialogRightClickListener() { @Override public void rightClick(int isSelect) { - ToastHelper.showToast(getContext(),"选择了 " + isSelect); + NoClearSPUtils.saveInt(getActivity(), UserManager.getUserInfo().getUser_id() + Constant.FRIEND_SELECT, isSelect); } }); }else if (view == mRl_home_change) { diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/view/main/MainThreeStarFragment.java b/app/src/main/java/com/xuebiping/bolizhuzi/view/main/MainThreeStarFragment.java index 212cd5c..71d0703 100644 --- a/app/src/main/java/com/xuebiping/bolizhuzi/view/main/MainThreeStarFragment.java +++ b/app/src/main/java/com/xuebiping/bolizhuzi/view/main/MainThreeStarFragment.java @@ -11,12 +11,18 @@ import androidx.fragment.app.Fragment; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; +import com.fengliyan.uikit.toast.MaleToast; import com.scwang.smartrefresh.layout.SmartRefreshLayout; import com.scwang.smartrefresh.layout.api.RefreshLayout; import com.scwang.smartrefresh.layout.listener.OnRefreshLoadMoreListener; import com.xuebiping.bolizhuzi.R; import com.xuebiping.bolizhuzi.controller.main.adapter.MainRecommendAdapter; -import com.xuebiping.bolizhuzi.model.main.LookMeBean; +import com.xuebiping.bolizhuzi.controller.main.manager.MainManager; +import com.xuebiping.bolizhuzi.model.main.AnchorBean; +import com.xuebiping.bolizhuzi.model.main.AnchorListBean; +import com.xuebiping.bolizhuzi.model.main.ChannelAnchorBean; +import com.xuebiping.bolizhuzi.view.base.BaseActivity; +import com.xuebiping.bolizhuzi.view.base.utils.HttpUiCallBack; import org.jetbrains.annotations.NotNull; @@ -25,12 +31,15 @@ import java.util.List; public class MainThreeStarFragment extends Fragment implements OnRefreshLoadMoreListener { + private String mType = "three_star"; + private SmartRefreshLayout mSmart_refresh; private RecyclerView mRv_list; private MainRecommendAdapter mAdapter; private int mPage = 1; - private List mData = new ArrayList<>(); + private int mTotalPage; + private List mData = new ArrayList<>(); private LinearLayoutManager mLinearLayoutManager; @Nullable @@ -57,21 +66,42 @@ public class MainThreeStarFragment extends Fragment implements OnRefreshLoadMore } private void getData(int page) { + MainManager.getHomeData((BaseActivity) getActivity(), mType, page, new HttpUiCallBack() { + @Override + public void onSuccess(BaseActivity activity, ChannelAnchorBean result, String message) { + finishFresh(); + if (result != null) { - if (page == 1) { - mData.clear(); - } + if (mPage == 1) { + mData.clear(); + } - for (int i = 0; i < 10; i++) { - LookMeBean lookMeBean = new LookMeBean(); - lookMeBean.setId(i + ""); - lookMeBean.setAvatar_url("uploads/admin/202403/25/04cf409ab9148f11c0052bb254b5c155.jpg"); - mData.add(lookMeBean); + AnchorListBean list1 = result.getList(); + if (list1 != null) { + mTotalPage = list1.getTotal_page(); + List list = list1.getList(); + if (list != null && list.size() > 0) { + mData.addAll(list); + } + } + } + if (mData != null && mData.size() > 0) { + mAdapter.setList(mData); + } + } - } + @Override + public void onFailure(BaseActivity activity, String tip) { + finishFresh(); + MaleToast.showFailureMsg(activity, tip); + } - finishFresh(); - mAdapter.setList(mData); + @Override + public void onException(BaseActivity activity, Throwable e) { + finishFresh(); + MaleToast.showFailureMsg(activity, "请重试"); + } + }); } public void finishFresh() { @@ -82,7 +112,12 @@ public class MainThreeStarFragment extends Fragment implements OnRefreshLoadMore @Override public void onLoadMore(@NonNull @NotNull RefreshLayout refreshLayout) { mPage++; - getData(mPage); + if (mPage > mTotalPage) { + mSmart_refresh.finishLoadMore(); + mSmart_refresh.setNoMoreData(true); + } else { + getData(mPage); + } } @Override diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/view/main/MainVoiceFragment.java b/app/src/main/java/com/xuebiping/bolizhuzi/view/main/MainVoiceFragment.java index 2719cae..359a7fa 100644 --- a/app/src/main/java/com/xuebiping/bolizhuzi/view/main/MainVoiceFragment.java +++ b/app/src/main/java/com/xuebiping/bolizhuzi/view/main/MainVoiceFragment.java @@ -12,14 +12,19 @@ import androidx.recyclerview.widget.GridLayoutManager; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; +import com.fengliyan.uikit.toast.MaleToast; import com.scwang.smartrefresh.layout.SmartRefreshLayout; import com.scwang.smartrefresh.layout.api.RefreshLayout; import com.scwang.smartrefresh.layout.listener.OnRefreshLoadMoreListener; import com.xuebiping.bolizhuzi.R; import com.xuebiping.bolizhuzi.controller.main.adapter.MainRecommendAdapter; -import com.xuebiping.bolizhuzi.model.main.BannerBean; -import com.xuebiping.bolizhuzi.model.main.LookMeBean; +import com.xuebiping.bolizhuzi.controller.main.manager.MainManager; +import com.xuebiping.bolizhuzi.model.main.AnchorBean; +import com.xuebiping.bolizhuzi.model.main.AnchorListBean; +import com.xuebiping.bolizhuzi.model.main.ChannelAnchorBean; import com.xuebiping.bolizhuzi.utils.SPUtils; +import com.xuebiping.bolizhuzi.view.base.BaseActivity; +import com.xuebiping.bolizhuzi.view.base.utils.HttpUiCallBack; import org.jetbrains.annotations.NotNull; @@ -28,12 +33,15 @@ import java.util.List; public class MainVoiceFragment extends Fragment implements OnRefreshLoadMoreListener { + private String mType = "voice"; + private SmartRefreshLayout mSmart_refresh; private RecyclerView mRv_list; private MainRecommendAdapter mAdapter; private int mPage = 1; - private List mData = new ArrayList<>(); + private int mTotalPage; + private List mData = new ArrayList<>(); private GridLayoutManager mGridLayoutManager; private LinearLayoutManager mLinearLayoutManager; @@ -84,20 +92,42 @@ public class MainVoiceFragment extends Fragment implements OnRefreshLoadMoreList private void getData(int page) { - if (page == 1) { - mData.clear(); - } + MainManager.getHomeData((BaseActivity) getActivity(), mType, page, new HttpUiCallBack() { + @Override + public void onSuccess(BaseActivity activity, ChannelAnchorBean result, String message) { + finishFresh(); + if (result != null) { - for (int i = 0; i < 10; i++) { - LookMeBean lookMeBean = new LookMeBean(); - lookMeBean.setId(i + ""); - lookMeBean.setAvatar_url("uploads/admin/202403/25/04cf409ab9148f11c0052bb254b5c155.jpg"); - mData.add(lookMeBean); + if (mPage == 1) { + mData.clear(); + } - } + AnchorListBean list1 = result.getList(); + if (list1 != null) { + mTotalPage = list1.getTotal_page(); + List list = list1.getList(); + if (list != null && list.size() > 0) { + mData.addAll(list); + } + } + } + if (mData != null && mData.size() > 0) { + mAdapter.setList(mData); + } + } - finishFresh(); - mAdapter.setList(mData); + @Override + public void onFailure(BaseActivity activity, String tip) { + finishFresh(); + MaleToast.showFailureMsg(activity, tip); + } + + @Override + public void onException(BaseActivity activity, Throwable e) { + finishFresh(); + MaleToast.showFailureMsg(activity, "请重试"); + } + }); } public void finishFresh() { @@ -108,7 +138,12 @@ public class MainVoiceFragment extends Fragment implements OnRefreshLoadMoreList @Override public void onLoadMore(@NonNull @NotNull RefreshLayout refreshLayout) { mPage++; - getData(mPage); + if (mPage > mTotalPage) { + mSmart_refresh.finishLoadMore(); + mSmart_refresh.setNoMoreData(true); + } else { + getData(mPage); + } } @Override diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/view/main/RecommendFragment2.java b/app/src/main/java/com/xuebiping/bolizhuzi/view/main/RecommendFragment2.java index aafc792..49c4220 100644 --- a/app/src/main/java/com/xuebiping/bolizhuzi/view/main/RecommendFragment2.java +++ b/app/src/main/java/com/xuebiping/bolizhuzi/view/main/RecommendFragment2.java @@ -15,20 +15,22 @@ import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; import androidx.viewpager.widget.ViewPager; -import com.chad.library.adapter.base.viewholder.BaseViewHolder; +import com.fengliyan.uikit.toast.MaleToast; import com.scwang.smartrefresh.layout.SmartRefreshLayout; import com.scwang.smartrefresh.layout.api.RefreshLayout; import com.scwang.smartrefresh.layout.listener.OnRefreshLoadMoreListener; import com.xuebiping.bolizhuzi.R; -import com.xuebiping.bolizhuzi.controller.constant.ConstUrl; -import com.xuebiping.bolizhuzi.controller.main.adapter.MainLookMeAdapter; import com.xuebiping.bolizhuzi.controller.main.adapter.MainRecommendAdapter; +import com.xuebiping.bolizhuzi.controller.main.manager.MainManager; +import com.xuebiping.bolizhuzi.model.main.AnchorBean; +import com.xuebiping.bolizhuzi.model.main.AnchorListBean; import com.xuebiping.bolizhuzi.model.main.BannerBean; -import com.xuebiping.bolizhuzi.model.main.LookMeBean; -import com.xuebiping.bolizhuzi.model.main.MainRecommendListBean; +import com.xuebiping.bolizhuzi.model.main.ChannelAnchorBean; import com.xuebiping.bolizhuzi.utils.BaseUtils; import com.xuebiping.bolizhuzi.utils.GlideImageLoader; 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.main.utils.JumpUtils; import com.youth.banner.Banner; import com.youth.banner.listener.OnBannerListener; @@ -40,19 +42,23 @@ import java.util.List; public class RecommendFragment2 extends Fragment implements OnRefreshLoadMoreListener { + private String mType = "new"; + private SmartRefreshLayout mSmart_refresh; private RecyclerView mRv_list; private Banner mBn_recommend; private MainRecommendAdapter mAdapter; private int mPage = 1; - private List mData = new ArrayList<>(); - private List mData2 = new ArrayList<>(); + private int mTotalPage; + private List mData = new ArrayList<>(); + private List mBanner = new ArrayList<>(); List images = new ArrayList<>(); private GridLayoutManager mGridLayoutManager; private LinearLayoutManager mLinearLayoutManager; private RelativeLayout mRl_banner; + @Nullable @org.jetbrains.annotations.Nullable @Override @@ -101,41 +107,62 @@ public class RecommendFragment2 extends Fragment implements OnRefreshLoadMoreLis } private void getData(int page) { + MainManager.getHomeData((BaseActivity) getActivity(), mType, page, new HttpUiCallBack() { + @Override + public void onSuccess(BaseActivity activity, ChannelAnchorBean result, String message) { + finishFresh(); + if (result != null) { - if (page == 1) { - mData.clear(); - mData2.clear(); - } + if (mPage == 1) { + mBanner.clear(); + mBanner = result.getBanner(); + if (mBanner != null && mBanner.size() > 0) { + mRl_banner.setVisibility(View.VISIBLE); + banner(mBanner); + }else { + mRl_banner.setVisibility(View.GONE); + } - for (int i = 0; i < 10; i++) { - if (i < 3 && page == 1) { - BannerBean bannerBean = new BannerBean(); - bannerBean.setImage("https://img.boxinxinc.cn/images/banner/050ba52eec6c9211436bf82aecfd3f81.jpg"); - mData2.add(bannerBean); + mData.clear(); + } + + AnchorListBean list1 = result.getList(); + if (list1 != null) { + mTotalPage = list1.getTotal_page(); + List list = list1.getList(); + if (list != null && list.size() > 0) { + mData.addAll(list); + } + } + } + if (mData != null && mData.size() > 0) { + mAdapter.setList(mData); + } } - LookMeBean lookMeBean = new LookMeBean(); - lookMeBean.setId(i + ""); - lookMeBean.setAvatar_url("uploads/admin/202403/25/04cf409ab9148f11c0052bb254b5c155.jpg"); - mData.add(lookMeBean); + @Override + public void onFailure(BaseActivity activity, String tip) { + finishFresh(); + MaleToast.showFailureMsg(activity, tip); + } - } - - finishFresh(); - if (page == 1) { - banner(mData2); - } - mAdapter.setList(mData); + @Override + public void onException(BaseActivity activity, Throwable e) { + Log.d("nail", "onException: " + e); + finishFresh(); + MaleToast.showFailureMsg(activity, "请重试"); + } + }); } - private void banner(List mBanners) { + private void banner(List banners) { images.clear(); - if (null != mBanners) { - if (mBanners.size() != 0) { - for (int i = 0; i < mBanners.size(); i++) { + if (null != banners) { + if (banners.size() != 0) { + for (int i = 0; i < banners.size(); i++) { // images.add(StrU.getResourcePath(mBanners.get(i).getImage(), mContext)); - images.add(mBanners.get(i).getImage()); + images.add(banners.get(i).getImage()); } } } @@ -146,12 +173,12 @@ public class RecommendFragment2 extends Fragment implements OnRefreshLoadMoreLis .setOnBannerListener(new OnBannerListener() { @Override public void OnBannerClick(int position) { - if (null != mBanners) { - int size = mBanners.size(); + if (null != banners) { + int size = banners.size(); if (size != 0) { int i = position % size; - JumpUtils.jump(mBanners.get(i).getLink_type(), - mBanners.get(i).getLink_url(), getActivity()); + JumpUtils.jump(banners.get(i).getLink_type(), + banners.get(i).getLink_url(), getActivity()); // mRv_list.setLayoutManager(mLinearLayoutManager); // mAdapter.notifyDataSetChanged(); } @@ -191,7 +218,12 @@ public class RecommendFragment2 extends Fragment implements OnRefreshLoadMoreLis @Override public void onLoadMore(@NonNull @NotNull RefreshLayout refreshLayout) { mPage++; - getData(mPage); + if (mPage > mTotalPage) { + mSmart_refresh.finishLoadMore(); + mSmart_refresh.setNoMoreData(true); + } else { + getData(mPage); + } } @Override diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/view/main/dialog/ShaiXuanDialog.java b/app/src/main/java/com/xuebiping/bolizhuzi/view/main/dialog/ShaiXuanDialog.java index 67404de..5f7afbd 100644 --- a/app/src/main/java/com/xuebiping/bolizhuzi/view/main/dialog/ShaiXuanDialog.java +++ b/app/src/main/java/com/xuebiping/bolizhuzi/view/main/dialog/ShaiXuanDialog.java @@ -17,6 +17,9 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import com.xuebiping.bolizhuzi.R; +import com.xuebiping.bolizhuzi.controller.constant.Constant; +import com.xuebiping.bolizhuzi.controller.user.manager.UserManager; +import com.xuebiping.bolizhuzi.utils.NoClearSPUtils; public class ShaiXuanDialog extends Dialog implements View.OnClickListener { @@ -72,7 +75,16 @@ public class ShaiXuanDialog extends Dialog implements View.OnClickListener { tv_boy = findViewById(R.id.tv_boy); tv_girl = findViewById(R.id.tv_girl); - setTxtStyle(tv_all,tv_boy,tv_girl); + int select = NoClearSPUtils.getInt(mContext, UserManager.getUserInfo().getUser_id() + Constant.FRIEND_SELECT, isSelect); + if (select == 0) { + setTxtStyle(tv_all,tv_boy,tv_girl); + }else if (select == 1) { + setTxtStyle(tv_boy,tv_all,tv_girl); + }else if (select == 2) { + setTxtStyle(tv_girl,tv_boy,tv_all); + } + +// setTxtStyle(tv_all,tv_boy,tv_girl); ll_nm_video_call = findViewById(R.id.ll_nm_video_call); @@ -111,7 +123,7 @@ public class ShaiXuanDialog extends Dialog implements View.OnClickListener { public void setTxtStyle(TextView textView1,TextView textView2,TextView textView3){ textView1.setTextColor(Color.parseColor("#ffffff")); - textView1.setBackground(mContext.getResources().getDrawable(R.drawable.bg_fb65fd)); + textView1.setBackground(mContext.getResources().getDrawable(R.drawable.shape_button_enable)); textView2.setTextColor(Color.parseColor("#999999")); textView2.setBackground(mContext.getResources().getDrawable(R.drawable.bg_999999_t10)); textView3.setTextColor(Color.parseColor("#999999")); diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/BindPhoneActivity.java b/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/BindPhoneActivity.java index 6164814..8a1b482 100644 --- a/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/BindPhoneActivity.java +++ b/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/BindPhoneActivity.java @@ -87,12 +87,12 @@ public class BindPhoneActivity extends BaseActivity implements View.OnClickListe mBindWeiboView.setOnClickListener(this); rl_delete_account.setOnClickListener(this);//注销账号 - if (UserManager.getUserInfo().isWomen()) { - bind_certification.setVisibility(View.VISIBLE); - getSelfieExample(); - } else { - bind_certification.setVisibility(View.GONE); - } +// if (UserManager.getUserInfo().isWomen()) { +// bind_certification.setVisibility(View.VISIBLE); +// getSelfieExample(); +// } else { +// bind_certification.setVisibility(View.GONE); +// } } private BindInfoBean mBindInfoBean; diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/ContactListActivity.java b/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/ContactListActivity.java new file mode 100644 index 0000000..3ff70e0 --- /dev/null +++ b/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/ContactListActivity.java @@ -0,0 +1,118 @@ +package com.xuebiping.bolizhuzi.view.settings; + +import android.content.Context; +import android.graphics.Color; +import android.graphics.Typeface; +import android.os.Bundle; +import android.util.Log; +import android.view.View; + +import androidx.fragment.app.Fragment; +import androidx.viewpager.widget.ViewPager; + +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.main.LookMeFragment; + +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; + +public class ContactListActivity extends BaseActivity { + + private MagicIndicator mMagicIndicator; + private ViewPager mMainViewPager; + + private MainViewPagerAdapter mViewPagerAdapter; + private List mChannelFragments = new ArrayList<>(); + private ContactListFragment mFriendFragment; + private ContactListFragment mFocusFragment; + private ContactListFragment mFansFragment; + private List mDataList = new ArrayList<>(); + private int mIndex = 1; + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_contact_list); + setTitleName("通讯录"); + initView(); + } + + private void initView() { + mMagicIndicator = findViewById(R.id.magic_indicator); + mMainViewPager = findViewById(R.id.main_view_pager); + + mFriendFragment = ContactListFragment.newInstance(0); + mFocusFragment = ContactListFragment.newInstance(1); + mFansFragment = ContactListFragment.newInstance(2); + + mChannelFragments.add(mFriendFragment); + mChannelFragments.add(mFocusFragment); + mChannelFragments.add(mFansFragment); + + mViewPagerAdapter = new MainViewPagerAdapter(getSupportFragmentManager(), + mChannelFragments); + mMainViewPager.setAdapter(mViewPagerAdapter); + + initMagicIndicator(); + + mViewPagerAdapter.notifyDataSetChanged(); + mMainViewPager.setCurrentItem(mIndex); + } + + private void initMagicIndicator() { + mDataList.clear(); + mDataList.add("好友"); + mDataList.add("关注"); + mDataList.add("粉丝"); + + CommonNavigator commonNavigator = new CommonNavigator(this); + 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) { + mMainViewPager.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, mMainViewPager); + } +} diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/ContactListFragment.java b/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/ContactListFragment.java new file mode 100644 index 0000000..c5cbeca --- /dev/null +++ b/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/ContactListFragment.java @@ -0,0 +1,185 @@ +package com.xuebiping.bolizhuzi.view.settings; + +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.LinearLayout; + +import androidx.annotation.NonNull; +import androidx.fragment.app.Fragment; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + +import com.fengliyan.uikit.toast.MaleToast; +import com.scwang.smartrefresh.layout.SmartRefreshLayout; +import com.scwang.smartrefresh.layout.api.RefreshLayout; +import com.scwang.smartrefresh.layout.listener.OnRefreshLoadMoreListener; +import com.xuebiping.bolizhuzi.R; +import com.xuebiping.bolizhuzi.controller.dynamics.manager.DynamicsManager; +import com.xuebiping.bolizhuzi.controller.settings.adapter.ContactListAdapter; +import com.xuebiping.bolizhuzi.controller.settings.manager.SettingManager; +import com.xuebiping.bolizhuzi.model.main.FollowResultBean; +import com.xuebiping.bolizhuzi.model.settings.SocialBean; +import com.xuebiping.bolizhuzi.model.settings.SocialListBean; +import com.xuebiping.bolizhuzi.view.base.BaseActivity; +import com.xuebiping.bolizhuzi.view.base.utils.HttpUiCallBack; + +import org.jetbrains.annotations.NotNull; + +import java.util.ArrayList; +import java.util.List; + +public class ContactListFragment extends Fragment implements OnRefreshLoadMoreListener { + + private static final String ARG_PARAM1 = "param1"; + + private int mType; //0 好友 1 关注 2粉丝 + + private View v; + + private SmartRefreshLayout mSmart_refresh; + private RecyclerView mRv_recommend_list; + private LinearLayout mRl_no_data; + + private int mPage = 1; + private int mTotalPage; + + private List mData = new ArrayList<>(); + private ContactListAdapter mContactListAdapter; + + + public ContactListFragment() { + // Required empty public constructor + } + + public static ContactListFragment newInstance(int param1) { + ContactListFragment fragment = new ContactListFragment(); + Bundle args = new Bundle(); + args.putInt(ARG_PARAM1, param1); + fragment.setArguments(args); + return fragment; + } + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + if (getArguments() != null) { + mType = getArguments().getInt(ARG_PARAM1); + } + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + // Inflate the layout for this fragment + View v = inflater.inflate(R.layout.fragment_contact_list, container, false); + initView(v); + getContactList(mPage); + return v; + } + + private void initView(View v) { + mSmart_refresh = v.findViewById(R.id.smart_refresh); + mRv_recommend_list = v.findViewById(R.id.rv_recommend_list); + mRl_no_data = v.findViewById(R.id.rl_no_data); + mRv_recommend_list.setLayoutManager(new LinearLayoutManager(getActivity())); + mContactListAdapter = new ContactListAdapter(R.layout.item_contact_list, getActivity(), mType); + mRv_recommend_list.setAdapter(mContactListAdapter); + + mSmart_refresh.setOnRefreshLoadMoreListener(this); + + mContactListAdapter.setOnFocusClickListener(new ContactListAdapter.OnFocusClickListener() { + @Override + public void onFocusClick(int position, int user_id, int is_follow) { + follow(user_id + "", position); + } + }); + } + + private void follow(String uid, final int position){ + DynamicsManager.follow((BaseActivity) getActivity(), uid, new HttpUiCallBack() { + @Override + public void onSuccess(BaseActivity activity, FollowResultBean result, String message) { + mData.get(position).setIs_follow(mData.get(position) + .getIs_follow() == 1? 0 :1); + mContactListAdapter.notifyItemChanged(position); + } + + @Override + public void onFailure(BaseActivity activity, String tip) { + MaleToast.showMessage(activity, tip); + } + + @Override + public void onException(BaseActivity activity, Throwable e) { + MaleToast.showMessage(activity, "关注失败"); + } + }); + } + + private void getContactList(int page){ + SettingManager.getContactList((BaseActivity) getActivity(), mType, page, new HttpUiCallBack() { + @Override + public void onSuccess(BaseActivity activity, SocialListBean result, String message) { + finishFresh(); + if (result != null) { + mTotalPage = result.getTotal_page(); + if (mPage == 1) { + mData.clear(); + } + List list = result.getList(); + if (list != null && list.size() > 0) { + mData.addAll(list); + } + } + if (mData != null && mData.size() > 0) { + if (mPage == 1) { + mRl_no_data.setVisibility(View.GONE); + mRv_recommend_list.setVisibility(View.VISIBLE); + } + mContactListAdapter.setList(mData); + } else { + if (mPage == 1) { + mRl_no_data.setVisibility(View.VISIBLE); + mRv_recommend_list.setVisibility(View.GONE); + } + } + } + + @Override + public void onFailure(BaseActivity activity, String tip) { + finishFresh(); + MaleToast.showFailureMsg(activity, tip); + } + + @Override + public void onException(BaseActivity activity, Throwable e) { + finishFresh(); + MaleToast.showFailureMsg(activity, "请重试"); + } + }); + } + + public void finishFresh() { + mSmart_refresh.finishLoadMore(); + mSmart_refresh.finishRefresh(); + } + + @Override + public void onLoadMore(@NonNull @NotNull RefreshLayout refreshLayout) { + mPage++; + if (mPage > mTotalPage) { + mSmart_refresh.finishLoadMore(); + mSmart_refresh.setNoMoreData(true); + } else { + getContactList(mPage); + } + } + + @Override + public void onRefresh(@NonNull @NotNull RefreshLayout refreshLayout) { + mPage = 1; + getContactList(mPage); + } +} diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/GenderActiveActivity.java b/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/GenderActiveActivity.java new file mode 100644 index 0000000..a5a9f57 --- /dev/null +++ b/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/GenderActiveActivity.java @@ -0,0 +1,129 @@ +package com.xuebiping.bolizhuzi.view.settings; + +import android.os.Bundle; +import android.view.View; +import android.widget.LinearLayout; + +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + +import com.fengliyan.uikit.toast.MaleToast; +import com.scwang.smartrefresh.layout.SmartRefreshLayout; +import com.scwang.smartrefresh.layout.api.RefreshLayout; +import com.scwang.smartrefresh.layout.listener.OnRefreshLoadMoreListener; +import com.xuebiping.bolizhuzi.R; +import com.xuebiping.bolizhuzi.controller.main.manager.MainManager; +import com.xuebiping.bolizhuzi.controller.settings.adapter.GenderActiveAdapter; +import com.xuebiping.bolizhuzi.controller.user.manager.UserManager; +import com.xuebiping.bolizhuzi.model.main.UserGenderListBean; +import com.xuebiping.bolizhuzi.model.settings.UserInfoBean; +import com.xuebiping.bolizhuzi.view.base.BaseActivity; +import com.xuebiping.bolizhuzi.view.base.utils.HttpUiCallBack; + +import org.jetbrains.annotations.NotNull; + +import java.util.ArrayList; +import java.util.List; + +public class GenderActiveActivity extends BaseActivity implements OnRefreshLoadMoreListener { + + private int mPage = 1; + private int mTotalPage; + + private SmartRefreshLayout mSmart_refresh; + private RecyclerView mRv_recommend_list; + private LinearLayout mRl_no_data; + private GenderActiveAdapter mGenderActiveAdapter; + private List mData = new ArrayList<>(); + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_gender_activity); + setTitleName("活跃"); + initView(); + getGenderUserInfo(mPage); + } + + private void initView() { + mSmart_refresh = findViewById(R.id.smart_refresh); + mRv_recommend_list = findViewById(R.id.rv_recommend_list); + mRl_no_data = findViewById(R.id.rl_no_data); + mRv_recommend_list.setLayoutManager(new LinearLayoutManager(this)); + mGenderActiveAdapter = new GenderActiveAdapter(R.layout.item_gender_active, this); + mRv_recommend_list.setAdapter(mGenderActiveAdapter); + + mSmart_refresh.setOnRefreshLoadMoreListener(this); + } + + public void getGenderUserInfo(int page){ + int gender = 1; + if(UserManager.getUserInfo().getGender() == 1){ + gender = 2; + } + + MainManager.getGenderActiveList(this, gender, page, new HttpUiCallBack() { + @Override + public void onSuccess(BaseActivity activity, UserGenderListBean result, String message) { + finishFresh(); + if (result.getList() != null) { + mTotalPage = result.getList().getTotal_page(); + if (mPage == 1) { + mData.clear(); + } + List list = result.getList().getList(); + if (list != null && list.size() > 0) { + mData.addAll(list); + } + } + if (mData != null && mData.size() > 0) { + if (mPage == 1) { + mRl_no_data.setVisibility(View.GONE); + mRv_recommend_list.setVisibility(View.VISIBLE); + } + mGenderActiveAdapter.setList(mData); + } else { + if (mPage == 1) { + mRl_no_data.setVisibility(View.VISIBLE); + mRv_recommend_list.setVisibility(View.GONE); + } + } + } + + @Override + public void onFailure(BaseActivity activity, String tip) { + MaleToast.showMessage(activity, tip); + finishFresh(); + } + + @Override + public void onException(BaseActivity activity, Throwable e) { + MaleToast.showFailureMsg(activity, "请重试"); + finishFresh(); + } + }); + } + + public void finishFresh() { + mSmart_refresh.finishLoadMore(); + mSmart_refresh.finishRefresh(); + } + + @Override + public void onLoadMore(@NonNull @NotNull RefreshLayout refreshLayout) { + mPage++; + if (mPage > mTotalPage) { + mSmart_refresh.finishLoadMore(); + mSmart_refresh.setNoMoreData(true); + } else { + getGenderUserInfo(mPage); + } + } + + @Override + public void onRefresh(@NonNull @NotNull RefreshLayout refreshLayout) { + mPage = 1; + getGenderUserInfo(mPage); + } +} diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/GeneralMemberFragment.java b/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/GeneralMemberFragment.java index 3184190..c283db3 100644 --- a/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/GeneralMemberFragment.java +++ b/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/GeneralMemberFragment.java @@ -23,8 +23,10 @@ import androidx.recyclerview.widget.GridLayoutManager; import androidx.recyclerview.widget.RecyclerView; import com.alipay.sdk.app.PayTask; +import com.facebook.drawee.view.SimpleDraweeView; import com.xuebiping.bolizhuzi.R; import com.xuebiping.bolizhuzi.controller.constant.ConsUser; +import com.xuebiping.bolizhuzi.controller.constant.ConstUrl; import com.xuebiping.bolizhuzi.controller.constant.Constant; import com.xuebiping.bolizhuzi.controller.eventBus.PayEvent; import com.xuebiping.bolizhuzi.controller.settings.adapter.GeneralOptionsRecyclerAdapter; @@ -66,20 +68,20 @@ public class GeneralMemberFragment extends Fragment implements View.OnClickListe private TextView tv_member_time; private ConstraintLayout lin_vip_shift1, lin_vip_shift2, lin_vip_shift3; private TextView tv_vip_shift_name1, tv_vip_shift_name2, tv_vip_shift_name3; - private TextView tv_vip_unit1, tv_vip_unit2; + private TextView tv_vip_price1, tv_vip_price2, tv_vip_price3; private TextView tv_vip_price_hint1, tv_vip_price_hint2, tv_vip_price_hint3; - private ImageView iv_vip_shift1, iv_vip_shift2; + private RecyclerView mOptionView; private TextView tv_member_setting; private LinearLayout lin_member_bottom_btn; private TextView tv_member_open; private TextView tv_member_sure; private GeneralOptionsRecyclerAdapter mAdapter; - private int type = 6; + private int type = 0; private List mPrivileges = new ArrayList<>(); - private Boolean isVip = false; + private String mSelectedPayMethod = "alipay"; //默认微信 private MemberPayDialog mPayDialog; @@ -96,6 +98,8 @@ public class GeneralMemberFragment extends Fragment implements View.OnClickListe private String price3; private int defaultType = 0;//默认选中会员类型 private OnScrollChange onScrollChange; + private SimpleDraweeView mUser_head; + private TextView mTv_notice; @Nullable @Override @@ -110,28 +114,32 @@ public class GeneralMemberFragment extends Fragment implements View.OnClickListe private void initView(View v) { sv_general_member = v.findViewById(R.id.sv_general_member); - tv_member_time = v.findViewById(R.id.tv_member_time); - lin_vip_shift1 = v.findViewById(R.id.lin_vip_shift1); - tv_vip_shift_name1 = v.findViewById(R.id.tv_vip_shift_name1); - tv_vip_unit1 = v.findViewById(R.id.tv_vip_unit1); - tv_vip_price1 = v.findViewById(R.id.tv_vip_price1); - tv_vip_price_hint1 = v.findViewById(R.id.tv_vip_price_hint1); - lin_vip_shift2 = v.findViewById(R.id.lin_vip_shift2); - tv_vip_shift_name2 = v.findViewById(R.id.tv_vip_shift_name2); - tv_vip_unit2 = v.findViewById(R.id.tv_vip_unit2); - tv_vip_price2 = v.findViewById(R.id.tv_vip_price2); - tv_vip_price_hint2 = v.findViewById(R.id.tv_vip_price_hint2); - lin_vip_shift3 = v.findViewById(R.id.lin_vip_shift3); - tv_vip_shift_name3 = v.findViewById(R.id.tv_vip_shift_name3); - tv_vip_price3 = v.findViewById(R.id.tv_vip_price3); - tv_vip_price_hint3 = v.findViewById(R.id.tv_vip_price_hint3); - iv_vip_shift1 = v.findViewById(R.id.iv_vip_shift1); - iv_vip_shift2 = v.findViewById(R.id.iv_vip_shift2); tv_member_setting = v.findViewById(R.id.tv_member_setting); lin_member_bottom_btn = v.findViewById(R.id.lin_member_bottom_btn); tv_member_open = v.findViewById(R.id.tv_member_open); tv_member_sure = v.findViewById(R.id.tv_member_sure); + + + mUser_head = v.findViewById(R.id.user_head); + tv_member_time = v.findViewById(R.id.tv_member_time); + + lin_vip_shift1 = v.findViewById(R.id.lin_vip_shift1); + tv_vip_shift_name1 = v.findViewById(R.id.tv_vip_shift_name1); + tv_vip_price1 = v.findViewById(R.id.tv_vip_price1); + tv_vip_price_hint1 = v.findViewById(R.id.tv_vip_price_hint1); + + lin_vip_shift2 = v.findViewById(R.id.lin_vip_shift2); + tv_vip_shift_name2 = v.findViewById(R.id.tv_vip_shift_name2); + tv_vip_price2 = v.findViewById(R.id.tv_vip_price2); + tv_vip_price_hint2 = v.findViewById(R.id.tv_vip_price_hint2); + + lin_vip_shift3 = v.findViewById(R.id.lin_vip_shift3); + tv_vip_shift_name3 = v.findViewById(R.id.tv_vip_shift_name3); + tv_vip_price3 = v.findViewById(R.id.tv_vip_price3); + tv_vip_price_hint3 = v.findViewById(R.id.tv_vip_price_hint3); + mOptionView = v.findViewById(R.id.general_recycler_view); + mTv_notice = v.findViewById(R.id.tv_notice); mOptionView.setLayoutManager(new GridLayoutManager(requireContext(), 3)); @@ -166,20 +174,25 @@ public class GeneralMemberFragment extends Fragment implements View.OnClickListe SettingManager.getMemberInfo((BaseActivity) getActivity(), type, new HttpUiCallBack() { @Override public void onSuccess(BaseActivity activity, MemberBean result, String message) { + + mTv_notice.setText(result.getNotice()); + if (result.getInfo() != null) { + + mUser_head.setImageURI(ConstUrl.IMAGE_URL + result.getInfo().getAvatar()); + if (!TextUtils.isEmpty(result.getInfo().getExpire_date_new())) { tv_member_time.setText("有效期至:" + result.getInfo().getExpire_date_new()); - isVip = true; lin_member_bottom_btn.setVisibility(View.VISIBLE); tv_member_open.setVisibility(View.GONE); + + SPUtils.saveBoolean(getActivity(), ConsUser.USER_VIP, true); } else { - tv_member_time.setText("1000+用户已开通"); - isVip = false; + tv_member_time.setText("你还未开通VIP"); lin_member_bottom_btn.setVisibility(View.GONE); tv_member_open.setVisibility(View.VISIBLE); tv_member_open.setText("立即开通"); } - SPUtils.saveBoolean(getActivity(), ConsUser.USER_VIP, isVip); if (SPUtils.getInt(getActivity(), ConsUser.GENDER) == 1) { lin_member_bottom_btn.setVisibility(View.GONE); @@ -189,42 +202,75 @@ public class GeneralMemberFragment extends Fragment implements View.OnClickListe List list = result.getInfo().getList(); if (list != null && list.size() > 0) { - price1 = (int) Double.parseDouble(list.get(0).getPrice()) + list.get(0).getExpires_title(); - tv_vip_shift_name1.setText(list.get(0).getName()); - tv_vip_price1.setText((int) Double.parseDouble(list.get(0).getPrice()) + ""); - tv_vip_price_hint1.setText("原价¥" + list.get(0).getOrigin_price()); - price2 = (int) Double.parseDouble(list.get(1).getPrice()) + list.get(1).getExpires_title(); - tv_vip_shift_name2.setText(list.get(1).getName()); - tv_vip_price2.setText((int) Double.parseDouble(list.get(1).getPrice()) + ""); - tv_vip_price_hint2.setText("原价¥" + list.get(1).getOrigin_price()); + if (list.size() == 1) { + lin_vip_shift1.setVisibility(View.VISIBLE); + lin_vip_shift2.setVisibility(View.GONE); + lin_vip_shift3.setVisibility(View.GONE); - price3 = (int) Double.parseDouble(list.get(2).getPrice()) + list.get(2).getExpires_title(); - tv_vip_shift_name3.setText(list.get(2).getName()); - tv_vip_price3.setText((int) Double.parseDouble(list.get(2).getPrice()) + ""); - tv_vip_price_hint3.setText("原价¥" + list.get(2).getOrigin_price()); + price1 = (int) Double.parseDouble(list.get(0).getPrice()) + list.get(0).getExpires_title(); + tv_vip_shift_name1.setText(list.get(0).getName()); + tv_vip_price1.setText((int) Double.parseDouble(list.get(0).getPrice()) + ""); + tv_vip_price_hint1.setText("原价¥" + list.get(0).getOrigin_price()); - goodsId1 = list.get(0).getId(); - goodsId2 = list.get(1).getId(); - goodsId3 = list.get(2).getId(); + goodsId1 = list.get(0).getId(); + }else if (list.size() == 2) { + lin_vip_shift1.setVisibility(View.VISIBLE); + lin_vip_shift2.setVisibility(View.VISIBLE); + lin_vip_shift3.setVisibility(View.GONE); + + price1 = (int) Double.parseDouble(list.get(0).getPrice()) + list.get(0).getExpires_title(); + tv_vip_shift_name1.setText(list.get(0).getName()); + tv_vip_price1.setText((int) Double.parseDouble(list.get(0).getPrice()) + ""); + tv_vip_price_hint1.setText("原价¥" + list.get(0).getOrigin_price()); + + price2 = (int) Double.parseDouble(list.get(1).getPrice()) + list.get(1).getExpires_title(); + tv_vip_shift_name2.setText(list.get(1).getName()); + tv_vip_price2.setText((int) Double.parseDouble(list.get(1).getPrice()) + ""); + tv_vip_price_hint2.setText("原价¥" + list.get(1).getOrigin_price()); + + goodsId1 = list.get(0).getId(); + goodsId2 = list.get(1).getId(); + }else { + lin_vip_shift1.setVisibility(View.VISIBLE); + lin_vip_shift2.setVisibility(View.VISIBLE); + lin_vip_shift3.setVisibility(View.VISIBLE); + + price1 = (int) Double.parseDouble(list.get(0).getPrice()) + list.get(0).getExpires_title(); + tv_vip_shift_name1.setText(list.get(0).getName()); + tv_vip_price1.setText((int) Double.parseDouble(list.get(0).getPrice()) + ""); + tv_vip_price_hint1.setText("原价¥" + list.get(0).getOrigin_price()); + + price2 = (int) Double.parseDouble(list.get(1).getPrice()) + list.get(1).getExpires_title(); + tv_vip_shift_name2.setText(list.get(1).getName()); + tv_vip_price2.setText((int) Double.parseDouble(list.get(1).getPrice()) + ""); + tv_vip_price_hint2.setText("原价¥" + list.get(1).getOrigin_price()); + + price3 = (int) Double.parseDouble(list.get(2).getPrice()) + list.get(2).getExpires_title(); + tv_vip_shift_name3.setText(list.get(2).getName()); + tv_vip_price3.setText((int) Double.parseDouble(list.get(2).getPrice()) + ""); + tv_vip_price_hint3.setText("原价¥" + list.get(2).getOrigin_price()); + + goodsId1 = list.get(0).getId(); + goodsId2 = list.get(1).getId(); + goodsId3 = list.get(2).getId(); + } } mAdapter.setVip_day_free_send(result.getInfo().getVip_day_free_send()); } mPrivileges.clear(); - for (int i = 0; i < 6; i++) { - MemberPrivilegesInfo info = new MemberPrivilegesInfo(); - info.setId(i); - if (i == 0) { - info.setDesc("半价无限畅聊"); - } - if (i == 1) { - info.setDesc("每日可享1次免费视频,单次最长1分钟"); - } -// if (i == 2 && isVip) { -// info.setName("VISIBLE"); +// for (int i = 0; i < 6; i++) { +// MemberPrivilegesInfo info = new MemberPrivilegesInfo(); +// info.setId(i); +// if (i == 0) { +// info.setDesc("半价无限畅聊"); // } - mPrivileges.add(info); - } +// if (i == 1) { +// info.setDesc("每日可享1次免费视频,单次最长1分钟"); +// } +// mPrivileges.add(info); +// } + mPrivileges.addAll(result.getPrivileges()); mAdapter.setOptions(mPrivileges); } @@ -244,41 +290,41 @@ public class GeneralMemberFragment extends Fragment implements View.OnClickListe public void onClick(View v) { if (v == tv_member_setting) { Intent intent = new Intent(getContext(), PrivilegeSettingActivity.class); - intent.putExtra("isVip", isVip); + intent.putExtra("isVip", SPUtils.getBoolean(getActivity(), ConsUser.USER_VIP, false)); startActivity(intent); } else if (v == lin_vip_shift1) { - lin_vip_shift1.setBackgroundResource(R.drawable.vip_select_bg2); - lin_vip_shift2.setBackgroundResource(R.drawable.vip_select_bg1); - lin_vip_shift3.setBackgroundResource(R.drawable.vip_select_bg1); + lin_vip_shift1.setBackgroundResource(R.mipmap.new_vip_select_bg2); + lin_vip_shift2.setBackgroundResource(R.mipmap.new_vip_select_bg1); + lin_vip_shift3.setBackgroundResource(R.mipmap.new_vip_select_bg1); defaultType = 0; - if (goodsId1 == 1011) { - List list = mAdapter.getmOptions(); - list.get(0).setDesc("半价无限畅聊"); - list.get(1).setDesc("每日可享1次免费视频,单次最长1分钟"); - mAdapter.setOptions(list); - } +// if (goodsId1 == 1011) { +// List list = mAdapter.getmOptions(); +// list.get(0).setDesc("半价无限畅聊"); +// list.get(1).setDesc("每日可享1次免费视频,单次最长1分钟"); +// mAdapter.setOptions(list); +// } } else if (v == lin_vip_shift2) { - lin_vip_shift1.setBackgroundResource(R.drawable.vip_select_bg1); - lin_vip_shift2.setBackgroundResource(R.drawable.vip_select_bg2); - lin_vip_shift3.setBackgroundResource(R.drawable.vip_select_bg1); + lin_vip_shift1.setBackgroundResource(R.mipmap.new_vip_select_bg1); + lin_vip_shift2.setBackgroundResource(R.mipmap.new_vip_select_bg2); + lin_vip_shift3.setBackgroundResource(R.mipmap.new_vip_select_bg1); defaultType = 1; - if (goodsId2 == 1012) { - List list = mAdapter.getmOptions(); - list.get(0).setDesc("半价无限畅聊"); - list.get(1).setDesc("每日可享2次免费视频,单次最长1分钟"); - mAdapter.setOptions(list); - } +// if (goodsId2 == 1012) { +// List list = mAdapter.getmOptions(); +// list.get(0).setDesc("半价无限畅聊"); +// list.get(1).setDesc("每日可享2次免费视频,单次最长1分钟"); +// mAdapter.setOptions(list); +// } } else if (v == lin_vip_shift3) { - lin_vip_shift1.setBackgroundResource(R.drawable.vip_select_bg1); - lin_vip_shift2.setBackgroundResource(R.drawable.vip_select_bg1); - lin_vip_shift3.setBackgroundResource(R.drawable.vip_select_bg2); + lin_vip_shift1.setBackgroundResource(R.mipmap.new_vip_select_bg1); + lin_vip_shift2.setBackgroundResource(R.mipmap.new_vip_select_bg1); + lin_vip_shift3.setBackgroundResource(R.mipmap.new_vip_select_bg2); defaultType = 2; - if (goodsId3 == 1013) { - List list = mAdapter.getmOptions(); - list.get(0).setDesc("尊享无限文字畅聊"); - list.get(1).setDesc("每日可享3次免费视频,单次最长1分钟"); - mAdapter.setOptions(list); - } +// if (goodsId3 == 1013) { +// List list = mAdapter.getmOptions(); +// list.get(0).setDesc("尊享无限文字畅聊"); +// list.get(1).setDesc("每日可享3次免费视频,单次最长1分钟"); +// mAdapter.setOptions(list); +// } } else if (v == tv_member_sure) { if (defaultType == 1) { goodsId = goodsId2; diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/IntimacyListActivity.java b/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/IntimacyListActivity.java new file mode 100644 index 0000000..2a13160 --- /dev/null +++ b/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/IntimacyListActivity.java @@ -0,0 +1,129 @@ +package com.xuebiping.bolizhuzi.view.settings; + +import android.os.Bundle; +import android.view.View; +import android.widget.LinearLayout; + +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + +import com.fengliyan.uikit.toast.MaleToast; +import com.scwang.smartrefresh.layout.SmartRefreshLayout; +import com.scwang.smartrefresh.layout.api.RefreshLayout; +import com.scwang.smartrefresh.layout.listener.OnRefreshLoadMoreListener; +import com.xuebiping.bolizhuzi.R; +import com.xuebiping.bolizhuzi.controller.main.manager.MainManager; +import com.xuebiping.bolizhuzi.controller.settings.adapter.GenderActiveAdapter; +import com.xuebiping.bolizhuzi.controller.settings.adapter.IntimacyAdapter; +import com.xuebiping.bolizhuzi.controller.settings.manager.SettingManager; +import com.xuebiping.bolizhuzi.controller.user.manager.UserManager; +import com.xuebiping.bolizhuzi.model.main.UserGenderListBean; +import com.xuebiping.bolizhuzi.model.settings.IntimacyBean; +import com.xuebiping.bolizhuzi.model.settings.IntimacyListBean; +import com.xuebiping.bolizhuzi.model.settings.UserInfoBean; +import com.xuebiping.bolizhuzi.view.base.BaseActivity; +import com.xuebiping.bolizhuzi.view.base.utils.HttpUiCallBack; + +import org.jetbrains.annotations.NotNull; + +import java.util.ArrayList; +import java.util.List; + +public class IntimacyListActivity extends BaseActivity implements OnRefreshLoadMoreListener { + + private int mPage = 1; + private int mTotalPage; + + private SmartRefreshLayout mSmart_refresh; + private RecyclerView mRv_recommend_list; + private LinearLayout mRl_no_data; + private IntimacyAdapter mAdapter; + private List mData = new ArrayList<>(); + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_intimacy); + setTitleName("我的亲密度"); + initView(); + getIntimacyList(mPage); + } + + private void initView() { + mSmart_refresh = findViewById(R.id.smart_refresh); + mRv_recommend_list = findViewById(R.id.rv_recommend_list); + mRl_no_data = findViewById(R.id.rl_no_data); + mRv_recommend_list.setLayoutManager(new LinearLayoutManager(this)); + mAdapter = new IntimacyAdapter(R.layout.item_intimacy_list, this); + mRv_recommend_list.setAdapter(mAdapter); + + mSmart_refresh.setOnRefreshLoadMoreListener(this); + } + + public void getIntimacyList(int page){ + + SettingManager.getIntimacyList(this, page, new HttpUiCallBack() { + @Override + public void onSuccess(BaseActivity activity, IntimacyListBean result, String message) { + finishFresh(); + if (result.getList() != null) { + mTotalPage = result.getTotal_page(); + if (mPage == 1) { + mData.clear(); + } + List list = result.getList(); + if (list != null && list.size() > 0) { + mData.addAll(list); + } + } + if (mData != null && mData.size() > 0) { + if (mPage == 1) { + mRl_no_data.setVisibility(View.GONE); + mRv_recommend_list.setVisibility(View.VISIBLE); + } + mAdapter.setList(mData); + } else { + if (mPage == 1) { + mRl_no_data.setVisibility(View.VISIBLE); + mRv_recommend_list.setVisibility(View.GONE); + } + } + } + + @Override + public void onFailure(BaseActivity activity, String tip) { + MaleToast.showMessage(activity, tip); + finishFresh(); + } + + @Override + public void onException(BaseActivity activity, Throwable e) { + MaleToast.showFailureMsg(activity, "请重试"); + finishFresh(); + } + }); + } + + public void finishFresh() { + mSmart_refresh.finishLoadMore(); + mSmart_refresh.finishRefresh(); + } + + @Override + public void onLoadMore(@NonNull @NotNull RefreshLayout refreshLayout) { + mPage++; + if (mPage > mTotalPage) { + mSmart_refresh.finishLoadMore(); + mSmart_refresh.setNoMoreData(true); + } else { + getIntimacyList(mPage); + } + } + + @Override + public void onRefresh(@NonNull @NotNull RefreshLayout refreshLayout) { + mPage = 1; + getIntimacyList(mPage); + } +} diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/MeLookFragment.java b/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/MeLookFragment.java new file mode 100644 index 0000000..1c6fd6e --- /dev/null +++ b/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/MeLookFragment.java @@ -0,0 +1,134 @@ +package com.xuebiping.bolizhuzi.view.settings; + +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.LinearLayout; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.fragment.app.Fragment; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + +import com.fengliyan.uikit.toast.MaleToast; +import com.scwang.smartrefresh.layout.SmartRefreshLayout; +import com.scwang.smartrefresh.layout.api.RefreshLayout; +import com.scwang.smartrefresh.layout.listener.OnRefreshLoadMoreListener; +import com.xuebiping.bolizhuzi.R; +import com.xuebiping.bolizhuzi.controller.main.adapter.MainLookMeAdapter; +import com.xuebiping.bolizhuzi.controller.settings.manager.SettingManager; +import com.xuebiping.bolizhuzi.model.settings.SocialBean; +import com.xuebiping.bolizhuzi.model.settings.SocialListBean; +import com.xuebiping.bolizhuzi.view.base.BaseActivity; +import com.xuebiping.bolizhuzi.view.base.utils.HttpUiCallBack; + +import org.jetbrains.annotations.NotNull; + +import java.util.ArrayList; +import java.util.List; + +public class MeLookFragment extends Fragment implements OnRefreshLoadMoreListener { + + private int mType = 1; //0看过我的 1我的足迹 + + private View v; + + private SmartRefreshLayout mSmart_refresh; + private RecyclerView mRv_recommend_list; + private LinearLayout mRl_no_data; + + private MainLookMeAdapter mMainLookMeAdapter; + + private int mPage = 1; + private int mTotalPage; + private List mData = new ArrayList<>(); + + @Nullable + @org.jetbrains.annotations.Nullable + @Override + public View onCreateView(@NonNull @NotNull LayoutInflater inflater, @Nullable @org.jetbrains.annotations.Nullable ViewGroup container, @Nullable @org.jetbrains.annotations.Nullable Bundle savedInstanceState) { + v = inflater.inflate(R.layout.fragment_look_me, container, false); + initView(v); + getLookData(mPage); + return v; + } + + private void initView(View v) { + mSmart_refresh = v.findViewById(R.id.smart_refresh); + mRv_recommend_list = v.findViewById(R.id.rv_recommend_list); + mRl_no_data = v.findViewById(R.id.rl_no_data); + + mRv_recommend_list.setLayoutManager(new LinearLayoutManager(getActivity())); + mMainLookMeAdapter = new MainLookMeAdapter(R.layout.item_main_look_me, getActivity(), mType); + mRv_recommend_list.setAdapter(mMainLookMeAdapter); + + mSmart_refresh.setOnRefreshLoadMoreListener(this); + } + + private void getLookData(int page){ + SettingManager.getLookData((BaseActivity) getActivity(), mType, page, new HttpUiCallBack() { + @Override + public void onSuccess(BaseActivity activity, SocialListBean result, String message) { + finishFresh(); + if (result != null) { + mTotalPage = result.getTotal_page(); + if (mPage == 1) { + mData.clear(); + } + List list = result.getList(); + if (list != null && list.size() > 0) { + mData.addAll(list); + } + } + if (mData != null && mData.size() > 0) { + if (mPage == 1) { + mRl_no_data.setVisibility(View.GONE); + mRv_recommend_list.setVisibility(View.VISIBLE); + } + mMainLookMeAdapter.setList(mData); + } else { + if (mPage == 1) { + mRl_no_data.setVisibility(View.VISIBLE); + mRv_recommend_list.setVisibility(View.GONE); + } + } + } + + @Override + public void onFailure(BaseActivity activity, String tip) { + finishFresh(); + MaleToast.showFailureMsg(activity, tip); + } + + @Override + public void onException(BaseActivity activity, Throwable e) { + finishFresh(); + MaleToast.showFailureMsg(activity, "请重试"); + } + }); + } + + public void finishFresh() { + mSmart_refresh.finishLoadMore(); + mSmart_refresh.finishRefresh(); + } + + @Override + public void onLoadMore(@NonNull @NotNull RefreshLayout refreshLayout) { + mPage++; + if (mPage > mTotalPage) { + mSmart_refresh.finishLoadMore(); + mSmart_refresh.setNoMoreData(true); + } else { + getLookData(mPage); + } + } + + @Override + public void onRefresh(@NonNull @NotNull RefreshLayout refreshLayout) { + mPage = 1; + getLookData(mPage); + } +} diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/MemberActivity.java b/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/MemberActivity.java index af88149..e768994 100644 --- a/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/MemberActivity.java +++ b/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/MemberActivity.java @@ -39,7 +39,7 @@ public class MemberActivity extends BaseActivity implements View.OnClickListener private ViewPager mMainViewPager; private GeneralMemberFragment mGeneralMemberFragment; - private SuperMemberFragment mSuperMemberFragment; + private SuperMember2Fragment mSuperMemberFragment; private List mChannelFragments = new ArrayList<>(); private MainViewPagerAdapter mViewPagerAdapter; @@ -70,11 +70,11 @@ public class MemberActivity extends BaseActivity implements View.OnClickListener mGeneralMemberFragment = new GeneralMemberFragment(); mGeneralMemberFragment.setOnScrollChange(this); - mSuperMemberFragment = new SuperMemberFragment(); + mSuperMemberFragment = new SuperMember2Fragment(); mSuperMemberFragment.setOnScrollChange(this); mChannelFragments.add(mGeneralMemberFragment); -// mChannelFragments.add(mSuperMemberFragment); + mChannelFragments.add(mSuperMemberFragment); mViewPagerAdapter = new MainViewPagerAdapter(getSupportFragmentManager(), mChannelFragments); @@ -106,31 +106,31 @@ public class MemberActivity extends BaseActivity implements View.OnClickListener private void viewPagerChange(int index) { switch (index) { case 0: - title_name_1.setTextColor(Color.parseColor("#643406")); + title_name_1.setTextColor(Color.WHITE); title_name_1.setTypeface(Typeface.defaultFromStyle(Typeface.BOLD));//加粗 title_bottom_line_1.setVisibility(View.VISIBLE); - title_name_2.setTextColor(Color.parseColor("#9C8D76")); + title_name_2.setTextColor(Color.parseColor("#80ffffff")); title_name_2.setTypeface(Typeface.defaultFromStyle(Typeface.NORMAL)); title_bottom_line_2.setVisibility(View.INVISIBLE); // tv_member_title.setTextColor(Color.BLACK); // iv_member_back.setImageResource(R.drawable.ic_return); - mGeneralMemberFragment.scrollTop(); +// mGeneralMemberFragment.scrollTop(); tv_member_title_bg.setAlpha(0); break; case 1: - title_name_2.setTextColor(Color.parseColor("#FFE5C2")); + title_name_2.setTextColor(Color.WHITE); title_name_2.setTypeface(Typeface.defaultFromStyle(Typeface.BOLD)); title_bottom_line_2.setVisibility(View.VISIBLE); - title_name_1.setTextColor(Color.parseColor("#9E94B0")); + title_name_1.setTextColor(Color.parseColor("#80ffffff")); title_name_1.setTypeface(Typeface.defaultFromStyle(Typeface.NORMAL));//加粗 title_bottom_line_1.setVisibility(View.INVISIBLE); - tv_member_title.setTextColor(Color.parseColor("#F3E9F9")); - iv_member_back.setImageResource(R.drawable.ic_return_white); - mSuperMemberFragment.scrollTop(); +// tv_member_title.setTextColor(Color.parseColor("#F3E9F9")); +// iv_member_back.setImageResource(R.drawable.ic_return_white); +// mSuperMemberFragment.scrollTop(); tv_member_title_bg.setAlpha(0); break; 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 index 6c9a33b..b5442ee 100644 --- a/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/SettingFragment2.java +++ b/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/SettingFragment2.java @@ -34,6 +34,7 @@ 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.constant.Constant; import com.xuebiping.bolizhuzi.controller.eventBus.BeAnchorEvent; import com.xuebiping.bolizhuzi.controller.eventBus.RegisterInfoEvent; import com.xuebiping.bolizhuzi.controller.eventBus.SocialToSettingEvent; @@ -49,6 +50,7 @@ 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; @@ -127,6 +129,8 @@ public class SettingFragment2 extends Fragment implements View.OnClickListener { private boolean isVip; private LinearLayout ll_go_edit_layout; private String mUsercode; + private TextView mTv_go_open; + private int mDo_not_disturb; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, @@ -195,6 +199,7 @@ public class SettingFragment2 extends Fragment implements View.OnClickListener { tv_go_homepage = v.findViewById(R.id.tv_go_homepage); ll_mine_video_chat = v.findViewById(R.id.ll_mine_video_chat); + mTv_go_open = v.findViewById(R.id.tv_go_open); rl_user_info.setOnClickListener(this); ll_go_edit_layout.setOnClickListener(this); @@ -264,14 +269,17 @@ public class SettingFragment2 extends Fragment implements View.OnClickListener { isVip = true; iv_user_icon1.setVisibility(View.VISIBLE); iv_user_icon2.setVisibility(View.GONE); + mTv_go_open.setText("已开通VIP"); } else if (1 == result.getUserinfo().getVip()) { isVip = true; iv_user_icon1.setVisibility(View.GONE); iv_user_icon2.setVisibility(View.VISIBLE); + mTv_go_open.setText("已开通SVIP"); } else { isVip = false; iv_user_icon1.setVisibility(View.GONE); iv_user_icon2.setVisibility(View.GONE); + mTv_go_open.setText("立即开通"); } SPUtils.saveBoolean(getActivity(), ConsUser.USER_VIP, isVip); SPUtils.saveString(getActivity(), ConsUser.HIDE_READ_MSG, result.getHide_read_msg()); @@ -308,20 +316,22 @@ public class SettingFragment2 extends Fragment implements View.OnClickListener { 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(); - } +// if (result.getSwitchX() != null) { +// mVideoEnableFlag = result.getSwitchX().getOpen_video_status(); +// } + mDo_not_disturb = result.getUserinfo().getDo_not_disturb(); mOptions1.clear(); mOptions1.add(SettingOptions.RANK); mOptions1.add(SettingOptions.DONOTMODEL); mOptions1.add(SettingOptions.MEMBER); - mOptions1.add(SettingOptions.SETFRIEND); +// 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.BEAUTY); mOptions1.add(SettingOptions.SETTING); addOption(mOptions1, lin_my_list1); @@ -427,27 +437,62 @@ public class SettingFragment2 extends Fragment implements View.OnClickListener { }); } - private void changeVideoStatus() { - MainManager.changeVideoStatus((BaseActivity) getActivity(), - (mVideoEnableFlag == 1 ? 0 : 1), new HttpUiCallBack() { + private void changeVideoStatus2(Switch mSwitch) { + MainManager.changeVideoStatus2((BaseActivity) getActivity(), + (mDo_not_disturb == 1 ? 0 : 1), new HttpUiCallBack() { @Override public void onSuccess(BaseActivity activity, MainPageAnchorBean result, String message) { - mVideoEnableFlag = result.getOpen_video_status(); + mDo_not_disturb = result.getDo_not_disturb(); + + if (mDo_not_disturb == 1) { //已开启勿扰模式 + MaleToast.showMessage(activity, "勿扰模式开启成功"); + }else { + MaleToast.showMessage(activity, "勿扰模式关闭成功"); + } } @Override public void onFailure(BaseActivity activity, String tip) { MaleToast.showMessage(activity, tip); - + if (mDo_not_disturb == 1) { //已开启勿扰模式 + mSwitch.setChecked(true); + }else { + mSwitch.setChecked(false); + } } @Override public void onException(BaseActivity activity, Throwable e) { - + if (mDo_not_disturb == 1) { //已开启勿扰模式 + mSwitch.setChecked(true); + }else { + mSwitch.setChecked(false); + } } }); } +// 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(); +// } +// +// @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()); @@ -497,9 +542,11 @@ public class SettingFragment2 extends Fragment implements View.OnClickListener { startActivity(intent); break; case R.id.ll_foucs://关注 - intent = new Intent(getActivity(), SocialActivity.class); - intent.putExtra("socialType", 0); - getActivity().startActivityForResult(intent, SETTING_SOCIAL_REQUEST); +// intent = new Intent(getActivity(), SocialActivity.class); +// intent.putExtra("socialType", 0); +// getActivity().startActivityForResult(intent, SETTING_SOCIAL_REQUEST); + intent = new Intent(getActivity(), ContactListActivity.class); + startActivity(intent); break; case R.id.ll_fans://粉丝 intent = new Intent(getActivity(), SocialActivity.class); @@ -507,8 +554,10 @@ public class SettingFragment2 extends Fragment implements View.OnClickListener { getActivity().startActivityForResult(intent, SETTING_SOCIAL_REQUEST); break; case R.id.ll_scan://来访 - intent = new Intent(getActivity(), SocialActivity.class); - intent.putExtra("socialType", 2); +// intent = new Intent(getActivity(), SocialActivity.class); +// intent.putExtra("socialType", 2); +// startActivity(intent); + intent = new Intent(getActivity(), VisitorActivity.class); startActivity(intent); break; case R.id.ll_foot://足迹 @@ -523,6 +572,7 @@ public class SettingFragment2 extends Fragment implements View.OnClickListener { case R.id.cl_income: intent = new Intent(getActivity(), WalletActivity.class); startActivity(intent); + break; case R.id.ll_income: intent = new Intent(getActivity(), CaibeiRechargeActivity.class); startActivity(intent); @@ -543,7 +593,8 @@ public class SettingFragment2 extends Fragment implements View.OnClickListener { } break; case R.id.ll_mine_video_chat: - MaleToast.showMessage(getActivity(),"我的视频,暂定"); + intent = new Intent(getActivity(), GenderActiveActivity.class); + startActivity(intent); break; } } @@ -594,6 +645,7 @@ public class SettingFragment2 extends Fragment implements View.OnClickListener { 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); + TextView tv_option_hint2 = view.findViewById(R.id.tv_option_hint2); Switch mSwitch = view.findViewById(R.id.st_option_switch); SettingOptions options = list.get(i); switch (options) { @@ -601,14 +653,16 @@ public class SettingFragment2 extends Fragment implements View.OnClickListener { mSwitch.setChecked(mVideoEnableFlag == 1); mSwitch.setVisibility(View.VISIBLE); mHint.setVisibility(View.GONE); + tv_option_hint2.setVisibility(View.GONE); mArrow.setVisibility(View.GONE); mLogo.setImageResource(R.mipmap.icon_my_video); mName.setText("视频聊天"); - mSwitch.setOnClickListener(v -> changeVideoStatus()); +// mSwitch.setOnClickListener(v -> changeVideoStatus2()); break; case CONTRACT: mSwitch.setVisibility(View.GONE); mHint.setVisibility(View.GONE); + tv_option_hint2.setVisibility(View.GONE); mArrow.setVisibility(View.VISIBLE); mLogo.setImageResource(R.drawable.ic_my_certified); mName.setText("价格设置"); @@ -620,6 +674,7 @@ public class SettingFragment2 extends Fragment implements View.OnClickListener { case GUIDE: mSwitch.setVisibility(View.GONE); mHint.setVisibility(View.GONE); + tv_option_hint2.setVisibility(View.GONE); mArrow.setVisibility(View.VISIBLE); mLogo.setImageResource(R.drawable.ic_my_guide); mName.setText("用户指南"); @@ -646,29 +701,10 @@ public class SettingFragment2 extends Fragment implements View.OnClickListener { } }); 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); + tv_option_hint2.setVisibility(View.GONE); mArrow.setVisibility(View.VISIBLE); mLogo.setImageResource(R.mipmap.ic_my_ntequan); mName.setText("up主认证"); @@ -681,6 +717,7 @@ public class SettingFragment2 extends Fragment implements View.OnClickListener { case VIOLATION: mSwitch.setVisibility(View.GONE); mHint.setVisibility(View.GONE); + tv_option_hint2.setVisibility(View.GONE); mArrow.setVisibility(View.VISIBLE); mLogo.setImageResource(R.mipmap.ic_wd_weigui); mName.setText("违规公布"); @@ -695,6 +732,7 @@ public class SettingFragment2 extends Fragment implements View.OnClickListener { case ADDWECHAT: mSwitch.setVisibility(View.GONE); mHint.setVisibility(View.GONE); + tv_option_hint2.setVisibility(View.GONE); mArrow.setVisibility(View.VISIBLE); mLogo.setImageResource(R.mipmap.ic_wd_addwechat); mName.setText("微信设置"); @@ -708,6 +746,7 @@ public class SettingFragment2 extends Fragment implements View.OnClickListener { case HELLOW: mSwitch.setVisibility(View.GONE); mHint.setVisibility(View.GONE); + tv_option_hint2.setVisibility(View.GONE); mArrow.setVisibility(View.VISIBLE); mLogo.setImageResource(R.mipmap.ic_wd_hellow_set); mName.setText("招呼设置"); @@ -720,6 +759,7 @@ public class SettingFragment2 extends Fragment implements View.OnClickListener { case ITEMS: mSwitch.setVisibility(View.GONE); mHint.setVisibility(View.GONE); + tv_option_hint2.setVisibility(View.GONE); mArrow.setVisibility(View.VISIBLE); mLogo.setImageResource(R.mipmap.ic_wd_items1); mName.setText("红包卡券"); @@ -733,6 +773,7 @@ public class SettingFragment2 extends Fragment implements View.OnClickListener { case RANK: mSwitch.setVisibility(View.GONE); mHint.setVisibility(View.GONE); + tv_option_hint2.setVisibility(View.GONE); mArrow.setVisibility(View.VISIBLE); mLogo.setImageResource(R.mipmap.ic_wd_rank); mName.setText("排行榜"); @@ -745,11 +786,12 @@ public class SettingFragment2 extends Fragment implements View.OnClickListener { case DONOTMODEL: mSwitch.setVisibility(View.VISIBLE); mHint.setVisibility(View.GONE); + tv_option_hint2.setVisibility(View.VISIBLE); mArrow.setVisibility(View.VISIBLE); mLogo.setImageResource(R.mipmap.ic_do_not_model); mName.setText("勿扰模式"); - if (mVideoEnableFlag == 1) { //已开启勿扰模式 + if (mDo_not_disturb == 1) { //已开启勿扰模式 mSwitch.setChecked(true); }else { mSwitch.setChecked(false); @@ -758,7 +800,7 @@ public class SettingFragment2 extends Fragment implements View.OnClickListener { mSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton compoundButton, boolean b) { - changeVideoStatus(); + changeVideoStatus2(mSwitch); } }); break; @@ -766,11 +808,12 @@ public class SettingFragment2 extends Fragment implements View.OnClickListener { 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); - } + mHint.setVisibility(View.GONE); +// if (gender == 2) { +// mHint.setVisibility(View.VISIBLE); +// } else { +// mHint.setVisibility(View.GONE); +// } mName.setText("会员权限"); view.setOnClickListener(v -> { Intent intent = new Intent(getActivity(), PrivilegeSettingActivity.class); @@ -781,6 +824,7 @@ public class SettingFragment2 extends Fragment implements View.OnClickListener { case SETFRIEND: mSwitch.setVisibility(View.GONE); mHint.setVisibility(View.GONE); + tv_option_hint2.setVisibility(View.GONE); mArrow.setVisibility(View.VISIBLE); mLogo.setImageResource(R.mipmap.ic_set_friend); mName.setText("交友偏好"); @@ -790,7 +834,7 @@ public class SettingFragment2 extends Fragment implements View.OnClickListener { shaiXuanDialog.setRightOnClickListener(new ShaiXuanDialog.OnDialogRightClickListener() { @Override public void rightClick(int isSelect) { - ToastHelper.showToast(getContext(),"选择了 " + isSelect); + NoClearSPUtils.saveInt(getActivity(), UserManager.getUserInfo().getUser_id() + Constant.FRIEND_SELECT, isSelect); } }); }); @@ -798,6 +842,7 @@ public class SettingFragment2 extends Fragment implements View.OnClickListener { case WALLET: mSwitch.setVisibility(View.GONE); mHint.setVisibility(View.GONE); + tv_option_hint2.setVisibility(View.GONE); mArrow.setVisibility(View.VISIBLE); mLogo.setImageResource(R.mipmap.ic_wallet); mName.setText("我的钱包"); @@ -809,6 +854,7 @@ public class SettingFragment2 extends Fragment implements View.OnClickListener { case TASK: mSwitch.setVisibility(View.GONE); mHint.setVisibility(View.GONE); + tv_option_hint2.setVisibility(View.GONE); mArrow.setVisibility(View.VISIBLE); mLogo.setImageResource(R.mipmap.ic_task_mine); mName.setText("任务中心"); @@ -820,16 +866,18 @@ public class SettingFragment2 extends Fragment implements View.OnClickListener { case MYMYINTIMACY: mSwitch.setVisibility(View.GONE); mHint.setVisibility(View.GONE); + tv_option_hint2.setVisibility(View.GONE); mArrow.setVisibility(View.VISIBLE); mLogo.setImageResource(R.mipmap.ic_my_intimacy); mName.setText("我的亲密度"); view.setOnClickListener(view16 -> { - MaleToast.showMessage(getActivity(),"我的亲密度"); + startActivity(new Intent(getActivity(), IntimacyListActivity.class)); }); break; case UPAUTH: mSwitch.setVisibility(View.GONE); mHint.setVisibility(View.GONE); + tv_option_hint2.setVisibility(View.GONE); mArrow.setVisibility(View.VISIBLE); mLogo.setImageResource(R.mipmap.ic_my_ntequan); mName.setText("up主认证"); @@ -840,6 +888,7 @@ public class SettingFragment2 extends Fragment implements View.OnClickListener { case CUSTOMER: mSwitch.setVisibility(View.GONE); mHint.setVisibility(View.GONE); + tv_option_hint2.setVisibility(View.GONE); mArrow.setVisibility(View.VISIBLE); mLogo.setImageResource(R.mipmap.ic_my_service); mName.setText("在线客服"); @@ -847,9 +896,22 @@ public class SettingFragment2 extends Fragment implements View.OnClickListener { NimUIKit.startP2PSession(getActivity(), "4"); }); break; + case BEAUTY: + mSwitch.setVisibility(View.GONE); + mHint.setVisibility(View.GONE); + tv_option_hint2.setVisibility(View.GONE); + mArrow.setVisibility(View.VISIBLE); + mLogo.setImageResource(R.mipmap.ic_set_friend); + mName.setText("美颜设置"); + view.setOnClickListener(view17 -> { + Intent intent = new Intent(getActivity(), BeautySettingActivity.class); + startActivity(intent); + }); + break; case SETTING: mSwitch.setVisibility(View.GONE); mHint.setVisibility(View.GONE); + tv_option_hint2.setVisibility(View.GONE); mArrow.setVisibility(View.VISIBLE); mLogo.setImageResource(R.mipmap.ic_my_setting_new); mName.setText("系统设置"); diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/SuperMember2Fragment.java b/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/SuperMember2Fragment.java new file mode 100644 index 0000000..e9f3273 --- /dev/null +++ b/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/SuperMember2Fragment.java @@ -0,0 +1,597 @@ +package com.xuebiping.bolizhuzi.view.settings; + +import android.annotation.SuppressLint; +import android.content.Intent; +import android.graphics.Paint; +import android.os.Bundle; +import android.os.Handler; +import android.os.Message; +import android.text.TextUtils; +import android.util.Log; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.LinearLayout; +import android.widget.TextView; + +import androidx.annotation.Nullable; +import androidx.constraintlayout.widget.ConstraintLayout; +import androidx.core.widget.NestedScrollView; +import androidx.fragment.app.Fragment; +import androidx.recyclerview.widget.GridLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + +import com.alipay.sdk.app.PayTask; +import com.facebook.drawee.view.SimpleDraweeView; +import com.fengliyan.uikit.toast.MaleToast; +import com.sand.qzf.paytypesdk.base.CallBack; +import com.sand.qzf.paytypesdk.base.PayTypeSdk; +import com.sand.qzf.paytypesdk.base.Resp; +import com.tencent.mm.opensdk.modelpay.PayReq; +import com.tencent.mm.opensdk.openapi.IWXAPI; +import com.tencent.mm.opensdk.openapi.WXAPIFactory; +import com.xuebiping.bolizhuzi.R; +import com.xuebiping.bolizhuzi.controller.constant.ConsUser; +import com.xuebiping.bolizhuzi.controller.constant.ConstUrl; +import com.xuebiping.bolizhuzi.controller.constant.Constant; +import com.xuebiping.bolizhuzi.controller.eventBus.PayEvent; +import com.xuebiping.bolizhuzi.controller.settings.adapter.GeneralOptionsRecyclerAdapter; +import com.xuebiping.bolizhuzi.controller.settings.manager.SettingManager; +import com.xuebiping.bolizhuzi.model.settings.MemberBean; +import com.xuebiping.bolizhuzi.model.settings.MemberInfoList; +import com.xuebiping.bolizhuzi.model.settings.MemberPrivilegesInfo; +import com.xuebiping.bolizhuzi.model.settings.PayBean; +import com.xuebiping.bolizhuzi.model.settings.PayConfigBean; +import com.xuebiping.bolizhuzi.model.settings.WXPayTypeBean; +import com.xuebiping.bolizhuzi.model.settings.WeChatPayInfoBean; +import com.xuebiping.bolizhuzi.utils.PayUtils; +import com.xuebiping.bolizhuzi.utils.SPUtils; +import com.xuebiping.bolizhuzi.view.base.BaseActivity; +import com.xuebiping.bolizhuzi.view.base.PayWebViewActivity; +import com.xuebiping.bolizhuzi.view.base.utils.HttpUiCallBack; +import com.xuebiping.bolizhuzi.view.base.utils.view.MemberPayDialog; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +import de.greenrobot.event.EventBus; + +public class SuperMember2Fragment extends Fragment implements View.OnClickListener { + + private NestedScrollView sv_general_member; + private TextView tv_member_time; + private ConstraintLayout lin_vip_shift1, lin_vip_shift2, lin_vip_shift3; + private TextView tv_vip_shift_name1, tv_vip_shift_name2, tv_vip_shift_name3; + + private TextView tv_vip_price1, tv_vip_price2, tv_vip_price3; + private TextView tv_vip_price_hint1, tv_vip_price_hint2, tv_vip_price_hint3; + + private RecyclerView mOptionView; + private TextView tv_member_setting; + private LinearLayout lin_member_bottom_btn; + private TextView tv_member_open; + private TextView tv_member_sure; + private GeneralOptionsRecyclerAdapter mAdapter; + private int type = 1; + + private List mPrivileges = new ArrayList<>(); + + private String mSelectedPayMethod = "alipay"; //默认微信 + + private MemberPayDialog mPayDialog; + boolean isWXHF;//微信支付是否是走汇付的微信小程序 + private String ghOriId; + private int mini_program_type; + private int goodsId; + private int goodsId1; + private int goodsId2; + private int goodsId3; + private String price; + private String price1; + private String price2; + private String price3; + private int defaultType = 0;//默认选中会员类型 + private GeneralMemberFragment.OnScrollChange onScrollChange; + private SimpleDraweeView mUser_head; + private TextView mTv_notice; + + @Nullable + @Override + public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) { + View v = inflater.inflate(R.layout.fragment_super_member2, container, false); + EventBus.getDefault().register(this); + initView(v); +// getData(type); + getWXPayType(); + return v; + } + + private void initView(View v) { + sv_general_member = v.findViewById(R.id.sv_general_member); + tv_member_setting = v.findViewById(R.id.tv_member_setting); + lin_member_bottom_btn = v.findViewById(R.id.lin_member_bottom_btn); + tv_member_open = v.findViewById(R.id.tv_member_open); + tv_member_sure = v.findViewById(R.id.tv_member_sure); + + + mUser_head = v.findViewById(R.id.user_head); + tv_member_time = v.findViewById(R.id.tv_member_time); + + lin_vip_shift1 = v.findViewById(R.id.lin_vip_shift1); + tv_vip_shift_name1 = v.findViewById(R.id.tv_vip_shift_name1); + tv_vip_price1 = v.findViewById(R.id.tv_vip_price1); + tv_vip_price_hint1 = v.findViewById(R.id.tv_vip_price_hint1); + + lin_vip_shift2 = v.findViewById(R.id.lin_vip_shift2); + tv_vip_shift_name2 = v.findViewById(R.id.tv_vip_shift_name2); + tv_vip_price2 = v.findViewById(R.id.tv_vip_price2); + tv_vip_price_hint2 = v.findViewById(R.id.tv_vip_price_hint2); + + lin_vip_shift3 = v.findViewById(R.id.lin_vip_shift3); + tv_vip_shift_name3 = v.findViewById(R.id.tv_vip_shift_name3); + tv_vip_price3 = v.findViewById(R.id.tv_vip_price3); + tv_vip_price_hint3 = v.findViewById(R.id.tv_vip_price_hint3); + + mOptionView = v.findViewById(R.id.general_recycler_view); + mTv_notice = v.findViewById(R.id.tv_notice); + + mOptionView.setLayoutManager(new GridLayoutManager(requireContext(), 3)); + + if (null == mAdapter) { + mAdapter = new GeneralOptionsRecyclerAdapter(getActivity(), 1); + mAdapter.setOptions(mPrivileges); + mOptionView.setAdapter(mAdapter); + mOptionView.setNestedScrollingEnabled(true); + } + tv_vip_price_hint1.setPaintFlags(tv_vip_price_hint1.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG); + tv_vip_price_hint2.setPaintFlags(tv_vip_price_hint2.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG); + tv_vip_price_hint3.setPaintFlags(tv_vip_price_hint3.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG); + lin_vip_shift1.setOnClickListener(this); + lin_vip_shift2.setOnClickListener(this); + lin_vip_shift3.setOnClickListener(this); + tv_member_setting.setOnClickListener(this); + tv_member_sure.setOnClickListener(this); + tv_member_open.setOnClickListener(this); + + sv_general_member.setNestedScrollingEnabled(true); +// sv_general_member.setOnScrollChangeListener(new View.OnScrollChangeListener() { +// @Override +// public void onScrollChange(View v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) { +// if (onScrollChange != null) { +// onScrollChange.scrollChange(scrollY); +// } +// } +// }); + } + + private void getData(int type) { + SettingManager.getMemberInfo((BaseActivity) getActivity(), type, new HttpUiCallBack() { + @Override + public void onSuccess(BaseActivity activity, MemberBean result, String message) { + + mTv_notice.setText(result.getNotice()); + + if (result.getInfo() != null) { + + mUser_head.setImageURI(ConstUrl.IMAGE_URL + result.getInfo().getAvatar()); + + if (!TextUtils.isEmpty(result.getInfo().getExpire_date_new())) { + tv_member_time.setText("有效期至:" + result.getInfo().getExpire_date_new()); + lin_member_bottom_btn.setVisibility(View.VISIBLE); + tv_member_open.setVisibility(View.GONE); + + SPUtils.saveBoolean(getActivity(), ConsUser.USER_VIP, true); + } else { + tv_member_time.setText("你还未开通SVIP"); + lin_member_bottom_btn.setVisibility(View.GONE); + tv_member_open.setVisibility(View.VISIBLE); + tv_member_open.setText("立即开通"); + } + + if (SPUtils.getInt(getActivity(), ConsUser.GENDER) == 1) { + lin_member_bottom_btn.setVisibility(View.GONE); + tv_member_open.setVisibility(View.VISIBLE); + tv_member_open.setText("邀请好友开通"); + } + + List list = result.getInfo().getList(); + if (list != null && list.size() > 0) { + + if (list.size() == 1) { + lin_vip_shift1.setVisibility(View.VISIBLE); + lin_vip_shift2.setVisibility(View.GONE); + lin_vip_shift3.setVisibility(View.GONE); + + price1 = (int) Double.parseDouble(list.get(0).getPrice()) + list.get(0).getExpires_title(); + tv_vip_shift_name1.setText(list.get(0).getName()); + tv_vip_price1.setText((int) Double.parseDouble(list.get(0).getPrice()) + ""); + tv_vip_price_hint1.setText("原价¥" + list.get(0).getOrigin_price()); + + goodsId1 = list.get(0).getId(); + }else if (list.size() == 2) { + lin_vip_shift1.setVisibility(View.VISIBLE); + lin_vip_shift2.setVisibility(View.VISIBLE); + lin_vip_shift3.setVisibility(View.GONE); + + price1 = (int) Double.parseDouble(list.get(0).getPrice()) + list.get(0).getExpires_title(); + tv_vip_shift_name1.setText(list.get(0).getName()); + tv_vip_price1.setText((int) Double.parseDouble(list.get(0).getPrice()) + ""); + tv_vip_price_hint1.setText("原价¥" + list.get(0).getOrigin_price()); + + price2 = (int) Double.parseDouble(list.get(1).getPrice()) + list.get(1).getExpires_title(); + tv_vip_shift_name2.setText(list.get(1).getName()); + tv_vip_price2.setText((int) Double.parseDouble(list.get(1).getPrice()) + ""); + tv_vip_price_hint2.setText("原价¥" + list.get(1).getOrigin_price()); + + goodsId1 = list.get(0).getId(); + goodsId2 = list.get(1).getId(); + }else { + lin_vip_shift1.setVisibility(View.VISIBLE); + lin_vip_shift2.setVisibility(View.VISIBLE); + lin_vip_shift3.setVisibility(View.VISIBLE); + + price1 = (int) Double.parseDouble(list.get(0).getPrice()) + list.get(0).getExpires_title(); + tv_vip_shift_name1.setText(list.get(0).getName()); + tv_vip_price1.setText((int) Double.parseDouble(list.get(0).getPrice()) + ""); + tv_vip_price_hint1.setText("原价¥" + list.get(0).getOrigin_price()); + + price2 = (int) Double.parseDouble(list.get(1).getPrice()) + list.get(1).getExpires_title(); + tv_vip_shift_name2.setText(list.get(1).getName()); + tv_vip_price2.setText((int) Double.parseDouble(list.get(1).getPrice()) + ""); + tv_vip_price_hint2.setText("原价¥" + list.get(1).getOrigin_price()); + + price3 = (int) Double.parseDouble(list.get(2).getPrice()) + list.get(2).getExpires_title(); + tv_vip_shift_name3.setText(list.get(2).getName()); + tv_vip_price3.setText((int) Double.parseDouble(list.get(2).getPrice()) + ""); + tv_vip_price_hint3.setText("原价¥" + list.get(2).getOrigin_price()); + + goodsId1 = list.get(0).getId(); + goodsId2 = list.get(1).getId(); + goodsId3 = list.get(2).getId(); + } + } + mAdapter.setVip_day_free_send(result.getInfo().getVip_day_free_send()); + } + + mPrivileges.clear(); +// for (int i = 0; i < 6; i++) { +// MemberPrivilegesInfo info = new MemberPrivilegesInfo(); +// info.setId(i); +// if (i == 0) { +// info.setDesc("半价无限畅聊"); +// } +// if (i == 1) { +// info.setDesc("每日可享1次免费视频,单次最长1分钟"); +// } +//// if (i == 2 && isVip) { +//// info.setName("VISIBLE"); +//// } +// mPrivileges.add(info); +// } + mPrivileges.addAll(result.getPrivileges()); + mAdapter.setOptions(mPrivileges); + } + + @Override + public void onFailure(BaseActivity activity, String tip) { + + } + + @Override + public void onException(BaseActivity activity, Throwable e) { + + } + }); + } + + @Override + public void onClick(View v) { + if (v == tv_member_setting) { + Intent intent = new Intent(getContext(), PrivilegeSettingActivity.class); + intent.putExtra("isVip", SPUtils.getBoolean(getActivity(), ConsUser.USER_VIP, false)); + startActivity(intent); + } else if (v == lin_vip_shift1) { + lin_vip_shift1.setBackgroundResource(R.mipmap.svip_select_bg2); + lin_vip_shift2.setBackgroundResource(R.mipmap.svip_select_bg1); + lin_vip_shift3.setBackgroundResource(R.mipmap.svip_select_bg1); + defaultType = 0; +// if (goodsId1 == 1011) { +// List list = mAdapter.getmOptions(); +// list.get(0).setDesc("半价无限畅聊"); +// list.get(1).setDesc("每日可享1次免费视频,单次最长1分钟"); +// mAdapter.setOptions(list); +// } + } else if (v == lin_vip_shift2) { + lin_vip_shift1.setBackgroundResource(R.mipmap.svip_select_bg1); + lin_vip_shift2.setBackgroundResource(R.mipmap.svip_select_bg2); + lin_vip_shift3.setBackgroundResource(R.mipmap.svip_select_bg1); + defaultType = 1; +// if (goodsId2 == 1012) { +// List list = mAdapter.getmOptions(); +// list.get(0).setDesc("半价无限畅聊"); +// list.get(1).setDesc("每日可享2次免费视频,单次最长1分钟"); +// mAdapter.setOptions(list); +// } + } else if (v == lin_vip_shift3) { + lin_vip_shift1.setBackgroundResource(R.mipmap.svip_select_bg1); + lin_vip_shift2.setBackgroundResource(R.mipmap.svip_select_bg1); + lin_vip_shift3.setBackgroundResource(R.mipmap.svip_select_bg2); + defaultType = 2; +// if (goodsId3 == 1013) { +// List list = mAdapter.getmOptions(); +// list.get(0).setDesc("尊享无限文字畅聊"); +// list.get(1).setDesc("每日可享3次免费视频,单次最长1分钟"); +// mAdapter.setOptions(list); +// } + } else if (v == tv_member_sure) { + if (defaultType == 1) { + goodsId = goodsId2; + price = price2; + } else if (defaultType == 2) { + goodsId = goodsId3; + price = price3; + } else { + goodsId = goodsId1; + price = price1; + } + showPay(goodsId); + } else if (v == tv_member_open) { + if (SPUtils.getInt(getActivity(), ConsUser.GENDER) == 1) { + Intent intent = new Intent(getContext(), InvitationActivity.class); + startActivity(intent); + } else { + if (defaultType == 1) { + goodsId = goodsId2; + price = price2; + } else if (defaultType == 2) { + goodsId = goodsId3; + price = price3; + } else { + goodsId = goodsId1; + price = price1; + } + showPay(goodsId); + } + } + } + + /** + * 支付方式 + */ + private void showPay(final int id) { + SettingManager.payConfig((BaseActivity) getActivity(), new HttpUiCallBack() { + @Override + public void onSuccess(BaseActivity activity, PayConfigBean result, String tips) { + mPayDialog = new MemberPayDialog(getActivity(), result, "SVIP " + price); + mPayDialog.setOnClickPayListener(new MemberPayDialog.OnClickPayListener() { + @Override + public void onClickPayListener(String selectedPayMethod) { + mSelectedPayMethod = selectedPayMethod; + confirmToPay(id); + mPayDialog.dismiss(); + } + }); + mPayDialog.show(); + } + + @Override + public void onFailure(BaseActivity activity, String tip) { + MaleToast.showMessage(activity, tip); + } + + @Override + public void onException(BaseActivity activity, Throwable e) { + MaleToast.showMessage(activity, "获取支付信息失败"); + } + }); + } + + private String mOrderInfo; + + public static int SDK_PAY_FLAG = 101; + + private Runnable mPayRunnable = new Runnable() { + + @Override + public void run() { + PayTask alipay = new PayTask(getActivity()); + Map result = alipay.payV2(mOrderInfo, true); + String code = result.get("resultStatus"); + if (!TextUtils.isEmpty(code)) { + if ("9000".equals(code)) { + Message msg = new Message(); + msg.what = SDK_PAY_FLAG; + msg.obj = result; + mHandler.sendMessage(msg); + } + } + } + }; + + @SuppressLint("HandlerLeak") + private Handler mHandler = new Handler() { + public void handleMessage(Message msg) { + if (msg.what == SDK_PAY_FLAG) { + getData(type); + } + } + }; + + void getWXPayType() { + SettingManager.getWechatPaySite((BaseActivity) getActivity(), new HttpUiCallBack() { + @Override + public void onSuccess(BaseActivity activity, WXPayTypeBean result, String tips) { + isWXHF = result.getWechat_type() == 3; + ghOriId = result.getGh_ori_id(); + mini_program_type = result.getMini_program_type(); + } + + @Override + public void onFailure(BaseActivity activity, String tip) { + + } + + @Override + public void onException(BaseActivity activity, Throwable e) { + + } + }); + } + + private void confirmToPay(int id) { + if (isWXHF && mSelectedPayMethod.equals("wechat")) { + PayUtils.wxminiPay(getActivity(), id, 1, ghOriId, mini_program_type); + return; + } + SettingManager.payToRecharge((BaseActivity) getActivity(), mSelectedPayMethod, + id + "", 1, new HttpUiCallBack() { + @Override + public void onSuccess(BaseActivity activity, PayBean result, String message) { + if ("alipay".equals(mSelectedPayMethod)) { + if (result.getPay_platform_type() == 1) { + if (null != result.getPayinfo()) { + mOrderInfo = result.getPayinfo(); + Thread payThread = new Thread(mPayRunnable); + payThread.start(); + } + } else if (result.getPay_platform_type() == 2) { + if (null != result.getPayinfo()) { + mOrderInfo = result.getPayinfo(); + PayUtils.ailWeb(mOrderInfo, getActivity()); + } + } else if (result.getPay_platform_type() == 4) { + Intent intent = new Intent(getActivity(), PayWebViewActivity.class); + intent.putExtra("ClickUrl", result.getKqPayInfo()); + getActivity().startActivity(intent); + } else if (result.getPay_platform_type() == 5) { + PayUtils.SFTPay(getActivity(), result.getPayinfo()); + } else { + PayTypeSdk.getInstance().cashierPay(getActivity(), result.getSandpayinfo().getCashierUrl(), new CallBack() { + @Override + public void onResult(Resp resp) { + if (resp.status.equals(Resp.SUCCESS) || resp.status.equals(Resp.FINISH)) { + getData(type); + } + } + }); + } + } else if ("wechat".equals(mSelectedPayMethod)) { + if (result.getPay_platform_type() == 1) { + IWXAPI wxapi = WXAPIFactory.createWXAPI(getActivity(), Constant.WECHAT_APP_ID, false); + WeChatPayInfoBean wechatpayinfo = result.getWechatpayinfo(); + //调起微信支付 + PayReq req = new PayReq(); + req.appId = Constant.WECHAT_APP_ID; + req.partnerId = wechatpayinfo.getMch_id(); //商户号 + req.prepayId = wechatpayinfo.getPrepay_id(); //预付款id + req.nonceStr = wechatpayinfo.getNonce_str(); + req.timeStamp = wechatpayinfo.getTimestamp() + ""; + req.packageValue = "Sign=WXPay"; //固定值 + req.sign = wechatpayinfo.getPaySign(); + //先检测是否安装了微信 + boolean isWXAppInstalledAndSupported = wxapi.isWXAppInstalled(); + if (isWXAppInstalledAndSupported) { + wxapi.registerApp(Constant.WECHAT_APP_ID); + wxapi.sendReq(req); + } else { + MaleToast.showMessage(getActivity(), "未安装微信,不能支付"); + } + } else if (result.getPay_platform_type() == 2) { + PayTypeSdk.getInstance().cashierPay(getActivity(), result.getSandpayinfo().getCashierUrl(), new CallBack() { + @Override + public void onResult(Resp resp) { + if (resp.status.equals(Resp.SUCCESS) || resp.status.equals(Resp.FINISH)) { + } + } + }); + } else if (result.getPay_platform_type() == 4) { + Intent intent = new Intent(getContext(), PayWebViewActivity.class); + intent.putExtra("ClickUrl", result.getKqPayInfo()); + getActivity().startActivity(intent); + } else if (result.getPay_platform_type() == 5) { + PayUtils.SFTPay(getActivity(), result.getPayinfo()); + } + } + } + + @Override + public void onFailure(BaseActivity activity, String tip) { + Log.e("", ""); + } + + @Override + public void onException(BaseActivity activity, Throwable e) { + Log.e("", ""); + } + }); + } + + private void memberAuthority(final String type, final int value) { + SettingManager.memberAuthority((BaseActivity) getActivity(), type, value, new HttpUiCallBack() { + + @Override + public void onSuccess(BaseActivity activity, Object result, String message) { + + } + + @Override + public void onFailure(BaseActivity activity, String tip) { + MaleToast.showMessage(activity, tip); + } + + @Override + public void onException(BaseActivity activity, Throwable e) { + MaleToast.showMessage(activity, "请重试"); + } + }); + } + + //微信支付成功后回调 + public void onEventMainThread(PayEvent event) { + int errCode = event.getErrCode(); + if (errCode == 0) { + MaleToast.showSuccessMsg(getActivity(), "充值成功"); + getData(type); + } else if (errCode == -2) { + MaleToast.showFailureMsg(getActivity(), "充值取消"); + } else { + MaleToast.showFailureMsg(getActivity(), "充值失败"); + } + } + + @Override + public void onResume() { + super.onResume(); + getData(type); + } + + @Override + public void onDestroy() { + super.onDestroy(); + EventBus.getDefault().unregister(this); + + if (null != mPayDialog && mPayDialog.isShowing()) { + mPayDialog.dismiss(); + } + } + + public void scrollTop() { +// if (sv_general_member != null) { +// sv_general_member.post(new Runnable() { +// @Override +// public void run() { +// sv_general_member.smoothScrollTo(0, 0); +// } +// }); +// } + } + + public interface OnScrollChange { + void scrollChange(int i); + } + + public void setOnScrollChange(GeneralMemberFragment.OnScrollChange onScrollChange) { + this.onScrollChange = onScrollChange; + } +} diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/SuperMemberFragment.java b/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/SuperMemberFragment.java index 99a40f0..c5d398c 100644 --- a/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/SuperMemberFragment.java +++ b/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/SuperMemberFragment.java @@ -14,14 +14,17 @@ import android.widget.RelativeLayout; import android.widget.TextView; import androidx.annotation.Nullable; +import androidx.constraintlayout.widget.ConstraintLayout; import androidx.core.widget.NestedScrollView; import androidx.fragment.app.Fragment; import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.StaggeredGridLayoutManager; import com.alipay.sdk.app.PayTask; +import com.facebook.drawee.view.SimpleDraweeView; import com.xuebiping.bolizhuzi.R; import com.xuebiping.bolizhuzi.controller.constant.ConsUser; +import com.xuebiping.bolizhuzi.controller.constant.ConstUrl; import com.xuebiping.bolizhuzi.controller.constant.Constant; import com.xuebiping.bolizhuzi.controller.eventBus.PayEvent; import com.xuebiping.bolizhuzi.controller.settings.adapter.GeneralOptionsRecyclerAdapter; @@ -61,7 +64,7 @@ import de.greenrobot.event.EventBus; public class SuperMemberFragment extends Fragment implements View.OnClickListener { - private NestedScrollView sv_super_member; + private TextView tv_member_time; private ImageView iv_plus_tips; private RecyclerView mOptionView; @@ -70,7 +73,7 @@ public class SuperMemberFragment extends Fragment implements View.OnClickListene private TextView tv_super_member_price; private TextView tv_super_member_sure; private GeneralOptionsRecyclerAdapter mAdapter; - private int type = 5; + private int type = 1; private List mPrivileges = new ArrayList<>(); @@ -81,7 +84,15 @@ public class SuperMemberFragment extends Fragment implements View.OnClickListene private int mini_program_type; private OnScrollChange onScrollChange; private int goodsId; + private int goodsId1; + private int goodsId2; + private int goodsId3; private String price; + private int defaultType = 0;//默认选中会员类型 + + private SimpleDraweeView mUser_head; + private ConstraintLayout lin_vip_shift1, lin_vip_shift2, lin_vip_shift3; + private TextView tv_vip_shift_name1, tv_vip_shift_name2, tv_vip_shift_name3; @Nullable @Override @@ -115,14 +126,23 @@ public class SuperMemberFragment extends Fragment implements View.OnClickListene } private void initView(View v) { - sv_super_member = v.findViewById(R.id.sv_super_member); - tv_member_time = v.findViewById(R.id.tv_member_time); + + iv_plus_tips = v.findViewById(R.id.iv_plus_tips); tv_super_member_setting = v.findViewById(R.id.tv_super_member_setting); rl_super_member_bottom = v.findViewById(R.id.rl_super_member_bottom); tv_super_member_price = v.findViewById(R.id.tv_super_member_price); tv_super_member_sure = v.findViewById(R.id.tv_super_member_sure); mOptionView = v.findViewById(R.id.general_recycler_view); + + mUser_head = v.findViewById(R.id.user_head); + tv_member_time = v.findViewById(R.id.tv_member_time); + + lin_vip_shift1 = v.findViewById(R.id.lin_vip_shift1); + tv_vip_shift_name1 = v.findViewById(R.id.tv_vip_shift_name1); +// tv_vip_price1 = v.findViewById(R.id.tv_vip_price1); +// tv_vip_price_hint1 = v.findViewById(R.id.tv_vip_price_hint1); + mOptionView.setLayoutManager(new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL) { @Override @@ -141,20 +161,26 @@ public class SuperMemberFragment extends Fragment implements View.OnClickListene iv_plus_tips.setOnClickListener(this); tv_super_member_sure.setOnClickListener(this); tv_super_member_setting.setOnClickListener(this); - sv_super_member.setOnScrollChangeListener(new View.OnScrollChangeListener() { - @Override - public void onScrollChange(View v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) { - if (onScrollChange != null) { - onScrollChange.scrollChange(scrollY); - } - } - }); + + lin_vip_shift1.setOnClickListener(this); + +// sv_super_member.setOnScrollChangeListener(new View.OnScrollChangeListener() { +// @Override +// public void onScrollChange(View v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) { +// if (onScrollChange != null) { +// onScrollChange.scrollChange(scrollY); +// } +// } +// }); } private void getData(int type) { SettingManager.getMemberInfo((BaseActivity) getActivity(), type, new HttpUiCallBack() { @Override public void onSuccess(BaseActivity activity, MemberBean result, String message) { + + mUser_head.setImageURI(ConstUrl.IMAGE_URL + result.getInfo().getAvatar()); + if (result.getInfo() != null) { if (!TextUtils.isEmpty(result.getInfo().getExpire_date_new())) { tv_member_time.setText("有效期至:" + result.getInfo().getExpire_date_new()); @@ -162,12 +188,12 @@ public class SuperMemberFragment extends Fragment implements View.OnClickListene rl_super_member_bottom.setVisibility(View.GONE); tv_super_member_setting.setVisibility(View.VISIBLE); } else { - tv_member_time.setText("1000+用户已开通"); + tv_member_time.setText("你还未开通SVIP"); isVip = false; rl_super_member_bottom.setVisibility(View.VISIBLE); tv_super_member_setting.setVisibility(View.GONE); } - SPUtils.saveBoolean(getActivity(), ConsUser.USER_VIP, isVip); +// SPUtils.saveBoolean(getActivity(), ConsUser.USER_VIP, isVip); if (SPUtils.getInt(getActivity(), ConsUser.GENDER) == 1) { rl_super_member_bottom.setVisibility(View.VISIBLE); tv_super_member_setting.setVisibility(View.GONE); @@ -223,6 +249,17 @@ public class SuperMemberFragment extends Fragment implements View.OnClickListene Intent intent = new Intent(getContext(), PrivilegeSettingActivity.class); intent.putExtra("isVip", isVip); startActivity(intent); + }else if (v == lin_vip_shift1) { + lin_vip_shift1.setBackgroundResource(R.drawable.vip_select_bg2); + lin_vip_shift2.setBackgroundResource(R.drawable.vip_select_bg1); + lin_vip_shift3.setBackgroundResource(R.drawable.vip_select_bg1); + defaultType = 0; + if (goodsId1 == 1011) { + List list = mAdapter.getmOptions(); + list.get(0).setDesc("半价无限畅聊"); + list.get(1).setDesc("每日可享1次免费视频,单次最长1分钟"); + mAdapter.setOptions(list); + } } } @@ -448,16 +485,16 @@ public class SuperMemberFragment extends Fragment implements View.OnClickListene } } - public void scrollTop() { - if (sv_super_member != null) { - sv_super_member.post(new Runnable() { - @Override - public void run() { - sv_super_member.smoothScrollTo(0, 0); - } - }); - } - } +// public void scrollTop() { +// if (sv_super_member != null) { +// sv_super_member.post(new Runnable() { +// @Override +// public void run() { +// sv_super_member.smoothScrollTo(0, 0); +// } +// }); +// } +// } public interface OnScrollChange { void scrollChange(int i); diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/VisitorActivity.java b/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/VisitorActivity.java new file mode 100644 index 0000000..9121843 --- /dev/null +++ b/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/VisitorActivity.java @@ -0,0 +1,115 @@ +package com.xuebiping.bolizhuzi.view.settings; + +import android.content.Context; +import android.graphics.Color; +import android.graphics.Typeface; +import android.os.Bundle; +import android.view.View; +import android.widget.TextView; + +import androidx.fragment.app.Fragment; +import androidx.viewpager.widget.ViewPager; + +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.main.LookMeFragment; + +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; + +public class VisitorActivity extends BaseActivity { + + private MagicIndicator mMagicIndicator; + private ViewPager mMainViewPager; + + private MainViewPagerAdapter mViewPagerAdapter; + private List mChannelFragments = new ArrayList<>(); + private LookMeFragment mLookMeFragment; + private MeLookFragment mMeLookFragment; + private List mDataList = new ArrayList<>(); + private int mIndex = 0; + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_visittor); + setTitleName("访客"); + initView(); + } + + private void initView() { + mMagicIndicator = findViewById(R.id.magic_indicator); + mMainViewPager = findViewById(R.id.main_view_pager); + + mLookMeFragment = new LookMeFragment(); + mMeLookFragment = new MeLookFragment(); + + mChannelFragments.add(mLookMeFragment); + mChannelFragments.add(mMeLookFragment); + + + mViewPagerAdapter = new MainViewPagerAdapter(getSupportFragmentManager(), + mChannelFragments); + mMainViewPager.setAdapter(mViewPagerAdapter); + + initMagicIndicator(); + + mViewPagerAdapter.notifyDataSetChanged(); + mMainViewPager.setCurrentItem(mIndex); + } + + private void initMagicIndicator() { + mDataList.clear(); + mDataList.add("看过我的"); + mDataList.add("我的足迹"); + + CommonNavigator commonNavigator = new CommonNavigator(this); + 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) { + mMainViewPager.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, mMainViewPager); + } +} diff --git a/app/src/main/res/drawable-xhdpi/ic_general_member_header_bg.png b/app/src/main/res/drawable-xhdpi/ic_general_member_header_bg.png index 61811e9..f43c543 100644 Binary files a/app/src/main/res/drawable-xhdpi/ic_general_member_header_bg.png and b/app/src/main/res/drawable-xhdpi/ic_general_member_header_bg.png differ diff --git a/app/src/main/res/drawable-xhdpi/ic_member_diamond1.png b/app/src/main/res/drawable-xhdpi/ic_member_diamond1.png deleted file mode 100644 index 0a6880d..0000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_member_diamond1.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_member_diamond2.png b/app/src/main/res/drawable-xhdpi/ic_member_diamond2.png deleted file mode 100644 index 1b6c5c0..0000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_member_diamond2.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_member_photo1.png b/app/src/main/res/drawable-xhdpi/ic_member_photo1.png deleted file mode 100644 index 92bac66..0000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_member_photo1.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_member_photo2.png b/app/src/main/res/drawable-xhdpi/ic_member_photo2.png deleted file mode 100644 index 484f9d2..0000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_member_photo2.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_member_photo3.png b/app/src/main/res/drawable-xhdpi/ic_member_photo3.png deleted file mode 100644 index 7051320..0000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_member_photo3.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_member_select.png b/app/src/main/res/drawable-xhdpi/ic_member_select.png deleted file mode 100644 index d20edf4..0000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_member_select.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_super_member_top_bg.png b/app/src/main/res/drawable-xhdpi/ic_super_member_top_bg.png index 44ce57d..e7be252 100644 Binary files a/app/src/main/res/drawable-xhdpi/ic_super_member_top_bg.png and b/app/src/main/res/drawable-xhdpi/ic_super_member_top_bg.png differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_general_member_header_bg.png b/app/src/main/res/drawable-xxhdpi/ic_general_member_header_bg.png index 1029b4e..efdeb30 100644 Binary files a/app/src/main/res/drawable-xxhdpi/ic_general_member_header_bg.png and b/app/src/main/res/drawable-xxhdpi/ic_general_member_header_bg.png differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_member_diamond1.png b/app/src/main/res/drawable-xxhdpi/ic_member_diamond1.png deleted file mode 100644 index af78574..0000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_member_diamond1.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_member_diamond2.png b/app/src/main/res/drawable-xxhdpi/ic_member_diamond2.png deleted file mode 100644 index 1ac64fa..0000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_member_diamond2.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_member_photo1.png b/app/src/main/res/drawable-xxhdpi/ic_member_photo1.png deleted file mode 100644 index bbc4eda..0000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_member_photo1.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_member_photo2.png b/app/src/main/res/drawable-xxhdpi/ic_member_photo2.png deleted file mode 100644 index 9fb5602..0000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_member_photo2.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_member_photo3.png b/app/src/main/res/drawable-xxhdpi/ic_member_photo3.png deleted file mode 100644 index 4df9069..0000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_member_photo3.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_member_select.png b/app/src/main/res/drawable-xxhdpi/ic_member_select.png deleted file mode 100644 index 9c43f2b..0000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_member_select.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_super_member_top_bg.png b/app/src/main/res/drawable-xxhdpi/ic_super_member_top_bg.png index 259eaf1..5f597fb 100644 Binary files a/app/src/main/res/drawable-xxhdpi/ic_super_member_top_bg.png and b/app/src/main/res/drawable-xxhdpi/ic_super_member_top_bg.png differ diff --git a/app/src/main/res/drawable/look_me_activi_bg.xml b/app/src/main/res/drawable/look_me_activi_bg.xml new file mode 100644 index 0000000..9666cb2 --- /dev/null +++ b/app/src/main/res/drawable/look_me_activi_bg.xml @@ -0,0 +1,10 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/look_me_not_online_bg.xml b/app/src/main/res/drawable/look_me_not_online_bg.xml new file mode 100644 index 0000000..ecaea5e --- /dev/null +++ b/app/src/main/res/drawable/look_me_not_online_bg.xml @@ -0,0 +1,8 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_online_round.xml b/app/src/main/res/drawable/shape_6ce4b7_oval_bg.xml similarity index 56% rename from app/src/main/res/drawable/bg_online_round.xml rename to app/src/main/res/drawable/shape_6ce4b7_oval_bg.xml index b3310c7..2087a11 100644 --- a/app/src/main/res/drawable/bg_online_round.xml +++ b/app/src/main/res/drawable/shape_6ce4b7_oval_bg.xml @@ -3,7 +3,5 @@ android:shape="oval"> - - \ No newline at end of file diff --git a/app/src/main/res/drawable/shape_999999_oval_bg.xml b/app/src/main/res/drawable/shape_999999_oval_bg.xml new file mode 100644 index 0000000..a9eef45 --- /dev/null +++ b/app/src/main/res/drawable/shape_999999_oval_bg.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/shape_dddddd_line_oval_bg.xml b/app/src/main/res/drawable/shape_dddddd_line_oval_bg.xml new file mode 100644 index 0000000..6ae139f --- /dev/null +++ b/app/src/main/res/drawable/shape_dddddd_line_oval_bg.xml @@ -0,0 +1,8 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/shape_f2b854_oval_bg.xml b/app/src/main/res/drawable/shape_f2b854_oval_bg.xml new file mode 100644 index 0000000..175717b --- /dev/null +++ b/app/src/main/res/drawable/shape_f2b854_oval_bg.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/shape_main_color_line_oval_bg.xml b/app/src/main/res/drawable/shape_main_color_line_oval_bg.xml new file mode 100644 index 0000000..7e4a6f5 --- /dev/null +++ b/app/src/main/res/drawable/shape_main_color_line_oval_bg.xml @@ -0,0 +1,8 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/shape_member_selector_bottom.xml b/app/src/main/res/drawable/shape_member_selector_bottom.xml index f845996..06b2457 100644 --- a/app/src/main/res/drawable/shape_member_selector_bottom.xml +++ b/app/src/main/res/drawable/shape_member_selector_bottom.xml @@ -1,6 +1,6 @@ - + \ No newline at end of file diff --git a/app/src/main/res/drawable/shape_member_selector_bottom1.xml b/app/src/main/res/drawable/shape_member_selector_bottom1.xml index 899df35..06b2457 100644 --- a/app/src/main/res/drawable/shape_member_selector_bottom1.xml +++ b/app/src/main/res/drawable/shape_member_selector_bottom1.xml @@ -1,6 +1,6 @@ - + \ No newline at end of file diff --git a/app/src/main/res/drawable/switch_thumb_on.xml b/app/src/main/res/drawable/switch_thumb_on.xml index a52d14b..6d0663c 100644 --- a/app/src/main/res/drawable/switch_thumb_on.xml +++ b/app/src/main/res/drawable/switch_thumb_on.xml @@ -1,9 +1,10 @@ - + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_bind_phone.xml b/app/src/main/res/layout/activity_bind_phone.xml index 820af87..f9a69c9 100644 --- a/app/src/main/res/layout/activity_bind_phone.xml +++ b/app/src/main/res/layout/activity_bind_phone.xml @@ -184,6 +184,7 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_gender_activity.xml b/app/src/main/res/layout/activity_gender_activity.xml new file mode 100644 index 0000000..e02856e --- /dev/null +++ b/app/src/main/res/layout/activity_gender_activity.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_intimacy.xml b/app/src/main/res/layout/activity_intimacy.xml new file mode 100644 index 0000000..e02856e --- /dev/null +++ b/app/src/main/res/layout/activity_intimacy.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_member.xml b/app/src/main/res/layout/activity_member.xml index 8b76144..2b22514 100644 --- a/app/src/main/res/layout/activity_member.xml +++ b/app/src/main/res/layout/activity_member.xml @@ -56,7 +56,6 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" - android:visibility="gone" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintTop_toBottomOf="@+id/tv_member_title"> @@ -73,8 +72,8 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="6dp" - android:text="普通会员" - android:textColor="@color/three_text" + android:text="VIP" + android:textColor="@color/white" android:textSize="18sp" /> + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_contact_list.xml b/app/src/main/res/layout/fragment_contact_list.xml new file mode 100644 index 0000000..8293a0d --- /dev/null +++ b/app/src/main/res/layout/fragment_contact_list.xml @@ -0,0 +1,75 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_general_member.xml b/app/src/main/res/layout/fragment_general_member.xml index bdeba2d..cf617ec 100644 --- a/app/src/main/res/layout/fragment_general_member.xml +++ b/app/src/main/res/layout/fragment_general_member.xml @@ -1,114 +1,101 @@ - - - - - - - - - + android:fillViewport="true" + android:scrollbars="none"> - - - - - - - - - - - - - - - - - - - - - - + android:layout_alignParentTop="true" + android:background="@mipmap/ic_member_vip" + android:focusable="true" + android:focusableInTouchMode="true" + android:orientation="vertical"> + + + + + + + + + + + + + + + + + + + @@ -122,9 +109,9 @@ android:layout_height="wrap_content" android:layout_marginStart="12dp" android:layout_marginEnd="12dp" - android:text="会员专享权益" - android:textColor="#DDDEDE" - android:textSize="16dp" + android:text="会员套餐" + android:textColor="@color/white" + android:textSize="16sp" android:textStyle="bold" /> @@ -147,7 +134,7 @@ android:layout_height="wrap_content" android:layout_marginEnd="7dp" android:layout_weight="1" - android:background="@drawable/vip_select_bg2" + android:background="@mipmap/new_vip_select_bg2" android:orientation="vertical" android:paddingTop="16dp"> @@ -155,9 +142,10 @@ android:id="@+id/tv_vip_shift_name1" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:text="月度会员" + android:text="单月" android:textColor="@color/white" android:textSize="14dp" + android:textStyle="bold" fresco:layout_constraintEnd_toEndOf="parent" fresco:layout_constraintStart_toStartOf="parent" fresco:layout_constraintTop_toTopOf="parent" /> @@ -178,7 +166,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="¥" - android:textColor="#F9C644" + android:textColor="@color/white" android:textSize="12dp" /> @@ -197,21 +185,12 @@ android:layout_height="wrap_content" android:layout_marginBottom="16dp" android:text="¥38" - android:textColor="#80FFFFFF" + android:textColor="@color/white" android:textSize="12dp" - android:visibility="invisible" fresco:layout_constraintBottom_toBottomOf="parent" fresco:layout_constraintEnd_toEndOf="parent" fresco:layout_constraintStart_toStartOf="parent" /> - @@ -271,7 +251,7 @@ android:layout_height="wrap_content" android:layout_marginBottom="16dp" android:text="¥228" - android:textColor="#80FFFFFF" + android:textColor="@color/white" android:textSize="12dp" fresco:layout_constraintBottom_toBottomOf="parent" fresco:layout_constraintEnd_toEndOf="parent" @@ -285,14 +265,6 @@ fresco:layout_constraintEnd_toEndOf="parent" fresco:layout_constraintTop_toTopOf="parent" /> - @@ -351,7 +324,7 @@ android:layout_height="wrap_content" android:layout_marginBottom="16dp" android:text="¥38" - android:textColor="#80FFFFFF" + android:textColor="@color/white" android:textSize="12dp" fresco:layout_constraintBottom_toBottomOf="parent" fresco:layout_constraintEnd_toEndOf="parent" @@ -376,30 +349,102 @@ - + + + + + + + + + + android:layout_marginLeft="10dp" + android:layout_marginTop="16dp" + android:layout_marginRight="10dp" /> - + - - - - - - + + + + + + + + + + + + + + + + + android:layout_marginBottom="@dimen/dp50" /> diff --git a/app/src/main/res/layout/fragment_recommend2.xml b/app/src/main/res/layout/fragment_recommend2.xml index 7379a31..08be925 100644 --- a/app/src/main/res/layout/fragment_recommend2.xml +++ b/app/src/main/res/layout/fragment_recommend2.xml @@ -69,7 +69,7 @@ android:layout_marginTop="@dimen/dp10" android:layout_marginLeft="@dimen/dp5" android:layout_marginRight="@dimen/dp5" - android:layout_marginBottom="@dimen/dp10" + android:layout_marginBottom="@dimen/dp50" app:layout_behavior="@string/appbar_scrolling_view_behavior" /> diff --git a/app/src/main/res/layout/fragment_setting2.xml b/app/src/main/res/layout/fragment_setting2.xml index 3006da8..59ff3a8 100644 --- a/app/src/main/res/layout/fragment_setting2.xml +++ b/app/src/main/res/layout/fragment_setting2.xml @@ -374,18 +374,18 @@ + app:rv_backgroundColor="#f94f2e" + app:rv_cornerRadius="9dp" /> + android:layout_height="180dp" + android:layout_marginLeft="16dp" + android:layout_marginTop="150dp" + android:layout_marginRight="16dp" + android:background="@drawable/ic_super_member_top_bg"> + android:layout_marginLeft="16dp" + android:layout_marginTop="16dp" + android:layout_marginRight="16dp" + android:gravity="center_vertical" + android:orientation="horizontal"> + + - + android:gravity="center_vertical" + android:orientation="horizontal"> - + - - - - - - + + - + android:layout_centerInParent="true" + android:text="聊天倾诉,一路陪伴美好时光" + android:textColor="@color/white" + android:textSize="15sp" + android:textStyle="bold" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_contact_list.xml b/app/src/main/res/layout/item_contact_list.xml new file mode 100644 index 0000000..2995e80 --- /dev/null +++ b/app/src/main/res/layout/item_contact_list.xml @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_gender_active.xml b/app/src/main/res/layout/item_gender_active.xml new file mode 100644 index 0000000..0cc8a5a --- /dev/null +++ b/app/src/main/res/layout/item_gender_active.xml @@ -0,0 +1,106 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_general_option.xml b/app/src/main/res/layout/item_general_option.xml index d88c386..6964934 100644 --- a/app/src/main/res/layout/item_general_option.xml +++ b/app/src/main/res/layout/item_general_option.xml @@ -14,12 +14,11 @@ android:layout_height="wrap_content" android:minHeight="102dp"> - @@ -52,6 +51,7 @@ tools:text="每日免费聊100条" /> + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/item_intimacy_list.xml b/app/src/main/res/layout/item_intimacy_list.xml new file mode 100644 index 0000000..98d429b --- /dev/null +++ b/app/src/main/res/layout/item_intimacy_list.xml @@ -0,0 +1,186 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_main_look_me.xml b/app/src/main/res/layout/item_main_look_me.xml index d1c69d7..77876cf 100644 --- a/app/src/main/res/layout/item_main_look_me.xml +++ b/app/src/main/res/layout/item_main_look_me.xml @@ -1,21 +1,33 @@ - + android:orientation="vertical" + tools:viewBindingIgnore="true"> - + android:layout_height="80dp"> + + + android:layout_height="@dimen/dp50" + android:layout_centerVertical="true" + android:layout_marginLeft="16dp"> - + android:orientation="horizontal" + android:gravity="center_vertical"> + + + + + + + + android:layout_alignParentRight="true" + android:layout_centerVertical="true" + android:layout_marginRight="16dp" + android:orientation="vertical" + android:visibility="gone"> + android:textSize="12sp" /> - + android:orientation="horizontal"> - + + + + + + + - + - \ No newline at end of file + \ No newline at end of file diff --git a/app/src/main/res/layout/item_setting_option.xml b/app/src/main/res/layout/item_setting_option.xml index 0a09401..0d2922d 100644 --- a/app/src/main/res/layout/item_setting_option.xml +++ b/app/src/main/res/layout/item_setting_option.xml @@ -45,6 +45,19 @@ app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="parent" /> + + + android:textSize="@dimen/dp13" /> + android:background="@drawable/bg_999999_t10"/> diff --git a/app/src/main/res/mipmap-xhdpi/ic_member_svip.png b/app/src/main/res/mipmap-xhdpi/ic_member_svip.png index d512b9f..351a260 100644 Binary files a/app/src/main/res/mipmap-xhdpi/ic_member_svip.png and b/app/src/main/res/mipmap-xhdpi/ic_member_svip.png differ diff --git a/app/src/main/res/mipmap-xhdpi/ic_member_vip.png b/app/src/main/res/mipmap-xhdpi/ic_member_vip.png index abee51b..4a8e5c0 100644 Binary files a/app/src/main/res/mipmap-xhdpi/ic_member_vip.png and b/app/src/main/res/mipmap-xhdpi/ic_member_vip.png differ diff --git a/app/src/main/res/mipmap-xhdpi/ic_svip_tag.png b/app/src/main/res/mipmap-xhdpi/ic_svip_tag.png new file mode 100644 index 0000000..5e257ba Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/ic_svip_tag.png differ diff --git a/app/src/main/res/mipmap-xhdpi/ic_vip_tag.png b/app/src/main/res/mipmap-xhdpi/ic_vip_tag.png new file mode 100644 index 0000000..7cca44d Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/ic_vip_tag.png differ diff --git a/app/src/main/res/mipmap-xhdpi/new_vip_select_bg1.png b/app/src/main/res/mipmap-xhdpi/new_vip_select_bg1.png new file mode 100644 index 0000000..0344d74 Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/new_vip_select_bg1.png differ diff --git a/app/src/main/res/mipmap-xhdpi/new_vip_select_bg2.png b/app/src/main/res/mipmap-xhdpi/new_vip_select_bg2.png new file mode 100644 index 0000000..707c29d Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/new_vip_select_bg2.png differ diff --git a/app/src/main/res/mipmap-xhdpi/svip_select_bg1.png b/app/src/main/res/mipmap-xhdpi/svip_select_bg1.png new file mode 100644 index 0000000..efc9979 Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/svip_select_bg1.png differ diff --git a/app/src/main/res/mipmap-xhdpi/svip_select_bg2.png b/app/src/main/res/mipmap-xhdpi/svip_select_bg2.png new file mode 100644 index 0000000..7d100c2 Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/svip_select_bg2.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_member_svip.png b/app/src/main/res/mipmap-xxhdpi/ic_member_svip.png index a30d74e..c02e57f 100644 Binary files a/app/src/main/res/mipmap-xxhdpi/ic_member_svip.png and b/app/src/main/res/mipmap-xxhdpi/ic_member_svip.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_member_vip.png b/app/src/main/res/mipmap-xxhdpi/ic_member_vip.png index 05bb542..d8c94c2 100644 Binary files a/app/src/main/res/mipmap-xxhdpi/ic_member_vip.png and b/app/src/main/res/mipmap-xxhdpi/ic_member_vip.png differ diff --git a/uikit/src/main/res/layout/title.xml b/uikit/src/main/res/layout/title.xml index 0f9c50a..eac19da 100644 --- a/uikit/src/main/res/layout/title.xml +++ b/uikit/src/main/res/layout/title.xml @@ -4,7 +4,7 @@ android:id="@+id/title_bg" android:layout_width="match_parent" android:layout_height="80dp" - android:background="@color/tran_color" + android:background="#ffffff" tools:viewBindingIgnore="true" android:orientation="vertical">