Commit cd37fbf6 authored by sheteng's avatar sheteng

开始测试 2

搜索好友列表
parent b573ce5e
......@@ -137,12 +137,12 @@ public class FirstFragment extends Fragment {
binding.searchUser.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
CCIMClient.getInstance().searchUser(binding.userName.getText().toString(), new ResultEventCallback<List<User>>() {
@Override
public void onSuccess(List<User> users) {
refreshLogView(users.toString());
}
});
// CCIMClient.getInstance().searchUser(binding.userName.getText().toString(), new ResultEventCallback<List<User>>() {
// @Override
// public void onSuccess(List<User> users) {
// refreshLogView(users.toString());
// }
// });
}
});
......
......@@ -5,7 +5,6 @@ import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Toast;
import androidx.fragment.app.Fragment;
import androidx.lifecycle.Observer;
......@@ -13,12 +12,13 @@ import androidx.lifecycle.ViewModelProvider;
import com.ccwangluo.ccim.CCIMClient;
import com.ccwangluo.ccim.listener.ResultCallback;
import com.ccwangluo.ccim.listener.ResultEventCallback;
import com.ccwangluo.ccim.modle.Contact;
import com.ccwangluo.ccim.modle.MessageContent;
import com.ccwangluo.ccim.listener.ResultEventCallback;
import com.ccwangluo.im.adapter.PrivateMsgAdapter;
import com.ccwangluo.im.data.LoginViewModel;
import com.ccwangluo.im.databinding.FragmentConnectBinding;
import com.ccwangluo.im.util.ToastUtil;
import java.util.ArrayList;
import java.util.List;
......@@ -72,12 +72,12 @@ public class ConnectFragment extends Fragment {
public void onSuccess(MessageContent messageContent) {
binding.sendEdit.setText("");
loginViewModel.addPrivateMsg(messageContent);
Toast.makeText(getContext(), "send Success", Toast.LENGTH_LONG).show();
ToastUtil.show(getContext(), "send Success");
}
@Override
public void onFailed(int errorCode) {
Toast.makeText(getContext(), "send onFailed :" + errorCode, Toast.LENGTH_LONG).show();
ToastUtil.show(getContext(), "send onFailed :" + errorCode);
}
});
}
......@@ -92,11 +92,11 @@ public class ConnectFragment extends Fragment {
public void onSuccess(MessageContent message) {
binding.sendEdit.setText("");
loginViewModel.addPrivateMsg(message);
Toast.makeText(getContext(), "send Success", Toast.LENGTH_LONG).show();
ToastUtil.show(getContext(), "send Success");
}
@Override
public void onFailed(int errorCode) {
Toast.makeText(getContext(), "send onFailed :" + errorCode, Toast.LENGTH_LONG).show();
ToastUtil.show(getContext(), "send onFailed :" + errorCode);
}
});
}
......
......@@ -7,7 +7,7 @@ import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.EditText;
import android.widget.Toast;
import android.widget.LinearLayout;
import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
......@@ -17,17 +17,19 @@ import androidx.navigation.NavController;
import androidx.navigation.Navigation;
import com.ccwangluo.ccim.CCIMClient;
import com.ccwangluo.ccim.listener.ResultCallback;
import com.ccwangluo.ccim.listener.ResultEventCallback;
import com.ccwangluo.ccim.modle.Contact;
import com.ccwangluo.ccim.modle.ContactGroup;
import com.ccwangluo.ccim.modle.Dialog;
import com.ccwangluo.ccim.modle.SearchRes;
import com.ccwangluo.ccim.modle.User;
import com.ccwangluo.ccim.listener.ResultCallback;
import com.ccwangluo.ccim.listener.ResultEventCallback;
import com.ccwangluo.im.R;
import com.ccwangluo.im.adapter.ContactExpandableAdapter;
import com.ccwangluo.im.data.LoginViewModel;
import com.ccwangluo.im.databinding.FragmentDashboardBinding;
import com.ccwangluo.im.listener.OnContactClickLisener;
import com.ccwangluo.im.util.ToastUtil;
import java.util.ArrayList;
import java.util.Collection;
......@@ -68,7 +70,7 @@ public class ContactsFragment extends Fragment {
public void onChanged(Collection<Contact> contacts) {
contactList.clear();
contactList.addAll(contacts);
contactExpandableAdapter.reFreshData(contactGroupList, contactList,dialogList);
contactExpandableAdapter.reFreshData(contactGroupList, contactList, dialogList);
}
});
......@@ -77,7 +79,7 @@ public class ContactsFragment extends Fragment {
public void onChanged(Collection<ContactGroup> contactGroups) {
contactGroupList.clear();
contactGroupList.addAll(contactGroups);
contactExpandableAdapter.reFreshData(contactGroupList, contactList,dialogList);
contactExpandableAdapter.reFreshData(contactGroupList, contactList, dialogList);
}
});
......@@ -86,7 +88,7 @@ public class ContactsFragment extends Fragment {
public void onChanged(Collection<Dialog> dialogs) {
dialogList.clear();
dialogList.addAll(dialogs);
contactExpandableAdapter.reFreshData(contactGroupList, contactList,dialogList);
contactExpandableAdapter.reFreshData(contactGroupList, contactList, dialogList);
}
});
......@@ -94,24 +96,33 @@ public class ContactsFragment extends Fragment {
@Override
public void onClick(View v) {
final EditText inputServer = new EditText(getContext());
LinearLayout linearLayout = new LinearLayout(getContext());
linearLayout.setOrientation(LinearLayout.VERTICAL);
final EditText etUserName = new EditText(getContext());
etUserName.setHint("etUserName");
final EditText etUserId = new EditText(getContext());
etUserId.setHint("etUserId");
linearLayout.addView(etUserName);
linearLayout.addView(etUserId);
AlertDialog.Builder builder = new AlertDialog.Builder(getContext());
builder.setTitle("username").setIcon(android.R.drawable.ic_dialog_info).setView(inputServer)
builder.setTitle("username").setIcon(android.R.drawable.ic_dialog_info).setView(linearLayout)
.setNegativeButton("Cancel", null);
builder.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
String userName = inputServer.getText().toString();
CCIMClient.getInstance().searchUser(userName, new ResultEventCallback<List<User>>() {
@Override
public void onSuccess(List<User> users) {
if (users != null && users.size() > 0) {
showSearchResultdialog(users);
}
String userName = etUserName.getText().toString();
String userId = etUserId.getText().toString();
Long id = 0L;
if (!userId.isEmpty()) {
id = Long.parseLong(userId);
}
CCIMClient.getInstance().searchUser(userName, id, 1, 5, new ResultEventCallback<SearchRes>() {
@Override
public void onFailed(int errorCode) {
Toast.makeText(getContext(), " onFailed :" + errorCode, Toast.LENGTH_LONG).show();
public void onSuccess(SearchRes searchRes) {
int total = searchRes.getTotal();
if (searchRes.getUsers().size() > 0) {
showSearchResultdialog(searchRes.getUsers());
}
}
});
}
......@@ -141,13 +152,13 @@ public class ContactsFragment extends Fragment {
CCIMClient.getInstance().createContactGroup(groupname, new ResultEventCallback<Long>() {
@Override
public void onSuccess(Long aLong) {
Toast.makeText(getContext(), "createContactGroup success", Toast.LENGTH_SHORT).show();
ToastUtil.show(getContext(), "createContactGroup success");
loginViewModel.getContactList();
}
@Override
public void onFailed(int errorCode) {
Toast.makeText(getContext(), " onFailed :" + errorCode, Toast.LENGTH_LONG).show();
ToastUtil.show(getContext(), " onFailed :" + errorCode);
}
});
}
......@@ -184,13 +195,13 @@ public class ContactsFragment extends Fragment {
CCIMClient.getInstance().checkContactReq(users.get(which).getUserId(), true, new ResultCallback() {
@Override
public void onSuccess() {
Toast.makeText(getContext(), "验证好友发送成功", Toast.LENGTH_SHORT).show();
ToastUtil.show(getContext(), "验证好友发送成功");
loginViewModel.getContactList();
}
@Override
public void onFailed(int errorCode) {
Toast.makeText(getContext(), "验证好友失败 : " + errorCode, Toast.LENGTH_SHORT).show();
ToastUtil.show(getContext(), "验证好友失败 : " + errorCode);
}
});
}
......@@ -217,12 +228,12 @@ public class ContactsFragment extends Fragment {
CCIMClient.getInstance().addContact(users.get(which).getUserId(), new ResultCallback() {
@Override
public void onSuccess() {
Toast.makeText(getContext(), "加好友发送成功", Toast.LENGTH_SHORT).show();
ToastUtil.show(getContext(), "加好友发送成功");
}
@Override
public void onFailed(int errorCode) {
Toast.makeText(getContext(), "加好友失败 : " + errorCode, Toast.LENGTH_SHORT).show();
ToastUtil.show(getContext(), "加好友失败 : " + errorCode);
}
});
}
......
......@@ -6,7 +6,6 @@ import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import androidx.lifecycle.Observer;
......@@ -15,6 +14,7 @@ import androidx.lifecycle.ViewModelProvider;
import com.ccwangluo.im.MainActivity2;
import com.ccwangluo.im.data.LoginViewModel;
import com.ccwangluo.im.databinding.ActivityLoginBinding;
import com.ccwangluo.im.util.ToastUtil;
public class LoginActivity extends AppCompatActivity {
......@@ -53,12 +53,12 @@ public class LoginActivity extends AppCompatActivity {
public void onClick(View v) {
String username = usernameEditText.getText().toString();
if (TextUtils.isEmpty(username)) {
Toast.makeText(LoginActivity.this, "username is empty", Toast.LENGTH_SHORT).show();
ToastUtil.show(LoginActivity.this, "username is empty");
return;
}
String id = UserIdEditText.getText().toString();
if (TextUtils.isEmpty(id)) {
Toast.makeText(LoginActivity.this, "userid is empty", Toast.LENGTH_SHORT).show();
ToastUtil.show(LoginActivity.this, "userid is empty");
return;
}
String appkey = binding.appkey.getText().toString();
......
......@@ -5,7 +5,6 @@ import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Toast;
import androidx.fragment.app.Fragment;
import androidx.lifecycle.Observer;
......@@ -18,6 +17,7 @@ import com.ccwangluo.ccim.modle.MessageContent;
import com.ccwangluo.im.adapter.ChannelMsgAdapter;
import com.ccwangluo.im.data.LoginViewModel;
import com.ccwangluo.im.databinding.FragmentChannelConnectBinding;
import com.ccwangluo.im.util.ToastUtil;
import java.util.ArrayList;
import java.util.List;
......@@ -70,11 +70,11 @@ public class ConnectChannelFragment extends Fragment {
public void onSuccess(MessageContent messageContent) {
binding.sendEdit.setText("");
loginViewModel.addChannelMsg(messageContent);
Toast.makeText(getContext(), "send Success", Toast.LENGTH_LONG).show();
ToastUtil.show(getContext(), "send Success");
}
@Override
public void onFailed(int errorCode) {
Toast.makeText(getContext(), "send onFailed :" + errorCode, Toast.LENGTH_LONG).show();
ToastUtil.show(getContext(), "send onFailed :" + errorCode);
}
});
}
......@@ -89,12 +89,12 @@ public class ConnectChannelFragment extends Fragment {
public void onSuccess(MessageContent message) {
binding.sendEdit.setText("");
loginViewModel.addChannelMsg(message);
Toast.makeText(getContext(), "send Success", Toast.LENGTH_LONG).show();
ToastUtil.show(getContext(), "send Success");
}
@Override
public void onFailed(int errorCode) {
Toast.makeText(getContext(), "send onFailed :" + errorCode, Toast.LENGTH_LONG).show();
ToastUtil.show(getContext(), "send onFailed :" + errorCode );
}
});
}
......
......@@ -13,7 +13,6 @@ import android.view.ViewGroup;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
......@@ -30,6 +29,7 @@ import com.ccwangluo.im.adapter.ChannelAdapter;
import com.ccwangluo.im.data.LoginViewModel;
import com.ccwangluo.im.databinding.FragmentNotificationsBinding;
import com.ccwangluo.im.listener.ChannelClickListener;
import com.ccwangluo.im.util.ToastUtil;
import java.util.ArrayList;
import java.util.List;
......@@ -87,20 +87,20 @@ public class NotificationsFragment extends Fragment {
public void onClick(DialogInterface dialog, int which) {
String channelId = inputServer.getText().toString();
if (TextUtils.isEmpty(channelId)){
Toast.makeText(getContext(),"channel id is null",Toast.LENGTH_SHORT).show();
ToastUtil.show(getContext(),"channel id is null");
return;
}
long Id = Long.parseLong(channelId);
CCIMClient.getInstance().joinChannel(Id, new ResultCallback() {
@Override
public void onSuccess() {
Toast.makeText(getContext(), "join success", Toast.LENGTH_SHORT).show();
ToastUtil.show(getContext(), "join success");
loginViewModel.addChannelId(Id);
}
@Override
public void onFailed(int errorCode) {
Toast.makeText(getContext(), " onFailed :" + errorCode, Toast.LENGTH_LONG).show();
ToastUtil.show(getContext(), " onFailed :" + errorCode);
}
});
......@@ -150,12 +150,12 @@ public class NotificationsFragment extends Fragment {
ClipboardManager cm = (ClipboardManager) getContext().getSystemService(Context.CLIPBOARD_SERVICE);
ClipData mClipData = ClipData.newPlainText("Label", aLong.toString());
cm.setPrimaryClip(mClipData);
Toast.makeText(getContext(), "create success,id copy success", Toast.LENGTH_SHORT).show();
ToastUtil.show(getContext(), "create success,id copy success");
}
@Override
public void onFailed(int errorCode) {
Toast.makeText(getContext(), " onFailed :" + errorCode, Toast.LENGTH_LONG).show();
ToastUtil.show(getContext(), " onFailed :" + errorCode);
}
});
}
......@@ -179,12 +179,12 @@ public class NotificationsFragment extends Fragment {
@Override
public void onSuccess() {
loginViewModel.removeChannelId(id);
Toast.makeText(getContext(),"退出成功",Toast.LENGTH_SHORT).show();
ToastUtil.show(getContext(),"退出成功");
}
@Override
public void onFailed(int errorCode) {
Toast.makeText(getContext(), " onFailed :" + errorCode, Toast.LENGTH_LONG).show();
ToastUtil.show(getContext(), " onFailed :" + errorCode);
}
});
break;
......
package com.ccwangluo.im.util;
import android.content.Context;
import android.widget.Toast;
public class ToastUtil {
public static void show(Context context, String msg) {
if (context == null) {
return;
}
Toast.makeText(context, msg, Toast.LENGTH_SHORT).show();
}
}
......@@ -4,7 +4,9 @@ import android.Manifest;
import android.content.Context;
import android.os.Environment;
import android.text.TextUtils;
import androidx.fragment.app.FragmentActivity;
import com.ccwangluo.ccim.listener.ContactsCallBack;
import com.ccwangluo.ccim.listener.OnClientConnectListener;
import com.ccwangluo.ccim.listener.OnConnectListener;
......@@ -20,17 +22,20 @@ import com.ccwangluo.ccim.modle.Contact;
import com.ccwangluo.ccim.modle.MessageContent;
import com.ccwangluo.ccim.modle.NetStatus;
import com.ccwangluo.ccim.modle.PushPrivateMsgRes;
import com.ccwangluo.ccim.modle.SearchRes;
import com.ccwangluo.ccim.modle.User;
import com.ccwangluo.ccim.util.ErrorCode;
import com.ccwangluo.ccim.util.MediaHelper;
import com.google.gson.Gson;
import com.google.protobuf.util.JsonFormat;
import com.permissionx.guolindev.PermissionX;
import java.io.File;
import java.util.List;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.logging.Logger;
import ccim.protocol.Chat;
import ccim.protocol.Message;
import ccim.protocol.MessageSpec;
......@@ -202,8 +207,8 @@ public class CCIMClient {
/**
* 搜索好友
*/
public void searchUser(String userName, ResultEventCallback<List<User>> resultEventCallback) {
contactManager.searchUser(userName, resultEventCallback);
public void searchUser(String userName, Long userId, int page, int size, ResultEventCallback<SearchRes> resultEventCallback) {
contactManager.searchUser(userName, userId, page, size, resultEventCallback);
}
/**
......@@ -219,7 +224,6 @@ public class CCIMClient {
*/
public void getContactReqList(ResultEventCallback<List<User>> callback) {
contactManager.getContactReqList(callback);
}
/**
......@@ -318,8 +322,6 @@ public class CCIMClient {
/**
* 校验时间间隔
*
* @return
*/
private boolean checkTimeInterval() {
if (lastSendTimemillis != 0) {
......@@ -414,7 +416,7 @@ public class CCIMClient {
.onForwardToSettings((scope, deniedList) -> scope.showForwardToSettingsDialog(deniedList, "您需要去应用程序设置当中手动开启权限", "我已明白"))
.request((allGranted, grantedList, deniedList) -> {
if (allGranted) {
MediaHelper.getInstance().prepare(cachePath,maxAudioDuration, resultCallback);
MediaHelper.getInstance().prepare(cachePath, maxAudioDuration, resultCallback);
} else {
resultCallback.onFailed(ErrorCode.START_VOICE_FAILED);
}
......
......@@ -100,9 +100,15 @@ public class ContactManager {
/**
* 搜索好友
*/
public void searchUser(String userName, ResultEventCallback<List<User>> resultEventCallback) {
public void searchUser(String userName,Long userId,int page,int size, ResultEventCallback<SearchRes> resultEventCallback) {
Chat.ChatRequestMessage.Builder builder = Chat.ChatRequestMessage.newBuilder();
builder.setSearchReq(Chat.SearchRequest.newBuilder().setUsername(userName).build());
Chat.SearchRequest build = Chat.SearchRequest.newBuilder()
.setUsername(userName)
.setUserId(userId)
.setPage(page)
.setSize(size)
.build();
builder.setSearchReq(build);
int id = socketManager.sendRequest(builder);
callBackManager.addCallBack(id, new ResultEventCallback<Chat.ChatResponseMessage>() {
@Override
......@@ -112,7 +118,7 @@ public class ContactManager {
try {
String print = JsonFormat.printer().print(searchRes);
SearchRes searchRes1 = new Gson().fromJson(print, SearchRes.class);
resultEventCallback.onSuccess(searchRes1.getUsers());
resultEventCallback.onSuccess(searchRes1);
} catch (Exception e) {
e.printStackTrace();
}
......
......@@ -15,4 +15,13 @@ public class SearchRes {
this.users = users;
}
private int total;
public int getTotal() {
return total;
}
public void setTotal(int total) {
this.total = total;
}
}
......@@ -135,6 +135,9 @@ message PullContactsResponse {
message SearchRequest {
string username = 1;
int64 user_id = 2;
int32 page = 3;
int32 size = 4;
}
message SearchResponse {
......@@ -143,6 +146,7 @@ message SearchResponse {
string username = 2;
}
repeated User users = 1;
int32 total = 2;
}
message AddContactRequest {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment