Skip to content

Commit 1885007

Browse files
committed
更新xp2p sdk版本到2.4.53
1 parent 3e08a69 commit 1885007

File tree

20 files changed

+2489
-2107
lines changed

20 files changed

+2489
-2107
lines changed

sdk/video-link-android/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ android {
1010
buildToolsVersion "30.0.2"
1111

1212
defaultConfig {
13-
minSdkVersion 24
13+
minSdkVersion 21
1414
targetSdkVersion 29
1515
versionCode 1
1616
versionName "1.0"
@@ -53,7 +53,7 @@ dependencies {
5353
// changing = true
5454
// }
5555
// api 'com.tencent.iot.thirdparty.android:xp2p-sdk:2.4.23'
56-
api 'com.tencent.iot.thirdparty.android:xp2p-sdk:2.4.52'
56+
api 'com.tencent.iot.thirdparty.android:xp2p-sdk:2.4.53'
5757
api 'com.tencent.iot.thirdparty.android:media-server:1.0.7'
5858
api 'io.github.sundoggynew:iot-soundtouch:1.0.0'
5959
api 'io.github.sundoggynew:iot-voice-changer:1.0.0'

sdk/video-link-android/src/main/java/com/tencent/iot/video/link/service/VideoBaseService.kt

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,21 @@ open class VideoBaseService(secretId: String, secretKey: String) {
160160
param, headerParams, callback, VideoRequestCode.video_describe_product)
161161
}
162162

163+
fun getDeviceXp2pInfo(productId: String,deviceName:String, callback: VideoCallback) {
164+
var headerParams = videoCommonHeaderParams("DescribeP2PInfo", "2021-11-25")
165+
val param = TreeMap<String, Any>()
166+
param["ProductId"] = productId
167+
param["DeviceName"] = deviceName
168+
169+
val authorization = sign(VideoHttpUtil.VIDEO_SERVICE, headerParams, param)
170+
if (authorization != null) {
171+
headerParams["Authorization"] = authorization
172+
}
173+
basePost(VideoHttpUtil.VIDEO_SERVICE + VideoHttpUtil.REST_HOST_URL,
174+
param, headerParams, callback, VideoRequestCode.video_describe_product)
175+
}
176+
177+
163178
fun getVideoBaseUrl(productId: String, devName: String, callback: VideoCallback) {
164179
var headerParams = videoCommonHeaderParams("DescribeCloudStorageVideoUrl")
165180
val param = TreeMap<String, Any>()

sdkdemo/src/main/AndroidManifest.xml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -58,25 +58,25 @@
5858
<activity android:name=".video.VideoWlanDetectActivity" />
5959
<activity android:name=".video.preview.VideoTestActivity" />
6060
<activity android:name=".video.VideoTestInputActivity" />
61-
<activity android:name=".video.preview.WlanVideoPreviewActivity"
62-
android:configChanges="orientation|keyboardHidden|screenSize"/>
61+
<!-- <activity android:name=".video.preview.WlanVideoPreviewActivity"-->
62+
<!-- android:configChanges="orientation|keyboardHidden|screenSize"/>-->
6363
<activity android:name=".video.VideoMainActivity" />
6464
<activity android:name=".video.nvr.VideoNvrActivity" />
6565
<activity
6666
android:name=".video.playback.VideoPlaybackActivity"
6767
android:configChanges="orientation|keyboardHidden|screenSize" />
68-
<activity
69-
android:name=".video.preview.VideoMultiPreviewActivity"
70-
android:configChanges="orientation|keyboardHidden|screenSize" />
68+
<!-- <activity-->
69+
<!-- android:name=".video.preview.VideoMultiPreviewActivity"-->
70+
<!-- android:configChanges="orientation|keyboardHidden|screenSize" />-->
7171
<activity
7272
android:name=".video.preview.VideoPreviewActivity"
7373
android:configChanges="orientation|keyboardHidden|screenSize" />
7474
<activity
7575
android:name=".video.preview.VideoPreviewMJPEGActivity"
7676
android:configChanges="orientation|keyboardHidden|screenSize" />
77-
<activity
78-
android:name=".video.preview.VideoWithoutPropertyActivity"
79-
android:configChanges="orientation|keyboardHidden|screenSize" />
77+
<!-- <activity-->
78+
<!-- android:name=".video.preview.VideoWithoutPropertyActivity"-->
79+
<!-- android:configChanges="orientation|keyboardHidden|screenSize" />-->
8080
<activity
8181
android:name=".video.preview.VideoPushStreamActivity"
8282
android:configChanges="orientation|keyboardHidden|screenSize" />

sdkdemo/src/main/java/com/tencent/iot/explorer/link/demo/BaseActivity.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,11 +42,14 @@ abstract class BaseActivity : AppCompatActivity() {
4242

4343
abstract fun getContentView(): Int
4444

45+
open fun performInitView(){}
46+
4547
abstract fun initView()
4648

4749
abstract fun setListener()
4850

4951
open fun startHere() {
52+
performInitView()
5053
initView()
5154
setListener()
5255
}

sdkdemo/src/main/java/com/tencent/iot/explorer/link/demo/video/VideoDeviceFragment.kt

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ class VideoDeviceFragment : BaseFragment(), VideoCallback, DevsAdapter.OnItemCli
111111
}
112112
}
113113

114-
VideoMultiPreviewActivity.startMultiPreviewActivity(context, allUrl)
114+
// VideoMultiPreviewActivity.startMultiPreviewActivity(context, allUrl)
115115
}
116116
}
117117

