From 4fed3a9ff5791e73226b006b34b8da5f29e51fae Mon Sep 17 00:00:00 2001 From: linminjie <1004644107@qq.com> Date: Fri, 7 Jul 2023 17:30:09 +0800 Subject: [PATCH] =?UTF-8?q?ui=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../unionmedtv/activity/DoctorDetailActivity.java | 19 +++--- .../unionmed/unionmedtv/activity/HomeActivity.java | 66 +++++++++++++++++---- .../activity/HospitalDetailActivity.java | 2 +- .../unionmed/unionmedtv/activity/MsgActivity.java | 20 +++++++ .../unionmedtv/adapter/HospitalAdapter.java | 2 +- .../unionmedtv/adapter/HospitalDoctorAdapter.java | 15 ++++- .../unionmedtv/api/GetHospitalDetailApi.java | 9 +++ .../unionmedtv/application/MyApplication.java | 7 ++- .../com/unionmed/unionmedtv/bean/RemoteBean.java | 2 +- .../unionmedtv/fragment/MyDoctorFragment.java | 33 ++--------- .../unionmedtv/login/activity/LoginActivity.java | 30 +++++++--- app/src/main/res/drawable/bg_focus_10.xml | 14 +---- app/src/main/res/drawable/bg_focus_20.xml | 12 ++++ app/src/main/res/drawable/bg_focus_selector_20.xml | 4 ++ app/src/main/res/layout/activity_doctor_detail.xml | 3 +- .../main/res/layout/activity_hospital_detail.xml | 13 ++-- app/src/main/res/layout/activity_video_call.xml | 42 +++++++------ app/src/main/res/layout/fragment_my_doctor.xml | 13 ++-- .../main/res/layout/item_msg_image_left_layout.xml | 2 + .../res/layout/item_msg_image_right_layout.xml | 2 + .../main/res/layout/item_msg_order_left_layout.xml | 2 + .../res/layout/item_msg_order_right_layout.xml | 2 + .../main/res/layout/item_msg_text_left_layout.xml | 2 + .../main/res/layout/item_msg_text_right_layout.xml | 2 + .../main/res/layout/item_type_doctor_layout.xml | 1 + .../main/res/layout/item_type_hospital_layout.xml | 3 +- .../mipmap-xhdpi/icon_doctor_detail_default.png | Bin 0 -> 16739 bytes .../mipmap-xhdpi/icon_hospital_detail_default.png | Bin 0 -> 16529 bytes 28 files changed, 219 insertions(+), 103 deletions(-) create mode 100644 app/src/main/res/drawable/bg_focus_20.xml create mode 100644 app/src/main/res/drawable/bg_focus_selector_20.xml create mode 100644 app/src/main/res/mipmap-xhdpi/icon_doctor_detail_default.png create mode 100644 app/src/main/res/mipmap-xhdpi/icon_hospital_detail_default.png diff --git a/app/src/main/java/com/unionmed/unionmedtv/activity/DoctorDetailActivity.java b/app/src/main/java/com/unionmed/unionmedtv/activity/DoctorDetailActivity.java index 3fdd871..877511c 100644 --- a/app/src/main/java/com/unionmed/unionmedtv/activity/DoctorDetailActivity.java +++ b/app/src/main/java/com/unionmed/unionmedtv/activity/DoctorDetailActivity.java @@ -99,7 +99,7 @@ public class DoctorDetailActivity extends BaseActivity implements View.OnClickLi Glide.with(DoctorDetailActivity.this) .load(infoBean.getPhoto()) .apply(new RequestOptions() - .placeholder(R.color.white_e1e1e1) + .placeholder(R.mipmap.icon_doctor_detail_default) ) .into(iv_image); imAccount = infoBean.getIm_useraccount(); @@ -125,7 +125,13 @@ public class DoctorDetailActivity extends BaseActivity implements View.OnClickLi } //所属医院 tv_affiliation_hospital.setText("所属医院: " + choscodeInfoBean.getChosname()); - tv_doctor_brief.setText("医生简介: " + choscodeInfoBean.getJj()); + if (TextUtils.isEmpty(choscodeInfoBean.getJj()) + ||choscodeInfoBean.getJj().equals("null")) { + tv_doctor_brief.setText("医生简介: 暂无医生简介"); + } else { + tv_doctor_brief.setText("医生简介: " + choscodeInfoBean.getJj()); + } + //医院等级 if (!TextUtils.isEmpty(choscodeInfoBean.getLevelname())) { tv_grade.setVisibility(View.VISIBLE); @@ -135,7 +141,6 @@ public class DoctorDetailActivity extends BaseActivity implements View.OnClickLi } } else { tv_dept.setText("- -"); - tv_dept.setText("- -"); tv_grade.setVisibility(View.GONE); } @@ -155,7 +160,7 @@ public class DoctorDetailActivity extends BaseActivity implements View.OnClickLi if (view.getId() == R.id.lin_video) { // 被叫用户 Id String targetId = imAccount; - if(targetId.equals(CacheUtil.getImUserAccount())){ + if (targetId.equals(CacheUtil.getImUserAccount())) { ToastUtils.showShort("不能向自己发起视频"); return; } @@ -178,7 +183,7 @@ public class DoctorDetailActivity extends BaseActivity implements View.OnClickLi // toast("获取部分权限成功,但部分权限未正常授予"); return; } - if (checkCamera()) { + if (checkCamera(DoctorDetailActivity.this)) { List pKeys = new ArrayList<>(); pKeys.add(targetId); EasyHttp.post(DoctorDetailActivity.this) @@ -224,8 +229,8 @@ public class DoctorDetailActivity extends BaseActivity implements View.OnClickLi } } - public boolean checkCamera() { - CameraManager cameraManager = (CameraManager) getSystemService(Context.CAMERA_SERVICE); + public static boolean checkCamera(Context context) { + CameraManager cameraManager = (CameraManager) context.getSystemService(Context.CAMERA_SERVICE); try { String[] cameraIds = cameraManager.getCameraIdList(); if (cameraIds.length > 0) { diff --git a/app/src/main/java/com/unionmed/unionmedtv/activity/HomeActivity.java b/app/src/main/java/com/unionmed/unionmedtv/activity/HomeActivity.java index 9f0c502..694e69f 100644 --- a/app/src/main/java/com/unionmed/unionmedtv/activity/HomeActivity.java +++ b/app/src/main/java/com/unionmed/unionmedtv/activity/HomeActivity.java @@ -1,7 +1,11 @@ package com.unionmed.unionmedtv.activity; +import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; +import android.content.IntentFilter; +import android.net.ConnectivityManager; +import android.net.NetworkInfo; import android.os.Bundle; import android.util.Log; import android.view.KeyEvent; @@ -43,7 +47,8 @@ public class HomeActivity extends BaseActivity implements View.OnFocusChangeList private TextView tv_name; private TextView tv_city; private ImageView iv_msg; - + private ImageView mIvNetwork; + private NetworkChangeReceiver networkChangeReceiver; public static void StartActivity(Context context) { Intent intent = new Intent(context, HomeActivity.class); context.startActivity(intent); @@ -55,8 +60,36 @@ public class HomeActivity extends BaseActivity implements View.OnFocusChangeList setContentView(R.layout.activity_home); initView(); imConnect(); + initBroadCast(); + } + class NetworkChangeReceiver extends BroadcastReceiver { + @Override + public void onReceive(Context context, Intent intent) { + ConnectivityManager connectivityManager = + (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); + NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo(); + if (networkInfo != null && networkInfo.isAvailable()) { + switch (networkInfo.getType()) { + case ConnectivityManager.TYPE_ETHERNET://以太网连接的网络类型 + mIvNetwork.setImageResource(R.drawable.ethernet); + break; + case ConnectivityManager.TYPE_WIFI: + mIvNetwork.setImageResource(R.drawable.wifi); + break; + default: + break; + } + } else { + mIvNetwork.setImageResource(R.drawable.no_net); + } + } + } + private void initBroadCast() { + IntentFilter intentFilter = new IntentFilter(); + intentFilter.addAction(ConnectivityManager.CONNECTIVITY_ACTION); + networkChangeReceiver = new NetworkChangeReceiver(); + registerReceiver(networkChangeReceiver, intentFilter); } - public void initView() { fragments.add(new MyDoctorFragment()); tv_my_doctor = findViewById(R.id.tv_my_doctor); @@ -70,6 +103,7 @@ public class HomeActivity extends BaseActivity implements View.OnFocusChangeList tv_city.setOnClickListener(this); iv_msg = findViewById(R.id.iv_msg); iv_msg.setOnClickListener(this); + mIvNetwork=findViewById(R.id.iv_network); tv_city.setText(CacheUtil.getIpAddress() == null ? "选择城市" : CacheUtil.getIpAddress().getMemo()); iv_avatar = findViewById(R.id.iv_avatar); Glide.with(this) @@ -173,14 +207,26 @@ public class HomeActivity extends BaseActivity implements View.OnFocusChangeList @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { - if (System.currentTimeMillis() - exitTime > 2000) { - ToastUtils.showLong("在按一次退出程序"); - exitTime = System.currentTimeMillis(); - } else { - finish(); - System.exit(0); - } - return false; + new XPopup.Builder(HomeActivity.this).isRequestFocus(true).dismissOnBackPressed(false).asCustom(new TipDialog(HomeActivity.this, "是否退出APP", new TipDialog.DialogClick() { + @Override + public void cancel() { + + } + + @Override + public void confirm() { + finish(); + System.exit(0); + } + })).show(); + return true; +// if (System.currentTimeMillis() - exitTime > 2000) { +// ToastUtils.showLong("在按一次退出程序"); +// exitTime = System.currentTimeMillis(); +// } else { +// finish(); +// System.exit(0); +// } } return super.onKeyDown(keyCode, event); } diff --git a/app/src/main/java/com/unionmed/unionmedtv/activity/HospitalDetailActivity.java b/app/src/main/java/com/unionmed/unionmedtv/activity/HospitalDetailActivity.java index 3531df3..fe3d019 100644 --- a/app/src/main/java/com/unionmed/unionmedtv/activity/HospitalDetailActivity.java +++ b/app/src/main/java/com/unionmed/unionmedtv/activity/HospitalDetailActivity.java @@ -120,7 +120,7 @@ public class HospitalDetailActivity extends BaseActivity { .load(data.getChosPhoto()) .apply(new RequestOptions() .circleCrop() - .placeholder(R.color.white_e1e1e1) + .placeholder(R.mipmap.icon_hospital_detail_default) .circleCrop()) .into(iv_image); if (TextUtils.isEmpty(data.getLevelName())) { diff --git a/app/src/main/java/com/unionmed/unionmedtv/activity/MsgActivity.java b/app/src/main/java/com/unionmed/unionmedtv/activity/MsgActivity.java index e89a9c0..a421ca6 100644 --- a/app/src/main/java/com/unionmed/unionmedtv/activity/MsgActivity.java +++ b/app/src/main/java/com/unionmed/unionmedtv/activity/MsgActivity.java @@ -3,6 +3,7 @@ package com.unionmed.unionmedtv.activity; import android.content.Context; import android.content.Intent; import android.os.Bundle; +import android.util.Log; import android.view.View; import android.widget.FrameLayout; import android.widget.TextView; @@ -36,6 +37,9 @@ import org.jetbrains.annotations.NotNull; import java.util.ArrayList; import java.util.List; +import io.rong.imlib.RongIMClient; +import io.rong.imlib.model.Conversation; + public class MsgActivity extends BaseActivity { private RecyclerView recyclerView; private MsgListAdapter msgListAdapter; @@ -61,6 +65,22 @@ public class MsgActivity extends BaseActivity { tv_title = findViewById(R.id.tv_title); MyLinearLayoutManager myLinearLayoutManager = new MyLinearLayoutManager(MsgActivity.this); recyclerView.setLayoutManager(myLinearLayoutManager); +// Conversation.ConversationType[] conversationTypes = {Conversation.ConversationType.PRIVATE, Conversation.ConversationType.GROUP}; +// RongIMClient.getInstance().getConversationListByPage(new RongIMClient. +// ResultCallback>() { +// +// @Override +// public void onSuccess(List conversations) { +// for (int i=0;i list = new ArrayList<>(); private ImageView iv_doctor; private ImageView iv_hospital; + private TextView tv_title; private int startNum = 0; private int endNum = 10; private int selectPostion = 0;//当前列表item点击位置 @@ -62,6 +64,7 @@ public class MyDoctorFragment extends Fragment implements View.OnClickListener { private void initView(View view) { recyclerView = view.findViewById(R.id.recyclerView); + tv_title = view.findViewById(R.id.tv_title); MyGridLayoutManager gridLayoutManager = new MyGridLayoutManager(getActivity(), 4); recyclerView.setLayoutManager(gridLayoutManager); contractedDoctorAdapter = new ContractedDoctorAdapter(R.layout.item_type_doctor_layout, list, new OnChildClickListener() { @@ -74,40 +77,12 @@ public class MyDoctorFragment extends Fragment implements View.OnClickListener { } }); constraint_doctor=view.findViewById(R.id.constraint_doctor); - View v=getActivity().findViewById(R.id.tv_my_doctor); constraint_doctor.setNextFocusLeftId(R.id.constraint_doctor); constraint_doctor.setOnClickListener(this); constraint_hospital=view.findViewById(R.id.constraint_hospital); constraint_hospital.setOnClickListener(this); recyclerView.setAdapter(contractedDoctorAdapter); recyclerView.addItemDecoration(new LinearSpacingItemDecoration(getActivity(), 24)); -// iv_doctor.setOnFocusChangeListener(new View.OnFocusChangeListener() { -// @Override -// public void onFocusChange(View v, boolean hasFocus) { -// if (hasFocus) { -// // 获取最后一个控件的位置 -// Rect rect = new Rect(); -// iv_doctor.getGlobalVisibleRect(rect); -// -// // 按下方向键时,如果焦点将离开最后一个控件,则阻止焦点失去 -// iv_doctor.setOnKeyListener(new View.OnKeyListener() { -// @Override -// public boolean onKey(View v, int keyCode, KeyEvent event) { -// if (keyCode == KeyEvent.KEYCODE_DPAD_DOWN && event.getAction() == KeyEvent.ACTION_DOWN) { -// View nextView = iv_doctor.focusSearch(View.FOCUS_DOWN); -// if (nextView == null) { -// return true; -// } -// } -// return false; -// } -// }); -// } else { -// // 移除OnKeyListener,以便在此控件上正常使用 -// iv_doctor.setOnKeyListener(null); -// } -// } -// }); } public void loadData() { @@ -123,9 +98,11 @@ public class MyDoctorFragment extends Fragment implements View.OnClickListener { if(stringHttpData.getData().isInnerRequestSucceed()){ List doctorInfo = stringHttpData.getData().getData().getMember(); if (doctorInfo.size()==0) { + tv_title.setVisibility(View.GONE); recyclerView.setVisibility(View.GONE); return; } + tv_title.setVisibility(View.VISIBLE); recyclerView.setVisibility(View.VISIBLE); list.addAll(doctorInfo); contractedDoctorAdapter.notifyDataSetChanged(); diff --git a/app/src/main/java/com/unionmed/unionmedtv/login/activity/LoginActivity.java b/app/src/main/java/com/unionmed/unionmedtv/login/activity/LoginActivity.java index f137ff7..5d75114 100644 --- a/app/src/main/java/com/unionmed/unionmedtv/login/activity/LoginActivity.java +++ b/app/src/main/java/com/unionmed/unionmedtv/login/activity/LoginActivity.java @@ -32,10 +32,12 @@ import com.hjq.http.listener.OnHttpListener; import com.hjq.permissions.OnPermissionCallback; import com.hjq.permissions.Permission; import com.hjq.permissions.XXPermissions; +import com.lxj.xpopup.XPopup; import com.unionmed.unionmedtv.R; import com.unionmed.unionmedtv.activity.HomeActivity; import com.unionmed.unionmedtv.activity.MainActivity; import com.unionmed.unionmedtv.api.LocationApi; +import com.unionmed.unionmedtv.dialog.TipDialog; import com.unionmed.unionmedtv.login.activity.fragment.LoginPhoneFragment; import com.unionmed.unionmedtv.network.ApiResponse; import com.unionmed.unionmedtv.network.HttpData; @@ -111,14 +113,26 @@ public class LoginActivity extends FragmentActivity { @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { - if (System.currentTimeMillis() - exitTime > 2000) { - ToastUtils.showLong("在按一次退出程序"); - exitTime=System.currentTimeMillis(); - } else { - finish(); - System.exit(0); - } - return false; +// if (System.currentTimeMillis() - exitTime > 2000) { +// ToastUtils.showLong("在按一次退出程序"); +// exitTime=System.currentTimeMillis(); +// } else { +// finish(); +// System.exit(0); +// } + new XPopup.Builder(LoginActivity.this).isRequestFocus(true).dismissOnBackPressed(false).asCustom(new TipDialog(LoginActivity.this, "是否退出APP", new TipDialog.DialogClick() { + @Override + public void cancel() { + + } + + @Override + public void confirm() { + finish(); + System.exit(0); + } + })).show(); + return true; } return super.onKeyDown(keyCode, event); } diff --git a/app/src/main/res/drawable/bg_focus_10.xml b/app/src/main/res/drawable/bg_focus_10.xml index d6992d4..071d118 100644 --- a/app/src/main/res/drawable/bg_focus_10.xml +++ b/app/src/main/res/drawable/bg_focus_10.xml @@ -3,22 +3,10 @@ - - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_focus_20.xml b/app/src/main/res/drawable/bg_focus_20.xml new file mode 100644 index 0000000..5947d17 --- /dev/null +++ b/app/src/main/res/drawable/bg_focus_20.xml @@ -0,0 +1,12 @@ + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_focus_selector_20.xml b/app/src/main/res/drawable/bg_focus_selector_20.xml new file mode 100644 index 0000000..4b673d4 --- /dev/null +++ b/app/src/main/res/drawable/bg_focus_selector_20.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_doctor_detail.xml b/app/src/main/res/layout/activity_doctor_detail.xml index 3c374dd..d9132a9 100644 --- a/app/src/main/res/layout/activity_doctor_detail.xml +++ b/app/src/main/res/layout/activity_doctor_detail.xml @@ -46,7 +46,7 @@ android:layout_marginLeft="93dp" android:layout_marginTop="35dp" android:scaleType="centerCrop" - android:src="@color/design_default_color_background" /> + android:src="@mipmap/icon_doctor_detail_default" /> + android:src="@mipmap/icon_hospital_detail_default" /> @@ -92,7 +93,7 @@ android:layout_below="@+id/tv_contact_type" android:layout_alignLeft="@+id/tv_name" android:layout_marginTop="16dp" - android:text="医院地址:福建省福州市新权路29号" + tools:text="医院地址:福建省福州市新权路29号" android:textColor="@color/grey_c0cbd1" android:textSize="16sp" /> @@ -104,7 +105,7 @@ android:layout_alignLeft="@+id/tv_name" android:layout_marginTop="16dp" android:layout_marginRight="80dp" - android:text="医院简介:教协和医院(又名Wilis F. Pierce Memorial Hospital),为创建于1860年的福州圣教医院与创建于1877年的福州马高爱医院合并而成,为八闽现代医学的发" + tools:text="医院简介:教协和医院(又名Wilis F. Pierce Memorial Hospital),为创建于1860年的福州圣教医院与创建于1877年的福州马高爱医院合并而成,为八闽现代医学的发" android:textColor="@color/grey_c0cbd1" android:textSize="16sp" /> diff --git a/app/src/main/res/layout/activity_video_call.xml b/app/src/main/res/layout/activity_video_call.xml index 42c1861..7d6ca7b 100644 --- a/app/src/main/res/layout/activity_video_call.xml +++ b/app/src/main/res/layout/activity_video_call.xml @@ -69,11 +69,16 @@ app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent"> @@ -81,10 +86,6 @@ android:id="@+id/iv_camera" android:layout_width="80dp" android:layout_height="80dp" - android:background="@drawable/bg_focus_selector_10" - android:clickable="true" - android:focusable="true" - android:focusableInTouchMode="true" android:src="@mipmap/icon_camera_on" /> @@ -99,19 +100,20 @@ @@ -127,9 +129,14 @@ @@ -137,10 +144,6 @@ android:id="@+id/iv_hang_up" android:layout_width="80dp" android:layout_height="80dp" - android:background="@drawable/bg_focus_selector_10" - android:clickable="true" - android:focusable="true" - android:focusableInTouchMode="true" android:src="@mipmap/icon_hang_up" /> @@ -190,6 +194,8 @@ android:id="@+id/recyclerView" app:layout_constraintTop_toTopOf="parent" app:layout_constraintRight_toRightOf="parent" + android:focusable="false" + android:focusableInTouchMode="false" android:layout_width="200dp" android:layout_height="match_parent"/> \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_my_doctor.xml b/app/src/main/res/layout/fragment_my_doctor.xml index 9b14755..acc6dda 100644 --- a/app/src/main/res/layout/fragment_my_doctor.xml +++ b/app/src/main/res/layout/fragment_my_doctor.xml @@ -24,10 +24,11 @@ android:id="@+id/constraint_doctor" style="@style/FocusStyle" android:layout_width="0dp" - android:layout_height="190dp" + android:layout_height="185dp" android:layout_margin="10dp" android:nextFocusLeft="@null" - android:layout_weight="1"> + android:layout_weight="1" + > @@ -99,7 +100,7 @@ + android:src="@mipmap/icon_hospital_detail_default" /> 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 R{%QgSTvioUCT;fm{{f3VNzDKN literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xhdpi/icon_hospital_detail_default.png b/app/src/main/res/mipmap-xhdpi/icon_hospital_detail_default.png new file mode 100644 index 0000000000000000000000000000000000000000..ea876e53e5947d1194a293575140376de1a7a609 GIT binary patch literal 16529 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