页面备注添加

dev
李桢 1 year ago
parent 5672fac09c
commit 6c130f9265
  1. 16
      app/src/main/java/com/unionmed/unionmedtv/activity/AddressSelectActivity.java
  2. 3
      app/src/main/java/com/unionmed/unionmedtv/activity/DoctorActivity.java
  3. 3
      app/src/main/java/com/unionmed/unionmedtv/activity/DoctorDetailActivity.java
  4. 3
      app/src/main/java/com/unionmed/unionmedtv/activity/GroupDetailActivity.java
  5. 19
      app/src/main/java/com/unionmed/unionmedtv/activity/GroupMsgActivity.java
  6. 26
      app/src/main/java/com/unionmed/unionmedtv/activity/HomeActivity.java
  7. 5
      app/src/main/java/com/unionmed/unionmedtv/activity/HospitalActivity.java
  8. 30
      app/src/main/java/com/unionmed/unionmedtv/activity/HospitalDetailActivity.java
  9. 3
      app/src/main/java/com/unionmed/unionmedtv/activity/MsgActivity.java
  10. 6
      app/src/main/java/com/unionmed/unionmedtv/activity/MsgDetailActivity.java
  11. 3
      app/src/main/java/com/unionmed/unionmedtv/activity/VideoCallActivity.java
  12. 5
      app/src/main/java/com/unionmed/unionmedtv/adapter/DoctorAdapter.java
  13. 3
      app/src/main/java/com/unionmed/unionmedtv/adapter/GroupItemAdapter.java
  14. 3
      app/src/main/java/com/unionmed/unionmedtv/adapter/GroupMsgListAdapter.java
  15. 3
      app/src/main/java/com/unionmed/unionmedtv/adapter/HospitalAdapter.java
  16. 102
      app/src/main/java/com/unionmed/unionmedtv/adapter/HospitalDetailAdapter.java
  17. 3
      app/src/main/java/com/unionmed/unionmedtv/adapter/HospitalDoctorAdapter.java
  18. 3
      app/src/main/java/com/unionmed/unionmedtv/adapter/MsgItemAdapter.java
  19. 27
      app/src/main/java/com/unionmed/unionmedtv/adapter/MsgListAdapter.java
  20. 9
      app/src/main/java/com/unionmed/unionmedtv/adapter/RemoteAdapter.java
  21. 18
      app/src/main/java/com/unionmed/unionmedtv/fragment/GroupMsgFragment.java
  22. 4
      app/src/main/java/com/unionmed/unionmedtv/fragment/MsgFragment.java
  23. 15
      app/src/main/java/com/unionmed/unionmedtv/fragment/MyDoctorFragment.java
  24. 2
      app/src/main/res/layout/activity_group_msg.xml