@@ -137,24 +137,24 @@ class VideoDeviceFragment : BaseFragment(), VideoCallback, DevsAdapter.OnItemCli
137137
0 -> { VideoPreviewActivity.startPreviewActivity(context, dev) }
138138
1 -> { VideoPlaybackActivity.startPlaybackActivity(context, dev) }
139139
2 -> { VideoPreviewMJPEGActivity.startPreviewActivity(context, dev) }
140-
3 -> { VideoWithoutPropertyActivity.startPreviewActivity(context, dev) }
140+
// 3 -> { VideoWithoutPropertyActivity.startPreviewActivity(context, dev) }
141141
4 -> { VideoPushStreamActivity.startPreviewActivity(context, dev) }
142-
5 -> {
143-
val multipleChannelChooseDialog = MultipleChannelChooseDialog(context)
144-
multipleChannelChooseDialog.show()
145-
multipleChannelChooseDialog.setOnDismisListener { selectChannels ->
146-
var allUrl = ArrayList<DevUrl2Preview>()
147-
for (i in 0 until selectChannels.size) {
148-
var device = DevUrl2Preview()
149-
device.devName = dev.DeviceName
150-
device.Status = 1
151-
device.channel = selectChannels[i]
152-
allUrl.add(device)
153-
}
154-
155-
VideoMultiPreviewActivity.startMultiPreviewActivity(context, allUrl)
156-
}
157-
}
142+
// 5 -> {
143+
// val multipleChannelChooseDialog = MultipleChannelChooseDialog(context)
144+
// multipleChannelChooseDialog.show()
145+
// multipleChannelChooseDialog.setOnDismisListener { selectChannels ->
146+
// var allUrl = ArrayList<DevUrl2Preview>()
147+
// for (i in 0 until selectChannels.size) {
148+
// var device = DevUrl2Preview()
149+
// device.devName = dev.DeviceName
150+
// device.Status = 1
151+
// device.channel = selectChannels[i]
152+
// allUrl.add(device)
153+
// }
154+
//
155+
// VideoMultiPreviewActivity.startMultiPreviewActivity(context, allUrl)
156+
// }
157+
// }
158158
}
159159
}
160160
}

