소스 검색

腕表优化

weizhengliang 1 년 전
부모
커밋
9f22fce041

+ 3 - 0
android_mobile/src/main/yd_watch_2/AndroidManifest.xml

@@ -22,6 +22,9 @@
     <uses-permission android:name="android.permission.WRITE_CALL_LOG" />
     <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/>
 
+    <uses-permission android:name="android.permission.WAKE_LOCK" />
+    <uses-permission android:name="android.permission.DEVICE_POWER"/>
+
     <application
         android:allowBackup="true"
         android:supportsRtl="true">

+ 37 - 0
android_mobile/src/main/yd_watch_2/code/com/wdkl/ncs/android/component/home/activity/NewCallListActivity.kt

@@ -6,6 +6,7 @@ import android.os.Bundle
 import android.util.Log
 import android.view.View
 import android.widget.TextView
+import androidx.recyclerview.widget.ItemTouchHelper
 import androidx.recyclerview.widget.RecyclerView
 import com.alibaba.android.vlayout.DelegateAdapter
 import com.alibaba.android.vlayout.VirtualLayoutManager
@@ -29,9 +30,11 @@ import com.wdkl.ncs.android.middleware.common.Constants
 import com.wdkl.ncs.android.middleware.model.vo.InteractionVO
 import com.wdkl.ncs.android.middleware.tcp.TcpClient
 import com.wdkl.ncs.android.middleware.tcp.channel.DeviceChannel
+import com.wdkl.ncs.android.middleware.tcp.channel.OtherUtil
 import com.wdkl.ncs.android.middleware.tcp.channel.VoiceUtil
 import com.wdkl.ncs.android.middleware.tcp.dto.TcpModel
 import com.wdkl.ncs.android.middleware.tcp.enums.DeviceTypeEnum
+import com.wdkl.ncs.android.middleware.tcp.enums.TcpAction
 import org.greenrobot.eventbus.EventBus
 import org.greenrobot.eventbus.Subscribe
 import org.greenrobot.eventbus.ThreadMode
@@ -73,6 +76,38 @@ class NewCallListActivity : BaseToolActivity(), NewCallItemAdapter.CallClickList
         recyclerView.layoutManager = virtualLayoutManager
         recyclerView.adapter = delegateAdapter
 
+        //滑动消除
+        /*val touchCallback: ItemTouchHelper.Callback =
+            object : ItemTouchHelper.SimpleCallback(0, ItemTouchHelper.LEFT or ItemTouchHelper.RIGHT) {
+                override fun onMove(
+                    recyclerView: RecyclerView,
+                    viewHolder: RecyclerView.ViewHolder,
+                    target: RecyclerView.ViewHolder
+                ): Boolean {
+                    return false
+                }
+
+                override fun onSwiped(
+                    viewHolder: RecyclerView.ViewHolder,
+                    direction: Int
+                ) {
+                    //停止铃声及语音播报
+                    SpeechUtil.getInstance().stopSpeak()
+                    RingPlayHelper.stopRingTone()
+
+                    val pos = viewHolder.adapterPosition
+                    val tcpModel = adapter.data.get(pos)
+                    val interactionVO = Gson().fromJson(tcpModel.data.toString(), InteractionVO::class.java)
+                    val callTcp = VoiceUtil.voiceReject(tcpModel.tid, Constants.deviceId, interactionVO.fromDeviceId, interactionVO.id)
+                    TcpClient.getInstance().sendMsg(callTcp.toJson())
+
+                    //移除该条呼叫
+                    removeCall(interactionVO)
+                }
+            }
+        val itemTouchHelper = ItemTouchHelper(touchCallback)
+        itemTouchHelper.attachToRecyclerView(recyclerView)*/
+
         //ring up
         RingPlayHelper.playRingTone(BaseApplication.appContext, R.raw.ring_tone, true)
 
