From 1b11947cc15245ae005a7cc8cc2f93c5660b0c23 Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期五, 20 八月 2021 17:17:43 +0800
Subject: [PATCH] 2021-08-20 1.优化更新
---
HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/java/com/hdl/hdllinphonesdk/activity/HDLLinphoneMonitorActivity.java | 59 ++++++++++----
HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/res/values-zh/strings.xml | 1
HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/res/values/strings.xml | 1
HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/java/com/hdl/hdllinphonesdk/activity/HDLLinphoneIntercomActivity.java | 104 ++++++++++++++++---------
HDLLinphoneSDKDemoNew/app/src/main/java/com/example/hdllinphonesdkdemo/MainActivity.java | 29 +++++--
Shared.Droid.HDLLinphone/Shared.Droid.HDLLinphone/Properties/AssemblyInfo.cs | 4
HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/java/com/hdl/hdllinphonesdk/HDLLinphoneKit.java | 6 -
Shared.Droid.HDLLinphone/Shared.Droid.HDLLinphone/Jars/HDLLinphoneSDK-V1.0.1.aar | 0
HDLLinphoneSDKDemoNew/app/libs/HDLLinphoneSDK-V1.0.1.aar | 0
9 files changed, 135 insertions(+), 69 deletions(-)
diff --git a/HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/java/com/hdl/hdllinphonesdk/HDLLinphoneKit.java b/HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/java/com/hdl/hdllinphonesdk/HDLLinphoneKit.java
index ce44248..a421c7a 100644
--- a/HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/java/com/hdl/hdllinphonesdk/HDLLinphoneKit.java
+++ b/HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/java/com/hdl/hdllinphonesdk/HDLLinphoneKit.java
@@ -150,7 +150,7 @@
@Override
public void callEnd() {
super.callEnd();
- context.sendBroadcast(new Intent(HDLLinphoneIntercomActivity.RECEIVE_FINISH_VIDEO_ACTIVITY));
+// context.sendBroadcast(new Intent(HDLLinphoneIntercomActivity.RECEIVE_FINISH_VIDEO_ACTIVITY));
}
});
@@ -275,9 +275,6 @@
config.done();
}
}
- core.clearAllAuthInfo();//娓呴櫎鎵�鏈夎璇佷俊鎭��
-
-// core.clearProxyConfig();//浠庨厤缃腑鍒犻櫎鎵�鏈変唬鐞嗐�傛敞鎰忥細鐩墠涓嶈兘鐩存帴鍒犳墍鏈変唬鐞嗭紝鍥犱负鏈嶅姟鍣ㄤ笂杩樻槸鏍囪宸叉敞鍐�
}
} catch (Exception e) {
e.printStackTrace();
@@ -290,6 +287,7 @@
public void clearProxyConfig(){
Core core = HDLLinphoneService.getCore();
if (core != null) {
+ core.setDefaultProxyConfig(null);
core.clearAllAuthInfo();//娓呴櫎鎵�鏈夎璇佷俊鎭��
core.clearProxyConfig();//浠庨厤缃腑鍒犻櫎鎵�鏈変唬鐞嗐��
}
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 fc949ce..03679e5 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
@@ -28,6 +28,10 @@
import com.hdl.hdllinphonesdk.utils.HDLImageUtils;
import com.hdl.hdllinphonesdk.utils.HDLLog;
+import org.linphone.core.Call;
+import org.linphone.core.Core;
+import org.linphone.core.CoreListenerStub;
+
/**
* Linphone鎺ュ惉椤甸潰
*/
@@ -49,8 +53,8 @@
private LinearLayout ll_video_lp_rendering;
private TextureView video_lp_rendering;
private TextureView video_lp_rendering2;
-// private TextView tv_lp_calltime;
- private Chronometer timer_lp_calltime ;
+ // private TextView tv_lp_calltime;
+ private Chronometer timer_lp_calltime;
private TextView tv_lp_calltime;
//鍙傛暟
@@ -58,6 +62,9 @@
private int callTime;//閫氳瘽鏃堕棿
private CountDownTimer mCountDownTimer;
+
+ //Linphone
+ private CoreListenerStub mCoreListener;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -92,13 +99,9 @@
mCountDownTimer.cancel();
mCountDownTimer = null;
}
+ onDestroyLinphone();
- if (mReceiver != null) {
- unregisterReceiver(mReceiver);
- }
- HDLLinphoneKit.getInstance().onDestroy();
-
- HDLLog.i(TAG,"onDestroy");
+ HDLLog.i(TAG, "onDestroy");
}
@@ -119,19 +122,19 @@
video_lp_rendering = findViewById(R.id.video_lp_rendering);
video_lp_rendering2 = findViewById(R.id.video_lp_rendering2);
// tv_lp_calltime = findViewById(R.id.tv_lp_calltime);
- timer_lp_calltime = (Chronometer)findViewById(R.id.timer_lp_calltime);
+ 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);
+ setWidthHeightWithRatio(ll_video_lp_rendering, 16, 9);
}
/**
* initData
*/
- private void initData(){
+ private void initData() {
Bundle extras = getIntent().getExtras();
- if(extras != null){
- String titleName = extras.getString(HDLLinphoneKit.KEY_TITLE_NAME);
- if(!TextUtils.isEmpty(titleName)){
+ if (extras != null) {
+ String titleName = extras.getString(HDLLinphoneKit.KEY_TITLE_NAME);
+ if (!TextUtils.isEmpty(titleName)) {
tv_lp_title.setText(titleName);
}
}
@@ -154,6 +157,7 @@
view.setLayoutParams(layoutParams);
}
}
+
/**
* init OnClickListener
*/
@@ -169,7 +173,7 @@
/**
* 鍒濆鍖栧紑闂ㄥ洖璋冧簨浠�
*/
- void initCallBack(){
+ void initCallBack() {
HDLLinphoneKit.getInstance().setOpenOpenDoorCallBack(new OnLPOpenDoorCallBack() {
@Override
public void onOpenSuccess() {
@@ -186,9 +190,9 @@
/**
* 鍒濆鍖栧紑閿佸睆钄藉�掕鏃�
*/
- void initCountDownTimer(){
+ void initCountDownTimer() {
- mCountDownTimer = new CountDownTimer(10*1000, 1000) {
+ mCountDownTimer = new CountDownTimer(10 * 1000, 1000) {
@Override
public void onTick(long millisUntilFinished) {
if (!HDLLinphoneIntercomActivity.this.isFinishing()) {
@@ -233,15 +237,14 @@
private void onClickScreenshot() {
// Bitmap img = HDLImageUtils.createViewBitmap(video_lp_rendering);
Bitmap img = video_lp_rendering.getBitmap();
- boolean isSuccess = HDLImageUtils.saveImageToGallery(this, img);
+ boolean isSuccess = HDLImageUtils.saveImageToGallery(this, img);
- if(isSuccess){
+ if (isSuccess) {
showToast(getString(R.string.lp_saveToTheAlbumsStr));
- }else {
+ } else {
showToast(getString(R.string.lp_operationFailedStr));
}
}
-
/**
@@ -264,7 +267,7 @@
if (isAnswer) {
//濡傛灉涔嬪墠宸茬粡鎺ュ惉浜嗭紝鍥炶皟鏄寕鏂�
callTime = getTimerCallTime();
- HDLLog.i("callTime","callTime"+callTime);
+ HDLLog.i("callTime", "callTime" + callTime);
HDLLinphoneKit.getInstance().getOnHDLLinphoneCallListener().onHangUpAction(callTime);
} else {
//濡傛灉涔嬪墠娌℃帴鍚簡锛屽洖璋冩槸鎷掓帴
@@ -304,12 +307,14 @@
iv_lp_unlock.setEnabled(false);
startOpenDoorCountdown();
}
+
/**
* 寮�鍚�掕鏃�
*/
void startOpenDoorCountdown() {
mCountDownTimer.start();
}
+
/**
* 閫氳瘽璁板綍寮�鍚�掕鏃�
*/
@@ -317,12 +322,12 @@
timer_lp_calltime.setBase(SystemClock.elapsedRealtime());//璁℃椂鍣ㄦ竻闆�
timer_lp_calltime.start();
}
- int getTimerCallTime(){
+
+ int getTimerCallTime() {
int temp0 = Integer.parseInt(timer_lp_calltime.getText().toString().split(":")[0]);
- int temp1 =Integer.parseInt(timer_lp_calltime.getText().toString().split(":")[1]);
+ int temp1 = Integer.parseInt(timer_lp_calltime.getText().toString().split(":")[1]);
return temp0 * 60 + temp1;
}
-
/****************灏佽甯哥敤鏂规硶********/
@@ -352,23 +357,46 @@
}
/**********LinPhone**********/
- void initLinphone(){
- IntentFilter intentFilter = new IntentFilter(RECEIVE_FINISH_VIDEO_ACTIVITY);
- mReceiver = new FinishVideoActivityReceiver();
- registerReceiver(mReceiver, intentFilter);
- HDLLinphoneKit.getInstance().setAndroidVideoWindow(video_lp_rendering, video_lp_rendering2);
- }
+ /**
+ * initLinphone
+ */
+ void initLinphone() {
+ mCoreListener = new CoreListenerStub() {
+ @Override
+ public void onCallStateChanged(Core core, Call call, Call.State state, String message) {
+ if (state == Call.State.End || state == Call.State.Released) {
+ // Once call is finished (end state), terminate the activity
+ // We also check for released state (called a few seconds later) just in case
+ // we missed the first one
+ showToast(getString(R.string.lp_endOfCallStr));
+ finish();
+ }
+ }
+ };
-
- public class FinishVideoActivityReceiver extends BroadcastReceiver {
- @Override
- public void onReceive(Context context, Intent intent) {
- HDLLinphoneIntercomActivity.this.finish();
+ Core core = HDLLinphoneKit.getInstance().getCore();
+ // We need to tell the core in which to display what
+ if (core != null) {
+ core.setNativeVideoWindowId(video_lp_rendering);
+ core.setNativePreviewWindowId(video_lp_rendering2);
+ // Listen for call state changes
+ core.addListener(mCoreListener);
}
}
- private FinishVideoActivityReceiver mReceiver;
- public static final String RECEIVE_FINISH_VIDEO_ACTIVITY = "receive_finish_video_activity";
+ /**
+ * onDestroyLinphone
+ */
+ void onDestroyLinphone(){
+ Core core = HDLLinphoneKit.getInstance().getCore();
+ if (core != null) {
+ core.removeListener(mCoreListener);
+ core.setNativeVideoWindowId(null);
+ core.setNativePreviewWindowId(null);
+ }
+ video_lp_rendering = null;
+ video_lp_rendering2 = null;
+ }
}
\ No newline at end of file
diff --git a/HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/java/com/hdl/hdllinphonesdk/activity/HDLLinphoneMonitorActivity.java b/HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/java/com/hdl/hdllinphonesdk/activity/HDLLinphoneMonitorActivity.java
index a5c8cb3..5b86194 100644
--- a/HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/java/com/hdl/hdllinphonesdk/activity/HDLLinphoneMonitorActivity.java
+++ b/HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/java/com/hdl/hdllinphonesdk/activity/HDLLinphoneMonitorActivity.java
@@ -27,6 +27,10 @@
import com.hdl.hdllinphonesdk.utils.HDLImageUtils;
import com.hdl.hdllinphonesdk.utils.HDLLog;
+import org.linphone.core.Call;
+import org.linphone.core.Core;
+import org.linphone.core.CoreListenerStub;
+
/**
*鐩戣椤甸潰
*/
@@ -47,6 +51,9 @@
private TextureView video_lp_rendering2;
private CountDownTimer mCountDownTimer;
+
+ //Linphone
+ private CoreListenerStub mCoreListener;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -79,10 +86,7 @@
mCountDownTimer = null;
}
- if (mReceiver != null) {
- unregisterReceiver(mReceiver);
- }
- HDLLinphoneKit.getInstance().onDestroy();
+ onDestroyLinphone();
HDLLog.i(TAG,"onDestroy");
@@ -287,23 +291,44 @@
}
/**********LinPhone**********/
- void initLinphone(){
- IntentFilter intentFilter = new IntentFilter(RECEIVE_FINISH_VIDEO_ACTIVITY);
- mReceiver = new HDLLinphoneMonitorActivity.FinishVideoActivityReceiver();
- registerReceiver(mReceiver, intentFilter);
- HDLLinphoneKit.getInstance().setAndroidVideoWindow(video_lp_rendering, video_lp_rendering2);
+ /**
+ * initLinphone
+ */
+ void initLinphone() {
+ mCoreListener = new CoreListenerStub() {
+ @Override
+ public void onCallStateChanged(Core core, Call call, Call.State state, String message) {
+ if (state == Call.State.End || state == Call.State.Released) {
+ // Once call is finished (end state), terminate the activity
+ // We also check for released state (called a few seconds later) just in case
+ // we missed the first one
+ showToast(getString(R.string.lp_endMonitoringStr));
+ finish();
+ }
+ }
+ };
+
+ Core core = HDLLinphoneKit.getInstance().getCore();
+ // We need to tell the core in which to display what
+ if (core != null) {
+ core.setNativeVideoWindowId(video_lp_rendering);
+ core.setNativePreviewWindowId(video_lp_rendering2);
+ // Listen for call state changes
+ core.addListener(mCoreListener);
+ }
}
/**
- * 椤甸潰鍏抽棴骞挎挱鐩戝惉
+ * onDestroyLinphone
*/
- public class FinishVideoActivityReceiver extends BroadcastReceiver {
- @Override
- public void onReceive(Context context, Intent intent) {
- HDLLinphoneMonitorActivity.this.finish();
+ void onDestroyLinphone(){
+ Core core = HDLLinphoneKit.getInstance().getCore();
+ if (core != null) {
+ core.removeListener(mCoreListener);
+ core.setNativeVideoWindowId(null);
+ core.setNativePreviewWindowId(null);
}
+ video_lp_rendering = null;
+ video_lp_rendering2 = null;
}
- private HDLLinphoneMonitorActivity.FinishVideoActivityReceiver mReceiver;
- public static final String RECEIVE_FINISH_VIDEO_ACTIVITY = "receive_finish_video_activity";
-
}
\ No newline at end of file
diff --git a/HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/res/values-zh/strings.xml b/HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/res/values-zh/strings.xml
index b7c194e..d0ee279 100644
--- a/HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/res/values-zh/strings.xml
+++ b/HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/res/values-zh/strings.xml
@@ -12,6 +12,7 @@
<string name="lp_unlockfailureStr">寮�閿佸け璐�</string>
<string name="lp_callingStr">鏉ョ數涓�...</string>
<string name="lp_endOfCallStr">閫氳瘽缁撴潫</string>
+ <string name="lp_endMonitoringStr">鐩戣缁撴潫</string>
<string name="lp_screenshotStr">鎴浘</string>
<string name="lp_unlockStr">寮�閿�</string>
<string name="lp_outdoorUnitStr">瀹ゅ鏈�</string>
diff --git a/HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/res/values/strings.xml b/HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/res/values/strings.xml
index 66a6997..8269c55 100644
--- a/HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/res/values/strings.xml
+++ b/HDLLinphoneSDKDemoNew/HDLLinphoneSDK/src/main/res/values/strings.xml
@@ -11,6 +11,7 @@
<string name="lp_unlockfailureStr">Unlock failure</string>
<string name="lp_callingStr">Incoming call</string>
<string name="lp_endOfCallStr">End of call</string>
+ <string name="lp_endMonitoringStr">End of the monitor</string>
<string name="lp_screenshotStr">Screenshot</string>
<string name="lp_unlockStr">Unlock</string>
<string name="lp_outdoorUnitStr">Outdoor unit</string>
diff --git a/HDLLinphoneSDKDemoNew/app/libs/HDLLinphoneSDK-V1.0.1.aar b/HDLLinphoneSDKDemoNew/app/libs/HDLLinphoneSDK-V1.0.1.aar
index f9b1d2e..8bb3e19 100644
--- a/HDLLinphoneSDKDemoNew/app/libs/HDLLinphoneSDK-V1.0.1.aar
+++ b/HDLLinphoneSDKDemoNew/app/libs/HDLLinphoneSDK-V1.0.1.aar
Binary files differ
diff --git a/HDLLinphoneSDKDemoNew/app/src/main/java/com/example/hdllinphonesdkdemo/MainActivity.java b/HDLLinphoneSDKDemoNew/app/src/main/java/com/example/hdllinphonesdkdemo/MainActivity.java
index f17663c..ab92dee 100644
--- a/HDLLinphoneSDKDemoNew/app/src/main/java/com/example/hdllinphonesdkdemo/MainActivity.java
+++ b/HDLLinphoneSDKDemoNew/app/src/main/java/com/example/hdllinphonesdkdemo/MainActivity.java
@@ -66,6 +66,7 @@
mTextView4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
+ clearProxyConfig();
HDLLinphoneKit.getInstance().setAccountAndLogin("5555", "85521566", "test-gz.hdlcontrol.com:5060");
}
});
@@ -74,12 +75,12 @@
@Override
public void onClick(View v) {
- logoutLog();
- return;
-//// HDLLinphoneKit.getInstance().callTo("61723164995779",true);
-//// HDLcallTo("61723164995779",true);
-// HDLLinphoneKit.getInstance().callTo("1427186301744910338",true);
-// startActivity(HDLLinphoneMonitorActivity.class);
+// logoutLog();
+// return;
+// HDLLinphoneKit.getInstance().callTo("61723164995779",true);
+// HDLcallTo("61723164995779",true);
+ HDLLinphoneKit.getInstance().callTo("1427186301744910338",true);
+ startActivity(HDLLinphoneMonitorActivity.class);
}
@@ -88,7 +89,7 @@
mTextView3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- HDLLinphoneKit.getInstance().logout();
+ logout();
}
});
@@ -115,7 +116,7 @@
config.done();
}
}
- core.clearAllAuthInfo();//娓呴櫎鎵�鏈夎璇佷俊鎭��
+// core.clearAllAuthInfo();//娓呴櫎鎵�鏈夎璇佷俊鎭��
// core.clearProxyConfig();//浠庨厤缃腑鍒犻櫎鎵�鏈変唬鐞嗐��
}
} catch (Exception e) {
@@ -123,6 +124,18 @@
}
}
+ public void clearProxyConfig() {
+ Core core = HDLLinphoneService.getCore();
+ if (core != null) {
+ core.setDefaultProxyConfig(null);
+ core.clearAllAuthInfo();
+ core.clearProxyConfig();
+// core.refreshRegisters();//寮哄埗鍦ㄤ笅涓�娆¤凯浠f椂鍚姩娉ㄥ唽鍒锋柊
+// core.ensureRegistered();
+ }
+
+ }
+
public void logoutLog() {
try {
Core core = HDLLinphoneService.getCore();
diff --git a/Shared.Droid.HDLLinphone/Shared.Droid.HDLLinphone/Jars/HDLLinphoneSDK-V1.0.1.aar b/Shared.Droid.HDLLinphone/Shared.Droid.HDLLinphone/Jars/HDLLinphoneSDK-V1.0.1.aar
index f9b1d2e..638dc95 100644
--- a/Shared.Droid.HDLLinphone/Shared.Droid.HDLLinphone/Jars/HDLLinphoneSDK-V1.0.1.aar
+++ b/Shared.Droid.HDLLinphone/Shared.Droid.HDLLinphone/Jars/HDLLinphoneSDK-V1.0.1.aar
Binary files differ
diff --git a/Shared.Droid.HDLLinphone/Shared.Droid.HDLLinphone/Properties/AssemblyInfo.cs b/Shared.Droid.HDLLinphone/Shared.Droid.HDLLinphone/Properties/AssemblyInfo.cs
index b8df56d..c883909 100644
--- a/Shared.Droid.HDLLinphone/Shared.Droid.HDLLinphone/Properties/AssemblyInfo.cs
+++ b/Shared.Droid.HDLLinphone/Shared.Droid.HDLLinphone/Properties/AssemblyInfo.cs
@@ -22,5 +22,5 @@
// Minor Version
// Build Number
// Revision
-[assembly: AssemblyVersion("1.0.1.3")]
-[assembly: AssemblyFileVersion("1.0.1.3")]
+[assembly: AssemblyVersion("1.0.1.5")]
+[assembly: AssemblyFileVersion("1.0.1.5")]
--
Gitblit v1.8.0