From fc40082e5a17c2503dc9579225eddf5c1ed6d02b Mon Sep 17 00:00:00 2001
From: nail <123456789@qq.com>
Date: Fri, 1 May 2026 03:27:26 +0800
Subject: [PATCH] =?UTF-8?q?=E7=AD=89=E7=BA=A7=EF=BC=8C=E5=8F=91=E5=B8=83?=
=?UTF-8?q?=E5=8A=A8=E6=80=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/src/main/AndroidManifest.xml | 6 +
.../dynamics/adapter/DynamicsAdapter1.java | 4 +-
.../main/adapter/MainLookMeAdapter.java | 66 +-
.../main/adapter/MainPageCommentAdapter.java | 56 +-
.../main/adapter/SearchAdapter.java | 25 +-
.../controller/main/manager/MainManager.java | 2 +-
.../settings/adapter/ContactListAdapter.java | 18 +-
.../model/dynamics/DynamicsItemBean.java | 9 +
.../model/main/MainPageCommentInfoBean.java | 9 +
.../model/main/MainPageInfoBean.java | 9 +
.../bolizhuzi/model/main/SearchBean.java | 9 +
.../bolizhuzi/model/settings/SocialBean.java | 9 +
.../model/settings/UserInfoBean.java | 27 +
.../activity/DynamicPublishActivity.java | 147 +
.../activity/PageVideoPlay2Activity.kt | 49 +
.../fragment/DynamicImageTextFragment.java | 554 ++++
.../fragment/DynamicVideoTextFragment.java | 554 ++++
.../fragment/DynamicViewPager2Fragment.java | 79 +-
.../fragment/FollowUsersDynamicFragment.java | 6 +-
.../bolizhuzi/view/main/MainActivity.java | 138 +-
.../view/main/MainDynamicActivity.java | 10 +-
.../bolizhuzi/view/main/MainPageFragment.java | 102 +-
.../view/main/MainRecommend2Fragment.java | 69 +-
.../view/main/dialog/OpenDisturbDialog.java | 85 +
.../view/main/dialog/ShaiXuanDialog.java | 2 +-
.../view/main/ui/EmptyControlVideo.java | 11 +-
.../view/settings/InvitationActivity.java | 16 +-
.../view/settings/SettingFragment2.java | 78 +-
.../view/settings/UpPrivilegeActivity.java | 32 +-
.../main/res/drawable/progressbar_level.xml | 24 +
.../res/drawable/shape_20999999_r45_bg.xml | 6 +
.../main/res/drawable/shape_efecec_r14_bg.xml | 6 +
.../main/res/drawable/shape_f9fafc_r4_bg.xml | 7 +
.../main/res/drawable/shape_level_1_20_bg.xml | 8 +-
app/src/main/res/drawable/shape_wurao_bg.xml | 8 +
.../main/res/layout/activity_bind_phone.xml | 1 +
.../res/layout/activity_dynamic_publish.xml | 50 +
.../main/res/layout/activity_invitation.xml | 40 +-
.../res/layout/activity_page_video_play2.xml | 38 +
.../layout/activity_preview_dynamicvideo.xml | 8 +-
.../res/layout/activity_privilege_setting.xml | 6 +
.../res/layout/activity_video_finish2.xml | 22 +-
.../main/res/layout/dialog_open_disturb.xml | 69 +
.../layout/fragment_dynamic_image_text.xml | 136 +
.../layout/fragment_dynamic_video_text.xml | 136 +
.../layout/fragment_dynamic_view_pager2.xml | 74 +-
.../res/layout/fragment_main_recommend2.xml | 134 +-
.../layout/fragment_personal_main_page.xml | 75 +-
app/src/main/res/layout/fragment_setting2.xml | 62 +-
app/src/main/res/layout/item_contact_list.xml | 6 +-
.../main/res/layout/item_dynamic_list1.xml | 19 +-
app/src/main/res/layout/item_edit.xml | 10 +-
app/src/main/res/layout/item_main_look_me.xml | 44 +-
.../res/layout/item_main_page_comment.xml | 40 +-
.../res/layout/item_question_post_image.xml | 11 +-
app/src/main/res/layout/item_search.xml | 25 +-
app/src/main/res/layout/item_search_title.xml | 2 +-
.../res/layout/layout_shaixuan_dialog.xml | 1 +
.../res/mipmap-xhdpi/ic_do_not_disturb.png | Bin 0 -> 4463 bytes
app/src/main/res/mipmap-xhdpi/ic_model_v.png | Bin 0 -> 917 bytes
app/src/main/res/mipmap-xhdpi/ic_modle_1.png | Bin 0 -> 1578 bytes
app/src/main/res/mipmap-xhdpi/ic_modle_2.png | Bin 0 -> 1577 bytes
app/src/main/res/mipmap-xhdpi/ic_modle_3.png | Bin 0 -> 1775 bytes
app/src/main/res/mipmap-xhdpi/ic_modle_4.png | Bin 0 -> 1827 bytes
app/src/main/res/mipmap-xhdpi/ic_modle_5.png | Bin 0 -> 2004 bytes
app/src/main/res/mipmap-xhdpi/ic_modle_6.png | Bin 0 -> 2090 bytes
.../main/res/mipmap-xhdpi/ic_modle_bg1.png | Bin 0 -> 1914 bytes
.../main/res/mipmap-xhdpi/ic_modle_bg2.png | Bin 0 -> 1270 bytes
.../main/res/mipmap-xhdpi/ic_modle_bg3.png | Bin 0 -> 1609 bytes
.../main/res/mipmap-xhdpi/ic_modle_bg4.png | Bin 0 -> 1267 bytes
.../main/res/mipmap-xhdpi/ic_modle_bg5.png | Bin 0 -> 1312 bytes
.../main/res/mipmap-xhdpi/ic_modle_bg6.png | Bin 0 -> 1623 bytes
.../res/mipmap-xhdpi/ic_renzheng_sctp.png | Bin 0 -> 659 bytes
app/src/main/res/mipmap-xhdpi/ic_use_1.png | Bin 0 -> 1008 bytes
app/src/main/res/mipmap-xhdpi/ic_use_2.png | Bin 0 -> 903 bytes
app/src/main/res/mipmap-xhdpi/ic_use_3.png | Bin 0 -> 1151 bytes
app/src/main/res/mipmap-xhdpi/ic_use_4.png | Bin 0 -> 1253 bytes
app/src/main/res/mipmap-xhdpi/ic_use_5.png | Bin 0 -> 1258 bytes
app/src/main/res/mipmap-xhdpi/ic_use_6.png | Bin 0 -> 1788 bytes
app/src/main/res/mipmap-xhdpi/ic_use_bg1.png | Bin 0 -> 1116 bytes
app/src/main/res/mipmap-xhdpi/ic_use_bg2.png | Bin 0 -> 1219 bytes
app/src/main/res/mipmap-xhdpi/ic_use_bg3.png | Bin 0 -> 1253 bytes
app/src/main/res/mipmap-xhdpi/ic_use_bg4.png | Bin 0 -> 1245 bytes
app/src/main/res/mipmap-xhdpi/ic_use_bg5.png | Bin 0 -> 1247 bytes
app/src/main/res/mipmap-xhdpi/ic_use_bg6.png | Bin 0 -> 2013 bytes
.../main/res/mipmap-xhdpi/ic_wurao_tip.png | Bin 0 -> 1665 bytes
app/src/main/res/mipmap-xhdpi/ic_xintiao.png | Bin 0 -> 2789 bytes
app/src/main/res/values/styles.xml | 10 +
.../java/com/faceunity/nama/authpack.java | 2511 +++++++++--------
89 files changed, 4229 insertions(+), 1541 deletions(-)
create mode 100644 app/src/main/java/com/xuebiping/bolizhuzi/view/dynamics/activity/DynamicPublishActivity.java
create mode 100644 app/src/main/java/com/xuebiping/bolizhuzi/view/dynamics/activity/PageVideoPlay2Activity.kt
create mode 100644 app/src/main/java/com/xuebiping/bolizhuzi/view/dynamics/fragment/DynamicImageTextFragment.java
create mode 100644 app/src/main/java/com/xuebiping/bolizhuzi/view/dynamics/fragment/DynamicVideoTextFragment.java
create mode 100644 app/src/main/java/com/xuebiping/bolizhuzi/view/main/dialog/OpenDisturbDialog.java
create mode 100644 app/src/main/res/drawable/progressbar_level.xml
create mode 100644 app/src/main/res/drawable/shape_20999999_r45_bg.xml
create mode 100644 app/src/main/res/drawable/shape_efecec_r14_bg.xml
create mode 100644 app/src/main/res/drawable/shape_f9fafc_r4_bg.xml
create mode 100644 app/src/main/res/drawable/shape_wurao_bg.xml
create mode 100644 app/src/main/res/layout/activity_dynamic_publish.xml
create mode 100644 app/src/main/res/layout/activity_page_video_play2.xml
create mode 100644 app/src/main/res/layout/dialog_open_disturb.xml
create mode 100644 app/src/main/res/layout/fragment_dynamic_image_text.xml
create mode 100644 app/src/main/res/layout/fragment_dynamic_video_text.xml
create mode 100644 app/src/main/res/mipmap-xhdpi/ic_do_not_disturb.png
create mode 100644 app/src/main/res/mipmap-xhdpi/ic_model_v.png
create mode 100644 app/src/main/res/mipmap-xhdpi/ic_modle_1.png
create mode 100644 app/src/main/res/mipmap-xhdpi/ic_modle_2.png
create mode 100644 app/src/main/res/mipmap-xhdpi/ic_modle_3.png
create mode 100644 app/src/main/res/mipmap-xhdpi/ic_modle_4.png
create mode 100644 app/src/main/res/mipmap-xhdpi/ic_modle_5.png
create mode 100644 app/src/main/res/mipmap-xhdpi/ic_modle_6.png
create mode 100644 app/src/main/res/mipmap-xhdpi/ic_modle_bg1.png
create mode 100644 app/src/main/res/mipmap-xhdpi/ic_modle_bg2.png
create mode 100644 app/src/main/res/mipmap-xhdpi/ic_modle_bg3.png
create mode 100644 app/src/main/res/mipmap-xhdpi/ic_modle_bg4.png
create mode 100644 app/src/main/res/mipmap-xhdpi/ic_modle_bg5.png
create mode 100644 app/src/main/res/mipmap-xhdpi/ic_modle_bg6.png
create mode 100644 app/src/main/res/mipmap-xhdpi/ic_renzheng_sctp.png
create mode 100644 app/src/main/res/mipmap-xhdpi/ic_use_1.png
create mode 100644 app/src/main/res/mipmap-xhdpi/ic_use_2.png
create mode 100644 app/src/main/res/mipmap-xhdpi/ic_use_3.png
create mode 100644 app/src/main/res/mipmap-xhdpi/ic_use_4.png
create mode 100644 app/src/main/res/mipmap-xhdpi/ic_use_5.png
create mode 100644 app/src/main/res/mipmap-xhdpi/ic_use_6.png
create mode 100644 app/src/main/res/mipmap-xhdpi/ic_use_bg1.png
create mode 100644 app/src/main/res/mipmap-xhdpi/ic_use_bg2.png
create mode 100644 app/src/main/res/mipmap-xhdpi/ic_use_bg3.png
create mode 100644 app/src/main/res/mipmap-xhdpi/ic_use_bg4.png
create mode 100644 app/src/main/res/mipmap-xhdpi/ic_use_bg5.png
create mode 100644 app/src/main/res/mipmap-xhdpi/ic_use_bg6.png
create mode 100644 app/src/main/res/mipmap-xhdpi/ic_wurao_tip.png
create mode 100644 app/src/main/res/mipmap-xhdpi/ic_xintiao.png
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index c9afec7..069b9cc 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -281,6 +281,9 @@
+
@@ -930,6 +933,9 @@
+
diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/controller/dynamics/adapter/DynamicsAdapter1.java b/app/src/main/java/com/xuebiping/bolizhuzi/controller/dynamics/adapter/DynamicsAdapter1.java
index 3758edf..9d1ed0e 100644
--- a/app/src/main/java/com/xuebiping/bolizhuzi/controller/dynamics/adapter/DynamicsAdapter1.java
+++ b/app/src/main/java/com/xuebiping/bolizhuzi/controller/dynamics/adapter/DynamicsAdapter1.java
@@ -233,7 +233,7 @@ public class DynamicsAdapter1 extends BaseAdapter {
//TODO 显示浏览次数
holder.tv_see_count.setText("已有"+bean.getLike_count()+"次浏览");
-
+ holder.tv_dynamic_level.setText("LV." + bean.getLevel());
holder.info.setText(bean.getContent(), bean.getExpand(), new ExpandLayout.OnExpandListener() {
@Override
@@ -549,6 +549,7 @@ public class DynamicsAdapter1 extends BaseAdapter {
holder.realPeopleImageView = v.findViewById(R.id.realPeopleImageView);
holder.newPeopleImageView = v.findViewById(R.id.newPeopleImageView);
holder.rl_dynamic_item = v.findViewById(R.id.rl_dynamic_item);
+ holder.tv_dynamic_level = v.findViewById(R.id.tv_dynamic_level);
return holder;
}
@@ -579,6 +580,7 @@ public class DynamicsAdapter1 extends BaseAdapter {
ImageView realPeopleImageView;
ImageView newPeopleImageView;
RelativeLayout rl_dynamic_item;
+ TextView tv_dynamic_level;
}
diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/controller/main/adapter/MainLookMeAdapter.java b/app/src/main/java/com/xuebiping/bolizhuzi/controller/main/adapter/MainLookMeAdapter.java
index 372df62..ecd8df4 100644
--- a/app/src/main/java/com/xuebiping/bolizhuzi/controller/main/adapter/MainLookMeAdapter.java
+++ b/app/src/main/java/com/xuebiping/bolizhuzi/controller/main/adapter/MainLookMeAdapter.java
@@ -49,6 +49,9 @@ public class MainLookMeAdapter extends BaseQuickAdapter 0 && level <= 15) {
+ rl_level.setBackgroundResource(R.mipmap.ic_modle_bg1);
+ iv_level.setImageResource(R.mipmap.ic_modle_1);
+ } else if (level > 15 && level <= 30) {
+ rl_level.setBackgroundResource(R.mipmap.ic_modle_bg2);
+ iv_level.setImageResource(R.mipmap.ic_modle_2);
+ } else if (level > 30 && level <= 45) {
+ rl_level.setBackgroundResource(R.mipmap.ic_modle_bg3);
+ iv_level.setImageResource(R.mipmap.ic_modle_3);
+ } else if (level > 45 && level <= 60) {
+ rl_level.setBackgroundResource(R.mipmap.ic_modle_bg4);
+ iv_level.setImageResource(R.mipmap.ic_modle_4);
+ } else if (level > 60 && level <= 75) {
+ rl_level.setBackgroundResource(R.mipmap.ic_modle_bg5);
+ iv_level.setImageResource(R.mipmap.ic_modle_5);
+ } else {
+ rl_level.setBackgroundResource(R.mipmap.ic_modle_bg6);
+ iv_level.setImageResource(R.mipmap.ic_modle_6);
+ }
+ }else {
+ if (level > 0 && level <= 15) {
+ rl_level.setBackgroundResource(R.mipmap.ic_use_bg1);
+ iv_level.setImageResource(R.mipmap.ic_use_1);
+ } else if (level > 15 && level <= 30) {
+ rl_level.setBackgroundResource(R.mipmap.ic_use_bg2);
+ iv_level.setImageResource(R.mipmap.ic_use_2);
+ } else if (level > 30 && level <= 45) {
+ rl_level.setBackgroundResource(R.mipmap.ic_use_bg3);
+ iv_level.setImageResource(R.mipmap.ic_use_3);
+ } else if (level > 45 && level <= 60) {
+ rl_level.setBackgroundResource(R.mipmap.ic_use_bg4);
+ iv_level.setImageResource(R.mipmap.ic_use_4);
+ } else if (level > 60 && level <= 75) {
+ rl_level.setBackgroundResource(R.mipmap.ic_use_bg5);
+ iv_level.setImageResource(R.mipmap.ic_use_5);
+ } else {
+ rl_level.setBackgroundResource(R.mipmap.ic_use_bg6);
+ iv_level.setImageResource(R.mipmap.ic_use_6);
+ }
+ }
+
+
if (TextUtils.isEmpty(bean.getSignature())) {
tv_sign.setVisibility(View.INVISIBLE);
}else {
diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/controller/main/adapter/MainPageCommentAdapter.java b/app/src/main/java/com/xuebiping/bolizhuzi/controller/main/adapter/MainPageCommentAdapter.java
index b59ade8..994d127 100644
--- a/app/src/main/java/com/xuebiping/bolizhuzi/controller/main/adapter/MainPageCommentAdapter.java
+++ b/app/src/main/java/com/xuebiping/bolizhuzi/controller/main/adapter/MainPageCommentAdapter.java
@@ -2,6 +2,8 @@ package com.xuebiping.bolizhuzi.controller.main.adapter;
import android.content.Context;
import android.view.View;
+import android.widget.ImageView;
+import android.widget.RelativeLayout;
import android.widget.TextView;
import com.chad.library.adapter.base.BaseQuickAdapter;
@@ -29,6 +31,8 @@ public class MainPageCommentAdapter extends BaseQuickAdapter 0 && level <= 20) {
- tv_level.setBackgroundResource(R.drawable.shape_level_1_20_bg);
- } else if (level > 20 && level <= 40) {
- tv_level.setBackgroundResource(R.drawable.shape_level_21_40_bg);
- } else if (level > 40 && level <= 60) {
- tv_level.setBackgroundResource(R.drawable.shape_level_41_60_bg);
- } else if (level > 60 && level <= 80) {
- tv_level.setBackgroundResource(R.drawable.shape_level_61_80_bg);
- } else if (level > 80) {
- tv_level.setBackgroundResource(R.drawable.shape_level_81_100_bg);
+ tv_level.setText(level + "");
+ if (bean.getGender() == 1) {
+ if (level > 0 && level <= 15) {
+ rl_level.setBackgroundResource(R.mipmap.ic_modle_bg1);
+ iv_level.setImageResource(R.mipmap.ic_modle_1);
+ } else if (level > 15 && level <= 30) {
+ rl_level.setBackgroundResource(R.mipmap.ic_modle_bg2);
+ iv_level.setImageResource(R.mipmap.ic_modle_2);
+ } else if (level > 30 && level <= 45) {
+ rl_level.setBackgroundResource(R.mipmap.ic_modle_bg3);
+ iv_level.setImageResource(R.mipmap.ic_modle_3);
+ } else if (level > 45 && level <= 60) {
+ rl_level.setBackgroundResource(R.mipmap.ic_modle_bg4);
+ iv_level.setImageResource(R.mipmap.ic_modle_4);
+ } else if (level > 60 && level <= 75) {
+ rl_level.setBackgroundResource(R.mipmap.ic_modle_bg5);
+ iv_level.setImageResource(R.mipmap.ic_modle_5);
+ } else {
+ rl_level.setBackgroundResource(R.mipmap.ic_modle_bg6);
+ iv_level.setImageResource(R.mipmap.ic_modle_6);
+ }
+ }else {
+ if (level > 0 && level <= 15) {
+ rl_level.setBackgroundResource(R.mipmap.ic_use_bg1);
+ iv_level.setImageResource(R.mipmap.ic_use_1);
+ } else if (level > 15 && level <= 30) {
+ rl_level.setBackgroundResource(R.mipmap.ic_use_bg2);
+ iv_level.setImageResource(R.mipmap.ic_use_2);
+ } else if (level > 30 && level <= 45) {
+ rl_level.setBackgroundResource(R.mipmap.ic_use_bg3);
+ iv_level.setImageResource(R.mipmap.ic_use_3);
+ } else if (level > 45 && level <= 60) {
+ rl_level.setBackgroundResource(R.mipmap.ic_use_bg4);
+ iv_level.setImageResource(R.mipmap.ic_use_4);
+ } else if (level > 60 && level <= 75) {
+ rl_level.setBackgroundResource(R.mipmap.ic_use_bg5);
+ iv_level.setImageResource(R.mipmap.ic_use_5);
+ } else {
+ rl_level.setBackgroundResource(R.mipmap.ic_use_bg6);
+ iv_level.setImageResource(R.mipmap.ic_use_6);
+ }
}
List labels = bean.getLabels();
diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/controller/main/adapter/SearchAdapter.java b/app/src/main/java/com/xuebiping/bolizhuzi/controller/main/adapter/SearchAdapter.java
index 676f39f..f6cb9fd 100644
--- a/app/src/main/java/com/xuebiping/bolizhuzi/controller/main/adapter/SearchAdapter.java
+++ b/app/src/main/java/com/xuebiping/bolizhuzi/controller/main/adapter/SearchAdapter.java
@@ -1,6 +1,7 @@
package com.xuebiping.bolizhuzi.controller.main.adapter;
import android.content.Context;
+import android.text.TextUtils;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
@@ -53,19 +54,23 @@ public class SearchAdapter extends BaseAdapter {
holder = (Holder) view.getTag();
}
- if (0 == bean.getVip()) {
- holder.ivMemberSign.setVisibility(View.VISIBLE);
- holder.ivMemberSign.setImageResource(R.drawable.ic_pvip);
- } else if (1 == bean.getVip()) {
- holder.ivMemberSign.setVisibility(View.VISIBLE);
- holder.ivMemberSign.setImageResource(R.drawable.ic_gvip);
- } else {
- holder.ivMemberSign.setVisibility(View.GONE);
- }
+// if (0 == bean.getVip()) {
+// holder.ivMemberSign.setVisibility(View.VISIBLE);
+// holder.ivMemberSign.setImageResource(R.drawable.ic_pvip);
+// } else if (1 == bean.getVip()) {
+// holder.ivMemberSign.setVisibility(View.VISIBLE);
+// holder.ivMemberSign.setImageResource(R.drawable.ic_gvip);
+// } else {
+// holder.ivMemberSign.setVisibility(View.GONE);
+// }
holder.mPhoto.setImageURI(StrU.getResourcePath(bean.getAvatar(), mContext));
holder.mName.setText(bean.getNickname());
- holder.mInfo.setText(bean.getCity() + " | " + bean.getAge() + "岁");
+// holder.mInfo.setText(bean.getCity() + " | " + bean.getAge() + "岁");
+ if (!TextUtils.isEmpty(bean.getSignature())) {
+ holder.mInfo.setText(bean.getSignature());
+ }
+
holder.mTime.setText(bean.getDateline());
view.setTag(holder);
return view;
diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/controller/main/manager/MainManager.java b/app/src/main/java/com/xuebiping/bolizhuzi/controller/main/manager/MainManager.java
index 4042520..7d5cb43 100644
--- a/app/src/main/java/com/xuebiping/bolizhuzi/controller/main/manager/MainManager.java
+++ b/app/src/main/java/com/xuebiping/bolizhuzi/controller/main/manager/MainManager.java
@@ -1081,7 +1081,7 @@ public class MainManager {
}
};
- task.start();
+ task.start(false);
}
public static void evaluateVideo(BaseActivity activity,
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
index e6731cc..4c2f0e2 100644
--- 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
@@ -79,13 +79,19 @@ public class ContactListAdapter extends BaseQuickAdapter list;
private List likes;
private boolean expand;
+ private int level;
+
+ public int getLevel() {
+ return level;
+ }
+
+ public void setLevel(int level) {
+ this.level = level;
+ }
public int getMark() {
return mark;
diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/model/main/MainPageCommentInfoBean.java b/app/src/main/java/com/xuebiping/bolizhuzi/model/main/MainPageCommentInfoBean.java
index f4bfb36..b702a38 100644
--- a/app/src/main/java/com/xuebiping/bolizhuzi/model/main/MainPageCommentInfoBean.java
+++ b/app/src/main/java/com/xuebiping/bolizhuzi/model/main/MainPageCommentInfoBean.java
@@ -10,6 +10,15 @@ public class MainPageCommentInfoBean {
private int level;
private int attitude;
private List labels;
+ private int gender;
+
+ public int getGender() {
+ return gender;
+ }
+
+ public void setGender(int gender) {
+ this.gender = gender;
+ }
public int getFrom_uid() {
return from_uid;
diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/model/main/MainPageInfoBean.java b/app/src/main/java/com/xuebiping/bolizhuzi/model/main/MainPageInfoBean.java
index 66a7f0f..4eb802f 100644
--- a/app/src/main/java/com/xuebiping/bolizhuzi/model/main/MainPageInfoBean.java
+++ b/app/src/main/java/com/xuebiping/bolizhuzi/model/main/MainPageInfoBean.java
@@ -27,6 +27,15 @@ public class MainPageInfoBean {
private int real_name_mark;
private int real_person_mark;
private int has_wechat;
+ private int level;
+
+ public int getLevel() {
+ return level;
+ }
+
+ public void setLevel(int level) {
+ this.level = level;
+ }
public int getHas_wechat() {
return has_wechat;
diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/model/main/SearchBean.java b/app/src/main/java/com/xuebiping/bolizhuzi/model/main/SearchBean.java
index 11be107..e844697 100644
--- a/app/src/main/java/com/xuebiping/bolizhuzi/model/main/SearchBean.java
+++ b/app/src/main/java/com/xuebiping/bolizhuzi/model/main/SearchBean.java
@@ -10,6 +10,15 @@ public class SearchBean {
private String city;
private String dateline;
private int vip = 2;
+ private String signature;
+
+ public String getSignature() {
+ return signature;
+ }
+
+ public void setSignature(String signature) {
+ this.signature = signature;
+ }
public int getUserid() {
return userid;
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 aa0b0d4..2c19408 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
@@ -17,6 +17,15 @@ public class SocialBean {
private String signature;
private int online_status; //0 不在线 1在线 2活跃
private int visit_times;
+ private int level;
+
+ public int getLevel() {
+ return level;
+ }
+
+ public void setLevel(int level) {
+ this.level = level;
+ }
public int getUserid() {
return userid;
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 e5e6fe9..9585eda 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
@@ -44,6 +44,33 @@ public class UserInfoBean {
private int user_type;
private int online_status;
private int do_not_disturb;
+ private int level;
+ private int next_level_diff_wealth_value;
+ private int level_percent;
+
+ public int getLevel() {
+ return level;
+ }
+
+ public void setLevel(int level) {
+ this.level = level;
+ }
+
+ public int getNext_level_diff_wealth_value() {
+ return next_level_diff_wealth_value;
+ }
+
+ public void setNext_level_diff_wealth_value(int next_level_diff_wealth_value) {
+ this.next_level_diff_wealth_value = next_level_diff_wealth_value;
+ }
+
+ public int getLevel_percent() {
+ return level_percent;
+ }
+
+ public void setLevel_percent(int level_percent) {
+ this.level_percent = level_percent;
+ }
public int getHeight() {
return height;
diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/view/dynamics/activity/DynamicPublishActivity.java b/app/src/main/java/com/xuebiping/bolizhuzi/view/dynamics/activity/DynamicPublishActivity.java
new file mode 100644
index 0000000..ad33cd5
--- /dev/null
+++ b/app/src/main/java/com/xuebiping/bolizhuzi/view/dynamics/activity/DynamicPublishActivity.java
@@ -0,0 +1,147 @@
+package com.xuebiping.bolizhuzi.view.dynamics.activity;
+
+import android.content.Context;
+import android.content.Intent;
+import android.graphics.Color;
+import android.graphics.Typeface;
+import android.os.Bundle;
+import android.view.View;
+import android.widget.RelativeLayout;
+import android.widget.TextView;
+
+import androidx.fragment.app.Fragment;
+import androidx.viewpager.widget.ViewPager;
+
+import com.fengliyan.uikit.toast.MaleToast;
+import com.xuebiping.bolizhuzi.R;
+import com.xuebiping.bolizhuzi.controller.main.adapter.MainViewPagerAdapter;
+import com.xuebiping.bolizhuzi.controller.main.adapter.ScaleTransitionPagerTitleView;
+import com.xuebiping.bolizhuzi.view.base.BaseActivity;
+import com.xuebiping.bolizhuzi.view.dynamics.fragment.DynamicImageTextFragment;
+import com.xuebiping.bolizhuzi.view.dynamics.fragment.DynamicVideoTextFragment;
+
+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 DynamicPublishActivity extends BaseActivity implements View.OnClickListener {
+
+ private MagicIndicator mMagicIndicator;
+ private ViewPager mMainViewPager;
+
+ private MainViewPagerAdapter mViewPagerAdapter;
+ private List mChannelFragments = new ArrayList<>();
+ private DynamicImageTextFragment mDynamicImageTextFragment;
+ private DynamicVideoTextFragment mDynamicVideoTextFragment;
+ private List mDataList = new ArrayList<>();
+ private int mIndex = 0;
+ private RelativeLayout mLl_back;
+ private TextView mTv_zhunze;
+
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_dynamic_publish);
+ hideTitleBar();
+ initView();
+ }
+
+ private void initView() {
+ mMagicIndicator = findViewById(R.id.magic_indicator);
+ mMainViewPager = findViewById(R.id.main_view_pager);
+ mLl_back = findViewById(R.id.ll_back);
+ mTv_zhunze = findViewById(R.id.tv_zhunze);
+
+ mLl_back.setOnClickListener(this);
+ mTv_zhunze.setOnClickListener(this);
+
+ mDynamicImageTextFragment = new DynamicImageTextFragment();
+ mDynamicVideoTextFragment = new DynamicVideoTextFragment();
+
+ mChannelFragments.add(mDynamicImageTextFragment);
+ mChannelFragments.add(mDynamicVideoTextFragment);
+
+
+ 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);
+ }
+
+ @Override
+ public void onClick(View view) {
+ if (view == mLl_back) {
+ finish();
+ } else if (view == mTv_zhunze) {
+ MaleToast.showMessage(this, "开发中");
+ }
+ }
+
+ @Override
+ public void onActivityResult(int requestCode, int resultCode, Intent intent) {
+ super.onActivityResult(requestCode, resultCode, intent);
+ if (null != mDynamicImageTextFragment) {
+ mDynamicImageTextFragment.onActivityResult(requestCode & 0xffff, resultCode, intent);
+ }
+
+ if (null != mDynamicVideoTextFragment) {
+ mDynamicVideoTextFragment.onActivityResult(requestCode & 0xffff, resultCode, intent);
+ }
+ }
+}
diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/view/dynamics/activity/PageVideoPlay2Activity.kt b/app/src/main/java/com/xuebiping/bolizhuzi/view/dynamics/activity/PageVideoPlay2Activity.kt
new file mode 100644
index 0000000..bad5e68
--- /dev/null
+++ b/app/src/main/java/com/xuebiping/bolizhuzi/view/dynamics/activity/PageVideoPlay2Activity.kt
@@ -0,0 +1,49 @@
+package com.xuebiping.bolizhuzi.view.dynamics.activity
+
+import android.animation.ValueAnimator
+import android.os.Bundle
+import com.shuyu.gsyvideoplayer.utils.GSYVideoType
+import com.xuebiping.bolizhuzi.databinding.ActivityPageVideoPlay2Binding
+import com.xuebiping.bolizhuzi.im.uikit.common.Constans
+import com.xuebiping.bolizhuzi.view.base.BaseActivity
+
+class PageVideoPlay2Activity : BaseActivity() {
+ lateinit var binding: ActivityPageVideoPlay2Binding
+
+ private var videoUrl: String? = ""
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ binding = ActivityPageVideoPlay2Binding.inflate(layoutInflater)
+ setContentView(binding.root)
+ hideTitleBar()
+ videoUrl = intent.getStringExtra("videoUrl")
+ binding.ivBack.setOnClickListener {
+ finish()
+ }
+ GSYVideoType.setShowType(GSYVideoType.SCREEN_TYPE_FULL)
+// GSYVideoType.setShowType(GSYVideoType.SCREEN_TYPE_DEFAULT)
+
+ binding.videoView.setUp(
+ Constans.IMAGE_URL + videoUrl, true, ""
+ )
+ binding.videoView.isLooping = true
+ binding.videoView.startPlayLogic()
+ }
+
+ override fun onPause() {
+ super.onPause()
+ binding.videoView.onVideoPause()
+ }
+
+ override fun onRestart() {
+ super.onRestart()
+ binding.videoView.onVideoResume()
+ }
+
+ override fun onDestroy() {
+ super.onDestroy()
+ binding.videoView.setVideoAllCallBack(null)
+ binding.videoView.release()
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/view/dynamics/fragment/DynamicImageTextFragment.java b/app/src/main/java/com/xuebiping/bolizhuzi/view/dynamics/fragment/DynamicImageTextFragment.java
new file mode 100644
index 0000000..2a7af72
--- /dev/null
+++ b/app/src/main/java/com/xuebiping/bolizhuzi/view/dynamics/fragment/DynamicImageTextFragment.java
@@ -0,0 +1,554 @@
+package com.xuebiping.bolizhuzi.view.dynamics.fragment;
+
+import android.app.ProgressDialog;
+import android.content.Intent;
+import android.graphics.Bitmap;
+import android.media.ThumbnailUtils;
+import android.os.Bundle;
+import android.provider.MediaStore;
+import android.text.Editable;
+import android.text.TextUtils;
+import android.text.TextWatcher;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.Button;
+import android.widget.EditText;
+import android.widget.LinearLayout;
+import android.widget.RelativeLayout;
+import android.widget.TextView;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.fragment.app.Fragment;
+
+import com.fengliyan.http.httprequest.UploadFile;
+import com.fengliyan.uikit.photopicker.MultiImageSelector;
+import com.fengliyan.uikit.toast.MaleToast;
+import com.xuebiping.bolizhuzi.R;
+import com.xuebiping.bolizhuzi.controller.constant.Constant;
+import com.xuebiping.bolizhuzi.controller.dynamics.manager.DynamicsManager;
+import com.xuebiping.bolizhuzi.im.uikit.business.session.helper.VideoMessageHelper;
+import com.xuebiping.bolizhuzi.model.dynamics.DynamicPostBean;
+import com.xuebiping.bolizhuzi.model.dynamics.ImageUploadBean;
+import com.xuebiping.bolizhuzi.model.dynamics.UploadImageBean;
+import com.xuebiping.bolizhuzi.utils.camera2.BitmapUtils;
+import com.xuebiping.bolizhuzi.view.base.BaseActivity;
+import com.xuebiping.bolizhuzi.view.base.utils.HttpUiCallBack;
+import com.xuebiping.bolizhuzi.view.base.utils.ImageUtils;
+import com.xuebiping.bolizhuzi.view.dynamics.dialog.TopicListDialog;
+import com.xuebiping.bolizhuzi.view.dynamics.utils.ImageLayout;
+
+import org.jetbrains.annotations.NotNull;
+
+import java.io.File;
+import java.net.URI;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import kotlin.Unit;
+import kotlin.jvm.functions.Function1;
+import kotlin.jvm.functions.Function2;
+
+public class DynamicImageTextFragment extends Fragment implements View.OnClickListener {
+
+ public static final int MULTI_SELECTOR_REQUEST = 200;
+ public static final int SINGLE_SELECTOR_REQUEST = 201;
+ public static final int MAX_IMAGE_COUNT = 9;
+ private View v;
+ private LinearLayout mPhotoLine1;
+ private LinearLayout mPhotoLine2;
+ private LinearLayout mPhotoLine3;
+ private EditText mEditText;
+ private TextView mComplaintInputText;
+ private int mSingleIndex;
+ private ArrayList mSelectPath = new ArrayList<>();
+ private MultiImageSelector mSelector;
+ private StringBuilder mImages;
+ private ProgressDialog progressDialog;
+ private boolean isVideo = false;
+ private VideoMessageHelper helper;
+ private File videoFile;
+ private TextWatcher mWatcher = new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
+
+ }
+
+ @Override
+ public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
+ String length = mEditText.getText().length() + "/300字";
+ mComplaintInputText.setText(length);
+ }
+
+ @Override
+ public void afterTextChanged(Editable editable) {
+
+ }
+ };
+ private RelativeLayout rl_add_topic;
+ private TextView tv_topic_content;
+ private TopicListDialog topicListDialog;
+ private Button mBt_publish;
+
+ @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_dynamic_image_text, container, false);
+ helper = new VideoMessageHelper(getActivity(), new VideoMessageHelper.VideoMessageHelperListener() {
+ @Override
+ public void onVideoPicked(File file, String md5) {
+ videoFile = file;
+ Bitmap bitmap = ThumbnailUtils.createVideoThumbnail(file.getAbsolutePath(), MediaStore.Video.Thumbnails.FULL_SCREEN_KIND);
+ BitmapUtils.savePicNoRotate(BitmapUtils.toByteArray(bitmap), "video_cover",
+ new Function2() {
+ @Override
+ public Unit invoke(String s, String s2) {
+ bitmap.recycle();
+ getActivity().runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ List paths = new ArrayList<>();
+ paths.add(s);
+ notifyDataSetChanged(paths);
+ mSelectPath.add(s);
+ }
+ });
+ return null;
+ }
+ }, new Function1() {
+ @Override
+ public Unit invoke(String s) {
+ getActivity().runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ MaleToast.showMessage(getActivity(), "获取视频缩略图失败");
+
+ }
+ });
+ return null;
+ }
+ });
+ }
+ });
+ initView(v);
+ return v;
+ }
+
+ private void initView(View v) {
+ mPhotoLine1 = v.findViewById(R.id.dynamics_post_line_1);
+ mPhotoLine2 = v.findViewById(R.id.dynamics_post_line_2);
+ mPhotoLine3 = v.findViewById(R.id.dynamics_post_line_3);
+ mEditText = v.findViewById(R.id.edit_post);
+ rl_add_topic = v.findViewById(R.id.rl_add_topic);
+ tv_topic_content = v.findViewById(R.id.tv_topic_content);
+ mComplaintInputText = v.findViewById(R.id.edit_char_count);
+ mBt_publish = v.findViewById(R.id.bt_publish);
+
+ mSelector = MultiImageSelector.create().multi().count(MAX_IMAGE_COUNT);
+ mImages = new StringBuilder();
+ addPhotos(mSelectPath);
+ mEditText.addTextChangedListener(mWatcher);
+
+ rl_add_topic.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ //TODO 添加话题,打开话题弹窗
+ topicListDialog = new TopicListDialog(getActivity());
+ topicListDialog.show();
+ topicListDialog.setRightOnClickListener(new TopicListDialog.OnDialogRightClickListener() {
+ @Override
+ public void rightClick(String str) {
+ tv_topic_content.setText(str);
+ }
+ });
+ }
+ });
+
+ mBt_publish.setOnClickListener(this);
+ }
+
+ public void notifyDataSetChanged(List imagePath) {
+ removePhotos();
+ addPhotos(imagePath);
+ }
+
+ private void removePhotos() {
+ mPhotoLine1.removeAllViews();
+ mPhotoLine2.removeAllViews();
+ mPhotoLine3.removeAllViews();
+ }
+
+ private void addPhotos(List imagePath) {
+ Iterator i = imagePath.iterator();
+ int count = 0;
+
+ while (i.hasNext()) {
+ String path = i.next();
+ final ImageLayout image = new ImageLayout(getActivity());
+ setImage(path, image);
+ image.setPadding(6, 0, 0, 0);
+ image.setOnImageHandlingListener(new ImageLayout.OnImageHandlingListener() {
+ @Override
+ public void onImageClicked() {
+ singleReplace(image.getImageUrl());
+ }
+
+ @Override
+ public void onReadyLogoClicked() {
+ startImageSelector();
+ }
+
+ @Override
+ public void onRemoveLogoClicked() {
+ removeImage(image.getImageUrl());
+ }
+ });
+
+ if (count < 3) {
+ mPhotoLine1.addView(image);
+ } else if (count < 6) {
+ mPhotoLine2.addView(image);
+ } else if (count < 9) {
+ mPhotoLine3.addView(image);
+ }
+
+ count++;
+ }
+
+ if (isVideo) {
+ if (imagePath.size() == 0) {
+ addTail(count);
+ }
+ } else {
+ addTail(count);
+ }
+
+ }
+
+ void addTail(int count) {
+ if (count != 9) {
+ ImageLayout image = new ImageLayout(getActivity());
+ image.setPadding(6, 0, 0, 0);
+ image.setOnImageHandlingListener(new ImageLayout.OnImageHandlingListener() {
+ @Override
+ public void onImageClicked() {
+
+ }
+
+ @Override
+ public void onReadyLogoClicked() {
+ startImageSelector();
+ }
+
+ @Override
+ public void onRemoveLogoClicked() {
+
+ }
+ });
+
+// if (count == 0) {
+// image.empty();
+// }
+
+ if (count < 3) {
+ mPhotoLine1.addView(image);
+ } else if (count < 6) {
+ mPhotoLine2.addView(image);
+ } else if (count < 9) {
+ mPhotoLine3.addView(image);
+ }
+ }
+ }
+
+ @Override
+ public void onActivityResult(int requestCode, int resultCode, Intent data) {
+ super.onActivityResult(requestCode, resultCode, data);
+ if (isVideo) {
+ helper.onGetLocalVideoResult(data);
+ }
+ if (requestCode == MULTI_SELECTOR_REQUEST && resultCode == getActivity().RESULT_OK) {
+ mSelectPath.addAll(data.getStringArrayListExtra(MultiImageSelector.EXTRA_RESULT));
+ notifyDataSetChanged(mSelectPath);
+ } else if (requestCode == SINGLE_SELECTOR_REQUEST && resultCode == getActivity().RESULT_OK) {
+ mSelectPath.remove(mSingleIndex);
+ mSelectPath.add(mSingleIndex, data.
+ getStringArrayListExtra(MultiImageSelector.EXTRA_RESULT).get(0));
+
+ notifyDataSetChanged(mSelectPath);
+ }
+ }
+
+ public void removeImage(String path) {
+ path = path.replace("file:", "");
+ mSelectPath.remove(path);
+ notifyDataSetChanged(mSelectPath);
+ }
+
+ public void startImageSelector() {
+ if (isVideo) {
+ helper.chooseVideoFromLocal();
+ return;
+ }
+ mSelector.multi();
+ mSelector.count(9 - mSelectPath.size());
+ mSelector.start(this, MULTI_SELECTOR_REQUEST);
+ }
+
+ public void singleReplace(String path) {
+ if (isVideo) {
+ helper.chooseVideoFromLocal();
+ return;
+ }
+ path = path.replace("file:", "");
+ mSingleIndex = mSelectPath.indexOf(path);
+ mSelector.single();
+ mSelector.start(this, SINGLE_SELECTOR_REQUEST);
+ }
+
+ private void setImage(String path, ImageLayout image) {
+ if (path != null) {
+ File file = new File(path);
+ if (null != file) {
+ URI uri = file.toURI();
+ image.imageLoad(uri.toString());
+ }
+ }
+ }
+
+ private void compressAndUpload() {
+ Iterator i = mSelectPath.iterator();
+ final UploadFile[] uploadFiles = new UploadFile[mSelectPath.size()];
+ int count = 0;
+ while (i.hasNext()) {
+ String path = i.next();
+ path = ImageUtils.compressImage(getActivity(), path, Constant.IMAGE_MEMORY_SIZE, false);
+ File file = new File(path);
+ UploadFile uploadFile = new UploadFile("file[" + count + "]", file);
+ uploadFiles[count] = uploadFile;
+ count++;
+ }
+
+ if (null != uploadFiles) {
+ if (uploadFiles.length != 0) {
+ if (uploadFiles[0].getFile().exists()) {
+ getActivity().runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ uploadImage(uploadFiles, mEditText.getText().toString());
+ }
+ });
+ }
+ }
+ } else {
+ progressDialog.dismiss();
+ mBt_publish.setEnabled(true);
+ }
+
+ }
+
+ void uploadVideo(String content, String coverUrl) {
+ UploadFile uploadFile = new UploadFile(System.currentTimeMillis() + ".mp4", videoFile);
+ UploadFile[] files = new UploadFile[]{uploadFile};
+ DynamicsManager.uploadImage((BaseActivity) getActivity(), files, "dynamic",
+ new HttpUiCallBack>() {
+ @Override
+ public void onSuccess(BaseActivity activity, List result, String message) {
+ if (result.size() > 0) {
+ String videoUrl = result.get(0).getUrl();
+ postDynamics(content, coverUrl, videoUrl);
+ }
+
+ }
+
+ @Override
+ public void onFailure(BaseActivity activity, String tip) {
+ progressDialog.dismiss();
+ MaleToast.showMessage(activity, tip);
+ mBt_publish.setEnabled(true);
+ }
+
+ @Override
+ public void onException(BaseActivity activity, Throwable e) {
+ progressDialog.dismiss();
+ MaleToast.showMessage(activity, "视频上传失败");
+ mBt_publish.setEnabled(true);
+ }
+ });
+ }
+
+ private void uploadImage(UploadFile[] uploadFiles, final String content) {
+ DynamicsManager.uploadImage((BaseActivity) getActivity(), uploadFiles, "dynamic",
+ new HttpUiCallBack>() {
+ @Override
+ public void onSuccess(BaseActivity activity, List result, String message) {
+ mImages = new StringBuilder();
+ Iterator iterator = result.iterator();
+ int count = 0;
+ while (iterator.hasNext()) {
+ UploadImageBean bean = iterator.next();
+ if (0 != count) {
+ mImages.append(",");
+ }
+
+ mImages.append(bean.getUrl());
+ count++;
+ }
+ if (isVideo) {
+ uploadVideo(content, mImages.toString());
+ } else {
+ postDynamics(content, mImages.toString(), null);
+ }
+ }
+
+ @Override
+ public void onFailure(BaseActivity activity, String tip) {
+ progressDialog.dismiss();
+ MaleToast.showMessage(activity, tip);
+ mBt_publish.setEnabled(true);
+ }
+
+ @Override
+ public void onException(BaseActivity activity, Throwable e) {
+ progressDialog.dismiss();
+ MaleToast.showMessage(activity, "图片上传失败");
+ mBt_publish.setEnabled(true);
+ }
+ });
+ }
+
+ private void setImageUrl(String dynamicId, String imageUrl, String videoUrl) {
+ DynamicsManager.setImageUrl((BaseActivity) getActivity(), dynamicId, imageUrl, videoUrl, new HttpUiCallBack() {
+ @Override
+ public void onSuccess(BaseActivity activity, ImageUploadBean result, String message) {
+ progressDialog.dismiss();
+ MaleToast.showMessage(activity, "动态上传成功");
+ getActivity().setResult(getActivity().RESULT_OK);
+ getActivity().finish();
+ }
+
+ @Override
+ public void onFailure(BaseActivity activity, String tip) {
+ progressDialog.dismiss();
+ MaleToast.showMessage(activity, tip);
+ mBt_publish.setEnabled(true);
+ }
+
+ @Override
+ public void onException(BaseActivity activity, Throwable e) {
+// MaleToast.showMessage(activity, "图片上传失败");
+ progressDialog.dismiss();
+ getActivity().setResult(getActivity().RESULT_OK);
+ getActivity().finish();
+ }
+ });
+ }
+
+ private void postDynamics(String content, final String images, final String videoUrl) {
+ DynamicsManager.postDynamics((BaseActivity) getActivity(), content, new HttpUiCallBack() {
+ @Override
+ public void onSuccess(BaseActivity activity, DynamicPostBean result, String message) {
+ if (null != images) {
+ setImageUrl(result.getDynamic_id(), images, videoUrl);
+ } else {
+ if (progressDialog != null) {
+ progressDialog.dismiss();
+ }
+ MaleToast.showMessage(activity, "动态上传成功");
+ getActivity().setResult(getActivity().RESULT_OK);
+ getActivity().finish();
+ }
+ }
+
+ @Override
+ public void onFailure(BaseActivity activity, String tip) {
+ if (progressDialog != null) {
+ progressDialog.dismiss();
+ }
+ MaleToast.showMessage(activity, tip);
+ mBt_publish.setEnabled(true);
+ }
+
+ @Override
+ public void onException(BaseActivity activity, Throwable e) {
+ if (progressDialog != null) {
+ progressDialog.dismiss();
+ }
+ MaleToast.showMessage(activity, "动态上传失败");
+ mBt_publish.setEnabled(true);
+ }
+ });
+ }
+
+ private final int MIN_DELAY_TIME = 8000; // 两次点击间隔不能少于10000ms
+ private long lastClickTime;
+
+ public boolean isFastClick() {
+ boolean flag = true;
+ long currentClickTime = System.currentTimeMillis();
+ if ((currentClickTime - lastClickTime) >= MIN_DELAY_TIME) {
+ flag = false;
+ }
+ lastClickTime = currentClickTime;
+ return flag;
+ }
+
+ @Override
+ public void onClick(View view) {
+ if (view == mBt_publish) {
+ String content = mEditText.getText().toString();
+ if (TextUtils.isEmpty(content)) {
+ MaleToast.showFailureMsg(getActivity(), "请输入文字内容");
+ return;
+ }
+ if (isVideo) {
+// if (videoFile == null) {
+// MaleToast.showFailureMsg(DynamicPostActivity.this, "请选择视频");
+// return;
+// }
+ if (videoFile != null) {
+ mBt_publish.setEnabled(false);
+ progressDialog = ProgressDialog.show(getActivity(), "正在发布", "请稍后...");
+ new Thread(new Runnable() {
+ @Override
+ public void run() {
+ compressAndUpload();
+ }
+ }).start();
+ return;
+ }
+ }
+// if (mSelectPath.isEmpty()) {
+// MaleToast.showFailureMsg(DynamicPostActivity.this, "请选择图片");
+// return;
+// }
+ String word = null;
+ if (!TextUtils.isEmpty(content)) {
+ word = mEditText.getText().toString();
+ }
+
+ if (!mSelectPath.isEmpty()) {
+ if (!isFastClick()) {
+ progressDialog = ProgressDialog.show(getActivity(), "正在发布", "请稍后...");
+ mBt_publish.setEnabled(false);
+ new Thread(new Runnable() {
+ @Override
+ public void run() {
+ compressAndUpload();
+
+ }
+ }).start();
+ }
+ } else {
+ if (null != word || TextUtils.isEmpty(word)) {
+ postDynamics(content, null, null);
+// MaleToast.showMessage(DynamicPostActivity.this, "请选择图片");
+ } else {
+ MaleToast.showMessage(getActivity(), "请输入内容");
+ }
+ }
+ }
+ }
+}
diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/view/dynamics/fragment/DynamicVideoTextFragment.java b/app/src/main/java/com/xuebiping/bolizhuzi/view/dynamics/fragment/DynamicVideoTextFragment.java
new file mode 100644
index 0000000..4471920
--- /dev/null
+++ b/app/src/main/java/com/xuebiping/bolizhuzi/view/dynamics/fragment/DynamicVideoTextFragment.java
@@ -0,0 +1,554 @@
+package com.xuebiping.bolizhuzi.view.dynamics.fragment;
+
+import android.app.ProgressDialog;
+import android.content.Intent;
+import android.graphics.Bitmap;
+import android.media.ThumbnailUtils;
+import android.os.Bundle;
+import android.provider.MediaStore;
+import android.text.Editable;
+import android.text.TextUtils;
+import android.text.TextWatcher;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.Button;
+import android.widget.EditText;
+import android.widget.LinearLayout;
+import android.widget.RelativeLayout;
+import android.widget.TextView;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.fragment.app.Fragment;
+
+import com.fengliyan.http.httprequest.UploadFile;
+import com.fengliyan.uikit.photopicker.MultiImageSelector;
+import com.fengliyan.uikit.toast.MaleToast;
+import com.xuebiping.bolizhuzi.R;
+import com.xuebiping.bolizhuzi.controller.constant.Constant;
+import com.xuebiping.bolizhuzi.controller.dynamics.manager.DynamicsManager;
+import com.xuebiping.bolizhuzi.im.uikit.business.session.helper.VideoMessageHelper;
+import com.xuebiping.bolizhuzi.model.dynamics.DynamicPostBean;
+import com.xuebiping.bolizhuzi.model.dynamics.ImageUploadBean;
+import com.xuebiping.bolizhuzi.model.dynamics.UploadImageBean;
+import com.xuebiping.bolizhuzi.utils.camera2.BitmapUtils;
+import com.xuebiping.bolizhuzi.view.base.BaseActivity;
+import com.xuebiping.bolizhuzi.view.base.utils.HttpUiCallBack;
+import com.xuebiping.bolizhuzi.view.base.utils.ImageUtils;
+import com.xuebiping.bolizhuzi.view.dynamics.dialog.TopicListDialog;
+import com.xuebiping.bolizhuzi.view.dynamics.utils.ImageLayout;
+
+import org.jetbrains.annotations.NotNull;
+
+import java.io.File;
+import java.net.URI;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import kotlin.Unit;
+import kotlin.jvm.functions.Function1;
+import kotlin.jvm.functions.Function2;
+
+public class DynamicVideoTextFragment extends Fragment implements View.OnClickListener{
+
+ public static final int MULTI_SELECTOR_REQUEST = 200;
+ public static final int SINGLE_SELECTOR_REQUEST = 201;
+ public static final int MAX_IMAGE_COUNT = 9;
+ private View v;
+ private LinearLayout mPhotoLine1;
+ private LinearLayout mPhotoLine2;
+ private LinearLayout mPhotoLine3;
+ private EditText mEditText;
+ private TextView mComplaintInputText;
+ private int mSingleIndex;
+ private ArrayList mSelectPath = new ArrayList<>();
+ private MultiImageSelector mSelector;
+ private StringBuilder mImages;
+ private ProgressDialog progressDialog;
+ private boolean isVideo = true;
+ private VideoMessageHelper helper;
+ private File videoFile;
+ private TextWatcher mWatcher = new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
+
+ }
+
+ @Override
+ public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
+ String length = mEditText.getText().length() + "/300字";
+ mComplaintInputText.setText(length);
+ }
+
+ @Override
+ public void afterTextChanged(Editable editable) {
+
+ }
+ };
+ private RelativeLayout rl_add_topic;
+ private TextView tv_topic_content;
+ private TopicListDialog topicListDialog;
+ private Button mBt_publish;
+
+ @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_dynamic_video_text, container, false);
+ helper = new VideoMessageHelper(getActivity(), new VideoMessageHelper.VideoMessageHelperListener() {
+ @Override
+ public void onVideoPicked(File file, String md5) {
+ videoFile = file;
+ Bitmap bitmap = ThumbnailUtils.createVideoThumbnail(file.getAbsolutePath(), MediaStore.Video.Thumbnails.FULL_SCREEN_KIND);
+ BitmapUtils.savePicNoRotate(BitmapUtils.toByteArray(bitmap), "video_cover",
+ new Function2() {
+ @Override
+ public Unit invoke(String s, String s2) {
+ bitmap.recycle();
+ getActivity().runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ List paths = new ArrayList<>();
+ paths.add(s);
+ notifyDataSetChanged(paths);
+ mSelectPath.add(s);
+ }
+ });
+ return null;
+ }
+ }, new Function1() {
+ @Override
+ public Unit invoke(String s) {
+ getActivity().runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ MaleToast.showMessage(getActivity(), "获取视频缩略图失败");
+
+ }
+ });
+ return null;
+ }
+ });
+ }
+ });
+ initView(v);
+ return v;
+ }
+
+ private void initView(View v) {
+ mPhotoLine1 = v.findViewById(R.id.dynamics_post_line_1);
+ mPhotoLine2 = v.findViewById(R.id.dynamics_post_line_2);
+ mPhotoLine3 = v.findViewById(R.id.dynamics_post_line_3);
+ mEditText = v.findViewById(R.id.edit_post);
+ rl_add_topic = v.findViewById(R.id.rl_add_topic);
+ tv_topic_content = v.findViewById(R.id.tv_topic_content);
+ mComplaintInputText = v.findViewById(R.id.edit_char_count);
+ mBt_publish = v.findViewById(R.id.bt_publish);
+
+ mSelector = MultiImageSelector.create().multi().count(MAX_IMAGE_COUNT);
+ mImages = new StringBuilder();
+ addPhotos(mSelectPath);
+ mEditText.addTextChangedListener(mWatcher);
+
+ rl_add_topic.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ //TODO 添加话题,打开话题弹窗
+ topicListDialog = new TopicListDialog(getActivity());
+ topicListDialog.show();
+ topicListDialog.setRightOnClickListener(new TopicListDialog.OnDialogRightClickListener() {
+ @Override
+ public void rightClick(String str) {
+ tv_topic_content.setText(str);
+ }
+ });
+ }
+ });
+
+ mBt_publish.setOnClickListener(this);
+ }
+
+ public void notifyDataSetChanged(List imagePath) {
+ removePhotos();
+ addPhotos(imagePath);
+ }
+
+ private void removePhotos() {
+ mPhotoLine1.removeAllViews();
+ mPhotoLine2.removeAllViews();
+ mPhotoLine3.removeAllViews();
+ }
+
+ private void addPhotos(List imagePath) {
+ Iterator i = imagePath.iterator();
+ int count = 0;
+
+ while (i.hasNext()) {
+ String path = i.next();
+ final ImageLayout image = new ImageLayout(getActivity());
+ setImage(path, image);
+ image.setPadding(6, 0, 0, 0);
+ image.setOnImageHandlingListener(new ImageLayout.OnImageHandlingListener() {
+ @Override
+ public void onImageClicked() {
+ singleReplace(image.getImageUrl());
+ }
+
+ @Override
+ public void onReadyLogoClicked() {
+ startImageSelector();
+ }
+
+ @Override
+ public void onRemoveLogoClicked() {
+ removeImage(image.getImageUrl());
+ }
+ });
+
+ if (count < 3) {
+ mPhotoLine1.addView(image);
+ } else if (count < 6) {
+ mPhotoLine2.addView(image);
+ } else if (count < 9) {
+ mPhotoLine3.addView(image);
+ }
+
+ count++;
+ }
+
+ if (isVideo) {
+ if (imagePath.size() == 0) {
+ addTail(count);
+ }
+ } else {
+ addTail(count);
+ }
+
+ }
+
+ void addTail(int count) {
+ if (count != 9) {
+ ImageLayout image = new ImageLayout(getActivity());
+ image.setPadding(6, 0, 0, 0);
+ image.setOnImageHandlingListener(new ImageLayout.OnImageHandlingListener() {
+ @Override
+ public void onImageClicked() {
+
+ }
+
+ @Override
+ public void onReadyLogoClicked() {
+ startImageSelector();
+ }
+
+ @Override
+ public void onRemoveLogoClicked() {
+
+ }
+ });
+
+// if (count == 0) {
+// image.empty();
+// }
+
+ if (count < 3) {
+ mPhotoLine1.addView(image);
+ } else if (count < 6) {
+ mPhotoLine2.addView(image);
+ } else if (count < 9) {
+ mPhotoLine3.addView(image);
+ }
+ }
+ }
+
+ @Override
+ public void onActivityResult(int requestCode, int resultCode, Intent data) {
+ super.onActivityResult(requestCode, resultCode, data);
+ if (isVideo) {
+ helper.onGetLocalVideoResult(data);
+ }
+ if (requestCode == MULTI_SELECTOR_REQUEST && resultCode == getActivity().RESULT_OK) {
+ mSelectPath.addAll(data.getStringArrayListExtra(MultiImageSelector.EXTRA_RESULT));
+ notifyDataSetChanged(mSelectPath);
+ } else if (requestCode == SINGLE_SELECTOR_REQUEST && resultCode == getActivity().RESULT_OK) {
+ mSelectPath.remove(mSingleIndex);
+ mSelectPath.add(mSingleIndex, data.
+ getStringArrayListExtra(MultiImageSelector.EXTRA_RESULT).get(0));
+
+ notifyDataSetChanged(mSelectPath);
+ }
+ }
+
+ public void removeImage(String path) {
+ path = path.replace("file:", "");
+ mSelectPath.remove(path);
+ notifyDataSetChanged(mSelectPath);
+ }
+
+ public void startImageSelector() {
+ if (isVideo) {
+ helper.chooseVideoFromLocal();
+ return;
+ }
+ mSelector.multi();
+ mSelector.count(9 - mSelectPath.size());
+ mSelector.start(this, MULTI_SELECTOR_REQUEST);
+ }
+
+ public void singleReplace(String path) {
+ if (isVideo) {
+ helper.chooseVideoFromLocal();
+ return;
+ }
+ path = path.replace("file:", "");
+ mSingleIndex = mSelectPath.indexOf(path);
+ mSelector.single();
+ mSelector.start(this, SINGLE_SELECTOR_REQUEST);
+ }
+
+ private void setImage(String path, ImageLayout image) {
+ if (path != null) {
+ File file = new File(path);
+ if (null != file) {
+ URI uri = file.toURI();
+ image.imageLoad(uri.toString());
+ }
+ }
+ }
+
+ private void compressAndUpload() {
+ Iterator i = mSelectPath.iterator();
+ final UploadFile[] uploadFiles = new UploadFile[mSelectPath.size()];
+ int count = 0;
+ while (i.hasNext()) {
+ String path = i.next();
+ path = ImageUtils.compressImage(getActivity(), path, Constant.IMAGE_MEMORY_SIZE, false);
+ File file = new File(path);
+ UploadFile uploadFile = new UploadFile("file[" + count + "]", file);
+ uploadFiles[count] = uploadFile;
+ count++;
+ }
+
+ if (null != uploadFiles) {
+ if (uploadFiles.length != 0) {
+ if (uploadFiles[0].getFile().exists()) {
+ getActivity().runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ uploadImage(uploadFiles, mEditText.getText().toString());
+ }
+ });
+ }
+ }
+ } else {
+ progressDialog.dismiss();
+ mBt_publish.setEnabled(true);
+ }
+
+ }
+
+ void uploadVideo(String content, String coverUrl) {
+ UploadFile uploadFile = new UploadFile(System.currentTimeMillis() + ".mp4", videoFile);
+ UploadFile[] files = new UploadFile[]{uploadFile};
+ DynamicsManager.uploadImage((BaseActivity) getActivity(), files, "dynamic",
+ new HttpUiCallBack>() {
+ @Override
+ public void onSuccess(BaseActivity activity, List result, String message) {
+ if (result.size() > 0) {
+ String videoUrl = result.get(0).getUrl();
+ postDynamics(content, coverUrl, videoUrl);
+ }
+
+ }
+
+ @Override
+ public void onFailure(BaseActivity activity, String tip) {
+ progressDialog.dismiss();
+ MaleToast.showMessage(activity, tip);
+ mBt_publish.setEnabled(true);
+ }
+
+ @Override
+ public void onException(BaseActivity activity, Throwable e) {
+ progressDialog.dismiss();
+ MaleToast.showMessage(activity, "视频上传失败");
+ mBt_publish.setEnabled(true);
+ }
+ });
+ }
+
+ private void uploadImage(UploadFile[] uploadFiles, final String content) {
+ DynamicsManager.uploadImage((BaseActivity) getActivity(), uploadFiles, "dynamic",
+ new HttpUiCallBack>() {
+ @Override
+ public void onSuccess(BaseActivity activity, List result, String message) {
+ mImages = new StringBuilder();
+ Iterator iterator = result.iterator();
+ int count = 0;
+ while (iterator.hasNext()) {
+ UploadImageBean bean = iterator.next();
+ if (0 != count) {
+ mImages.append(",");
+ }
+
+ mImages.append(bean.getUrl());
+ count++;
+ }
+ if (isVideo) {
+ uploadVideo(content, mImages.toString());
+ } else {
+ postDynamics(content, mImages.toString(), null);
+ }
+ }
+
+ @Override
+ public void onFailure(BaseActivity activity, String tip) {
+ progressDialog.dismiss();
+ MaleToast.showMessage(activity, tip);
+ mBt_publish.setEnabled(true);
+ }
+
+ @Override
+ public void onException(BaseActivity activity, Throwable e) {
+ progressDialog.dismiss();
+ MaleToast.showMessage(activity, "图片上传失败");
+ mBt_publish.setEnabled(true);
+ }
+ });
+ }
+
+ private void setImageUrl(String dynamicId, String imageUrl, String videoUrl) {
+ DynamicsManager.setImageUrl((BaseActivity) getActivity(), dynamicId, imageUrl, videoUrl, new HttpUiCallBack() {
+ @Override
+ public void onSuccess(BaseActivity activity, ImageUploadBean result, String message) {
+ progressDialog.dismiss();
+ MaleToast.showMessage(activity, "动态上传成功");
+ getActivity().setResult(getActivity().RESULT_OK);
+ getActivity().finish();
+ }
+
+ @Override
+ public void onFailure(BaseActivity activity, String tip) {
+ progressDialog.dismiss();
+ MaleToast.showMessage(activity, tip);
+ mBt_publish.setEnabled(true);
+ }
+
+ @Override
+ public void onException(BaseActivity activity, Throwable e) {
+// MaleToast.showMessage(activity, "图片上传失败");
+ progressDialog.dismiss();
+ getActivity().setResult(getActivity().RESULT_OK);
+ getActivity().finish();
+ }
+ });
+ }
+
+ private void postDynamics(String content, final String images, final String videoUrl) {
+ DynamicsManager.postDynamics((BaseActivity) getActivity(), content, new HttpUiCallBack() {
+ @Override
+ public void onSuccess(BaseActivity activity, DynamicPostBean result, String message) {
+ if (null != images) {
+ setImageUrl(result.getDynamic_id(), images, videoUrl);
+ } else {
+ if (progressDialog != null) {
+ progressDialog.dismiss();
+ }
+ MaleToast.showMessage(activity, "动态上传成功");
+ getActivity().setResult(getActivity().RESULT_OK);
+ getActivity().finish();
+ }
+ }
+
+ @Override
+ public void onFailure(BaseActivity activity, String tip) {
+ if (progressDialog != null) {
+ progressDialog.dismiss();
+ }
+ MaleToast.showMessage(activity, tip);
+ mBt_publish.setEnabled(true);
+ }
+
+ @Override
+ public void onException(BaseActivity activity, Throwable e) {
+ if (progressDialog != null) {
+ progressDialog.dismiss();
+ }
+ MaleToast.showMessage(activity, "动态上传失败");
+ mBt_publish.setEnabled(true);
+ }
+ });
+ }
+
+ private final int MIN_DELAY_TIME = 8000; // 两次点击间隔不能少于10000ms
+ private long lastClickTime;
+
+ public boolean isFastClick() {
+ boolean flag = true;
+ long currentClickTime = System.currentTimeMillis();
+ if ((currentClickTime - lastClickTime) >= MIN_DELAY_TIME) {
+ flag = false;
+ }
+ lastClickTime = currentClickTime;
+ return flag;
+ }
+
+ @Override
+ public void onClick(View view) {
+ if (view == mBt_publish) {
+ String content = mEditText.getText().toString();
+ if (TextUtils.isEmpty(content)) {
+ MaleToast.showFailureMsg(getActivity(), "请输入文字内容");
+ return;
+ }
+ if (isVideo) {
+// if (videoFile == null) {
+// MaleToast.showFailureMsg(DynamicPostActivity.this, "请选择视频");
+// return;
+// }
+ if (videoFile != null) {
+ mBt_publish.setEnabled(false);
+ progressDialog = ProgressDialog.show(getActivity(), "正在发布", "请稍后...");
+ new Thread(new Runnable() {
+ @Override
+ public void run() {
+ compressAndUpload();
+ }
+ }).start();
+ return;
+ }
+ }
+// if (mSelectPath.isEmpty()) {
+// MaleToast.showFailureMsg(DynamicPostActivity.this, "请选择图片");
+// return;
+// }
+ String word = null;
+ if (!TextUtils.isEmpty(content)) {
+ word = mEditText.getText().toString();
+ }
+
+ if (!mSelectPath.isEmpty()) {
+ if (!isFastClick()) {
+ progressDialog = ProgressDialog.show(getActivity(), "正在发布", "请稍后...");
+ mBt_publish.setEnabled(false);
+ new Thread(new Runnable() {
+ @Override
+ public void run() {
+ compressAndUpload();
+
+ }
+ }).start();
+ }
+ } else {
+ if (null != word || TextUtils.isEmpty(word)) {
+ postDynamics(content, null, null);
+// MaleToast.showMessage(DynamicPostActivity.this, "请选择图片");
+ } else {
+ MaleToast.showMessage(getActivity(), "请输入内容");
+ }
+ }
+ }
+ }
+}
diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/view/dynamics/fragment/DynamicViewPager2Fragment.java b/app/src/main/java/com/xuebiping/bolizhuzi/view/dynamics/fragment/DynamicViewPager2Fragment.java
index bf1a28f..6329cf6 100644
--- a/app/src/main/java/com/xuebiping/bolizhuzi/view/dynamics/fragment/DynamicViewPager2Fragment.java
+++ b/app/src/main/java/com/xuebiping/bolizhuzi/view/dynamics/fragment/DynamicViewPager2Fragment.java
@@ -10,6 +10,7 @@ import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.RelativeLayout;
+import android.widget.TextView;
import androidx.fragment.app.Fragment;
import androidx.viewpager.widget.ViewPager;
@@ -18,8 +19,13 @@ import com.fengliyan.base.base.AnyCallback;
import com.xuebiping.bolizhuzi.R;
import com.xuebiping.bolizhuzi.controller.main.adapter.MainViewPagerAdapter;
import com.xuebiping.bolizhuzi.controller.main.adapter.ScaleTransitionPagerTitleView;
+import com.xuebiping.bolizhuzi.controller.settings.manager.SettingManager;
+import com.xuebiping.bolizhuzi.model.settings.UserHomeBean;
import com.xuebiping.bolizhuzi.view.base.BaseActivity;
+import com.xuebiping.bolizhuzi.view.base.utils.HttpUiCallBack;
import com.xuebiping.bolizhuzi.view.dynamics.activity.DynamicPostActivity;
+import com.xuebiping.bolizhuzi.view.dynamics.activity.DynamicPublishActivity;
+import com.xuebiping.bolizhuzi.view.main.MainActivity;
import com.xuebiping.bolizhuzi.view.main.SearchActivity;
import net.lucode.hackware.magicindicator.MagicIndicator;
@@ -51,12 +57,15 @@ public class DynamicViewPager2Fragment extends Fragment implements View.OnClickL
private RecentDynamicFragment mRecent;
private FollowUsersDynamicFragment mFocusFragment;
private ImageView mAddFeedBtn;
+ private RelativeLayout mRl_wurao;
+ private TextView mTv_set_wurao;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragment_dynamic_view_pager2, container, false);
initView(v);
+ geDisturb();
return v;
}
@@ -73,6 +82,8 @@ public class DynamicViewPager2Fragment extends Fragment implements View.OnClickL
mDynamicViewPager = v.findViewById(R.id.dynamic_view_pager);
mRl_home_search = v.findViewById(R.id.rl_home_search);
mAddFeedBtn = v.findViewById(R.id.addFeedBtn);
+ mRl_wurao = v.findViewById(R.id.rl_wurao);
+ mTv_set_wurao = v.findViewById(R.id.tv_set_wurao);
mRecent = new RecentDynamicFragment();
mFocusFragment = new FollowUsersDynamicFragment();
@@ -110,6 +121,7 @@ public class DynamicViewPager2Fragment extends Fragment implements View.OnClickL
mAddFeedBtn.setOnClickListener(this);
mRl_home_search.setOnClickListener(this);
+ mTv_set_wurao.setOnClickListener(this);
}
private void initMagicIndicator() {
@@ -176,16 +188,19 @@ public class DynamicViewPager2Fragment extends Fragment implements View.OnClickL
}
void chooseFeedType() {
- ChooseFeedTypeDialog dialog = new ChooseFeedTypeDialog(getActivity());
- dialog.setCallback(new AnyCallback() {
- @Override
- public void callback(ChooseFeedTypeDialog.FeedType feedType) {
- Intent intent = new Intent(getActivity(), DynamicPostActivity.class);
- intent.putExtra("isVideo", feedType == ChooseFeedTypeDialog.FeedType.Video);
- getActivity().startActivityForResult(intent, REQUEST_POST);
- }
- });
- dialog.show();
+// ChooseFeedTypeDialog dialog = new ChooseFeedTypeDialog(getActivity());
+// dialog.setCallback(new AnyCallback() {
+// @Override
+// public void callback(ChooseFeedTypeDialog.FeedType feedType) {
+// Intent intent = new Intent(getActivity(), DynamicPostActivity.class);
+// intent.putExtra("isVideo", feedType == ChooseFeedTypeDialog.FeedType.Video);
+// getActivity().startActivityForResult(intent, REQUEST_POST);
+// }
+// });
+// dialog.show();
+
+ Intent intent = new Intent(getActivity(), DynamicPublishActivity.class);
+ startActivity(intent);
}
@Override
@@ -194,8 +209,50 @@ public class DynamicViewPager2Fragment extends Fragment implements View.OnClickL
if (view == mRl_home_search) {
Intent intent = new Intent(getActivity(), SearchActivity.class);
startActivity(intent);
- }else if (view == mAddFeedBtn) {
+ } else if (view == mAddFeedBtn) {
chooseFeedType();
+ } else if (view == mTv_set_wurao) {
+ if (null != getActivity()) {
+ MainActivity mainActivity = (MainActivity) getActivity();
+ if (null != mainActivity) {
+ mainActivity.setMainGOSettingFragment();
+ }
+ }
+ }
+ }
+
+ public void geDisturb() {
+ SettingManager.getHomeUser((BaseActivity) getActivity(), new HttpUiCallBack() {
+ @Override
+ public void onSuccess(BaseActivity activity, UserHomeBean result, String message) {
+ int do_not_disturb = result.getUserinfo().getDo_not_disturb();
+ if (do_not_disturb == 1) {
+ mRl_wurao.setVisibility(View.VISIBLE);
+ }else {
+ mRl_wurao.setVisibility(View.GONE);
+ }
+
+ }
+
+ @Override
+ public void onFailure(BaseActivity activity, String tip) {
+
+ }
+
+ @Override
+ public void onException(BaseActivity activity, Throwable e) {
+
+ }
+ });
+ }
+
+ public void getDisturb2(int do_not_disturb) {
+ if (null != mRl_wurao) {
+ if (do_not_disturb == 1) {
+ mRl_wurao.setVisibility(View.VISIBLE);
+ }else {
+ mRl_wurao.setVisibility(View.GONE);
+ }
}
}
}
diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/view/dynamics/fragment/FollowUsersDynamicFragment.java b/app/src/main/java/com/xuebiping/bolizhuzi/view/dynamics/fragment/FollowUsersDynamicFragment.java
index 504d154..3e09eff 100644
--- a/app/src/main/java/com/xuebiping/bolizhuzi/view/dynamics/fragment/FollowUsersDynamicFragment.java
+++ b/app/src/main/java/com/xuebiping/bolizhuzi/view/dynamics/fragment/FollowUsersDynamicFragment.java
@@ -329,9 +329,9 @@ public class FollowUsersDynamicFragment extends Fragment {
mImageList.addAll(result.getList());
- if (mImageList.size() != 0 && mImageList.size() % 10 != 0) { //显示尾布局
- mListView.onNoDataLoaded();
- }
+// if (mImageList.size() != 0 && mImageList.size() % 10 != 0) { //显示尾布局
+// mListView.onNoDataLoaded();
+// }
mAdapter.notifyDataSetChanged();
if (page == 1) {
mListView.setSelection(0);
diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/view/main/MainActivity.java b/app/src/main/java/com/xuebiping/bolizhuzi/view/main/MainActivity.java
index 2879f9d..f61e129 100644
--- a/app/src/main/java/com/xuebiping/bolizhuzi/view/main/MainActivity.java
+++ b/app/src/main/java/com/xuebiping/bolizhuzi/view/main/MainActivity.java
@@ -44,6 +44,16 @@ import com.bumptech.glide.Glide;
import com.bumptech.glide.request.target.SimpleTarget;
import com.bumptech.glide.request.transition.Transition;
import com.facebook.drawee.view.SimpleDraweeView;
+import com.fengliyan.device.DeviceManager;
+import com.fengliyan.http.httprequest.HttpCallback;
+import com.fengliyan.location.LocationManager;
+import com.fengliyan.messaging.ChatManager;
+import com.fengliyan.messaging.CustomAttachment;
+import com.fengliyan.messaging.GiftAttachment;
+import com.fengliyan.storage.StorageManager;
+import com.fengliyan.uikit.bottomtab.BottomTab;
+import com.fengliyan.uikit.dialog.BaseMessageDialog;
+import com.fengliyan.uikit.toast.MaleToast;
import com.google.gson.Gson;
import com.google.gson.internal.LinkedTreeMap;
import com.hjq.permissions.OnPermissionCallback;
@@ -51,12 +61,23 @@ import com.hjq.permissions.XXPermissions;
import com.huawei.agconnect.config.AGConnectServicesConfig;
import com.huawei.hms.aaid.HmsInstanceId;
import com.huawei.hms.common.ApiException;
-import com.fengliyan.device.DeviceManager;
-import com.fengliyan.http.httprequest.HttpCallback;
-import com.fengliyan.location.LocationManager;
-import com.fengliyan.messaging.ChatManager;
-import com.fengliyan.messaging.CustomAttachment;
-import com.fengliyan.messaging.GiftAttachment;
+import com.netease.nimlib.sdk.NIMClient;
+import com.netease.nimlib.sdk.RequestCallback;
+import com.netease.nimlib.sdk.RequestCallbackWrapper;
+import com.netease.nimlib.sdk.auth.AuthService;
+import com.netease.nimlib.sdk.msg.MsgService;
+import com.netease.nimlib.sdk.msg.MsgServiceObserve;
+import com.netease.nimlib.sdk.msg.attachment.MsgAttachment;
+import com.netease.nimlib.sdk.msg.constant.SessionTypeEnum;
+import com.netease.nimlib.sdk.msg.model.IMMessage;
+import com.netease.nimlib.sdk.msg.model.RecentContact;
+import com.netease.nimlib.sdk.uinfo.UserService;
+import com.netease.nimlib.sdk.uinfo.model.NimUserInfo;
+import com.snail.antifake.deviceid.emulator.EmuCheckUtil;
+import com.snail.antifake.jni.EmulatorDetectUtil;
+import com.umeng.socialize.UMAuthListener;
+import com.umeng.socialize.bean.SHARE_MEDIA;
+import com.xinlingwu.share.ShareManager;
import com.xuebiping.bolizhuzi.R;
import com.xuebiping.bolizhuzi.agora.utils.ToastUtil;
import com.xuebiping.bolizhuzi.controller.constant.ConsUser;
@@ -70,6 +91,7 @@ import com.xuebiping.bolizhuzi.controller.eventBus.TurntableEvent;
import com.xuebiping.bolizhuzi.controller.eventBus.UnReadCountEvent;
import com.xuebiping.bolizhuzi.controller.main.manager.GlobalManager;
import com.xuebiping.bolizhuzi.controller.main.manager.MainManager;
+import com.xuebiping.bolizhuzi.controller.settings.manager.SettingManager;
import com.xuebiping.bolizhuzi.controller.user.manager.UserManager;
import com.xuebiping.bolizhuzi.im.uikit.api.NimUIKit;
import com.xuebiping.bolizhuzi.im.uikit.business.session.activity.P2PMessageActivity;
@@ -85,9 +107,11 @@ import com.xuebiping.bolizhuzi.model.main.DialogAdBean;
import com.xuebiping.bolizhuzi.model.main.FreeVideoBean;
import com.xuebiping.bolizhuzi.model.main.GlobalConfigBean;
import com.xuebiping.bolizhuzi.model.main.IsKidModelBean;
+import com.xuebiping.bolizhuzi.model.main.MainPageAnchorBean;
import com.xuebiping.bolizhuzi.model.main.SpeedInfoBean;
import com.xuebiping.bolizhuzi.model.main.SystemVersionBean;
import com.xuebiping.bolizhuzi.model.main.VideoRequestBean;
+import com.xuebiping.bolizhuzi.model.settings.UserHomeBean;
import com.xuebiping.bolizhuzi.model.user.bean.BaseUserInfo;
import com.xuebiping.bolizhuzi.utils.CitySPUtils;
import com.xuebiping.bolizhuzi.utils.DemoHelper;
@@ -109,12 +133,12 @@ import com.xuebiping.bolizhuzi.view.base.utils.view.AttentionDialog;
import com.xuebiping.bolizhuzi.view.base.utils.view.KidDialog;
import com.xuebiping.bolizhuzi.view.base.utils.view.KidOpenDialog;
import com.xuebiping.bolizhuzi.view.dynamics.fragment.DynamicViewPager2Fragment;
-import com.xuebiping.bolizhuzi.view.dynamics.fragment.DynamicViewPagerFragment;
import com.xuebiping.bolizhuzi.view.login.LoginActivity;
import com.xuebiping.bolizhuzi.view.login.utils.LoginUtils;
import com.xuebiping.bolizhuzi.view.luck.LuckFragment;
import com.xuebiping.bolizhuzi.view.main.dialog.CustomAlertDialog;
import com.xuebiping.bolizhuzi.view.main.dialog.FreeVideoDialog;
+import com.xuebiping.bolizhuzi.view.main.dialog.OpenDisturbDialog;
import com.xuebiping.bolizhuzi.view.main.dialog.PermissionDialog;
import com.xuebiping.bolizhuzi.view.main.dialog.UpdateDialog;
import com.xuebiping.bolizhuzi.view.main.receiver.NotificationClickReceiver;
@@ -124,31 +148,9 @@ import com.xuebiping.bolizhuzi.view.news.fragment.MainMessageFragment;
import com.xuebiping.bolizhuzi.view.news.im.DemoCache;
import com.xuebiping.bolizhuzi.view.settings.BindPhoneConfirmActivity;
import com.xuebiping.bolizhuzi.view.settings.QuickRechargeActivity;
-import com.xuebiping.bolizhuzi.view.settings.SettingFragment;
import com.xuebiping.bolizhuzi.view.settings.SettingFragment2;
import com.xuebiping.bolizhuzi.view.settings.dialog.GirlAuthDialog;
import com.xuebiping.bolizhuzi.view.settings.dialog.SpeedCallDialog;
-import com.fengliyan.storage.StorageManager;
-import com.fengliyan.uikit.bottomtab.BottomTab;
-import com.fengliyan.uikit.dialog.BaseMessageDialog;
-import com.fengliyan.uikit.toast.MaleToast;
-import com.netease.nimlib.sdk.NIMClient;
-import com.netease.nimlib.sdk.RequestCallback;
-import com.netease.nimlib.sdk.RequestCallbackWrapper;
-import com.netease.nimlib.sdk.auth.AuthService;
-import com.netease.nimlib.sdk.msg.MsgService;
-import com.netease.nimlib.sdk.msg.MsgServiceObserve;
-import com.netease.nimlib.sdk.msg.attachment.MsgAttachment;
-import com.netease.nimlib.sdk.msg.constant.SessionTypeEnum;
-import com.netease.nimlib.sdk.msg.model.IMMessage;
-import com.netease.nimlib.sdk.msg.model.RecentContact;
-import com.netease.nimlib.sdk.uinfo.UserService;
-import com.netease.nimlib.sdk.uinfo.model.NimUserInfo;
-import com.snail.antifake.deviceid.emulator.EmuCheckUtil;
-import com.snail.antifake.jni.EmulatorDetectUtil;
-import com.umeng.socialize.UMAuthListener;
-import com.umeng.socialize.bean.SHARE_MEDIA;
-import com.xinlingwu.share.ShareManager;
import java.io.File;
import java.util.ArrayList;
@@ -435,7 +437,7 @@ public class MainActivity extends BaseActivity implements DemoHelper.AppIdsUpdat
queryCities();
getGlobalConfig();
activeUpdate();
- getKidModel(0);
+// getKidModel(0);
int unreadNum = NIMClient.getService(MsgService.class).getTotalUnreadCount();
//消息tab显示最近未读联系人头像
@@ -485,6 +487,8 @@ public class MainActivity extends BaseActivity implements DemoHelper.AppIdsUpdat
NIMClient.getService(MsgServiceObserve.class).observeReceiveMessage(incomingMessageObserver, true);
// freeAnchor();
+ geMainDisturb();
+
}
com.netease.nimlib.sdk.Observer> incomingMessageObserver = new com.netease.nimlib.sdk.Observer>() {
@@ -1759,6 +1763,64 @@ public class MainActivity extends BaseActivity implements DemoHelper.AppIdsUpdat
});
}
+ private OpenDisturbDialog mOpenDisturbDialog;
+
+ public void geMainDisturb() {
+ SettingManager.getHomeUser(this, new HttpUiCallBack() {
+ @Override
+ public void onSuccess(BaseActivity activity, UserHomeBean result, String message) {
+ int do_not_disturb = result.getUserinfo().getDo_not_disturb();
+ if (do_not_disturb == 1) {
+ if (mOpenDisturbDialog != null) {
+ mOpenDisturbDialog.dismiss();
+ mOpenDisturbDialog = null;
+ }
+
+ mOpenDisturbDialog = new OpenDisturbDialog(MainActivity.this, R.style.SelectiveDialog);
+ mOpenDisturbDialog.setOnFinishDisturbListener(new OpenDisturbDialog.OnFinishDisturbListener() {
+ @Override
+ public void onFinishDisturb() {
+ changeVideoStatus2();
+ }
+ });
+ mOpenDisturbDialog.show();
+
+ }
+ }
+
+ @Override
+ public void onFailure(BaseActivity activity, String tip) {
+
+ }
+
+ @Override
+ public void onException(BaseActivity activity, Throwable e) {
+
+ }
+ });
+ }
+
+ private void changeVideoStatus2() {
+ MainManager.changeVideoStatus2(this, 0, new HttpUiCallBack() {
+ @Override
+ public void onSuccess(BaseActivity activity, MainPageAnchorBean result, String message) {
+ MaleToast.showMessage(activity, "勿扰模式关闭成功");
+ mOpenDisturbDialog.dismiss();
+ getMainDisturb(0);
+ }
+
+ @Override
+ public void onFailure(BaseActivity activity, String tip) {
+ MaleToast.showMessage(activity, tip);
+ }
+
+ @Override
+ public void onException(BaseActivity activity, Throwable e) {
+ MaleToast.showMessage(activity, "请重试");
+ }
+ });
+ }
+
@Override
public void onIdsValid(String ids) {
try {
@@ -1769,6 +1831,22 @@ public class MainActivity extends BaseActivity implements DemoHelper.AppIdsUpdat
}
}
+ public void getMainDisturb(int do_not_disturb) {
+ if (null != mMainRecommendFragment) {
+ mMainRecommendFragment.getDisturb2(do_not_disturb);
+ }
+
+ if (null != mDynamicViewPagerFragment) {
+ mDynamicViewPagerFragment.getDisturb2(do_not_disturb);
+ }
+ }
+
+ public void setMainGOSettingFragment() {
+ if (null != mBottomTab) {
+ mBottomTab.change(4);
+ }
+ }
+
// 速配相关
@Override
public void onMessageListener(int code, String method, String data, String message) {
diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/view/main/MainDynamicActivity.java b/app/src/main/java/com/xuebiping/bolizhuzi/view/main/MainDynamicActivity.java
index 79d12bf..4e77b0b 100644
--- a/app/src/main/java/com/xuebiping/bolizhuzi/view/main/MainDynamicActivity.java
+++ b/app/src/main/java/com/xuebiping/bolizhuzi/view/main/MainDynamicActivity.java
@@ -6,13 +6,13 @@ import android.text.TextUtils;
import android.view.View;
import android.widget.AbsListView;
-import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
-
import com.fengliyan.uikit.dialog.BottomGiftDialog;
+import com.fengliyan.uikit.dialog.BottomSelectiveDialog;
import com.fengliyan.uikit.dialog.DialogGiftBean;
import com.fengliyan.uikit.dialog.GiftListBean;
+import com.fengliyan.uikit.refresh.LoadMoreListView;
+import com.fengliyan.uikit.toast.MaleToast;
import com.xuebiping.bolizhuzi.R;
-import com.xuebiping.bolizhuzi.controller.dynamics.adapter.DynamicsAdapter;
import com.xuebiping.bolizhuzi.controller.dynamics.adapter.DynamicsAdapter1;
import com.xuebiping.bolizhuzi.controller.dynamics.manager.DynamicsManager;
import com.xuebiping.bolizhuzi.controller.eventBus.DynamicEvent;
@@ -23,10 +23,6 @@ import com.xuebiping.bolizhuzi.model.dynamics.DynamicsListBean;
import com.xuebiping.bolizhuzi.model.main.FollowResultBean;
import com.xuebiping.bolizhuzi.view.base.BaseActivity;
import com.xuebiping.bolizhuzi.view.base.utils.HttpUiCallBack;
-import com.xuebiping.bolizhuzi.view.base.utils.view.HangUpDialog;
-import com.fengliyan.uikit.dialog.BottomSelectiveDialog;
-import com.fengliyan.uikit.refresh.LoadMoreListView;
-import com.fengliyan.uikit.toast.MaleToast;
import com.xuebiping.bolizhuzi.view.dynamics.activity.DynamicDetailActivity;
import com.xuebiping.bolizhuzi.view.settings.CaibeiRechargeActivity;
diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/view/main/MainPageFragment.java b/app/src/main/java/com/xuebiping/bolizhuzi/view/main/MainPageFragment.java
index 0e6a4f7..8de5437 100644
--- a/app/src/main/java/com/xuebiping/bolizhuzi/view/main/MainPageFragment.java
+++ b/app/src/main/java/com/xuebiping/bolizhuzi/view/main/MainPageFragment.java
@@ -40,6 +40,7 @@ import com.fengliyan.device.DeviceManager;
import com.fengliyan.messaging.ChatManager;
import com.fengliyan.messaging.EventBusGiftMessage;
import com.luck.picture.lib.utils.ToastUtils;
+import com.shuyu.gsyvideoplayer.utils.GSYVideoType;
import com.xuebiping.bolizhuzi.R;
import com.xuebiping.bolizhuzi.controller.constant.ConsUser;
import com.xuebiping.bolizhuzi.controller.constant.ConstUrl;
@@ -73,10 +74,13 @@ import com.xuebiping.bolizhuzi.view.base.utils.view.OtherGuardDialog;
import com.xuebiping.bolizhuzi.view.base.utils.view.WechatDialog;
import com.xuebiping.bolizhuzi.view.diooto.Diooto;
import com.xuebiping.bolizhuzi.view.diooto.config.DiootoConfig;
+import com.xuebiping.bolizhuzi.view.dynamics.activity.PageVideoPlay2Activity;
import com.xuebiping.bolizhuzi.view.dynamics.activity.PageVideoPlayActivity;
+import com.xuebiping.bolizhuzi.view.dynamics.activity.QYPreviewVideoActivity;
import com.xuebiping.bolizhuzi.view.main.dialog.ConfirmWXAccountDialog;
import com.xuebiping.bolizhuzi.view.main.dialog.LookWechatDialog;
import com.xuebiping.bolizhuzi.view.main.dialog.MainShareDialog;
+import com.xuebiping.bolizhuzi.view.main.ui.EmptyControlVideo;
import com.xuebiping.bolizhuzi.view.main.utils.DefaultExoConfig;
import com.xuebiping.bolizhuzi.view.news.fragment.NewFragment;
import com.xuebiping.bolizhuzi.view.settings.InfoEditActivity;
@@ -148,7 +152,7 @@ public class MainPageFragment extends Fragment implements View.OnClickListener {
private TextView copyBtn;
private ImageView tagVipImageView;
- private ImageView tagSVipImageView;
+// private ImageView tagSVipImageView;
private ImageView tagNewImageView;
private ImageView tagRealImageView;
private ImageView tagPhoneImageView;
@@ -454,7 +458,7 @@ public class MainPageFragment extends Fragment implements View.OnClickListener {
mSvGuardImages[3] = v.findViewById(R.id.personal_main_page_guard_photo_4);
tagVipImageView = v.findViewById(R.id.tagVipImageView);
- tagSVipImageView = v.findViewById(R.id.tagSVipImageView);
+// tagSVipImageView = v.findViewById(R.id.tagSVipImageView);
tagNewImageView = v.findViewById(R.id.tagNewImageView);
tagRealImageView = v.findViewById(R.id.tagRealImageView);
tagPhoneImageView = v.findViewById(R.id.tagPhoneImageView);
@@ -489,9 +493,9 @@ public class MainPageFragment extends Fragment implements View.OnClickListener {
tv_code.setText("ID:" + mMainPageBean.getInfo().getUsercode());
sv_er.setImageURI(StrU.getResourcePath(mMainPageBean.getQrcode(), getActivity()));
- iv_video_call.setImageAssetsFolder("images/");
- iv_video_call.setAnimation("video_call_btn.json");
- iv_video_call.playAnimation();
+// iv_video_call.setImageAssetsFolder("images/");
+// iv_video_call.setAnimation("video_call_btn.json");
+// iv_video_call.playAnimation();
RelativeLayout rl_comment = v.findViewById(R.id.rl_comment);
mLl_comment_title = v.findViewById(R.id.ll_comment_title);
@@ -500,6 +504,10 @@ public class MainPageFragment extends Fragment implements View.OnClickListener {
TextView tv_dislike_count = v.findViewById(R.id.tv_dislike_count);
RecyclerView rv_main_info_comment = v.findViewById(R.id.rv_main_info_comment);
+ RelativeLayout rl_level = v.findViewById(R.id.rl_level);
+ ImageView iv_level = v.findViewById(R.id.iv_level);
+ TextView tv_level = v.findViewById(R.id.tv_level);
+
mBack.setOnClickListener(this);
mFocusButton.setOnClickListener(this);
mGiftLayout.setOnClickListener(this);
@@ -509,7 +517,7 @@ public class MainPageFragment extends Fragment implements View.OnClickListener {
mOtherPhoto.setOnClickListener(this);
mGuardLayout.setOnClickListener(this);
view_end.setOnClickListener(this);
- iv_video_call.setOnClickListener(this);
+// iv_video_call.setOnClickListener(this);
personal_player.setOnClickListener(this);
cv_video.setOnClickListener(this);
mIv_look_wechat.setOnClickListener(this);
@@ -519,6 +527,50 @@ public class MainPageFragment extends Fragment implements View.OnClickListener {
mLl_real_person_auto.setOnClickListener(this);
mLl_comment_title.setOnClickListener(this);
+ int level = mMainPageBean.getInfo().getLevel();
+ tv_level.setText(level + "");
+ if (mMainPageBean.getInfo().getGender() == 1) {
+ if (level > 0 && level <= 15) {
+ rl_level.setBackgroundResource(R.mipmap.ic_modle_bg1);
+ iv_level.setImageResource(R.mipmap.ic_modle_1);
+ } else if (level > 15 && level <= 30) {
+ rl_level.setBackgroundResource(R.mipmap.ic_modle_bg2);
+ iv_level.setImageResource(R.mipmap.ic_modle_2);
+ } else if (level > 30 && level <= 45) {
+ rl_level.setBackgroundResource(R.mipmap.ic_modle_bg3);
+ iv_level.setImageResource(R.mipmap.ic_modle_3);
+ } else if (level > 45 && level <= 60) {
+ rl_level.setBackgroundResource(R.mipmap.ic_modle_bg4);
+ iv_level.setImageResource(R.mipmap.ic_modle_4);
+ } else if (level > 60 && level <= 75) {
+ rl_level.setBackgroundResource(R.mipmap.ic_modle_bg5);
+ iv_level.setImageResource(R.mipmap.ic_modle_5);
+ } else {
+ rl_level.setBackgroundResource(R.mipmap.ic_modle_bg6);
+ iv_level.setImageResource(R.mipmap.ic_modle_6);
+ }
+ }else {
+ if (level > 0 && level <= 15) {
+ rl_level.setBackgroundResource(R.mipmap.ic_use_bg1);
+ iv_level.setImageResource(R.mipmap.ic_use_1);
+ } else if (level > 15 && level <= 30) {
+ rl_level.setBackgroundResource(R.mipmap.ic_use_bg2);
+ iv_level.setImageResource(R.mipmap.ic_use_2);
+ } else if (level > 30 && level <= 45) {
+ rl_level.setBackgroundResource(R.mipmap.ic_use_bg3);
+ iv_level.setImageResource(R.mipmap.ic_use_3);
+ } else if (level > 45 && level <= 60) {
+ rl_level.setBackgroundResource(R.mipmap.ic_use_bg4);
+ iv_level.setImageResource(R.mipmap.ic_use_4);
+ } else if (level > 60 && level <= 75) {
+ rl_level.setBackgroundResource(R.mipmap.ic_use_bg5);
+ iv_level.setImageResource(R.mipmap.ic_use_5);
+ } else {
+ rl_level.setBackgroundResource(R.mipmap.ic_use_bg6);
+ iv_level.setImageResource(R.mipmap.ic_use_6);
+ }
+ }
+
if (mMainPageBean.getComment() == null) {
rl_comment.setVisibility(View.GONE);
}else {
@@ -555,7 +607,7 @@ public class MainPageFragment extends Fragment implements View.OnClickListener {
if (player.getAudioComponent() != null) {
player.getAudioComponent().setVolume(0);
}
- player.setRepeatMode(Player.REPEAT_MODE_OFF);
+ player.setRepeatMode(Player.REPEAT_MODE_ONE);
personal_player.setPlayer(player);
player.setMediaSource(new DefaultExoConfig(getActivity()).createMediaSource(Uri.parse(StrU.getResourcePath(videoUrl, getActivity()))));
player.prepare();
@@ -566,8 +618,8 @@ public class MainPageFragment extends Fragment implements View.OnClickListener {
public void onPlaybackStateChanged(int state) {
Player.EventListener.super.onPlaybackStateChanged(state);
if (state == Player.STATE_ENDED) {
- view_end.setVisibility(View.VISIBLE);
- iv_video_call.setVisibility(View.VISIBLE);
+// view_end.setVisibility(View.VISIBLE);
+// iv_video_call.setVisibility(View.VISIBLE);
}
}
});
@@ -575,11 +627,16 @@ public class MainPageFragment extends Fragment implements View.OnClickListener {
//男用户不显示真人
- if (0 == mMainPageBean.getInfo().getVip()) {
+// if (0 == mMainPageBean.getInfo().getVip()) {
+// tagVipImageView.setVisibility(View.VISIBLE);
+// } else if (1 == mMainPageBean.getInfo().getVip()) {
+// tagSVipImageView.setVisibility(View.VISIBLE);
+// }
+
+ if (mMainPageBean.getInfo().getVip() == 0 || mMainPageBean.getInfo().getVip() == 1) {
tagVipImageView.setVisibility(View.VISIBLE);
- } else if (1 == mMainPageBean.getInfo().getVip()) {
- tagSVipImageView.setVisibility(View.VISIBLE);
}
+
if (mMainPageBean.getInfo().getGender() == 1) {
tagRealImageView.setVisibility(View.VISIBLE);
}
@@ -1220,13 +1277,22 @@ public class MainPageFragment extends Fragment implements View.OnClickListener {
} else if (view == iv_video_call || view == view_end) {
getCallInfo(0);
} else if (view == personal_player || view == cv_video) {
- Intent intent = new Intent(getActivity(), PageVideoPlayActivity.class);
- intent.putExtra("userId", mMainPageBean.getInfo().getUserId());
+// Intent intent = new Intent(getActivity(), PageVideoPlayActivity.class);
+// intent.putExtra("userId", mMainPageBean.getInfo().getUserId());
+// intent.putExtra("videoUrl", mMainPageBean.getVideo_url());
+// intent.putExtra("age", mMainPageBean.getInfo().getAge());
+// intent.putExtra("nickname", mMainPageBean.getInfo().getNickname());
+// intent.putExtra("avatar_url", mMainPageBean.getInfo().getAvatar());
+// intent.putExtra("is_follow", mMainPageBean.getInfo().getIs_follow());
+// startActivity(intent);
+
+// Intent intent = new Intent(getActivity(), QYPreviewVideoActivity.class);
+// intent.putExtra("videoUrl", StrU.getResourcePath(mMainPageBean.getVideo_url(), getActivity()));
+// startActivity(intent);
+
+ Intent intent = new Intent(getActivity(), PageVideoPlay2Activity.class);
intent.putExtra("videoUrl", mMainPageBean.getVideo_url());
- intent.putExtra("age", mMainPageBean.getInfo().getAge());
- intent.putExtra("nickname", mMainPageBean.getInfo().getNickname());
- intent.putExtra("avatar_url", mMainPageBean.getInfo().getAvatar());
- intent.putExtra("is_follow", mMainPageBean.getInfo().getIs_follow());
+// intent.putExtra("videoUrl", "http://www.w3school.com.cn/i/movie.mp4");
startActivity(intent);
} else if (view == mIv_look_wechat) {
if (mMainPageBean.getInfo().getHas_wechat() == 1) {
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 147b1d3..2b6e6ca 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
@@ -16,19 +16,33 @@ import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
+import androidx.core.content.ContextCompat;
import androidx.fragment.app.Fragment;
import androidx.viewpager.widget.ViewPager;
+import com.blankj.utilcode.util.GsonUtils;
+import com.fengliyan.http.httprequest.HttpCallback;
import com.fengliyan.uikit.UiUtils;
import com.fengliyan.uikit.toast.MaleToast;
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.RegisterInfoEvent;
import com.xuebiping.bolizhuzi.controller.main.adapter.MainViewPagerAdapter;
import com.xuebiping.bolizhuzi.controller.main.adapter.ScaleTransitionPagerTitleView;
+import com.xuebiping.bolizhuzi.controller.main.manager.MainManager;
+import com.xuebiping.bolizhuzi.controller.settings.adapter.constant.SettingOptions;
+import com.xuebiping.bolizhuzi.controller.settings.manager.SettingManager;
import com.xuebiping.bolizhuzi.controller.user.manager.UserManager;
import com.xuebiping.bolizhuzi.im.uikit.common.ToastHelper;
+import com.xuebiping.bolizhuzi.model.settings.UserFrameBean;
+import com.xuebiping.bolizhuzi.model.settings.UserHomeBean;
import com.xuebiping.bolizhuzi.utils.NoClearSPUtils;
+import com.xuebiping.bolizhuzi.utils.SPUtils;
+import com.xuebiping.bolizhuzi.utils.StrU;
import com.xuebiping.bolizhuzi.view.base.BaseActivity;
+import com.xuebiping.bolizhuzi.view.base.utils.HttpUiCallBack;
import com.xuebiping.bolizhuzi.view.main.dialog.ShaiXuanDialog;
import net.lucode.hackware.magicindicator.MagicIndicator;
@@ -42,9 +56,12 @@ import net.lucode.hackware.magicindicator.buildins.commonnavigator.indicators.Li
import net.lucode.hackware.magicindicator.buildins.commonnavigator.titles.CommonPagerTitleView;
import net.lucode.hackware.magicindicator.buildins.commonnavigator.titles.SimplePagerTitleView;
+import java.io.File;
import java.util.ArrayList;
import java.util.List;
+import de.greenrobot.event.EventBus;
+
public class MainRecommend2Fragment extends Fragment implements View.OnClickListener {
private View v;
@@ -66,12 +83,15 @@ public class MainRecommend2Fragment extends Fragment implements View.OnClickList
private MainFiveStarFragment mFiveStarFragment;
private MainFourStarFragment mFourStarFragment;
private MainThreeStarFragment mThreeStarFragment;
+ private RelativeLayout mRl_wurao;
+ private TextView mTv_set_wurao;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
v = inflater.inflate(R.layout.fragment_main_recommend2, container, false);
initView(v);
+ geDisturb();
return v;
}
@@ -89,10 +109,13 @@ public class MainRecommend2Fragment extends Fragment implements View.OnClickList
mRl_home_change = v.findViewById(R.id.rl_home_change);
mMagicIndicator = v.findViewById(R.id.magic_indicator);
mMainViewPager = v.findViewById(R.id.main_view_pager);
+ mRl_wurao = v.findViewById(R.id.rl_wurao);
+ mTv_set_wurao = v.findViewById(R.id.tv_set_wurao);
mLl_select.setOnClickListener(this);
mRl_home_search.setOnClickListener(this);
mRl_home_change.setOnClickListener(this);
+ mTv_set_wurao.setOnClickListener(this);
mLookMeFragment = new LookMeFragment();
mRecommendFragment = new RecommendFragment2();
@@ -283,7 +306,7 @@ public class MainRecommend2Fragment extends Fragment implements View.OnClickList
if (view == mRl_home_search) {
Intent intent = new Intent(getActivity(), SearchActivity.class);
startActivity(intent);
- }else if (view == mLl_select) {
+ } else if (view == mLl_select) {
ShaiXuanDialog shaiXuanDialog = new ShaiXuanDialog(getActivity());
shaiXuanDialog.show();
@@ -293,11 +316,53 @@ public class MainRecommend2Fragment extends Fragment implements View.OnClickList
NoClearSPUtils.saveInt(getActivity(), UserManager.getUserInfo().getUser_id() + Constant.FRIEND_SELECT, isSelect);
}
});
- }else if (view == mRl_home_change) {
+ } else if (view == mRl_home_change) {
if (mRecommendFragment != null && mVoiceFragment != null) {
mRecommendFragment.layoutChange();
mVoiceFragment.layoutChange();
}
+ } else if (view == mTv_set_wurao) {
+ if (null != getActivity()) {
+ MainActivity mainActivity = (MainActivity) getActivity();
+ if (null != mainActivity) {
+ mainActivity.setMainGOSettingFragment();
+ }
+ }
+ }
+ }
+
+ public void geDisturb() {
+ SettingManager.getHomeUser((BaseActivity) getActivity(), new HttpUiCallBack() {
+ @Override
+ public void onSuccess(BaseActivity activity, UserHomeBean result, String message) {
+ int do_not_disturb = result.getUserinfo().getDo_not_disturb();
+ if (do_not_disturb == 1) {
+ mRl_wurao.setVisibility(View.VISIBLE);
+ }else {
+ mRl_wurao.setVisibility(View.GONE);
+ }
+
+ }
+
+ @Override
+ public void onFailure(BaseActivity activity, String tip) {
+
+ }
+
+ @Override
+ public void onException(BaseActivity activity, Throwable e) {
+
+ }
+ });
+ }
+
+ public void getDisturb2(int do_not_disturb) {
+ if (null != mRl_wurao) {
+ if (do_not_disturb == 1) {
+ mRl_wurao.setVisibility(View.VISIBLE);
+ }else {
+ mRl_wurao.setVisibility(View.GONE);
+ }
}
}
}
diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/view/main/dialog/OpenDisturbDialog.java b/app/src/main/java/com/xuebiping/bolizhuzi/view/main/dialog/OpenDisturbDialog.java
new file mode 100644
index 0000000..a778051
--- /dev/null
+++ b/app/src/main/java/com/xuebiping/bolizhuzi/view/main/dialog/OpenDisturbDialog.java
@@ -0,0 +1,85 @@
+package com.xuebiping.bolizhuzi.view.main.dialog;
+
+import android.app.Dialog;
+import android.content.Context;
+import android.os.Bundle;
+import android.view.Gravity;
+import android.view.View;
+import android.view.Window;
+import android.view.WindowManager;
+import android.widget.Button;
+import android.widget.RelativeLayout;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+
+import com.xuebiping.bolizhuzi.R;
+
+public class OpenDisturbDialog extends Dialog implements View.OnClickListener {
+
+ private Context mContext;
+ private RelativeLayout mRl_close;
+ private Button mBt_finish_disturb;
+
+ public OpenDisturbDialog(@NonNull Context context) {
+ super(context);
+ mContext = context;
+ }
+
+ public OpenDisturbDialog(@NonNull Context context, int themeResId) {
+ super(context, themeResId);
+ mContext = context;
+ }
+
+ protected OpenDisturbDialog(@NonNull Context context, boolean cancelable, @Nullable OnCancelListener cancelListener) {
+ super(context, cancelable, cancelListener);
+ mContext = context;
+ }
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+
+ setContentView(R.layout.dialog_open_disturb);
+
+ Window window = this.getWindow();
+ window.setGravity(Gravity.CENTER);
+ WindowManager.LayoutParams params = window.getAttributes();
+ params.width = WindowManager.LayoutParams.MATCH_PARENT;
+ params.height = WindowManager.LayoutParams.WRAP_CONTENT;
+// window.setWindowAnimations(R.style.share_animation);
+ window.setAttributes(params);
+
+ initView();
+ }
+
+ private void initView() {
+ mRl_close = findViewById(R.id.rl_close);
+ mBt_finish_disturb = findViewById(R.id.bt_finish_disturb);
+
+ mRl_close.setOnClickListener(this);
+ mBt_finish_disturb.setOnClickListener(this);
+
+ }
+
+ @Override
+ public void onClick(View view) {
+ if (view == mRl_close) {
+ dismiss();
+ } else if (view == mBt_finish_disturb) {
+ if (null != mOnFinishDisturbListener) {
+ mOnFinishDisturbListener.onFinishDisturb();
+ }
+ }
+ }
+
+ private OnFinishDisturbListener mOnFinishDisturbListener;
+
+ public interface OnFinishDisturbListener {
+ void onFinishDisturb();
+ }
+
+ public void setOnFinishDisturbListener(OnFinishDisturbListener onFinishDisturbListener) {
+ mOnFinishDisturbListener = onFinishDisturbListener;
+ }
+}
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 5f7afbd..6c8ea1d 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
@@ -88,7 +88,7 @@ public class ShaiXuanDialog extends Dialog implements View.OnClickListener {
ll_nm_video_call = findViewById(R.id.ll_nm_video_call);
- findViewById(R.id.iv_close).setOnClickListener(new View.OnClickListener() {
+ findViewById(R.id.rl_close).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dismiss();
diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/view/main/ui/EmptyControlVideo.java b/app/src/main/java/com/xuebiping/bolizhuzi/view/main/ui/EmptyControlVideo.java
index c361437..5cf1599 100644
--- a/app/src/main/java/com/xuebiping/bolizhuzi/view/main/ui/EmptyControlVideo.java
+++ b/app/src/main/java/com/xuebiping/bolizhuzi/view/main/ui/EmptyControlVideo.java
@@ -2,13 +2,15 @@ package com.xuebiping.bolizhuzi.view.main.ui;
import android.content.Context;
import android.util.AttributeSet;
+import android.util.Log;
import android.view.MotionEvent;
-import com.xuebiping.bolizhuzi.R;
import com.shuyu.gsyvideoplayer.video.StandardGSYVideoPlayer;
+import com.xuebiping.bolizhuzi.R;
public class EmptyControlVideo extends StandardGSYVideoPlayer {
+
public EmptyControlVideo(Context context, Boolean fullFlag) {
super(context, fullFlag);
}
@@ -37,6 +39,7 @@ public class EmptyControlVideo extends StandardGSYVideoPlayer {
//不给触摸亮度,如果需要,屏蔽下方代码即可
mBrightness = false;
+
}
@Override
@@ -44,4 +47,10 @@ public class EmptyControlVideo extends StandardGSYVideoPlayer {
//super.touchDoubleUp();
//不需要双击暂停
}
+
+// @Override
+// public void onPrepared() {
+// super.onPrepared();
+// getGSYVideoManager().getPlayer().setNeedMute(true);
+// }
}
diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/InvitationActivity.java b/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/InvitationActivity.java
index 1885d2e..7efc745 100644
--- a/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/InvitationActivity.java
+++ b/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/InvitationActivity.java
@@ -6,6 +6,7 @@ import android.content.ClipboardManager;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
+import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -51,8 +52,15 @@ public class InvitationActivity extends BaseActivity implements
super.onCreate(onSavedInstance);
binding = ActivityInvitationBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot());
- setDefaultTitle();
- setTitleName("邀请好友");
+// setDefaultTitle();
+// setTitleName("邀请好友");
+ setRightCustomTextTitle("邀请好友", "邀请明细", new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ Intent intent = new Intent(InvitationActivity.this, InviteListActivity.class);
+ startActivity(intent);
+ }
+ });
// View lin = binding.holderView;
// ImageView bgImageView = findViewById(R.id.bgImageView);
// lin.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@@ -101,7 +109,7 @@ public class InvitationActivity extends BaseActivity implements
startActivity(intent);
}
});
- binding.shareLinkBtn.setOnClickListener(new View.OnClickListener() {
+ binding.shareLinkBtn2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mShareDialog.show();
@@ -118,7 +126,7 @@ public class InvitationActivity extends BaseActivity implements
binding.tvManTip.setVisibility(View.GONE);
binding.menTip1.setVisibility(View.GONE);
}
- binding.sharePosterBtn.setOnClickListener(new View.OnClickListener() {
+ binding.sharePosterBtn2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showPoster();
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 345cf8e..8ef0a5e 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
@@ -13,6 +13,7 @@ import android.view.ViewGroup;
import android.widget.CompoundButton;
import android.widget.ImageView;
import android.widget.LinearLayout;
+import android.widget.ProgressBar;
import android.widget.RelativeLayout;
import android.widget.Switch;
import android.widget.TextView;
@@ -57,6 +58,7 @@ import com.xuebiping.bolizhuzi.view.base.BaseActivity;
import com.xuebiping.bolizhuzi.view.base.BaseApplication;
import com.xuebiping.bolizhuzi.view.base.BaseWebViewActivity;
import com.xuebiping.bolizhuzi.view.base.utils.HttpUiCallBack;
+import com.xuebiping.bolizhuzi.view.main.MainActivity;
import com.xuebiping.bolizhuzi.view.main.MainPageActivity;
import com.xuebiping.bolizhuzi.view.main.dialog.ShaiXuanDialog;
import com.xuebiping.bolizhuzi.view.rank.ZhiRankActivity;
@@ -131,6 +133,11 @@ public class SettingFragment2 extends Fragment implements View.OnClickListener {
private String mUsercode;
private TextView mTv_go_open;
private int mDo_not_disturb;
+ private ProgressBar mPb_intimacy;
+ private TextView mTv_jy_level;
+ private RelativeLayout rl_level;
+ private ImageView iv_level;
+ private TextView tv_level;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
@@ -201,6 +208,13 @@ public class SettingFragment2 extends Fragment implements View.OnClickListener {
ll_mine_video_chat = v.findViewById(R.id.ll_mine_video_chat);
mTv_go_open = v.findViewById(R.id.tv_go_open);
+ rl_level = v.findViewById(R.id.rl_level);
+ iv_level = v.findViewById(R.id.iv_level);
+ tv_level = v.findViewById(R.id.tv_level);
+
+ mPb_intimacy = v.findViewById(R.id.pb_intimacy);
+ mTv_jy_level = v.findViewById(R.id.tv_jy_level);
+
rl_user_info.setOnClickListener(this);
ll_go_edit_layout.setOnClickListener(this);
tv_go_homepage.setOnClickListener(this);
@@ -264,6 +278,55 @@ public class SettingFragment2 extends Fragment implements View.OnClickListener {
tv_age.setText(result.getUserinfo().getAge() + "");
mUsercode = result.getUserinfo().getUsercode();
tv_qingyu_id.setText("ID:" + mUsercode);
+
+ int level = result.getUserinfo().getLevel();
+
+ tv_level.setText(level + "");
+ if (result.getUserinfo().getGender() == 1) {
+ if (level > 0 && level <= 15) {
+ rl_level.setBackgroundResource(R.mipmap.ic_modle_bg1);
+ iv_level.setImageResource(R.mipmap.ic_modle_1);
+ } else if (level > 15 && level <= 30) {
+ rl_level.setBackgroundResource(R.mipmap.ic_modle_bg2);
+ iv_level.setImageResource(R.mipmap.ic_modle_2);
+ } else if (level > 30 && level <= 45) {
+ rl_level.setBackgroundResource(R.mipmap.ic_modle_bg3);
+ iv_level.setImageResource(R.mipmap.ic_modle_3);
+ } else if (level > 45 && level <= 60) {
+ rl_level.setBackgroundResource(R.mipmap.ic_modle_bg4);
+ iv_level.setImageResource(R.mipmap.ic_modle_4);
+ } else if (level > 60 && level <= 75) {
+ rl_level.setBackgroundResource(R.mipmap.ic_modle_bg5);
+ iv_level.setImageResource(R.mipmap.ic_modle_5);
+ } else {
+ rl_level.setBackgroundResource(R.mipmap.ic_modle_bg6);
+ iv_level.setImageResource(R.mipmap.ic_modle_6);
+ }
+ }else {
+ if (level > 0 && level <= 15) {
+ rl_level.setBackgroundResource(R.mipmap.ic_use_bg1);
+ iv_level.setImageResource(R.mipmap.ic_use_1);
+ } else if (level > 15 && level <= 30) {
+ rl_level.setBackgroundResource(R.mipmap.ic_use_bg2);
+ iv_level.setImageResource(R.mipmap.ic_use_2);
+ } else if (level > 30 && level <= 45) {
+ rl_level.setBackgroundResource(R.mipmap.ic_use_bg3);
+ iv_level.setImageResource(R.mipmap.ic_use_3);
+ } else if (level > 45 && level <= 60) {
+ rl_level.setBackgroundResource(R.mipmap.ic_use_bg4);
+ iv_level.setImageResource(R.mipmap.ic_use_4);
+ } else if (level > 60 && level <= 75) {
+ rl_level.setBackgroundResource(R.mipmap.ic_use_bg5);
+ iv_level.setImageResource(R.mipmap.ic_use_5);
+ } else {
+ rl_level.setBackgroundResource(R.mipmap.ic_use_bg6);
+ iv_level.setImageResource(R.mipmap.ic_use_6);
+ }
+ }
+
+ mPb_intimacy.setProgress(result.getUserinfo().getLevel_percent());
+ mTv_jy_level.setText("距下一级还差" + result.getUserinfo().getNext_level_diff_wealth_value() + "财富值");
+
//1=超级会员 0=普通会员 2=没有会员
if (0 == result.getUserinfo().getVip()) {
isVip = true;
@@ -329,7 +392,11 @@ public class SettingFragment2 extends Fragment implements View.OnClickListener {
mOptions1.add(SettingOptions.WALLET);
mOptions1.add(SettingOptions.TASK);
mOptions1.add(SettingOptions.MYMYINTIMACY);
- mOptions1.add(SettingOptions.UPAUTH);
+
+ if (result.getUserinfo().getGender() == 1) {
+ mOptions1.add(SettingOptions.UPAUTH);
+ }
+
mOptions1.add(SettingOptions.CUSTOMER);
mOptions1.add(SettingOptions.BEAUTY);
mOptions1.add(SettingOptions.SETTING);
@@ -444,6 +511,15 @@ public class SettingFragment2 extends Fragment implements View.OnClickListener {
public void onSuccess(BaseActivity activity, MainPageAnchorBean result, String message) {
mDo_not_disturb = result.getDo_not_disturb();
+ if (null != getActivity()) {
+ MainActivity mainActivity = (MainActivity) getActivity();
+
+ if (null != mainActivity) {
+ mainActivity.getMainDisturb(mDo_not_disturb);
+ }
+ }
+
+
if (mDo_not_disturb == 1) { //已开启勿扰模式
MaleToast.showMessage(activity, "勿扰模式开启成功");
}else {
diff --git a/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/UpPrivilegeActivity.java b/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/UpPrivilegeActivity.java
index 6668989..000918f 100644
--- a/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/UpPrivilegeActivity.java
+++ b/app/src/main/java/com/xuebiping/bolizhuzi/view/settings/UpPrivilegeActivity.java
@@ -34,6 +34,7 @@ import com.bigkoo.pickerview.view.TimePickerView;
import com.facebook.drawee.view.SimpleDraweeView;
import com.fengliyan.http.httprequest.UploadFile;
import com.fengliyan.uikit.photopicker.MultiImageSelector;
+import com.fengliyan.uikit.title.Title;
import com.fengliyan.uikit.toast.MaleToast;
import com.google.gson.Gson;
import com.hjq.permissions.OnPermissionCallback;
@@ -95,6 +96,7 @@ public class UpPrivilegeActivity extends BaseActivity implements View.OnClickLis
private RelativeLayout rl_tiz_layout;
private RelativeLayout rl_xz_layout;
private RelativeLayout rl_city_layout;
+ private TextView mRight;
private PermissionDialog permissionDialog;
private TimePickerView mAgePicker;
@@ -169,18 +171,38 @@ public class UpPrivilegeActivity extends BaseActivity implements View.OnClickLis
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_up_privilege);
- setRightCustomTextTitle("UP主认证", "准则", new View.OnClickListener() {
- @Override
- public void onClick(View view) {
+// setRightCustomTextTitle("UP主认证", "准则", new View.OnClickListener() {
+// @Override
+// public void onClick(View view) {
+//
+// }
+// });
- }
- });
+ initTitle();
mManager = new UserAvatarManager(this);
initView();
}
+ private void initTitle() {
+ setTitleName("UP主认证");
+ Title title = getCustomTitle();
+ mRight = (TextView) title.findViewById(R.id.right_text);
+ mRight.setText("准则");
+ mRight.setTextColor(getResources().getColor(R.color.mainColor));
+ mRight.setVisibility(View.VISIBLE);
+ mRight.setTextSize(17);
+ mRight.setEnabled(true);
+ mRight.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ MaleToast.showMessage(UpPrivilegeActivity.this, "开发中");
+ }
+ });
+
+ }
+
private void initView() {
rl_avatar_layout = findViewById(R.id.rl_avatar_layout);
sd_avatar = findViewById(R.id.sd_avatar);
diff --git a/app/src/main/res/drawable/progressbar_level.xml b/app/src/main/res/drawable/progressbar_level.xml
new file mode 100644
index 0000000..c8697c3
--- /dev/null
+++ b/app/src/main/res/drawable/progressbar_level.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+ -
+
+
+ -
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/shape_20999999_r45_bg.xml b/app/src/main/res/drawable/shape_20999999_r45_bg.xml
new file mode 100644
index 0000000..1a42cf4
--- /dev/null
+++ b/app/src/main/res/drawable/shape_20999999_r45_bg.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
diff --git a/app/src/main/res/drawable/shape_efecec_r14_bg.xml b/app/src/main/res/drawable/shape_efecec_r14_bg.xml
new file mode 100644
index 0000000..cbc3bf1
--- /dev/null
+++ b/app/src/main/res/drawable/shape_efecec_r14_bg.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
diff --git a/app/src/main/res/drawable/shape_f9fafc_r4_bg.xml b/app/src/main/res/drawable/shape_f9fafc_r4_bg.xml
new file mode 100644
index 0000000..9d081c5
--- /dev/null
+++ b/app/src/main/res/drawable/shape_f9fafc_r4_bg.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/shape_level_1_20_bg.xml b/app/src/main/res/drawable/shape_level_1_20_bg.xml
index 7a81dcd..6c1c004 100644
--- a/app/src/main/res/drawable/shape_level_1_20_bg.xml
+++ b/app/src/main/res/drawable/shape_level_1_20_bg.xml
@@ -2,9 +2,13 @@
+
+
+
+
+ android:startColor="#65DAEC"
+ android:endColor="#6FF0B7"/>
diff --git a/app/src/main/res/drawable/shape_wurao_bg.xml b/app/src/main/res/drawable/shape_wurao_bg.xml
new file mode 100644
index 0000000..9f7d67b
--- /dev/null
+++ b/app/src/main/res/drawable/shape_wurao_bg.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
\ 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 f9a69c9..a5e4d81 100644
--- a/app/src/main/res/layout/activity_bind_phone.xml
+++ b/app/src/main/res/layout/activity_bind_phone.xml
@@ -142,6 +142,7 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_invitation.xml b/app/src/main/res/layout/activity_invitation.xml
index 941b220..e6e8d55 100644
--- a/app/src/main/res/layout/activity_invitation.xml
+++ b/app/src/main/res/layout/activity_invitation.xml
@@ -139,7 +139,7 @@
android:layout_below="@+id/tv_tip"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
- android:visibility="visible"
+ android:visibility="gone"
android:layout_marginTop="@dimen/dp10"
android:background="@drawable/bg_invite"
android:orientation="vertical"
@@ -640,6 +640,7 @@
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/activity_page_video_play2.xml b/app/src/main/res/layout/activity_page_video_play2.xml
new file mode 100644
index 0000000..49f440b
--- /dev/null
+++ b/app/src/main/res/layout/activity_page_video_play2.xml
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_preview_dynamicvideo.xml b/app/src/main/res/layout/activity_preview_dynamicvideo.xml
index 45164e7..e9e5754 100644
--- a/app/src/main/res/layout/activity_preview_dynamicvideo.xml
+++ b/app/src/main/res/layout/activity_preview_dynamicvideo.xml
@@ -1,8 +1,10 @@
-
+ android:paddingTop="44dp"
+ android:paddingBottom="44dp">
@@ -200,6 +202,7 @@
android:background="@color/colorDevider" />
diff --git a/app/src/main/res/layout/activity_video_finish2.xml b/app/src/main/res/layout/activity_video_finish2.xml
index 4714585..5438b9f 100644
--- a/app/src/main/res/layout/activity_video_finish2.xml
+++ b/app/src/main/res/layout/activity_video_finish2.xml
@@ -15,7 +15,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="24dp"
- android:layout_marginTop="28dp"
+ android:layout_marginTop="40dp"
android:layout_marginRight="24dp"
android:background="@drawable/shape_white_bg_r14"
android:orientation="vertical">
@@ -23,7 +23,7 @@
+ android:layout_width="160dp"
+ android:layout_height="80dp">
+ android:src="@mipmap/ic_xintiao" />
\ No newline at end of file
diff --git a/app/src/main/res/layout/dialog_open_disturb.xml b/app/src/main/res/layout/dialog_open_disturb.xml
new file mode 100644
index 0000000..e13563f
--- /dev/null
+++ b/app/src/main/res/layout/dialog_open_disturb.xml
@@ -0,0 +1,69 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_dynamic_image_text.xml b/app/src/main/res/layout/fragment_dynamic_image_text.xml
new file mode 100644
index 0000000..4718722
--- /dev/null
+++ b/app/src/main/res/layout/fragment_dynamic_image_text.xml
@@ -0,0 +1,136 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_dynamic_video_text.xml b/app/src/main/res/layout/fragment_dynamic_video_text.xml
new file mode 100644
index 0000000..289b6c7
--- /dev/null
+++ b/app/src/main/res/layout/fragment_dynamic_video_text.xml
@@ -0,0 +1,136 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_dynamic_view_pager2.xml b/app/src/main/res/layout/fragment_dynamic_view_pager2.xml
index d4bac68..506331e 100644
--- a/app/src/main/res/layout/fragment_dynamic_view_pager2.xml
+++ b/app/src/main/res/layout/fragment_dynamic_view_pager2.xml
@@ -6,31 +6,73 @@
android:layout_marginBottom="50dp">
+ android:layout_height="wrap_content"
+ android:layout_marginTop="24dp"
+ android:orientation="vertical">
-
+
+
+
+
+
+
+
+
+
+
+ android:visibility="gone"
+ android:id="@+id/rl_wurao"
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/dp40"
+ android:layout_marginLeft="8dp"
+ android:layout_marginRight="8dp"
+ android:background="@drawable/shape_wurao_bg">
-
-
+ android:layout_centerVertical="true"
+ android:layout_marginLeft="6dp"
+ android:drawableStart="@mipmap/ic_wurao_tip"
+ android:drawablePadding="4dp"
+ android:gravity="center_vertical"
+ android:text="您当前没有关闭勿扰模式,无法1v1视频"
+ android:textColor="@color/one_text"
+ android:textSize="12sp" />
+
+
+ android:layout_height="wrap_content"
+ android:layout_marginTop="24dp"
+ android:orientation="vertical">
-
-
-
+ android:layout_marginLeft="8dp"
+ android:layout_marginRight="8dp"
+ android:orientation="horizontal">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+ android:visibility="gone"
+ android:id="@+id/rl_wurao"
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/dp40"
+ android:layout_marginLeft="8dp"
+ android:layout_marginRight="8dp"
+ android:background="@drawable/shape_wurao_bg">
-
-
+ android:layout_centerVertical="true"
+ android:layout_marginLeft="6dp"
+ android:drawableStart="@mipmap/ic_wurao_tip"
+ android:drawablePadding="4dp"
+ android:gravity="center_vertical"
+ android:text="您当前没有关闭勿扰模式,无法1v1视频"
+ android:textColor="@color/one_text"
+ android:textSize="12sp" />
-
-
-
+
diff --git a/app/src/main/res/layout/fragment_personal_main_page.xml b/app/src/main/res/layout/fragment_personal_main_page.xml
index 86827b6..7daae2e 100644
--- a/app/src/main/res/layout/fragment_personal_main_page.xml
+++ b/app/src/main/res/layout/fragment_personal_main_page.xml
@@ -191,8 +191,8 @@
android:layout_alignParentEnd="true"
android:layout_marginEnd="18dp"
android:layout_marginBottom="32dp"
- android:visibility="gone"
- fresco:cardCornerRadius="8dp">
+ fresco:cardCornerRadius="8dp"
+ android:visibility="gone">
-
-
-
-
-
-
-
-
-
-
@@ -328,24 +318,58 @@
android:textStyle="bold" />
+ android:src="@mipmap/ic_model_v" />
-
+
+
+
+
+
+
+
+
+
+
+ android:layout_toEndOf="@+id/tagVipImageView"
+ android:id="@+id/rl_level"
+ android:layout_width="42dp"
+ android:layout_height="16dp"
+ android:layout_marginLeft="10dp"
+ android:background="@mipmap/ic_modle_bg1">
+
+
+
+
+
+
+
+
+
-
-
-
-
-
+ android:layout_centerVertical="true"
+ android:layout_marginLeft="4dp"
+ android:gravity="center_vertical"
+ android:orientation="horizontal">
+
+
+
+
+
+
-
+ app:layout_constraintTop_toBottomOf="@+id/tv_qingyu_id"/>
+ android:src="@mipmap/ic_model_v" />
diff --git a/app/src/main/res/layout/item_dynamic_list1.xml b/app/src/main/res/layout/item_dynamic_list1.xml
index 9fd7814..6a4e6c6 100644
--- a/app/src/main/res/layout/item_dynamic_list1.xml
+++ b/app/src/main/res/layout/item_dynamic_list1.xml
@@ -61,13 +61,27 @@
android:textSize="16sp"
android:textStyle="bold" />
+
+
+ android:layout_width="16dp"
+ android:layout_height="16dp"
+ android:layout_marginLeft="10dp"
+ android:src="@mipmap/ic_model_v" />
+
+
+
+
+
+
+
+
+
+
+
@@ -132,7 +164,7 @@
@@ -149,7 +181,7 @@
diff --git a/app/src/main/res/layout/item_main_page_comment.xml b/app/src/main/res/layout/item_main_page_comment.xml
index 95af05b..5e3aeb9 100644
--- a/app/src/main/res/layout/item_main_page_comment.xml
+++ b/app/src/main/res/layout/item_main_page_comment.xml
@@ -42,18 +42,38 @@
android:textColor="@color/one_text"
android:textSize="12sp" />
-
+ android:background="@mipmap/ic_modle_bg1">
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/item_question_post_image.xml b/app/src/main/res/layout/item_question_post_image.xml
index aa19290..a74c1ce 100644
--- a/app/src/main/res/layout/item_question_post_image.xml
+++ b/app/src/main/res/layout/item_question_post_image.xml
@@ -12,14 +12,13 @@
android:id="@+id/post_image_ready_logo"
android:layout_width="110.5dp"
android:layout_height="match_parent"
- android:background="@drawable/shape_retangle_frame_white"
- android:gravity="center"
- android:visibility="gone">
+ android:background="@drawable/shape_f9fafc_r4_bg"
+ android:gravity="center">
+ android:layout_width="36dp"
+ android:layout_height="30dp"
+ android:src="@mipmap/ic_renzheng_sctp"/>
-
+
+ android:src="@drawable/ic_pvip"
+ android:visibility="gone" />
@@ -58,13 +59,14 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="1dp"
- android:text="深圳 | 18岁"
- android:textSize="14sp"
+ android:text="心动至上"
+ android:textSize="12sp"
android:textColor="@color/infoEditTextColor2"/>
diff --git a/app/src/main/res/layout/item_search_title.xml b/app/src/main/res/layout/item_search_title.xml
index 03aaa3e..ff70d44 100644
--- a/app/src/main/res/layout/item_search_title.xml
+++ b/app/src/main/res/layout/item_search_title.xml
@@ -24,7 +24,7 @@
android:layout_height="@dimen/dp50"
android:layout_centerInParent="true"
android:layout_marginLeft="@dimen/dp16"
- android:src="@drawable/ic_return" />
+ android:src="@mipmap/ic_black_back" />
+ - 0
+ - false
+ -
+ @android:drawable/progress_indeterminate_horizontal
+
+ - @drawable/progressbar_level
+
+