@ -28,9 +28,14 @@ import com.unionmed.unionmedtv.utils.Constants;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
/**
* 地址切换
*/
public class AddressSelectActivity extends BaseActivity { public class AddressSelectActivity extends BaseActivity {
private LabelsView labelview; private LabelsView labelview;
private List<City> list=new ArrayList<>(); private List<City> list = new ArrayList<>();
public static void StartActivity(Context context) { public static void StartActivity(Context context) {
Intent intent = new Intent(context, AddressSelectActivity.class); Intent intent = new Intent(context, AddressSelectActivity.class);
context.startActivity(intent); context.startActivity(intent);
@ -52,13 +57,14 @@ public class AddressSelectActivity extends BaseActivity {
public void onLabelClick(TextView label, Object data, int position) { public void onLabelClick(TextView label, Object data, int position) {
//label是被点击的标签,data是标签所对应的数据,position是标签的位置。 //label是被点击的标签,data是标签所对应的数据,position是标签的位置。
finish(); finish();
CacheUtil.savePkey(((City)data).getPkey()); CacheUtil.savePkey(((City) data).getPkey());
CacheUtil.setIpAddress((City) data); CacheUtil.setIpAddress((City) data);
LiveDataBus.get().with(Constants.CITY_SELECT).postValue(""); LiveDataBus.get().with(Constants.CITY_SELECT).postValue("");
} }
}); });
} }
public void loadData() { public void loadData() {
EasyConfig.getInstance().addHeader("cur_version", AppUtils.getAppVersionName()).addHeader("token", CacheUtil.getToken().getToken()); EasyConfig.getInstance().addHeader("cur_version", AppUtils.getAppVersionName()).addHeader("token", CacheUtil.getToken().getToken());
EasyHttp.post(this) EasyHttp.post(this)
@ -66,8 +72,8 @@ public class AddressSelectActivity extends BaseActivity {
.request(new OnHttpListener<HttpData<ApiResponse<GetAppIpNew>>>() { .request(new OnHttpListener<HttpData<ApiResponse<GetAppIpNew>>>() {
@Override @Override
public void onHttpSuccess(HttpData<ApiResponse<GetAppIpNew>> apiResponseHttpData) { public void onHttpSuccess(HttpData<ApiResponse<GetAppIpNew>> apiResponseHttpData) {
if(apiResponseHttpData.isRequestSucceed()){ if (apiResponseHttpData.isRequestSucceed()) {
if(apiResponseHttpData.getData().isInnerRequestSucceed()){ if (apiResponseHttpData.getData().isInnerRequestSucceed()) {
list.addAll(apiResponseHttpData.getData().getData().getMember()); list.addAll(apiResponseHttpData.getData().getData().getMember());
labelview.setLabels(list, new LabelsView.LabelTextProvider<City>() { labelview.setLabels(list, new LabelsView.LabelTextProvider<City>() {
@Override @Override
@ -76,7 +82,7 @@ public class AddressSelectActivity extends BaseActivity {
textView.setId(R.id.tv); textView.setId(R.id.tv);
textView.setFocusableInTouchMode(true); textView.setFocusableInTouchMode(true);
textView.setNextFocusUpId(R.id.tv); textView.setNextFocusUpId(R.id.tv);
if(city.getPkey().equals(CacheUtil.getPkey())){ if (city.getPkey().equals(CacheUtil.getPkey())) {
textView.requestFocus(); textView.requestFocus();
} }
return city.getMemo(); return city.getMemo();

@ -38,6 +38,9 @@ import java.util.List;
import me.jessyan.autosize.utils.LogUtils; import me.jessyan.autosize.utils.LogUtils;
/**
* 附近医生
*/
public class DoctorActivity extends BaseActivity { public class DoctorActivity extends BaseActivity {
private RecyclerView recyclerView; private RecyclerView recyclerView;
private DoctorAdapter doctorAdapter; private DoctorAdapter doctorAdapter;

@ -50,6 +50,9 @@ import io.rong.calllib.RongCallCommon;
import io.rong.calllib.RongCallSession; import io.rong.calllib.RongCallSession;
import io.rong.imlib.model.Conversation; import io.rong.imlib.model.Conversation;
/**
* 医生详情
*/
public class DoctorDetailActivity extends BaseActivity implements View.OnClickListener { public class DoctorDetailActivity extends BaseActivity implements View.OnClickListener {
private String userAccount = ""; private String userAccount = "";
private ImageView iv_image; private ImageView iv_image;

@ -53,6 +53,9 @@ import io.rong.imlib.RongIMClient;
import io.rong.imlib.model.Conversation; import io.rong.imlib.model.Conversation;
import io.rong.imlib.model.UserInfo; import io.rong.imlib.model.UserInfo;
/**
* 群详细信息
*/
public class GroupDetailActivity extends BaseActivity { public class GroupDetailActivity extends BaseActivity {
private TextView tv_name; private TextView tv_name;

@ -36,6 +36,9 @@ import java.util.List;
import io.rong.imlib.RongIMClient; import io.rong.imlib.RongIMClient;
import io.rong.imlib.model.Conversation; import io.rong.imlib.model.Conversation;
/**
* 群消息列表
*/
public class GroupMsgActivity extends BaseActivity implements View.OnClickListener { public class GroupMsgActivity extends BaseActivity implements View.OnClickListener {
private RecyclerView recyclerView; private RecyclerView recyclerView;
private GroupMsgListAdapter msgListAdapter; private GroupMsgListAdapter msgListAdapter;
@ -49,8 +52,8 @@ public class GroupMsgActivity extends BaseActivity implements View.OnClickListen
private TextView tv_content; private TextView tv_content;
private TextView tv_left_title; private TextView tv_left_title;
private ImageView iv_group; private ImageView iv_group;
private String groupId=""; private String groupId = "";
private String groupName=""; private String groupName = "";
public static void StartActivity(Context context) { public static void StartActivity(Context context) {
Intent intent = new Intent(context, GroupMsgActivity.class); Intent intent = new Intent(context, GroupMsgActivity.class);
@ -88,7 +91,7 @@ public class GroupMsgActivity extends BaseActivity implements View.OnClickListen
} }
for (int i = 0; i < listGroup.size(); i++) { for (int i = 0; i < listGroup.size(); i++) {
if (i == 0) { if (i == 0) {
groupId=listGroup.get(i).getTargetId(); groupId = listGroup.get(i).getTargetId();
msgFragment.setTargetId(listGroup.get(i).getTargetId()); msgFragment.setTargetId(listGroup.get(i).getTargetId());
msgFragment.setConversationType(listGroup.get(i).getConversationType()); msgFragment.setConversationType(listGroup.get(i).getConversationType());
} }
@ -147,9 +150,9 @@ public class GroupMsgActivity extends BaseActivity implements View.OnClickListen
msgListAdapter.notifyDataSetChanged(); msgListAdapter.notifyDataSetChanged();
tv_title.setText(list.get(integer).getName()); tv_title.setText(list.get(integer).getName());
msgFragment.setTargetId(list.get(integer).getConversation().getTargetId()); msgFragment.setTargetId(list.get(integer).getConversation().getTargetId());
groupId=list.get(integer).getConversation().getTargetId(); groupId = list.get(integer).getConversation().getTargetId();
msgFragment.setName(list.get(integer).getName()); msgFragment.setName(list.get(integer).getName());
groupName=list.get(integer).getName(); groupName = list.get(integer).getName();
msgFragment.setImgPath(list.get(integer).getImgPath()); msgFragment.setImgPath(list.get(integer).getImgPath());
msgFragment.setConversationType(list.get(integer).getConversation().getConversationType()); msgFragment.setConversationType(list.get(integer).getConversation().getConversationType());
LiveDataBus.get().with(Constants.GROUP_MSG_REFRESH_ITEM).postValue(""); LiveDataBus.get().with(Constants.GROUP_MSG_REFRESH_ITEM).postValue("");
@ -168,15 +171,15 @@ public class GroupMsgActivity extends BaseActivity implements View.OnClickListen
LiveDataBus.get().with(Constants.GROUP_DETAIL_SHOW, Integer.class).observe(this, new Observer<Integer>() { LiveDataBus.get().with(Constants.GROUP_DETAIL_SHOW, Integer.class).observe(this, new Observer<Integer>() {
@Override @Override
public void onChanged(Integer integer) { public void onChanged(Integer integer) {
iv_group.setVisibility(View.VISIBLE); iv_group.setVisibility(View.VISIBLE);
} }
}); });
} }
@Override @Override
public void onClick(View view) { public void onClick(View view) {
if(view.getId()==R.id.iv_group){ if (view.getId() == R.id.iv_group) {
GroupDetailActivity.StartActivity(GroupMsgActivity.this,groupId,groupName); GroupDetailActivity.StartActivity(GroupMsgActivity.this, groupId, groupName);
} }
} }
} }

@ -45,6 +45,9 @@ import java.util.List;
import io.rong.imlib.RongCoreClient; import io.rong.imlib.RongCoreClient;
import io.rong.imlib.RongIMClient; import io.rong.imlib.RongIMClient;
/**
* 首页
*/
public class HomeActivity extends BaseActivity implements View.OnFocusChangeListener, View.OnClickListener { public class HomeActivity extends BaseActivity implements View.OnFocusChangeListener, View.OnClickListener {
private ViewPager2 mViewPager; private ViewPager2 mViewPager;
private ArrayList<Fragment> fragments = new ArrayList<>(); private ArrayList<Fragment> fragments = new ArrayList<>();
@ -57,6 +60,7 @@ public class HomeActivity extends BaseActivity implements View.OnFocusChangeList
private ImageView iv_msg; private ImageView iv_msg;
private ImageView mIvNetwork; private ImageView mIvNetwork;
private NetworkChangeReceiver networkChangeReceiver; private NetworkChangeReceiver networkChangeReceiver;
public static void StartActivity(Context context) { public static void StartActivity(Context context) {
Intent intent = new Intent(context, HomeActivity.class); Intent intent = new Intent(context, HomeActivity.class);
context.startActivity(intent); context.startActivity(intent);
@ -71,7 +75,8 @@ public class HomeActivity extends BaseActivity implements View.OnFocusChangeList
initBroadCast(); initBroadCast();
initPermissions(); initPermissions();
} }
public void initPermissions(){
public void initPermissions() {
XXPermissions.with(HomeActivity.this) XXPermissions.with(HomeActivity.this)
// 申请单个权限 // 申请单个权限
.permission(Manifest.permission.CAMERA, Permission.RECORD_AUDIO) .permission(Manifest.permission.CAMERA, Permission.RECORD_AUDIO)
@ -100,6 +105,7 @@ public class HomeActivity extends BaseActivity implements View.OnFocusChangeList
} }
}); });
} }
class NetworkChangeReceiver extends BroadcastReceiver { class NetworkChangeReceiver extends BroadcastReceiver {
@Override @Override
public void onReceive(Context context, Intent intent) { public void onReceive(Context context, Intent intent) {
@ -122,12 +128,14 @@ public class HomeActivity extends BaseActivity implements View.OnFocusChangeList
} }
} }
} }
private void initBroadCast() { private void initBroadCast() {
IntentFilter intentFilter = new IntentFilter(); IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(ConnectivityManager.CONNECTIVITY_ACTION); intentFilter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
networkChangeReceiver = new NetworkChangeReceiver(); networkChangeReceiver = new NetworkChangeReceiver();
registerReceiver(networkChangeReceiver, intentFilter); registerReceiver(networkChangeReceiver, intentFilter);
} }
public void initView() { public void initView() {
fragments.add(new MyDoctorFragment()); fragments.add(new MyDoctorFragment());
tv_my_doctor = findViewById(R.id.tv_my_doctor); tv_my_doctor = findViewById(R.id.tv_my_doctor);
@ -141,7 +149,7 @@ public class HomeActivity extends BaseActivity implements View.OnFocusChangeList
tv_city.setOnClickListener(this); tv_city.setOnClickListener(this);
iv_msg = findViewById(R.id.iv_msg); iv_msg = findViewById(R.id.iv_msg);
iv_msg.setOnClickListener(this); iv_msg.setOnClickListener(this);
mIvNetwork=findViewById(R.id.iv_network); mIvNetwork = findViewById(R.id.iv_network);
tv_city.setText(CacheUtil.getIpAddress() == null ? "选择城市" : CacheUtil.getIpAddress().getMemo()); tv_city.setText(CacheUtil.getIpAddress() == null ? "选择城市" : CacheUtil.getIpAddress().getMemo());
iv_avatar = findViewById(R.id.iv_avatar); iv_avatar = findViewById(R.id.iv_avatar);
Glide.with(this) Glide.with(this)
@ -199,23 +207,25 @@ public class HomeActivity extends BaseActivity implements View.OnFocusChangeList
}); });
} }
public static boolean connectIsSuccess(Context context) { public static boolean connectIsSuccess(Context context) {
Log.i("TAG", "connectIsSuccess: ===================="+RongIMClient.getInstance() Log.i("TAG", "connectIsSuccess: ====================" + RongIMClient.getInstance()
.getCurrentConnectionStatus()); .getCurrentConnectionStatus());
if (!RongIMClient.getInstance() if (!RongIMClient.getInstance()
.getCurrentConnectionStatus() .getCurrentConnectionStatus()
.equals(RongIMClient.ConnectionStatusListener.ConnectionStatus.CONNECTED)) { .equals(RongIMClient.ConnectionStatusListener.ConnectionStatus.CONNECTED)) {
if(RongIMClient.getInstance() if (RongIMClient.getInstance()
.getCurrentConnectionStatus().equals(RongIMClient.ConnectionStatusListener.ConnectionStatus.CONNECTING)){ .getCurrentConnectionStatus().equals(RongIMClient.ConnectionStatusListener.ConnectionStatus.CONNECTING)) {
ToastUtils.showLong( "融云连接中"); ToastUtils.showLong("融云连接中");
return false; return false;
} }
ToastUtils.showLong( "融云未登录"); ToastUtils.showLong("融云未登录");
return false; return false;
} else { } else {
return true; return true;
} }
} }
@Override @Override
public void onFocusChange(View view, boolean b) { public void onFocusChange(View view, boolean b) {
if (view.getId() == R.id.tv_my_doctor) { if (view.getId() == R.id.tv_my_doctor) {
@ -254,7 +264,7 @@ public class HomeActivity extends BaseActivity implements View.OnFocusChangeList
} else if (view.getId() == R.id.tv_city) { } else if (view.getId() == R.id.tv_city) {
AddressSelectActivity.StartActivity(HomeActivity.this); AddressSelectActivity.StartActivity(HomeActivity.this);
} else if (view.getId() == R.id.iv_msg) { } else if (view.getId() == R.id.iv_msg) {
if(HomeActivity.connectIsSuccess(HomeActivity.this)) { if (HomeActivity.connectIsSuccess(HomeActivity.this)) {
MsgActivity.StartActivity(HomeActivity.this); MsgActivity.StartActivity(HomeActivity.this);
} }
} }

@ -22,9 +22,7 @@ import com.hjq.http.EasyHttp;
import com.hjq.http.listener.OnHttpListener; import com.hjq.http.listener.OnHttpListener;
import com.unionmed.unionmedtv.R; import com.unionmed.unionmedtv.R;
import com.unionmed.unionmedtv.adapter.HospitalAdapter; import com.unionmed.unionmedtv.adapter.HospitalAdapter;
import com.unionmed.unionmedtv.adapter.HospitalDetailAdapter;
import com.unionmed.unionmedtv.api.GetHospitalApi; import com.unionmed.unionmedtv.api.GetHospitalApi;
import com.unionmed.unionmedtv.api.GetNearDoctorApi;
import com.unionmed.unionmedtv.base.BaseActivity; import com.unionmed.unionmedtv.base.BaseActivity;
import com.unionmed.unionmedtv.network.ApiResponse; import com.unionmed.unionmedtv.network.ApiResponse;
import com.unionmed.unionmedtv.network.HttpData; import com.unionmed.unionmedtv.network.HttpData;
@ -39,6 +37,9 @@ import java.util.List;
import me.jessyan.autosize.utils.LogUtils; import me.jessyan.autosize.utils.LogUtils;
/**
* 附近医院
*/
public class HospitalActivity extends BaseActivity { public class HospitalActivity extends BaseActivity {
private RecyclerView recyclerView; private RecyclerView recyclerView;
private HospitalAdapter hospitalAdapter; private HospitalAdapter hospitalAdapter;

@ -5,56 +5,36 @@ import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import android.text.TextUtils; import android.text.TextUtils;
import android.view.View; import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView; import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.core.widget.NestedScrollView;
import androidx.leanback.widget.ArrayObjectAdapter;
import androidx.leanback.widget.FocusHighlight;
import androidx.leanback.widget.FocusHighlightHelper;
import androidx.leanback.widget.ItemBridgeAdapter;
import androidx.leanback.widget.Presenter;
import androidx.leanback.widget.VerticalGridView;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
import com.blankj.utilcode.util.ToastUtils; import com.blankj.utilcode.util.ToastUtils;
import com.bumptech.glide.Glide; import com.bumptech.glide.Glide;
import com.bumptech.glide.request.RequestOptions; import com.bumptech.glide.request.RequestOptions;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.listener.OnItemChildClickListener;
import com.hjq.http.EasyHttp; import com.hjq.http.EasyHttp;
import com.hjq.http.listener.OnHttpListener; import com.hjq.http.listener.OnHttpListener;
import com.unionmed.unionmedtv.R; import com.unionmed.unionmedtv.R;
import com.unionmed.unionmedtv.adapter.DoctorAdapter;
import com.unionmed.unionmedtv.adapter.HospitalDetailAdapter;
import com.unionmed.unionmedtv.adapter.HospitalDoctorAdapter; import com.unionmed.unionmedtv.adapter.HospitalDoctorAdapter;
import com.unionmed.unionmedtv.api.GetHospitalDetailApi; import com.unionmed.unionmedtv.api.GetHospitalDetailApi;
import com.unionmed.unionmedtv.api.GetNearDoctorApi;
import com.unionmed.unionmedtv.base.BaseActivity; import com.unionmed.unionmedtv.base.BaseActivity;
import com.unionmed.unionmedtv.network.ApiResponse; import com.unionmed.unionmedtv.network.ApiResponse;
import com.unionmed.unionmedtv.network.HttpData; import com.unionmed.unionmedtv.network.HttpData;
import com.unionmed.unionmedtv.presenter.TypeDoctorPresenter;
import com.unionmed.unionmedtv.presenter.TypeHospitalPresenter;
import com.unionmed.unionmedtv.utils.CacheUtil; import com.unionmed.unionmedtv.utils.CacheUtil;
import com.unionmed.unionmedtv.utils.FontDisplayUtil;
import com.unionmed.unionmedtv.utils.LinearSpacingItemDecoration; import com.unionmed.unionmedtv.utils.LinearSpacingItemDecoration;
import com.unionmed.unionmedtv.utils.MyGridLayoutManager; import com.unionmed.unionmedtv.utils.MyGridLayoutManager;
import com.unionmed.unionmedtv.utils.OnChildClickListener; import com.unionmed.unionmedtv.utils.OnChildClickListener;
import com.unionmed.unionmedtv.widgets.AppVerticalGridView;
import com.unionmed.unionmedtv.widgets.focus.MyItemBridgeAdapter;
import org.jetbrains.annotations.NotNull;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import me.jessyan.autosize.utils.LogUtils; import me.jessyan.autosize.utils.LogUtils;
/**
* 附近医院详情
*/
public class HospitalDetailActivity extends BaseActivity { public class HospitalDetailActivity extends BaseActivity {
private RecyclerView recyclerView; private RecyclerView recyclerView;
private HospitalDoctorAdapter doctorAdapter; private HospitalDoctorAdapter doctorAdapter;
@ -96,8 +76,8 @@ public class HospitalDetailActivity extends BaseActivity {
doctorAdapter = new HospitalDoctorAdapter(R.layout.item_type_doctor_layout, list, new OnChildClickListener() { doctorAdapter = new HospitalDoctorAdapter(R.layout.item_type_doctor_layout, list, new OnChildClickListener() {
@Override @Override
public <T> void onChildClick(View view, int position, T data) { public <T> void onChildClick(View view, int position, T data) {
GetHospitalDetailApi.DoctorsBean doctorsBean= (GetHospitalDetailApi.DoctorsBean) data; GetHospitalDetailApi.DoctorsBean doctorsBean = (GetHospitalDetailApi.DoctorsBean) data;
DoctorDetailActivity.StartActivity(HospitalDetailActivity.this,doctorsBean.getUseraccount()); DoctorDetailActivity.StartActivity(HospitalDetailActivity.this, doctorsBean.getUseraccount());
} }
}); });
recyclerView.setAdapter(doctorAdapter); recyclerView.setAdapter(doctorAdapter);

@ -54,6 +54,9 @@ import java.util.List;
import io.rong.imlib.RongIMClient; import io.rong.imlib.RongIMClient;
import io.rong.imlib.model.Conversation; import io.rong.imlib.model.Conversation;
/**
* 消息通知列表
*/
public class MsgActivity extends BaseActivity { public class MsgActivity extends BaseActivity {
private RecyclerView recyclerView; private RecyclerView recyclerView;
private MsgListAdapter msgListAdapter; private MsgListAdapter msgListAdapter;

@ -40,6 +40,9 @@ import io.rong.imlib.RongIMClient;
import io.rong.imlib.model.Conversation; import io.rong.imlib.model.Conversation;
import io.rong.imlib.model.Message; import io.rong.imlib.model.Message;
/**
* im消息详情列表
*/
public class MsgDetailActivity extends BaseActivity implements View.OnClickListener { public class MsgDetailActivity extends BaseActivity implements View.OnClickListener {
private RecyclerView recyclerView; private RecyclerView recyclerView;
private MsgItemAdapter msgItemAdapter; private MsgItemAdapter msgItemAdapter;
@ -49,6 +52,7 @@ public class MsgDetailActivity extends BaseActivity implements View.OnClickListe
private String groupId = ""; private String groupId = "";
private String groupName = ""; private String groupName = "";
private GroupMsgItemLinearLayoutManager msgItemLinearLayoutManager; private GroupMsgItemLinearLayoutManager msgItemLinearLayoutManager;
public static void StartActivity(Context context, String title, String groupId) { public static void StartActivity(Context context, String title, String groupId) {
Intent intent = new Intent(context, MsgDetailActivity.class); Intent intent = new Intent(context, MsgDetailActivity.class);
intent.putExtra("title", title); intent.putExtra("title", title);
@ -72,7 +76,7 @@ public class MsgDetailActivity extends BaseActivity implements View.OnClickListe
iv_group.setOnClickListener(this); iv_group.setOnClickListener(this);
iv_group.setVisibility(View.VISIBLE); iv_group.setVisibility(View.VISIBLE);
recyclerView = findViewById(R.id.recyclerView); recyclerView = findViewById(R.id.recyclerView);
msgItemLinearLayoutManager = new GroupMsgItemLinearLayoutManager(MsgDetailActivity.this); msgItemLinearLayoutManager = new GroupMsgItemLinearLayoutManager(MsgDetailActivity.this);
msgItemLinearLayoutManager.setLeftView(recyclerView); msgItemLinearLayoutManager.setLeftView(recyclerView);
msgItemLinearLayoutManager.setRightView(iv_group); msgItemLinearLayoutManager.setRightView(iv_group);
msgItemLinearLayoutManager.setRecyclerView(recyclerView); msgItemLinearLayoutManager.setRecyclerView(recyclerView);

@ -67,6 +67,9 @@ import io.rong.imlib.model.Conversation;
import io.rong.imlib.model.Message; import io.rong.imlib.model.Message;
import io.rong.imlib.model.UserInfo; import io.rong.imlib.model.UserInfo;
/**
* 视频通话界面
*/
public class VideoCallActivity extends BaseActivity implements View.OnClickListener { public class VideoCallActivity extends BaseActivity implements View.OnClickListener {
/** /**
* @param context * @param context

@ -23,6 +23,9 @@ import org.jetbrains.annotations.NotNull;
import java.util.List; import java.util.List;
/**
* 医生列表adapter
*/
public class DoctorAdapter extends BaseDelegateMultiAdapter<GetNearDoctorApi.DoctorInfo.MemberBean, BaseViewHolder> { public class DoctorAdapter extends BaseDelegateMultiAdapter<GetNearDoctorApi.DoctorInfo.MemberBean, BaseViewHolder> {
private OnChildClickListener onChildClickListener; private OnChildClickListener onChildClickListener;
@ -49,7 +52,7 @@ public class DoctorAdapter extends BaseDelegateMultiAdapter<GetNearDoctorApi.Doc
protected void convert(@NotNull BaseViewHolder vh, GetNearDoctorApi.DoctorInfo.MemberBean memberBean) { protected void convert(@NotNull BaseViewHolder vh, GetNearDoctorApi.DoctorInfo.MemberBean memberBean) {
if (vh.getItemViewType() == 0) { if (vh.getItemViewType() == 0) {
TextView tv_load_more =vh.findView(R.id.tv_load_more); TextView tv_load_more = vh.findView(R.id.tv_load_more);
} else { } else {
TextView tv_online_status = vh.getView(R.id.tv_online_status); TextView tv_online_status = vh.getView(R.id.tv_online_status);
int drawable; int drawable;

@ -36,6 +36,9 @@ import io.rong.imlib.model.UnknownMessage;
import io.rong.message.ImageMessage; import io.rong.message.ImageMessage;
import io.rong.message.TextMessage; import io.rong.message.TextMessage;
/**
* 群信息成员adaptr
*/
public class GroupItemAdapter extends BaseQuickAdapter<GroupMemberModel, BaseViewHolder> { public class GroupItemAdapter extends BaseQuickAdapter<GroupMemberModel, BaseViewHolder> {
public GroupItemAdapter(int layoutResId) { public GroupItemAdapter(int layoutResId) {

@ -42,6 +42,9 @@ import java.util.Map;
import io.rong.imlib.model.Conversation; import io.rong.imlib.model.Conversation;
/**
* 群列表左侧群名称adapter
*/
public class GroupMsgListAdapter extends BaseQuickAdapter<MyConversation, BaseViewHolder> { public class GroupMsgListAdapter extends BaseQuickAdapter<MyConversation, BaseViewHolder> {
private OnChildClickListener onChildClickListener; private OnChildClickListener onChildClickListener;
private int postion = 0; private int postion = 0;

@ -22,6 +22,9 @@ import org.jetbrains.annotations.NotNull;
import java.util.List; import java.util.List;
/**
* 医院列表adapter
*/
public class HospitalAdapter extends BaseDelegateMultiAdapter<GetHospitalApi.MemberBean, BaseViewHolder> { public class HospitalAdapter extends BaseDelegateMultiAdapter<GetHospitalApi.MemberBean, BaseViewHolder> {
private OnChildClickListener onChildClickListener; private OnChildClickListener onChildClickListener;

@ -1,102 +0,0 @@
package com.unionmed.unionmedtv.adapter;
import android.text.TextUtils;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.recyclerview.widget.RecyclerView;
import com.bumptech.glide.Glide;
import com.bumptech.glide.request.RequestOptions;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.viewholder.BaseViewHolder;
import com.unionmed.unionmedtv.R;
import com.unionmed.unionmedtv.api.GetNearDoctorApi;
import com.unionmed.unionmedtv.presenter.TypeDoctorPresenter;
import com.unionmed.unionmedtv.utils.OnChildClickListener;
import org.jetbrains.annotations.NotNull;
import java.util.List;
public class HospitalDetailAdapter extends BaseQuickAdapter<GetNearDoctorApi.DoctorInfo.MemberBean,BaseViewHolder>{
private OnChildClickListener onChildClickListener;
public HospitalDetailAdapter(int layoutResId, @Nullable List<GetNearDoctorApi.DoctorInfo.MemberBean> data, OnChildClickListener onChildClickListener) {
super(layoutResId, data);
this.onChildClickListener=onChildClickListener;
}
@Override
protected void convert(@NotNull BaseViewHolder vh, GetNearDoctorApi.DoctorInfo.MemberBean memberBean) {
TextView tv_online_status=vh.getView(R.id.tv_online_status);
int drawable;
if (memberBean.getOnline().equals("1")) {
tv_online_status.setText("在线");
tv_online_status.setBackground(getContext().getResources().getDrawable(R.drawable.shape_corner15_color_0bbac6));
drawable = R.mipmap.icon_default_online;
} else {
tv_online_status.setText("离线");
drawable = R.mipmap.icon_default_offline;
tv_online_status.setBackground(getContext().getResources().getDrawable(R.drawable.shape_corner15_color_9a9a9a));
}
ImageView iv_photo=vh.getView(R.id.iv_photo);
Glide.with(getContext())
.load(memberBean.getPhoto())
.apply(new RequestOptions()
.circleCrop()
.placeholder(drawable)
.circleCrop())
.into(iv_photo);
TextView tv_name=vh.getView(R.id.tv_name);
tv_name.setText(memberBean.getName());
TextView tv_dept=vh.getView(R.id.tv_dept);
if (!memberBean.getPersoninfo().isEmpty()) {
if (!TextUtils.isEmpty(memberBean.getPersoninfo().get(0).getDepartment())
&& !TextUtils.isEmpty(memberBean.getPersoninfo().get(0).getZc())) {//部门职称都不为null
tv_dept.setText(memberBean.getPersoninfo().get(0).getDepartment()
+ " | " + memberBean.getPersoninfo().get(0).getZc());
} else if (TextUtils.isEmpty(memberBean.getPersoninfo().get(0).getDepartment())
&& TextUtils.isEmpty(memberBean.getPersoninfo().get(0).getZc())) {//部门职称都为null
tv_dept.setText("- -");
} else if (!TextUtils.isEmpty(memberBean.getPersoninfo().get(0).getDepartment())
&& TextUtils.isEmpty(memberBean.getPersoninfo().get(0).getZc())) {//部门不为null,职称为null
tv_dept.setText(memberBean.getPersoninfo().get(0).getDepartment());
} else if (TextUtils.isEmpty(memberBean.getPersoninfo().get(0).getDepartment())
&& !TextUtils.isEmpty(memberBean.getPersoninfo().get(0).getZc())) {//部门为null,职称不为null
tv_dept.setText(memberBean.getPersoninfo().get(0).getZc());
}
} else {
tv_dept.setText("- -");
tv_dept.setText("- -");
}
TextView tv_hospital=vh.getView(R.id.tv_hospital);
tv_hospital.setText(memberBean.getPersoninfo().get(0).getChosname());
ImageView iv_sex=vh.getView(R.id.iv_sex);
if (memberBean.getSex().equals("男")) {
iv_sex.setImageDrawable(getContext().getResources().getDrawable(R.drawable.icon_sex_boy));
} else {
iv_sex.setImageDrawable(getContext().getResources().getDrawable(R.drawable.icon_sex_girl));
}
TextView tv_distance=vh.getView(R.id.tv_distance);
if (TextUtils.isEmpty(memberBean.getDistance())) {
tv_distance.setVisibility(View.GONE);
}else {
tv_distance.setVisibility(View.VISIBLE);
tv_distance.setText(memberBean.getDistance());
}
vh.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
onChildClickListener.onChildClick(view,vh.getLayoutPosition(),memberBean);
}
});
}
}

@ -22,6 +22,9 @@ import org.jetbrains.annotations.NotNull;
import java.util.List; import java.util.List;
/**
* 医院详情页面下医生列表adapter
*/
public class HospitalDoctorAdapter extends BaseQuickAdapter<GetHospitalDetailApi.DoctorsBean, BaseViewHolder> { public class HospitalDoctorAdapter extends BaseQuickAdapter<GetHospitalDetailApi.DoctorsBean, BaseViewHolder> {
private OnChildClickListener onChildClickListener; private OnChildClickListener onChildClickListener;

@ -62,6 +62,9 @@ import io.rong.imlib.model.UnknownMessage;
import io.rong.message.ImageMessage; import io.rong.message.ImageMessage;
import io.rong.message.TextMessage; import io.rong.message.TextMessage;
/**
* 消息详情列表adapter
*/
public class MsgItemAdapter extends BaseDelegateMultiAdapter<Message, BaseViewHolder> { public class MsgItemAdapter extends BaseDelegateMultiAdapter<Message, BaseViewHolder> {
private OnChildClickListener onChildClickListener; private OnChildClickListener onChildClickListener;
private String name; private String name;

@ -1,55 +1,34 @@
package com.unionmed.unionmedtv.adapter; package com.unionmed.unionmedtv.adapter;
import android.net.Uri;
import android.text.TextUtils;
import android.util.Log;
import android.view.View; import android.view.View;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.TextView; import android.widget.TextView;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.constraintlayout.widget.ConstraintLayout; import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.lifecycle.LifecycleOwner;
import com.blankj.utilcode.util.LogUtils; import com.blankj.utilcode.util.LogUtils;
import com.blankj.utilcode.util.ToastUtils; import com.blankj.utilcode.util.ToastUtils;
import com.bumptech.glide.Glide; import com.bumptech.glide.Glide;
import com.bumptech.glide.request.RequestOptions; import com.bumptech.glide.request.RequestOptions;
import com.chad.library.adapter.base.BaseDelegateMultiAdapter;
import com.chad.library.adapter.base.BaseQuickAdapter; import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.delegate.BaseMultiTypeDelegate;
import com.chad.library.adapter.base.viewholder.BaseViewHolder; import com.chad.library.adapter.base.viewholder.BaseViewHolder;
import com.hjq.http.EasyHttp;
import com.hjq.http.listener.OnHttpListener;
import com.unionmed.unionmedtv.R; import com.unionmed.unionmedtv.R;
import com.unionmed.unionmedtv.activity.MsgActivity;
import com.unionmed.unionmedtv.activity.VideoCallActivity;
import com.unionmed.unionmedtv.api.GetGroupInfo;
import com.unionmed.unionmedtv.api.GetImUserInfoApi;
import com.unionmed.unionmedtv.api.GetNearDoctorApi;
import com.unionmed.unionmedtv.bean.ImUserInfoBean; import com.unionmed.unionmedtv.bean.ImUserInfoBean;
import com.unionmed.unionmedtv.bean.MyConversation; import com.unionmed.unionmedtv.bean.MyConversation;
import com.unionmed.unionmedtv.livedatas.LiveDataBus; import com.unionmed.unionmedtv.livedatas.LiveDataBus;
import com.unionmed.unionmedtv.network.ApiResponse; import com.unionmed.unionmedtv.network.ApiResponse;
import com.unionmed.unionmedtv.network.HttpData; import com.unionmed.unionmedtv.network.HttpData;
import com.unionmed.unionmedtv.utils.CacheUtil;
import com.unionmed.unionmedtv.utils.Constants; import com.unionmed.unionmedtv.utils.Constants;
import com.unionmed.unionmedtv.utils.OnChildClickListener; import com.unionmed.unionmedtv.utils.OnChildClickListener;
import com.unionmed.unionmedtv.utils.UserInfoByServerUtil; import com.unionmed.unionmedtv.utils.UserInfoByServerUtil;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
import io.rong.imlib.model.Conversation; import io.rong.imlib.model.Conversation;
import io.rong.imlib.model.Group;
/**
* 消息通知左侧列表adapter
*/
public class MsgListAdapter extends BaseQuickAdapter<MyConversation, BaseViewHolder> { public class MsgListAdapter extends BaseQuickAdapter<MyConversation, BaseViewHolder> {
private OnChildClickListener onChildClickListener; private OnChildClickListener onChildClickListener;
private int postion = 0; private int postion = 0;

@ -26,12 +26,15 @@ import org.jetbrains.annotations.NotNull;
import java.util.List; import java.util.List;
/**
* 视频通话成员adapter
*/
public class RemoteAdapter extends BaseQuickAdapter<RemoteBean, BaseViewHolder> { public class RemoteAdapter extends BaseQuickAdapter<RemoteBean, BaseViewHolder> {
private OnChildClickListener onChildClickListener; private OnChildClickListener onChildClickListener;
public RemoteAdapter(int layoutResId,OnChildClickListener onChildClickListener) { public RemoteAdapter(int layoutResId, OnChildClickListener onChildClickListener) {
super(layoutResId); super(layoutResId);
this.onChildClickListener=onChildClickListener; this.onChildClickListener = onChildClickListener;
} }
@ -61,7 +64,7 @@ public class RemoteAdapter extends BaseQuickAdapter<RemoteBean, BaseViewHolder>
vh.itemView.setOnClickListener(new View.OnClickListener() { vh.itemView.setOnClickListener(new View.OnClickListener() {
@Override @Override
public void onClick(View view) { public void onClick(View view) {
onChildClickListener.onChildClick(view,vh.getLayoutPosition(),remoteBean); onChildClickListener.onChildClick(view, vh.getLayoutPosition(), remoteBean);
} }
}); });
} }

@ -30,7 +30,9 @@ import io.rong.imlib.RongIMClient;
import io.rong.imlib.model.Conversation; import io.rong.imlib.model.Conversation;
import io.rong.imlib.model.Message; import io.rong.imlib.model.Message;
/**
* 群消息右侧消息详情
*/
public class GroupMsgFragment extends Fragment implements View.OnClickListener { public class GroupMsgFragment extends Fragment implements View.OnClickListener {
private RecyclerView recyclerView; private RecyclerView recyclerView;
private MsgItemAdapter msgItemAdapter; private MsgItemAdapter msgItemAdapter;
@ -219,13 +221,13 @@ public class GroupMsgFragment extends Fragment implements View.OnClickListener {
@Override @Override
public void onClick(View view) { public void onClick(View view) {
if (view.getId() == R.id.tv_look) { if (view.getId() == R.id.tv_look) {
lin.setVisibility(View.GONE); lin.setVisibility(View.GONE);
lin.clearFocus(); lin.clearFocus();
recyclerView.setVisibility(View.VISIBLE); recyclerView.setVisibility(View.VISIBLE);
recyclerView.clearFocus(); recyclerView.clearFocus();
LmiotDialog.show(getActivity(), "获取聊天记录中"); LmiotDialog.show(getActivity(), "获取聊天记录中");
list.clear(); list.clear();
getRemoteHistory(); getRemoteHistory();
} }
} }
} }

@ -40,7 +40,9 @@ import io.rong.imlib.model.HistoryMessageOption;
import io.rong.imlib.model.Message; import io.rong.imlib.model.Message;
import io.rong.message.TextMessage; import io.rong.message.TextMessage;
/**
* 消息通知右侧详情
*/
public class MsgFragment extends Fragment implements View.OnClickListener { public class MsgFragment extends Fragment implements View.OnClickListener {
private RecyclerView recyclerView; private RecyclerView recyclerView;
private MsgItemAdapter msgItemAdapter; private MsgItemAdapter msgItemAdapter;

@ -42,7 +42,9 @@ import java.util.List;
import me.jessyan.autosize.utils.LogUtils; import me.jessyan.autosize.utils.LogUtils;
/**
* 首页我的医生
*/
public class MyDoctorFragment extends Fragment implements View.OnClickListener { public class MyDoctorFragment extends Fragment implements View.OnClickListener {
private RecyclerView recyclerView; private RecyclerView recyclerView;
private ContractedDoctorAdapter contractedDoctorAdapter; private ContractedDoctorAdapter contractedDoctorAdapter;
@ -55,6 +57,7 @@ public class MyDoctorFragment extends Fragment implements View.OnClickListener {
private int selectPostion = 0;//当前列表item点击位置 private int selectPostion = 0;//当前列表item点击位置
private ImgConstraintLayout constraint_doctor; private ImgConstraintLayout constraint_doctor;
private ImgConstraintLayout constraint_hospital; private ImgConstraintLayout constraint_hospital;
@Override @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_my_doctor, container, false); View view = inflater.inflate(R.layout.fragment_my_doctor, container, false);
@ -77,10 +80,10 @@ public class MyDoctorFragment extends Fragment implements View.OnClickListener {
DoctorDetailActivity.StartActivity(getActivity(), memberBean.getPersoninfo().get(0).getUseraccount()); DoctorDetailActivity.StartActivity(getActivity(), memberBean.getPersoninfo().get(0).getUseraccount());
} }
}); });
constraint_doctor=view.findViewById(R.id.constraint_doctor); constraint_doctor = view.findViewById(R.id.constraint_doctor);
constraint_doctor.setNextFocusLeftId(R.id.constraint_doctor); constraint_doctor.setNextFocusLeftId(R.id.constraint_doctor);
constraint_doctor.setOnClickListener(this); constraint_doctor.setOnClickListener(this);
constraint_hospital=view.findViewById(R.id.constraint_hospital); constraint_hospital = view.findViewById(R.id.constraint_hospital);
constraint_hospital.setOnClickListener(this); constraint_hospital.setOnClickListener(this);
recyclerView.setAdapter(contractedDoctorAdapter); recyclerView.setAdapter(contractedDoctorAdapter);
recyclerView.addItemDecoration(new LinearSpacingItemDecoration(getActivity(), 24)); recyclerView.addItemDecoration(new LinearSpacingItemDecoration(getActivity(), 24));
@ -96,12 +99,12 @@ public class MyDoctorFragment extends Fragment implements View.OnClickListener {
public void onHttpSuccess(HttpData<ApiResponse<GetContractedDoctorApi.DoctorInfo>> stringHttpData) { public void onHttpSuccess(HttpData<ApiResponse<GetContractedDoctorApi.DoctorInfo>> stringHttpData) {
LogUtils.e("成功:" + stringHttpData); LogUtils.e("成功:" + stringHttpData);
if (stringHttpData.isRequestSucceed()) { if (stringHttpData.isRequestSucceed()) {
if(stringHttpData.getData().isInnerRequestSucceed()){ if (stringHttpData.getData().isInnerRequestSucceed()) {
if(stringHttpData.getData().getData()==null){ if (stringHttpData.getData().getData() == null) {
return; return;
} }
List<GetContractedDoctorApi.DoctorInfo.MemberBean> doctorInfo = stringHttpData.getData().getData().getMember(); List<GetContractedDoctorApi.DoctorInfo.MemberBean> doctorInfo = stringHttpData.getData().getData().getMember();
if (doctorInfo.size()==0) { if (doctorInfo.size() == 0) {
tv_title.setVisibility(View.GONE); tv_title.setVisibility(View.GONE);
recyclerView.setVisibility(View.GONE); recyclerView.setVisibility(View.GONE);
return; return;

@ -36,7 +36,7 @@
<LinearLayout <LinearLayout
android:layout_width="275dp" android:layout_width="375dp"
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="#0B2D45" android:background="#0B2D45"
android:orientation="vertical"> android:orientation="vertical">

Loading…
Cancel
Save