From a780f0b8d0ccec90d359c0c554f07d5afde9554c Mon Sep 17 00:00:00 2001
From: 562935844@qq.com
Date: 星期二, 28 六月 2022 17:05:31 +0800
Subject: [PATCH] 代码同步

---
 HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/java/com/hdl/hdllinphonesdk/activity/HDLLinphoneIntercomActivity.java |   71 ++++++++++++++++++++++++++++++-----
 1 files changed, 61 insertions(+), 10 deletions(-)

diff --git a/HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/java/com/hdl/hdllinphonesdk/activity/HDLLinphoneIntercomActivity.java b/HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/java/com/hdl/hdllinphonesdk/activity/HDLLinphoneIntercomActivity.java
index 03679e5..40f0158 100644
--- a/HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/java/com/hdl/hdllinphonesdk/activity/HDLLinphoneIntercomActivity.java
+++ b/HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/java/com/hdl/hdllinphonesdk/activity/HDLLinphoneIntercomActivity.java
@@ -5,9 +5,12 @@
 import android.content.Intent;
 import android.content.IntentFilter;
 import android.graphics.Bitmap;
+import android.media.AudioAttributes;
+import android.os.Build;
 import android.os.Bundle;
 import android.os.CountDownTimer;
 import android.os.SystemClock;
+import android.os.Vibrator;
 import android.text.TextUtils;
 import android.util.DisplayMetrics;
 import android.util.Log;
@@ -60,11 +63,16 @@
     //鍙傛暟
     private boolean isAnswer;//鏄惁宸茬粡鎺ュ惉浜�
     private int callTime;//閫氳瘽鏃堕棿
-
+    //鍊掕鏃�
     private CountDownTimer mCountDownTimer;
+    /**
+     * 鎵嬫満鎸姩鍣�
+     */
+    private Vibrator mVibrator;
 
     //Linphone
     private CoreListenerStub mCoreListener;
+
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -79,6 +87,7 @@
         initCallBack();
         initCountDownTimer();
         initLinphone();
+        initVibrator();
 
     }
 
@@ -88,17 +97,22 @@
     @Override
     protected void onDestroy() {
         super.onDestroy();
-
+        //1.鎸傛柇
+        HDLLinphoneKit.getInstance().hangUp();
+        //2.鏆傚仠璁℃椂
         if (null != timer_lp_calltime) {
             timer_lp_calltime.stop();
         }
-
+        //3.娉ㄩ攢callBack
         HDLLinphoneKit.getInstance().setOpenOpenDoorCallBack(null);
-
+        //4.鍙栨秷闇囧姩鍣�
+        cancelVibrator();
+        //5.
         if (mCountDownTimer != null) {
             mCountDownTimer.cancel();
             mCountDownTimer = null;
         }
+        //5.
         onDestroyLinphone();
 
         HDLLog.i(TAG, "onDestroy");
@@ -125,6 +139,9 @@
         timer_lp_calltime = (Chronometer) findViewById(R.id.timer_lp_calltime);
         tv_lp_calltime = findViewById(R.id.tv_lp_calltime);
         setWidthHeightWithRatio(ll_video_lp_rendering, 16, 9);
+
+        iv_lp_screenshot.setEnabled(false);
+        iv_lp_unlock.setEnabled(false);
     }
 
     /**
@@ -196,7 +213,6 @@
             @Override
             public void onTick(long millisUntilFinished) {
                 if (!HDLLinphoneIntercomActivity.this.isFinishing()) {
-
                 }
             }
 
@@ -205,12 +221,9 @@
              */
             @Override
             public void onFinish() {
-//                showToast("寮�閿乷nFinish");
                 iv_lp_unlock.setEnabled(true);
             }
-
         };
-//
     }
 
     @Override
@@ -245,7 +258,6 @@
             showToast(getString(R.string.lp_operationFailedStr));
         }
     }
-
 
     /**
      * 寮�閿佺偣鍑讳簨浠�
@@ -284,6 +296,9 @@
     private void onClickAnswer() {
         //1.鎺ュ惉
         HDLLinphoneKit.getInstance().acceptCall();
+        //2.鍙栨秷闇囧姩
+        cancelVibrator();
+        //3.淇敼UI
         isAnswer = true;
         tv_lp_hangUp.setText(getString(R.string.lp_hangupStr));
         setViewGone(rl_lp_answerView);
@@ -294,6 +309,9 @@
         if (HDLLinphoneKit.getInstance().getOnHDLLinphoneCallListener() != null) {
             HDLLinphoneKit.getInstance().getOnHDLLinphoneCallListener().onAnswerAction();
         }
+
+        iv_lp_screenshot.setEnabled(true);
+        iv_lp_unlock.setEnabled(true);
     }
 
     /****************寮�閿佹垚鍔�********/
@@ -381,13 +399,15 @@
             core.setNativePreviewWindowId(video_lp_rendering2);
             // Listen for call state changes
             core.addListener(mCoreListener);
+            core.enableMic(true);//寮�鍚害鍏嬮
         }
+
     }
 
     /**
      * onDestroyLinphone
      */
-    void onDestroyLinphone(){
+    void onDestroyLinphone() {
         Core core = HDLLinphoneKit.getInstance().getCore();
         if (core != null) {
             core.removeListener(mCoreListener);
@@ -398,5 +418,36 @@
         video_lp_rendering2 = null;
     }
 
+    /**
+     * 鍒濆鍖栭渿鍔ㄥ櫒
+     */
+    void initVibrator() {
+        mVibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
+        if (mVibrator.hasVibrator()) {
+            long[] patern = {0, 1000, 1000};
+            AudioAttributes audioAttributes = null;
+            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
+                audioAttributes = new AudioAttributes.Builder()
+                        .setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION)
+                        .setUsage(AudioAttributes.USAGE_NOTIFICATION_RINGTONE) //key
+                        .build();
+                mVibrator.vibrate(patern, 1, audioAttributes);
+            } else {
+                mVibrator.vibrate(patern, 1);
+            }
+        } else {
+            HDLLog.E("褰撳墠鎵嬫満娌℃湁闇囧姩鍣�");
+        }
+    }
 
+    /**
+     * 鍏抽棴闇囧姩鍣�
+     */
+    void cancelVibrator() {
+        if (mVibrator != null) {
+            mVibrator.cancel();
+            mVibrator = null;
+        }
+
+    }
 }
\ No newline at end of file

--
Gitblit v1.8.0