@@ -81,6 +116,7 @@ class NewCallListActivity : BaseToolActivity(), NewCallItemAdapter.CallClickList
         if (Constants.supportCall) {
             adapter.setOnItemClickListener { data, position ->
                 SpeechUtil.getInstance().stopSpeak()
+                RingPlayHelper.stopRingTone()
                 val interactionVO = Gson().fromJson(data.data.toString(), InteractionVO::class.java)
                 var roomId: String
                 if (interactionVO.fromDeviceType == DeviceTypeEnum.SIMULATE_BED_DEVICE.value()) {
@@ -119,6 +155,7 @@ class NewCallListActivity : BaseToolActivity(), NewCallItemAdapter.CallClickList
         } else {
             adapter.setOnItemClickListener { data, position ->
                 SpeechUtil.getInstance().stopSpeak()
+                RingPlayHelper.stopRingTone()
                 val interactionVO = Gson().fromJson(data.data.toString(), InteractionVO::class.java)
                 val callTcp = VoiceUtil.voiceReject(data.tid, Constants.deviceId, interactionVO.fromDeviceId, interactionVO.id)
                 TcpClient.getInstance().sendMsg(callTcp.toJson())

+ 0 - 4
android_mobile/src/main/yd_watch_2/code/com/wdkl/ncs/android/component/home/activity/WatchHome2Activity.kt

@@ -10,8 +10,6 @@ import android.os.Build
 import android.os.Bundle
 import android.os.CountDownTimer
 import android.provider.Settings
-import android.telephony.PhoneStateListener
-import android.telephony.SignalStrength
 import android.telephony.TelephonyManager
 import android.text.TextUtils
 import android.util.Log
@@ -21,7 +19,6 @@ import com.enation.javashop.net.engine.plugin.permission.RxPermissions
 import com.enation.javashop.utils.base.tool.CommonTool
 import com.enation.javashop.utils.base.widget.LoadingDialog
 import com.google.common.base.Strings
-import com.wdkl.ncs.android.component.home.BuildConfig
 import com.wdkl.ncs.android.component.home.R
 import com.wdkl.ncs.android.component.home.broadcast.BatteryBroadcastReceiver
 import com.wdkl.ncs.android.component.home.broadcast.MyMediaButtonReceiver
@@ -63,7 +60,6 @@ import org.greenrobot.eventbus.ThreadMode
 import org.linphone.core.AccountCreator
 import org.linphone.core.TransportType
 import java.util.*
-import kotlin.collections.ArrayList
 
 //@Router(path = "/watch/home")
 class WatchHome2Activity : BaseActivity<WatchHomeActivityPresenter, WatchActivityHome2Binding>(), WatchHomeActivityContract.View, View.OnClickListener {

+ 2 - 0
android_mobile/src/main/yd_watch_2/code/com/wdkl/ncs/android/component/home/ui/BaseCallActivity.java

@@ -14,6 +14,7 @@ public abstract class BaseCallActivity extends AppCompatActivity {
     public static final String EXTRA_AUDIO_ONLY = "audioOnly";
     public static final String EXTRA_TCPMODEL = "tcpModel";
     public static final String EXTRA_SHOWNAME = "showName";
+    public static final String EXTRA_RING = "ring";
 
     TcpModel recTcpModel;
     String showName;
@@ -21,6 +22,7 @@ public abstract class BaseCallActivity extends AppCompatActivity {
     boolean callConnected = false;
     //振动
     Vibrator mVibrator;
+    boolean ringUp = true;
 
     abstract public void callOutSuccess(TcpModel tcpModel);
 

+ 3 - 1
android_mobile/src/main/yd_watch_2/code/com/wdkl/ncs/android/component/home/ui/BaseSipCallFragment.java

@@ -122,7 +122,9 @@ public abstract class BaseSipCallFragment extends Fragment {
         if (isOutgoing) {
             RingPlayHelper.playRingTone(BaseApplication.appContext, R.raw.ring_back2, true);
         } else {
-            RingPlayHelper.playRingTone(BaseApplication.appContext, R.raw.ring_tone, true);
+            if (callActivity.ringUp) {
+                RingPlayHelper.playRingTone(BaseApplication.appContext, R.raw.ring_tone, true);
+            }
         }
     }
 

+ 0 - 1
android_mobile/src/main/yd_watch_2/code/com/wdkl/ncs/android/component/home/ui/CallSingleActivity.java

@@ -62,7 +62,6 @@ import pub.devrel.easypermissions.EasyPermissions;
  */
 public class CallSingleActivity extends BaseCallActivity {
 
-    public static final String EXTRA_RING = "ring";
     private static final String TAG = "CallSingleActivity";
 
     private boolean isOutgoing;

+ 1 - 1
android_mobile/src/main/yd_watch_2/code/com/wdkl/ncs/android/component/home/ui/FragmentAudio.java

@@ -140,7 +140,7 @@ public class FragmentAudio extends SingleCallFragment implements View.OnClickLis
                     showName = interactionVO.getFromFrameFullName() + " " + interactionVO.getFromMemberName();
                     portraitImageView.setImageResource(R.drawable.face_customer);
 
-                    if (!isOutgoing /*&& Constants.Companion.getUserRoleName().contains("护士") || Constants.Companion.getUserRoleName().contains("组长")*/) {
+                    if (!isOutgoing) {
                         //transLinearLayout.setVisibility(View.VISIBLE);
                         hangupLinearLayout.setVisibility(View.VISIBLE);
                     }

+ 3 - 3
android_mobile/src/main/yd_watch_2/code/com/wdkl/ncs/android/component/home/ui/FragmentSipAudio.java

@@ -147,8 +147,7 @@ public class FragmentSipAudio extends BaseSipCallFragment implements View.OnClic
                     portraitImageView.setImageResource(R.drawable.face_customer);
 
                     if (!isOutgoing) {
-                        if (Constants.Companion.getRoleId() != null
-                            /*&& (Constants.Companion.getRoleId() == RoleTypeEnum.NURSE.value() || Constants.Companion.getRoleId() == RoleTypeEnum.NURSE_HEAD.value())*/) {
+                        /*if (Constants.Companion.getRoleId() != null) {
                             if (interactionVO.getFromDeviceType() == DeviceTypeEnum.DIGIT_BED_DEVICE.value()
                             || interactionVO.getFromDeviceType() == DeviceTypeEnum.SIMULATE_BED_DEVICE.value()) {
                                 //客户分机呼叫只能接听或转接,禁用拒接
@@ -156,7 +155,8 @@ public class FragmentSipAudio extends BaseSipCallFragment implements View.OnClic
                             } else {
                                 hangupLinearLayout.setVisibility(View.VISIBLE);
                             }
-                        }
+                        }*/
+                        hangupLinearLayout.setVisibility(View.VISIBLE);
                     }
                 }
                 //是同事

+ 3 - 2
android_mobile/src/main/yd_watch_2/code/com/wdkl/ncs/android/component/home/ui/SipCallActivity.java

@@ -109,6 +109,7 @@ public class SipCallActivity extends BaseCallActivity {
         isAudioOnly = intent.getBooleanExtra(EXTRA_AUDIO_ONLY,true);
         recTcpModel = (TcpModel) intent.getSerializableExtra(EXTRA_TCPMODEL);
         showName = intent.getStringExtra(EXTRA_SHOWNAME);
+        ringUp = intent.getBooleanExtra(EXTRA_RING, true);
 
         if (recTcpModel !=null && recTcpModel.getData() != null) {
             Log.d(TAG, recTcpModel.toJson());
@@ -205,14 +206,14 @@ public class SipCallActivity extends BaseCallActivity {
                     .replace(R.id.fragment_content, fragment)
                     .commitAllowingStateLoss();
 
-        if (!isOutgoing) {
+        /*if (!isOutgoing) {
             long[] pattern = new long[]{100L, 2000L, 1000L, 2000L, 1000L, 2000L};
             if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
                 mVibrator.vibrate(VibrationEffect.createWaveform(pattern, -1));
             } else {
                 mVibrator.vibrate(pattern, -1);
             }
-        }
+        }*/
     }
 
     @Override