sdkdemo/src/main/java/com/tencent/iot/explorer/link/demo/video/VideoOptionsActivity.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ class VideoOptionsActivity : VideoBaseActivity() {
1515

1616
override fun setListener() {
1717
btn_video.setOnClickListener { jumpActivity(VideoInputAuthorizeActivity::class.java) }
18-
btn_video_wlan.setOnClickListener { jumpActivity(VideoWlanDetectActivity::class.java) }
18+
// btn_video_wlan.setOnClickListener { jumpActivity(VideoWlanDetectActivity::class.java) }
1919
btn_video_test.setOnClickListener { jumpActivity(VideoTestInputActivity::class.java) }
2020
}
2121

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
package com.tencent.iot.explorer.link.demo.video
2+
3+
import android.os.Bundle
4+
import android.text.TextUtils
5+
import com.alibaba.fastjson.JSON
6+
import com.tencent.iot.explorer.link.demo.App
7+
import com.tencent.iot.explorer.link.demo.VideoBaseActivity
8+
import com.tencent.iot.explorer.link.demo.common.util.StatusBarUtil
9+
import com.tencent.iot.explorer.link.demo.video.playback.cloudPlayback.event.EventPresenter
10+
import com.tencent.iot.explorer.link.demo.video.playback.cloudPlayback.event.EventView
11+
import com.tencent.iot.explorer.link.demo.video.preview.DevUrl2Preview
12+
import com.tencent.iot.video.link.callback.VideoCallback
13+
import com.tencent.iot.video.link.consts.VideoConst
14+
import com.tencent.iot.video.link.service.VideoBaseService
15+
import org.json.JSONObject
16+
import java.util.Date
17+
18+
abstract class VideoPreviewBaseActivity : VideoBaseActivity(), EventView, VideoCallback {
19+
20+
protected lateinit var presenter: EventPresenter
21+
protected var xp2pInfo: String = ""
22+
override fun onCreate(savedInstanceState: Bundle?) {
23+
super.onCreate(savedInstanceState)
24+
checkStyle()
25+
}
26+
27+
private fun checkStyle() {
28+
StatusBarUtil.setRootViewFitsSystemWindows(this, false)
29+
StatusBarUtil.setTranslucentStatus(this)
30+
if (!StatusBarUtil.setStatusBarDarkTheme(this, true)) {
31+
StatusBarUtil.setStatusBarColor(this, 0x55000000)
32+
}
33+
}
34+
35+
override fun performInitView() {
36+
presenter = EventPresenter(this@VideoPreviewBaseActivity)
37+
val bundle = intent.getBundleExtra(VideoConst.VIDEO_CONFIG)
38+
bundle?.let {
39+
val videoConfig = bundle.getString(VideoConst.VIDEO_CONFIG)
40+
if (TextUtils.isEmpty(videoConfig)) return@let
41+
42+
val devInfo = JSON.parseObject(videoConfig, DevUrl2Preview::class.java)
43+
devInfo?.let {
44+
presenter.setDeviceName(it.devName)
45+
presenter.setChannel(it.channel)
46+
}
47+
}
48+
49+
App.data.accessInfo?.let {
50+
presenter.setAccessId(it.accessId)
51+
presenter.setAccessToken(it.accessToken)
52+
presenter.setProductId(it.productId)
53+
presenter.getEventsData(Date())
54+
}
55+
}
56+
57+
protected fun getDeviceP2PInfo() {
58+
App.data.accessInfo?.let {
59+
VideoBaseService(it.accessId, it.accessToken).getDeviceXp2pInfo(
60+
it.productId,
61+
presenter.getDeviceName(),
62+
this
63+
)
64+
}
65+
}
66+
67+
abstract fun updateXp2pInfo(xp2pInfo: String)
68+
69+
override fun success(response: String?, reqCode: Int) {
70+
response?.let {
71+
val responseObject = JSONObject(it).getJSONObject("Response")
72+
xp2pInfo = responseObject.getString("P2PInfo")
73+
}
74+
updateXp2pInfo(xp2pInfo)
75+
}
76+
}

sdkdemo/src/main/java/com/tencent/iot/explorer/link/demo/video/VideoWlanDetectActivity.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import com.tencent.iot.explorer.link.core.utils.SharePreferenceUtil
1111
import com.tencent.iot.explorer.link.demo.App
1212
import com.tencent.iot.explorer.link.demo.R
1313
import com.tencent.iot.explorer.link.demo.VideoBaseActivity
14-
import com.tencent.iot.explorer.link.demo.video.preview.WlanVideoPreviewActivity
14+
//import com.tencent.iot.explorer.link.demo.video.preview.WlanVideoPreviewActivity
1515
import com.tencent.iot.video.link.callback.OnWlanDevicesDetectedCallback
1616
import com.tencent.iot.video.link.consts.VideoConst
1717
import com.tencent.iot.video.link.entity.DeviceServerInfo
@@ -79,7 +79,7 @@ class VideoWlanDetectActivity : VideoBaseActivity() , CoroutineScope by MainScop
7979
dev.DeviceName = datas.get(pos).deviceName
8080
dev.Channel = 0
8181
dev.Status = 1
82-
WlanVideoPreviewActivity.startPreviewActivity(this@VideoWlanDetectActivity, dev)
82+
// WlanVideoPreviewActivity.startPreviewActivity(this@VideoWlanDetectActivity, dev)
8383
}
8484
}
8585

