This commit is contained in:
2023-10-05 18:29:45 +08:00
parent d82f89f11c
commit 15d230e084
38 changed files with 930 additions and 126 deletions

View File

@@ -6,15 +6,47 @@ import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import androidx.viewpager2.adapter.FragmentStateAdapter;
import androidx.viewpager2.widget.ViewPager2;
import com.angcyo.tablayout.DslTabLayout;
import com.angcyo.tablayout.delegate2.ViewPager2Delegate;
import com.shayu.onetoone.R;
import com.shayu.onetoone.activity.fragments.home.HotFragment;
import com.shayu.onetoone.activity.fragments.home.RecommendFragment;
import com.shayu.onetoone.activity.fragments.message.MsgFriendFragment;
import com.shayu.onetoone.activity.fragments.message.MsgMessageFragment;
import java.util.ArrayList;
import java.util.List;
/**
* 交友主页面
*/
public class FriendsFragment extends BaseFragment {
List<BaseFragment> fragments = new ArrayList<>();
@Override
public void initView(View itemView) {
ViewPager2 viewPager2 = itemView.findViewById(R.id.viewPager);
DslTabLayout tabLayout = itemView.findViewById(R.id.dslTabLayout);
ViewPager2Delegate.Companion.install(viewPager2, tabLayout, false);
fragments.add(new RecommendFragment());//消息 - 消息
fragments.add(new HotFragment()); //消息 - 好友
viewPager2.setAdapter(new FragmentStateAdapter(this) {
@NonNull
@Override
public Fragment createFragment(int position) {
return fragments.get(position);
}
@Override
public int getItemCount() {
return fragments.size();
}
});
}
@Override

View File

@@ -5,27 +5,52 @@ import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import com.shayu.onetoone.R;
import com.yunbao.common.fragment.BaseFragment;
import com.shayu.onetoone.activity.fragments.BaseFragment;
import com.shayu.onetoone.adapter.HomeHotListAdapter;
import com.yanzhenjie.recyclerview.SwipeRecyclerView;
import io.rong.imkit.widget.refresh.SmartRefreshLayout;
import io.rong.imkit.widget.refresh.api.RefreshLayout;
import io.rong.imkit.widget.refresh.listener.OnLoadMoreListener;
import io.rong.imkit.widget.refresh.listener.OnRefreshListener;
import io.rong.imkit.widget.refresh.wrapper.RongRefreshHeader;
public class HotFragment extends BaseFragment {
SmartRefreshLayout mRefreshLayout;
SwipeRecyclerView recyclerView;
HomeHotListAdapter adapter;
@Override
public View createView(LayoutInflater inflater, ViewGroup container) {
public void initView(View itemView) {
recyclerView = itemView.findViewById(R.id.recyclerView);
mRefreshLayout = itemView.findViewById(R.id.swipeRefreshLayout);
adapter=new HomeHotListAdapter(getContext());
recyclerView.setAdapter(adapter);
mRefreshLayout.setNestedScrollingEnabled(false);
mRefreshLayout.setRefreshHeader(new RongRefreshHeader(this.getContext()));
mRefreshLayout.setRefreshFooter(new RongRefreshHeader(this.getContext()));
mRefreshLayout.setOnRefreshListener(new OnRefreshListener() {
public void onRefresh(@NonNull RefreshLayout refreshLayout) {
onConversationListRefresh(refreshLayout);
}
});
this.mRefreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() {
public void onLoadMore(@NonNull RefreshLayout refreshLayout) {
onConversationListLoadMore();
}
});
}
private void onConversationListLoadMore() {
}
private void onConversationListRefresh(RefreshLayout refreshLayout) {
}
@Override
public View createView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_hot, container, false);
}
@Override
protected void initVariables(Bundle bundle) {
}
@Override
protected void initViews(Bundle savedInstanceState, View contentView) {
}
@Override
protected void loadData() {
}
}

View File

@@ -5,27 +5,54 @@ import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import com.shayu.onetoone.R;
import com.yunbao.common.fragment.BaseFragment;
import com.shayu.onetoone.activity.fragments.BaseFragment;
import com.shayu.onetoone.adapter.HomeRecommendListAdapter;
import com.yanzhenjie.recyclerview.SwipeRecyclerView;
import io.rong.imkit.widget.refresh.SmartRefreshLayout;
import io.rong.imkit.widget.refresh.api.RefreshLayout;
import io.rong.imkit.widget.refresh.listener.OnLoadMoreListener;
import io.rong.imkit.widget.refresh.listener.OnRefreshListener;
import io.rong.imkit.widget.refresh.wrapper.RongRefreshHeader;
public class RecommendFragment extends BaseFragment {
SmartRefreshLayout mRefreshLayout;
SwipeRecyclerView recyclerView;
HomeRecommendListAdapter adapter;
@Override
public View createView(LayoutInflater inflater, ViewGroup container) {
public void initView(View itemView) {
recyclerView = itemView.findViewById(R.id.recyclerView);
mRefreshLayout = itemView.findViewById(R.id.swipeRefreshLayout);
adapter=new HomeRecommendListAdapter(getContext());
recyclerView.setAdapter(adapter);
mRefreshLayout.setNestedScrollingEnabled(false);
mRefreshLayout.setRefreshHeader(new RongRefreshHeader(this.getContext()));
mRefreshLayout.setRefreshFooter(new RongRefreshHeader(this.getContext()));
mRefreshLayout.setOnRefreshListener(new OnRefreshListener() {
public void onRefresh(@NonNull RefreshLayout refreshLayout) {
onConversationListRefresh(refreshLayout);
}
});
this.mRefreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() {
public void onLoadMore(@NonNull RefreshLayout refreshLayout) {
onConversationListLoadMore();
}
});
}
private void onConversationListLoadMore() {
}
private void onConversationListRefresh(RefreshLayout refreshLayout) {
}
@Override
public View createView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_recommend, container, false);
}
@Override
protected void initVariables(Bundle bundle) {
}
@Override
protected void initViews(Bundle savedInstanceState, View contentView) {
}
@Override
protected void loadData() {
}
}

