搜索bugfix,客态个人直播中按钮

This commit is contained in:
oujunhui
2020-05-07 16:14:39 +08:00
parent 8283db79ca
commit 3de0815ef3
8 changed files with 129 additions and 149 deletions

View File

@@ -111,6 +111,9 @@ public class SearchActivity extends BaseMvpActivity<ISearchView, SearchPresenter
private RoomHistoryAdapter mRoomHistoryAdapter;
private List<String> mSearchHistoryList = new ArrayList<>(20);
private SearchDetailFragment roomFrg;
private SearchDetailFragment userFrg ;
public static void start(Context context, CarInfo carInfo) {
Intent intent = new Intent(context, SearchActivity.class);
intent.putExtra(AbstractSelectFriendAction.KEY_TYPE, AbstractSelectFriendAction.TYPE_CAR);
@@ -150,6 +153,7 @@ public class SearchActivity extends BaseMvpActivity<ISearchView, SearchPresenter
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_search);
initView();
initSearchDetail();
}
private void initView() {
@@ -215,14 +219,15 @@ public class SearchActivity extends BaseMvpActivity<ISearchView, SearchPresenter
viewPager = findViewById(R.id.viewpager);
}
private void initSearchDetail(String str){
private void initSearchDetail(){
// llSearchDetail.setVisibility(View.GONE);
List<String> mTabInfoList = new ArrayList<>();
mTabInfoList.add(getString(R.string.search_room_tab));
mTabInfoList.add(getString(R.string.search_user_tab));
List<Fragment> mTabs = new ArrayList<>();
SearchDetailFragment roomFrg = new SearchDetailFragment(str,SearchDetailFragment.TYPE_SEARCH_ROOM);
SearchDetailFragment userFrg = new SearchDetailFragment(str,SearchDetailFragment.TYPE_SEARCH_USER);
roomFrg = SearchDetailFragment.newInstance(SearchDetailFragment.TYPE_SEARCH_ROOM);
userFrg = SearchDetailFragment.newInstance(SearchDetailFragment.TYPE_SEARCH_USER);
mTabs.add(roomFrg);
mTabs.add(userFrg);
ContactsIndicatorAdapter topMagicIndicatorAdapter = new ContactsIndicatorAdapter(this, mTabInfoList,0);
@@ -237,7 +242,6 @@ public class SearchActivity extends BaseMvpActivity<ISearchView, SearchPresenter
viewPager.setAdapter(new ViewPagerAdapter(getSupportFragmentManager(), mTabs,null));
ViewPagerHelper.bind(indicator, viewPager);
llSearchDetail.setVisibility(View.VISIBLE);
}
@@ -444,7 +448,22 @@ public class SearchActivity extends BaseMvpActivity<ISearchView, SearchPresenter
}
addHistory(str);
ImeUtil.hideIME(this, tvSearch);
initSearchDetail(str);
starSearch(str);
}
private void starSearch(String str){
if (roomFrg == null || userFrg == null){
initSearchDetail();
}
roomFrg.search(str,SearchDetailFragment.TYPE_SEARCH_ROOM);
userFrg.search(str,SearchDetailFragment.TYPE_SEARCH_USER);
llSearchDetail.setVisibility(View.VISIBLE);
}
private void clearSearch(){
llSearchDetail.setVisibility(View.GONE);
roomFrg.clear();
userFrg.clear();
}
private void clearSearchHistory() {
@@ -559,10 +578,9 @@ public class SearchActivity extends BaseMvpActivity<ISearchView, SearchPresenter
}
private void showHistory() {
hideStatus();
llSearchDetail.setVisibility(View.GONE);
viewPager.setAdapter(null);
// hideStatus();
if (mShowHistory) {
clearSearch();
clSearchHistoryContainer.setVisibility(mSearchHistoryList != null && mSearchHistoryList.size() > 0 ?
View.VISIBLE : View.GONE);

View File

@@ -6,20 +6,14 @@ import androidx.annotation.Nullable;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.coorchice.library.utils.LogUtils;
import com.yizhuan.erban.R;
import com.yizhuan.erban.base.BaseMvpFragment;
import com.yizhuan.erban.ui.search.event.SearchEvent;
import com.yizhuan.erban.ui.search.presenter.SearchPresenter;
import com.yizhuan.erban.ui.search.view.ISearchView;
import com.yizhuan.xchat_android_core.bean.RoomHistoryInfo;
import com.yizhuan.xchat_android_core.room.bean.SearchRoomInfo;
import com.yizhuan.xchat_android_library.base.factory.CreatePresenter;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
import java.util.List;
@CreatePresenter(SearchPresenter.class)
@@ -27,34 +21,17 @@ public class SearchDetailFragment extends BaseMvpFragment<ISearchView, SearchPre
public static final int TYPE_SEARCH_ROOM = 1;
public static final int TYPE_SEARCH_USER = 2;
private String mInPutText;
private int mType;
private RecyclerView recyclerView;
private SearchAdapter searchAdapter;
// public static SearchDetailFragment newInstance(String inPutText,int type) {
//
// Bundle args = new Bundle();
//// args.putString("str", inPutText);
// args.putInt("type", type);
// SearchDetailFragment fragment = new SearchDetailFragment(inPutText,type);
// fragment.setArguments(args);
// return fragment;
// }
public SearchDetailFragment(String inPutText,int type){
this.mInPutText = inPutText;
this.mType = type;
public static SearchDetailFragment newInstance(int type) {
SearchDetailFragment fragment = new SearchDetailFragment();
return fragment;
}
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (getArguments() != null) {
// mInPutText = getArguments().getString("str");
mType = getArguments().getInt("type");
}
}
@Override
@@ -65,7 +42,8 @@ public class SearchDetailFragment extends BaseMvpFragment<ISearchView, SearchPre
@Override
public void onFindViews() {
recyclerView = mView.findViewById(R.id.recycler_view);
initData();
// initData();
}
@Override
@@ -75,14 +53,21 @@ public class SearchDetailFragment extends BaseMvpFragment<ISearchView, SearchPre
@Override
public void initiate() {
initData();
}
private void initData(){
recyclerView.setLayoutManager(new LinearLayoutManager(mContext));
searchAdapter = new SearchAdapter(mContext, null);
recyclerView.setAdapter(searchAdapter);
getMvpPresenter().searchRooms(mInPutText,mType);
}
public void search(String str,int type){
getMvpPresenter().searchRooms(str,type);
}
public void clear(){
searchAdapter.setNewData(null);
}
@Override

View File

@@ -6,21 +6,17 @@ import android.content.Intent;
import android.graphics.Color;
import android.graphics.Rect;
import android.graphics.drawable.Drawable;
import androidx.core.content.ContextCompat;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import androidx.core.widget.NestedScrollView;
import android.graphics.drawable.GradientDrawable;
import android.text.TextUtils;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.jude.rollviewpager.Util;
import com.jude.rollviewpager.hintview.ColorPointHintView;
import androidx.core.content.ContextCompat;
import androidx.core.widget.NestedScrollView;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.jude.rollviewpager.hintview.TextHintView;
import com.netease.nim.uikit.impl.cache.NimUserInfoCache;
import com.netease.nimlib.sdk.RequestCallbackWrapper;
@@ -36,8 +32,6 @@ import com.yizhuan.erban.databinding.ActivityUserInfoBinding;
import com.yizhuan.erban.family.view.activity.FamilyHomeActivity;
import com.yizhuan.erban.family.view.activity.FamilyMemberListActivity;
import com.yizhuan.erban.family.view.activity.FamilyMemberSearchActivity;
import com.yizhuan.erban.community.user_dynamic.UserDynamicFrg;
import com.yizhuan.erban.home.adapter.BannerAdapter;
import com.yizhuan.erban.ui.im.avtivity.NimFriendModel;
import com.yizhuan.erban.ui.im.avtivity.NimP2PMessageActivity;
import com.yizhuan.erban.ui.user.adapter.GiftAdapter;
@@ -53,7 +47,6 @@ import com.yizhuan.xchat_android_core.community.bean.WorldDynamicBean;
import com.yizhuan.xchat_android_core.im.friend.IMFriendModel;
import com.yizhuan.xchat_android_core.level.UserLevelVo;
import com.yizhuan.xchat_android_core.manager.AvRoomDataManager;
import com.yizhuan.xchat_android_core.noble.NobleUtil;
import com.yizhuan.xchat_android_core.praise.PraiseModel;
import com.yizhuan.xchat_android_core.praise.event.IsLikedEvent;
import com.yizhuan.xchat_android_core.praise.event.PraiseEvent;
@@ -121,6 +114,8 @@ public class UserInfoActivity extends BaseBindingActivity<ActivityUserInfoBindin
private ImageView ivOfficialMask;
private TextView tvOfficialMask;
private String mRoomUid;
@SuppressLint("CheckResult")
@Override
protected void init() {
@@ -154,7 +149,7 @@ public class UserInfoActivity extends BaseBindingActivity<ActivityUserInfoBindin
if (AuthModel.get().getCurrentUid() == userId) {
identityState = IdentityState.OWN;
mBinding.tvFansCount.setOnClickListener(this);
setWhereVisible(false);
mBinding.ivWhere.setVisibility(View.GONE);
if (bottomViewLayout != null)
bottomViewLayout.setVisibility(View.GONE);
} else {
@@ -163,7 +158,6 @@ public class UserInfoActivity extends BaseBindingActivity<ActivityUserInfoBindin
} else {
identityState = IdentityState.OTHER;
}
setWhereVisible(true);
if (bottomViewLayout == null) {
View view = mBinding.vsBottomLayout.getViewStub().inflate();
bottomViewLayout = view.findViewById(R.id.bottom_view_layout);
@@ -187,8 +181,8 @@ public class UserInfoActivity extends BaseBindingActivity<ActivityUserInfoBindin
/**
* 找到TA, 主态不展示
*/
private void setWhereVisible(boolean visible) {
mBinding.ivWhere.setVisibility(visible ? View.VISIBLE : View.GONE);
private void setWhereVisible() {
mBinding.ivWhere.setVisibility(mRoomUid!=null ? View.VISIBLE : View.GONE);
}
private void getUserInfo(){
@@ -226,10 +220,6 @@ public class UserInfoActivity extends BaseBindingActivity<ActivityUserInfoBindin
});
}
private void setBackBottom(boolean isExpanded) {
mBinding.ivUserBack.setImageResource(isExpanded ? R.drawable.icon_user_back : R.drawable.icon_user_back_black);
}
@@ -238,8 +228,6 @@ public class UserInfoActivity extends BaseBindingActivity<ActivityUserInfoBindin
mBinding.tvUserInfoTitle.setVisibility(visible ? View.VISIBLE : View.GONE);
}
private void onFindViews() {
mBinding.tbUserInfo.setTitle("");
ivOfficialMask = mBinding.inOfficialMask.findViewById(R.id.iv_official_mask);
@@ -264,7 +252,6 @@ public class UserInfoActivity extends BaseBindingActivity<ActivityUserInfoBindin
break;
}
}
@Subscribe(threadMode = ThreadMode.MAIN)
@@ -311,9 +298,14 @@ public class UserInfoActivity extends BaseBindingActivity<ActivityUserInfoBindin
}
private void initUserDetail(UserDetailInfo.DataBean info) {
initGiftList(info.getUserGiftWall());
initDynamicList(info.getDynamicInfo());
initPhoto(info.getPrivatePhoto());
if (AuthModel.get().getCurrentUid() != userId){
mRoomUid = info.getRoomUid();
setWhereVisible();
}
}
/**
@@ -390,13 +382,6 @@ public class UserInfoActivity extends BaseBindingActivity<ActivityUserInfoBindin
}
}
private void setBgByLevel(boolean isNoble) {
this.isNoble = isNoble;
int nobleTextColor = ContextCompat.getColor(this, R.color.white_op_30);
mBinding.tvConstellation.setTextColor(isNoble ? nobleTextColor : Color.WHITE);
}
@Override
public void onScrollChanged(NestedScrollView view, int x, int y, int oldx, int oldy) {
@@ -556,21 +541,22 @@ public class UserInfoActivity extends BaseBindingActivity<ActivityUserInfoBindin
break;
case R.id.iv_where:
getDialogManager().showProgressDialog(this, "请稍后...");
AvRoomModel.get()
.getUserRoom(userId)
.compose(bindToLifecycle())
.subscribe((roomResult, throwable) -> {
if (throwable != null) {
onGetUserRoomFail(throwable.getMessage());
} else if (roomResult != null && roomResult.isSuccess()) {
onGetUserRoom(roomResult.getData());
} else if (roomResult != null && !roomResult.isSuccess()) {
onGetUserRoomFail(roomResult.getError());
} else {
onGetUserRoomFail("未知错误");
}
});
// getDialogManager().showProgressDialog(this, "请稍后...");
// AvRoomModel.get()
// .getUserRoom(Long.parseLong(mRoomUid))
// .compose(bindToLifecycle())
// .subscribe((roomResult, throwable) -> {
// if (throwable != null) {
// onGetUserRoomFail(throwable.getMessage());
// } else if (roomResult != null && roomResult.isSuccess()) {
// onGetUserRoom(roomResult.getData());
// } else if (roomResult != null && !roomResult.isSuccess()) {
// onGetUserRoomFail(roomResult.getError());
// } else {
// onGetUserRoomFail("未知错误");
// }
// });
AVRoomActivity.start(this, Long.parseLong(mRoomUid));
break;
// /**************** 测试代码 **************/