sdkdemo/src/main/java/com/tencent/iot/explorer/link/demo/video/nvr/VideoNvrActivity.kt

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,11 @@ import com.tencent.iot.explorer.link.demo.video.playback.VideoPlaybackActivity
1717
import com.tencent.iot.explorer.link.demo.video.DevInfo
1818
import com.tencent.iot.explorer.link.demo.video.preview.DevUrl2Preview
1919
import com.tencent.iot.explorer.link.demo.video.VideoProductInfo
20-
import com.tencent.iot.explorer.link.demo.video.preview.VideoMultiPreviewActivity
20+
//import com.tencent.iot.explorer.link.demo.video.preview.VideoMultiPreviewActivity
2121
import com.tencent.iot.explorer.link.demo.video.preview.VideoPreviewActivity
2222
import com.tencent.iot.video.link.consts.VideoConst
2323
import com.tencent.xnet.XP2P
24+
import com.tencent.xnet.XP2PAppConfig
2425
import com.tencent.xnet.XP2PCallback
2526
import kotlinx.android.synthetic.main.fragment_video_device.*
2627
import kotlinx.android.synthetic.main.title_layout.*
@@ -87,9 +88,9 @@ class VideoNvrActivity : VideoBaseActivity(), DevsAdapter.OnItemClicked, XP2PCal
8788

8889
App.data.accessInfo?.let {
8990
countDownLatch = CountDownLatch(1)
90-
var started = XP2P.startServiceWithXp2pInfo(this@VideoNvrActivity, "${it.productId}/${devName}",
91-
it.productId, devName, "")
92-
if (started != 0) return@launch
91+
XP2P.startService(this@VideoNvrActivity, "${it.productId}/${devName}",
92+
it.productId, devName, XP2PAppConfig()
93+
)
9394

9495
countDownLatch.await(5, TimeUnit.SECONDS)
9596
queryNvrDev(devName)
@@ -112,7 +113,7 @@ class VideoNvrActivity : VideoBaseActivity(), DevsAdapter.OnItemClicked, XP2PCal
112113
}
113114
}
114115

115-
VideoMultiPreviewActivity.startMultiPreviewActivity(this@VideoNvrActivity, allUrl)
116+
// VideoMultiPreviewActivity.startMultiPreviewActivity(this@VideoNvrActivity, allUrl)
116117
}
117118
}
118119

sdkdemo/src/main/java/com/tencent/iot/explorer/link/demo/video/playback/cloudPlayback/event/EventModel.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,10 @@ class EventModel(view: EventView) : ParentModel<EventView>(view), VideoCallback
112112
this.productId = productId
113113
}
114114

115+
fun getProductId() : String {
116+
return this.productId
117+
}
118+
115119
fun setDeviceName(deviceName : String) {
116120
this.deviceName = deviceName
117121
}

0 commit comments

Comments
 (0)