diff --git a/app/src/main/res/drawable/shape_white_top_12dp.xml b/app/src/main/res/drawable/shape_white_top_12dp.xml
new file mode 100644
index 000000000..ee9c4773d
--- /dev/null
+++ b/app/src/main/res/drawable/shape_white_top_12dp.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_home_visitor_list.xml b/app/src/main/res/layout/item_home_visitor_list.xml
index 6d320deb6..32410a46d 100644
--- a/app/src/main/res/layout/item_home_visitor_list.xml
+++ b/app/src/main/res/layout/item_home_visitor_list.xml
@@ -49,7 +49,7 @@
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="@id/tv_nickname"
app:layout_constraintTop_toBottomOf="@id/tv_nickname"
- tools:text="66号:1234567" />
+ tools:text="大鹅号:1234567" />
+ android:layout_marginTop="11dp"
+ android:layout_marginBottom="11dp"
+ android:orientation="horizontal">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
+ android:layout_width="0dp"
+ android:layout_height="match_parent"
+ android:layout_marginStart="10dp"
+ android:layout_weight="1"
+ android:gravity="center_vertical"
+ android:orientation="vertical">
-
+
+
+
+
+
+
+
+
+
+
+
+ android:layout_height="wrap_content"
+ android:textColor="@color/color_666666"
+ android:textSize="14sp"
+ android:fontFamily="sans-serif"
+ tools:text="大鹅号:666666" />
-
-
+
-
-
-
\ No newline at end of file
diff --git a/app/src/module_room_chat/java/com/yizhuan/tutu/room_chat/activity/RoomNewbieActivity.java b/app/src/module_room_chat/java/com/yizhuan/tutu/room_chat/activity/RoomNewbieActivity.java
index 6f94dd23f..e62c60aa7 100644
--- a/app/src/module_room_chat/java/com/yizhuan/tutu/room_chat/activity/RoomNewbieActivity.java
+++ b/app/src/module_room_chat/java/com/yizhuan/tutu/room_chat/activity/RoomNewbieActivity.java
@@ -14,7 +14,9 @@ import com.netease.nim.uikit.StatusBarUtil;
import com.yizhuan.erban.R;
import com.yizhuan.erban.base.BaseActivity;
import com.yizhuan.tutu.room_chat.event.ClickRootViewEvent;
+import com.yizhuan.tutu.room_chat.fragment.NewbieFilterDialog;
import com.yizhuan.tutu.room_chat.fragment.RoomNewbieListFragment;
+import com.yizhuan.xchat_android_library.utils.CommonUtils;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
@@ -22,12 +24,16 @@ import org.greenrobot.eventbus.ThreadMode;
import butterknife.ButterKnife;
import butterknife.OnClick;
+import kotlin.Unit;
+import kotlin.jvm.functions.Function2;
public class RoomNewbieActivity extends BaseActivity {
private RoomNewbieListFragment newbieListFragment;
private boolean mIsInRoom;
private ImageView ivBack;
+ private NewbieFilterDialog newbieFilterDialog;
+
public static void start(Context context, boolean isInRoom) {
Intent starter = new Intent(context, RoomNewbieActivity.class);
starter.putExtra("isInRoom", isInRoom);
@@ -41,12 +47,20 @@ public class RoomNewbieActivity extends BaseActivity {
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.recent_container, newbieListFragment).commitAllowingStateLoss();
ivBack = findViewById(R.id.iv_back);
- ivBack.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- finish();
+ ivBack.setOnClickListener(v -> finish());
+ findViewById(R.id.iv_filter).setOnClickListener(v -> {
+ if (CommonUtils.isFastDoubleClick(1000)) return;
+ if (newbieFilterDialog == null) {
+ newbieFilterDialog = NewbieFilterDialog.newInstance()
+ .setOnFilterListener((gender, hello) -> {
+ newbieListFragment.filter(gender, hello);
+ return null;
+ }
+ );
}
+ newbieFilterDialog.show(this);
});
+
}
@Override
diff --git a/app/src/module_room_chat/java/com/yizhuan/tutu/room_chat/adapter/RoomNewbieListAdapter.java b/app/src/module_room_chat/java/com/yizhuan/tutu/room_chat/adapter/RoomNewbieListAdapter.java
index 0f6191ab0..6bdcd51b5 100644
--- a/app/src/module_room_chat/java/com/yizhuan/tutu/room_chat/adapter/RoomNewbieListAdapter.java
+++ b/app/src/module_room_chat/java/com/yizhuan/tutu/room_chat/adapter/RoomNewbieListAdapter.java
@@ -10,12 +10,9 @@ import androidx.appcompat.widget.AppCompatImageView;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.yizhuan.erban.R;
-import com.yizhuan.xchat_android_core.bean.RoomNewbieInfo;
+import com.yizhuan.erban.ui.user.UserInfoActivity;
import com.yizhuan.erban.ui.utils.ImageLoadUtils;
-import com.yizhuan.erban.ui.widget.NobleAvatarView;
-import com.yizhuan.xchat_android_core.utils.StarUtils;
-
-import java.util.Date;
+import com.yizhuan.xchat_android_core.bean.RoomNewbieInfo;
/**
* @author jack
@@ -27,29 +24,34 @@ public class RoomNewbieListAdapter extends BaseQuickAdapter {
if (onItemClickListener != null) {
onItemClickListener.onAttentionBtnClick(newbieInfo);
}
+ })
+ .setOnClickListener(R.id.iv_avatar, v -> {
+ UserInfoActivity.Companion.start(mContext, newbieInfo.getUid());
});
AppCompatImageView ivGender = baseViewHolder.getView(R.id.iv_gender);
if (newbieInfo.getGender() == 1) {
@@ -58,9 +60,7 @@ public class RoomNewbieListAdapter extends BaseQuickAdapter() {
+
+ companion object {
+ @JvmStatic
+ fun newInstance(): NewbieFilterDialog {
+ return NewbieFilterDialog()
+ }
+ }
+
+ override var gravity: Int = Gravity.BOTTOM
+ override var width: Int = WindowManager.LayoutParams.MATCH_PARENT
+
+ private var onFilterListener: ((gender: Int, hello: Int) -> Unit)? = null
+
+ fun setOnFilterListener(onFilterListener: (gender: Int, hello: Int) -> Unit): NewbieFilterDialog {
+ this.onFilterListener = onFilterListener
+ return this
+ }
+
+ override fun init() {
+ binding.ivClose.setOnClickListener { dismissAllowingStateLoss() }
+ binding.tvConfirm.setOnClickListener {
+ onFilterListener?.invoke(
+ when (binding.rgGender.checkedRadioButtonId) {
+ R.id.rb_gender_male -> 1
+ R.id.rb_gender_female -> 2
+ else -> 0
+ },
+ when (binding.rgHello.checkedRadioButtonId) {
+ R.id.rb_hello_already -> 1
+ R.id.rb_hello_no -> 2
+ else -> 0
+ }
+ )
+ dismissAllowingStateLoss()
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/module_room_chat/java/com/yizhuan/tutu/room_chat/fragment/RoomNewbieListFragment.java b/app/src/module_room_chat/java/com/yizhuan/tutu/room_chat/fragment/RoomNewbieListFragment.java
index 8a76c8bd0..a2d721069 100644
--- a/app/src/module_room_chat/java/com/yizhuan/tutu/room_chat/fragment/RoomNewbieListFragment.java
+++ b/app/src/module_room_chat/java/com/yizhuan/tutu/room_chat/fragment/RoomNewbieListFragment.java
@@ -25,6 +25,7 @@ import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
+import java.util.ArrayList;
import java.util.List;
/**
@@ -38,10 +39,11 @@ public class RoomNewbieListFragment extends BaseMvpFragment mData;
public static RoomNewbieListFragment newInstance(boolean isInRoom) {
Bundle args = new Bundle();
- args.putBoolean("isInRoom",isInRoom);
+ args.putBoolean("isInRoom", isInRoom);
RoomNewbieListFragment fragment = new RoomNewbieListFragment();
fragment.setArguments(args);
return fragment;
@@ -100,16 +102,16 @@ public class RoomNewbieListFragment extends BaseMvpFragment list) {
+ mData = list;
hideStatus();
if (mNewbieListAdapter != null) {
int page = getMvpPresenter().getPage();
@@ -146,12 +149,13 @@ public class RoomNewbieListFragment extends BaseMvpFragment list) {
- if (ListUtils.isListEmpty(list)){
+ if (ListUtils.isListEmpty(list)) {
mNewbieListAdapter.loadMoreEnd();
return;
}
mNewbieListAdapter.addData(list);
mNewbieListAdapter.loadMoreComplete();
+ mData = mNewbieListAdapter.getData();
}
@Override
@@ -171,7 +175,7 @@ public class RoomNewbieListFragment extends BaseMvpFragment filterData = new ArrayList<>();
+ for (RoomNewbieInfo newbieInfo : mData) {
+ if ((newbieInfo.getGender() == gender || gender == 0) &&
+ (hello == 0 || newbieInfo.isHello() == (hello == 2))) {
+ filterData.add(newbieInfo);
+ }
+ }
+ if (filterData.size() == 0) {
+ mNewbieListAdapter.setNewData(null);
+ showNoData(getString(R.string.empty_newbie_list));
+ } else {
+ hideStatus();
+ mNewbieListAdapter.setNewData(filterData);
+ }
+ }
}
diff --git a/app/src/module_room_chat/java/com/yizhuan/tutu/room_chat/fragment/RoomNewbieMessageFragment.java b/app/src/module_room_chat/java/com/yizhuan/tutu/room_chat/fragment/RoomNewbieMessageFragment.java
index 1828b4ab7..34c5fd5e6 100644
--- a/app/src/module_room_chat/java/com/yizhuan/tutu/room_chat/fragment/RoomNewbieMessageFragment.java
+++ b/app/src/module_room_chat/java/com/yizhuan/tutu/room_chat/fragment/RoomNewbieMessageFragment.java
@@ -152,7 +152,7 @@ public class RoomNewbieMessageFragment extends BaseMvpFragment
+
+
+ -
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
diff --git a/app/src/module_room_chat/res/drawable/color_newbie_rb.xml b/app/src/module_room_chat/res/drawable/color_newbie_rb.xml
new file mode 100644
index 000000000..af726b410
--- /dev/null
+++ b/app/src/module_room_chat/res/drawable/color_newbie_rb.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/module_room_chat/res/layout/activity_newbie_list.xml b/app/src/module_room_chat/res/layout/activity_newbie_list.xml
index d5ca8b3b5..b55f574dd 100644
--- a/app/src/module_room_chat/res/layout/activity_newbie_list.xml
+++ b/app/src/module_room_chat/res/layout/activity_newbie_list.xml
@@ -15,43 +15,55 @@
android:orientation="vertical">
+ android:orientation="horizontal"
+ >
+ android:layout_gravity="center_horizontal">
-
+ android:textColor="@color/color_333333"
+ android:textSize="@dimen/dp_18"
+ android:layout_marginTop="@dimen/dp_15"
+ />
+ android:textColor="@color/color_999999"
+ android:textSize="@dimen/dp_13"
+ />
+ android:src="@drawable/arrow_left"
+ android:layout_marginStart="@dimen/dp_8"
+ android:layout_gravity="center_vertical"
+ />
+
+
+
diff --git a/app/src/module_room_chat/res/layout/activity_room_newbie_list.xml b/app/src/module_room_chat/res/layout/activity_room_newbie_list.xml
index f7bb6b223..cb6b3d86d 100644
--- a/app/src/module_room_chat/res/layout/activity_room_newbie_list.xml
+++ b/app/src/module_room_chat/res/layout/activity_room_newbie_list.xml
@@ -54,6 +54,15 @@
android:layout_gravity="center_vertical"
/>
+
diff --git a/app/src/module_room_chat/res/layout/dialog_newbie_filter.xml b/app/src/module_room_chat/res/layout/dialog_newbie_filter.xml
new file mode 100644
index 000000000..3ca89b449
--- /dev/null
+++ b/app/src/module_room_chat/res/layout/dialog_newbie_filter.xml
@@ -0,0 +1,160 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+