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" />