View File

@@ -2,6 +2,7 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:orientation="vertical">
<com.yizhuan.erban.base.TitleBar

View File

@@ -2,6 +2,7 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:orientation="vertical">
<com.yizhuan.erban.base.TitleBar

View File

@@ -170,6 +170,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/color_FAFAFA"
android:visibility="gone"
android:orientation="vertical">
<com.yizhuan.erban.ui.widget.magicindicator.MagicIndicator

View File

@@ -37,69 +37,56 @@
android:src="@mipmap/bg_home_top"
app:layout_constraintTop_toTopOf="parent" />
<!-- <androidx.appcompat.widget.Toolbar-->
<!-- android:id="@+id/tool_bar"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content"-->
<!-- app:contentInsetStart="0dp"-->
<!-- app:layout_collapseMode="pin"-->
<!-- app:layout_constraintTop_toTopOf="parent"-->
<!-- >-->
<LinearLayout
android:id="@+id/title_bar"
android:layout_width="match_parent"
android:layout_height="48dp"
app:layout_constraintTop_toTopOf="parent">
<TextView
android:id="@+id/tv_search_room"
android:layout_width="0dp"
android:layout_height="@dimen/dp_32"
android:layout_gravity="center_vertical"
android:layout_marginStart="@dimen/dp_20"
android:layout_weight="1"
android:background="@drawable/bg_home_search"
android:drawableStart="@mipmap/ic_home_search"
android:drawablePadding="@dimen/dp_7"
android:gravity="center_vertical"
android:onClick="@{click}"
android:paddingStart="@dimen/dp_11"
android:paddingEnd="5dp"
android:text="@string/search_hint"
android:textColor="@color/white"
android:textSize="@dimen/sp_13" />
<ImageView
android:id="@+id/iv_ranking"
android:layout_width="wrap_content"
android:layout_height="@dimen/dp_32"
android:layout_gravity="center"
android:src="@mipmap/ic_home_ranking"
android:layout_marginEnd="@dimen/dp_15"
android:layout_marginStart="@dimen/dp_13"
android:paddingStart="8dp"
android:paddingEnd="8dp"
android:onClick="@{click}"
/>
<LinearLayout
android:id="@+id/title_bar"
android:layout_width="match_parent"
android:layout_height="48dp"
app:layout_constraintTop_toTopOf="parent">
<ImageView
android:id="@+id/iv_to_sign_in"
android:layout_width="40dp"
android:layout_height="match_parent"
android:layout_centerVertical="true"
android:layout_marginStart="@dimen/dp_11"
android:gravity="center"
android:onClick="@{click}"
android:visibility="gone"
android:scaleType="centerInside"
android:src="@drawable/icon_to_sign_in" />
<TextView
android:id="@+id/tv_search_room"
android:layout_width="0dp"
android:layout_height="@dimen/dp_32"
android:layout_gravity="center_vertical"
android:layout_marginStart="@dimen/dp_20"
android:layout_weight="1"
android:background="@drawable/bg_home_search"
android:drawableStart="@mipmap/ic_home_search"
android:drawablePadding="@dimen/dp_7"
android:gravity="center_vertical"
android:onClick="@{click}"
android:paddingStart="@dimen/dp_11"
android:paddingEnd="5dp"
android:text="@string/search_hint"
android:textColor="@color/white"
android:textSize="@dimen/sp_13" />
<ImageView
android:id="@+id/iv_ranking"
android:layout_width="wrap_content"
android:layout_height="@dimen/dp_32"
android:layout_gravity="center"
android:src="@mipmap/ic_home_ranking"
android:layout_marginEnd="@dimen/dp_15"
android:layout_marginStart="@dimen/dp_13"
android:paddingStart="8dp"
android:paddingEnd="8dp"
android:onClick="@{click}"
/>
<ImageView
android:id="@+id/iv_to_sign_in"
android:layout_width="40dp"
android:layout_height="match_parent"
android:layout_centerVertical="true"
android:layout_marginStart="@dimen/dp_11"
android:gravity="center"
android:onClick="@{click}"
android:visibility="gone"
android:scaleType="centerInside"
android:src="@drawable/icon_to_sign_in" />
</LinearLayout>
<!-- </androidx.appcompat.widget.Toolbar>-->
</LinearLayout>
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:id="@+id/layout_coordinator"
@@ -220,12 +207,8 @@
</androidx.constraintlayout.widget.ConstraintLayout>
</com.google.android.material.appbar.CollapsingToolbarLayout>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -242,18 +225,14 @@
</com.google.android.material.appbar.AppBarLayout>
<androidx.viewpager.widget.ViewPager
android:id="@+id/view_pager_bottom"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>
<com.yizhuan.erban.common.widget.DragLayout
android:id="@+id/activity_image_layout"
android:layout_width="80dp"

View File

@@ -60,6 +60,7 @@ public class UserDetailInfo implements Serializable {
private int erbanNo;
private int fansNum;
private long birth;
private String roomUid;
private UserLevelVoBean userLevelVo;
private List<UserGiftWallBean> userGiftWall;
private List<WorldDynamicBean> dynamicInfo;
@@ -67,6 +68,14 @@ public class UserDetailInfo implements Serializable {
private String nameplatePic;
private String nameplateWord;
public String getRoomUid() {
return roomUid;
}
public void setRoomUid(String roomUid) {
this.roomUid = roomUid;
}
public String getNameplatePic() {
return nameplatePic;
}