View File

@@ -8,11 +8,10 @@ import android.widget.ImageView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.content.FileProvider;
import com.shayu.onetoone.R;
import com.shayu.onetoone.bean.MessageChatTipsContent;
import com.yunbao.common.CommonAppConfig;
import com.yunbao.common.Constants;
import com.yunbao.common.interfaces.ImageResultCallback;
import com.yunbao.common.utils.ProcessImageUtil;
import com.yunbao.common.utils.ToastUtil;
@@ -24,7 +23,6 @@ import java.util.Date;
import io.rong.imkit.IMCenter;
import io.rong.imkit.conversation.ConversationFragment;
import io.rong.imlib.IRongCallback;
import io.rong.imlib.ISendMessageCallback;
import io.rong.imlib.RongIMClient;
import io.rong.imlib.model.Conversation;
import io.rong.imlib.model.Message;
@@ -49,6 +47,27 @@ public class ChatMessageFragment extends ConversationFragment {
cameraUtil = new ProcessImageUtil(getActivity(), "com.shayu.onetoone.fileprovider");
mSendBtn.setOnClickListener(v -> sendText());
img.setOnClickListener(v -> cameraUtil.getImageByCamera());
initCamera();
call.setOnClickListener(v -> {
MessageChatTipsContent bean= MessageChatTipsContent.obtain("【安全提示】為保障您的權益,慶提高警惕,不要輕易添加或提供第三方聯繫方式");
IMCenter.getInstance().insertOutgoingMessage(conversationType, targetId, Message.SentStatus.SENT, bean, System.currentTimeMillis(), new RongIMClient.ResultCallback<Message>() {
@Override
public void onSuccess(Message message) {
ToastUtil.show("成功");
}
@Override
public void onError(RongIMClient.ErrorCode e) {
ToastUtil.show("失败:"+e.getMessage());
System.out.println("失败:"+e.getMessage());
}
});
});
}
private void initCamera() {
cameraUtil.setImageResultCallback(new ImageResultCallback() {
@Override
public void beforeCamera() {

View File

@@ -9,7 +9,6 @@ import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
@@ -17,21 +16,17 @@ import androidx.lifecycle.Observer;
import androidx.lifecycle.ViewModelProvider;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import com.shayu.onetoone.R;
import com.shayu.onetoone.activity.fragments.BaseFragment;
import com.shayu.onetoone.adapter.MsgMessageRecyclerViewAdapter;
import com.shayu.onetoone.bean.MsgMessageBean;
import com.shayu.onetoone.manager.RouteManager;
import com.yanzhenjie.recyclerview.OnItemClickListener;
import com.yanzhenjie.recyclerview.OnItemMenuClickListener;
import com.yanzhenjie.recyclerview.SwipeMenuBridge;
import com.yanzhenjie.recyclerview.SwipeMenuCreator;
import com.yanzhenjie.recyclerview.SwipeMenuItem;
import com.yanzhenjie.recyclerview.SwipeRecyclerView;
import com.yunbao.common.utils.DpUtil;
import com.yunbao.common.utils.ToastUtil;
import java.util.ArrayList;
import java.util.List;
@@ -41,7 +36,6 @@ import io.rong.imkit.IMCenter;
import io.rong.imkit.config.ConversationListBehaviorListener;
import io.rong.imkit.config.RongConfigCenter;
import io.rong.imkit.conversationlist.ConversationListAdapter;
import io.rong.imkit.conversationlist.ConversationListFragment;
import io.rong.imkit.conversationlist.model.BaseUiConversation;
import io.rong.imkit.conversationlist.model.GatheredConversation;
import io.rong.imkit.conversationlist.viewmodel.ConversationListViewModel;
@@ -51,7 +45,6 @@ import io.rong.imkit.utils.RouteUtils;
import io.rong.imkit.widget.FixedLinearLayoutManager;
import io.rong.imkit.widget.adapter.BaseAdapter;
import io.rong.imkit.widget.adapter.ViewHolder;
import io.rong.imkit.widget.dialog.OptionsPopupDialog;
import io.rong.imkit.widget.refresh.SmartRefreshLayout;
import io.rong.imkit.widget.refresh.api.RefreshLayout;
import io.rong.imkit.widget.refresh.constant.RefreshState;
@@ -69,7 +62,7 @@ public class MsgMessageFragment extends BaseFragment implements BaseAdapter.OnIt
private static final String TAG = MsgMessageFragment.class.getSimpleName();
SwipeRecyclerView mList;
SmartRefreshLayout mRefreshLayout;
ConversationListAdapter mAdapter;
MsgMessageRecyclerViewAdapter mAdapter;
List<MsgMessageBean> list;
protected View mNoticeContainerView;
@@ -83,7 +76,7 @@ public class MsgMessageFragment extends BaseFragment implements BaseAdapter.OnIt
public void initView(View itemView) {
mList = itemView.findViewById(R.id.recyclerView);
mRefreshLayout = itemView.findViewById(R.id.swipeRefreshLayout);
mAdapter = new ConversationListAdapter();
mAdapter = new MsgMessageRecyclerViewAdapter();
list = new ArrayList<>();
initData();
mList.setLayoutManager(new LinearLayoutManager(getContext(), LinearLayoutManager.VERTICAL, false));