Skip to content

Commit dbb4bb1

Browse files
author
v_yholu
committed
Refactoring: sdkdemo 模块 Kotlin Android Extensions 替代为 ViewBinding
1 parent f4e6cce commit dbb4bb1

File tree

119 files changed

+2667
-2654
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

119 files changed

+2667
-2654
lines changed

sdkdemo/build.gradle

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@ apply plugin: 'com.android.application'
22

33
apply plugin: 'kotlin-android'
44

5-
apply plugin: 'kotlin-android-extensions'
6-
75
apply plugin: 'com.google.gms.google-services'
86

97
apply plugin: 'com.google.firebase.crashlytics'
@@ -73,6 +71,11 @@ android {
7371
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
7472
}
7573
}
74+
75+
buildFeatures {
76+
viewBinding true
77+
}
78+
7679
compileOptions {
7780
sourceCompatibility JavaVersion.VERSION_1_8
7881
targetCompatibility JavaVersion.VERSION_1_8

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ class App : Application(), PayloadMessageCallback {
2525

2626
companion object {
2727
val data = AppData.instance
28-
var activity by Weak<BaseActivity>()
28+
var activity by Weak<BaseActivity<*>>()
2929
fun appStartBeingCall(callingType: Int, deviceId: String) {
3030
if (!TRTCUIManager.getInstance().isCalling) { //没有正在通话时,唤起通话页面
3131
TRTCUIManager.getInstance().setSessionManager(TRTCSdkDemoSessionManager())

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ class AppData private constructor() {
2929

3030
var bindDeviceToken = ""
3131

32-
val activityList = LinkedList<BaseActivity>()
32+
val activityList = LinkedList<BaseActivity<*>>()
3333

3434
var callingDeviceId = "" //主动呼叫的设备的id
3535

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

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import android.text.TextUtils
99
import android.widget.Toast
1010
import androidx.appcompat.app.AppCompatActivity
1111
import androidx.core.app.ActivityCompat
12+
import androidx.viewbinding.ViewBinding
1213
import com.tencent.iot.explorer.link.demo.common.log.L
1314
import com.tencent.iot.explorer.link.demo.common.util.Watermark
1415
import com.tencent.iot.explorer.link.demo.core.activity.MainActivity
@@ -17,7 +18,7 @@ import com.tencent.xnet.XP2P
1718
/**
1819
* baseActivity
1920
*/
20-
abstract class BaseActivity : AppCompatActivity() {
21+
abstract class BaseActivity<VB : ViewBinding> : AppCompatActivity() {
2122

2223
val TAG: String by lazy {
2324
this.packageName.let {
@@ -32,6 +33,8 @@ abstract class BaseActivity : AppCompatActivity() {
3233
DataHolder.instance.register(this)
3334
}
3435

36+
protected val binding by lazy { getViewBinding() }
37+
3538
fun getMyColor(colorRes: Int): Int {
3639
return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
3740
resources.getColor(colorRes, null)
@@ -40,7 +43,7 @@ abstract class BaseActivity : AppCompatActivity() {
4043
}
4144
}
4245

43-
abstract fun getContentView(): Int
46+
abstract fun getViewBinding(): VB
4447

4548
open fun performInitView(){}
4649

@@ -56,7 +59,7 @@ abstract class BaseActivity : AppCompatActivity() {
5659

5760
override fun onCreate(savedInstanceState: Bundle?) {
5861
super.onCreate(savedInstanceState)
59-
super.setContentView(getContentView())
62+
super.setContentView(binding.root)
6063
App.data.activityList.add(this)
6164
requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT
6265
//在setContentView()后调用

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

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ import android.Manifest
44
import android.os.Bundle
55
import com.tencent.iot.explorer.link.demo.common.util.LogcatHelper
66
import com.tencent.iot.explorer.link.demo.core.activity.LoginActivity
7+
import com.tencent.iot.explorer.link.demo.databinding.ActivityModuleBinding
78
import com.tencent.iot.explorer.link.demo.video.VideoOptionsActivity
8-
import kotlinx.android.synthetic.main.activity_module.*
99

10-
class ModuleActivity : BaseActivity() {
10+
class ModuleActivity : BaseActivity<ActivityModuleBinding>() {
1111

1212
private var permissions = arrayOf(
1313
Manifest.permission.WRITE_EXTERNAL_STORAGE,
@@ -16,10 +16,6 @@ class ModuleActivity : BaseActivity() {
1616
Manifest.permission.CAMERA
1717
)
1818

19-
override fun getContentView(): Int {
20-
return R.layout.activity_module
21-
}
22-
2319
override fun onCreate(savedInstanceState: Bundle?) {
2420
super.onCreate(savedInstanceState)
2521
LogcatHelper.getInstance(this).start()
@@ -30,22 +26,26 @@ class ModuleActivity : BaseActivity() {
3026
LogcatHelper.getInstance(this).stop()
3127
}
3228

29+
override fun getViewBinding(): ActivityModuleBinding = ActivityModuleBinding.inflate(layoutInflater)
30+
3331
override fun initView() {}
3432

3533
override fun setListener() {
36-
btn_1.setOnClickListener {
37-
jumpActivity(LoginActivity::class.java)
38-
}
34+
with(binding) {
35+
btn1.setOnClickListener {
36+
jumpActivity(LoginActivity::class.java)
37+
}
3938

40-
btn_2.setOnClickListener {
41-
if (checkPermissions(permissions)) {
42-
jumpActivity(VideoOptionsActivity::class.java)
43-
} else {
44-
requestPermission(permissions)
39+
btn2.setOnClickListener {
40+
if (checkPermissions(permissions)) {
41+
jumpActivity(VideoOptionsActivity::class.java)
42+
} else {
43+
requestPermission(permissions)
44+
}
4545
}
46-
}
4746

48-
btn_3.setOnClickListener {}
47+
btn3.setOnClickListener {}
48+
}
4949
}
5050

5151
override fun permissionAllGranted() {

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
package com.tencent.iot.explorer.link.demo
22

33
import android.os.Bundle
4+
import androidx.viewbinding.ViewBinding
45
import com.tencent.iot.explorer.link.demo.common.util.StatusBarUtil
56

6-
abstract class VideoBaseActivity : BaseActivity() {
7+
abstract class VideoBaseActivity<VB: ViewBinding> : BaseActivity<VB>() {
78
override fun onCreate(savedInstanceState: Bundle?) {
89
super.onCreate(savedInstanceState)
910
checkStyle()

sdkdemo/src/main/java/com/tencent/iot/explorer/link/demo/common/customView/PageAdapter.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,26 @@
11
package com.tencent.iot.explorer.link.demo.common.customView;
22

3+
import androidx.annotation.NonNull;
4+
import androidx.fragment.app.Fragment;
35
import androidx.fragment.app.FragmentManager;
46
import androidx.fragment.app.FragmentPagerAdapter;
7+
import androidx.viewbinding.ViewBinding;
8+
59
import com.tencent.iot.explorer.link.demo.core.fragment.BaseFragment;
610

711
import java.util.List;
812

913

1014
public class PageAdapter extends FragmentPagerAdapter {
11-
List<BaseFragment> mPages;
15+
List<BaseFragment<? extends ViewBinding>> mPages;
1216

13-
public PageAdapter(FragmentManager fm, List<BaseFragment> pages) {
17+
public PageAdapter(FragmentManager fm, List<BaseFragment<? extends ViewBinding>> pages) {
1418
super(fm);
1519
mPages = pages;
1620
}
1721

1822
@Override
19-
public BaseFragment getItem(int arg0) {
23+
public BaseFragment<? extends ViewBinding> getItem(int arg0) {
2024
try {
2125
return mPages.get(arg0);
2226
} catch (Exception e) {

sdkdemo/src/main/java/com/tencent/iot/explorer/link/demo/core/activity/AddDeviceActivity.kt

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,12 @@ import com.tencent.iot.explorer.link.demo.App
1010
import com.tencent.iot.explorer.link.demo.BaseActivity
1111
import com.tencent.iot.explorer.link.demo.R
1212
import com.tencent.iot.explorer.link.demo.core.response.UserInfoResponse
13-
import kotlinx.android.synthetic.main.activity_add_device.*
14-
import kotlinx.android.synthetic.main.menu_back_layout.*
13+
import com.tencent.iot.explorer.link.demo.databinding.ActivityAddDeviceBinding
1514

1615
/**
1716
* 添加设备界面
1817
*/
19-
class AddDeviceActivity : BaseActivity() {
18+
class AddDeviceActivity : BaseActivity<ActivityAddDeviceBinding>() {
2019

2120
private var permissions = arrayOf(
2221
Manifest.permission.ACCESS_WIFI_STATE,
@@ -28,25 +27,25 @@ class AddDeviceActivity : BaseActivity() {
2827

2928
private var type = 0
3029

31-
override fun getContentView(): Int {
32-
return R.layout.activity_add_device
33-
}
30+
override fun getViewBinding(): ActivityAddDeviceBinding = ActivityAddDeviceBinding.inflate(layoutInflater)
3431

3532
override fun initView() {
36-
tv_title.text = getString(R.string.add_device)
33+
binding.menuAddDevice.tvTitle.text = getString(R.string.add_device)
3734
}
3835

3936

4037
override fun setListener() {
41-
iv_back.setOnClickListener { finish() }
42-
tv_add_device_scan_qrcode.setOnClickListener {
43-
request(0)
44-
}
45-
tv_add_device_smart_config.setOnClickListener {
46-
request(1)
47-
}
48-
tv_add_device_soft_ap.setOnClickListener {
49-
request(2)
38+
with(binding) {
39+
menuAddDevice.ivBack.setOnClickListener { finish() }
40+
tvAddDeviceScanQrcode.setOnClickListener {
41+
request(0)
42+
}
43+
tvAddDeviceSmartConfig.setOnClickListener {
44+
request(1)
45+
}
46+
tvAddDeviceSoftAp.setOnClickListener {
47+
request(2)
48+
}
5049
}
5150
}
5251

sdkdemo/src/main/java/com/tencent/iot/explorer/link/demo/core/activity/AddFamilyActivity.kt

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,31 +8,28 @@ import com.tencent.iot.explorer.link.core.auth.response.BaseResponse
88
import com.tencent.iot.explorer.link.demo.BaseActivity
99
import com.tencent.iot.explorer.link.demo.R
1010
import com.tencent.iot.explorer.link.demo.common.log.L
11-
import kotlinx.android.synthetic.main.activity_add_family.*
12-
import kotlinx.android.synthetic.main.menu_back_layout.*
11+
import com.tencent.iot.explorer.link.demo.databinding.ActivityAddFamilyBinding
1312

1413
/**
1514
* 添加家庭
1615
*/
17-
class AddFamilyActivity : BaseActivity() {
16+
class AddFamilyActivity : BaseActivity<ActivityAddFamilyBinding>() {
1817

19-
override fun getContentView(): Int {
20-
return R.layout.activity_add_family
21-
}
18+
override fun getViewBinding(): ActivityAddFamilyBinding = ActivityAddFamilyBinding.inflate(layoutInflater)
2219

2320
override fun initView() {
24-
tv_title.text = getString(R.string.add_family)
21+
binding.addFamilyMenu.tvTitle.text = getString(R.string.add_family)
2522
}
2623

2724
override fun setListener() {
28-
iv_back.setOnClickListener { finish() }
25+
binding.addFamilyMenu.ivBack.setOnClickListener { finish() }
2926

30-
btn_add_family.setOnClickListener { addFamily() }
27+
binding.btnAddFamily.setOnClickListener { addFamily() }
3128
}
3229

3330
private fun addFamily() {
34-
val familyName = et_family_name.text.toString().trim()
35-
val familyAddress = et_family_address.text.toString().trim()
31+
val familyName = binding.etFamilyName.text.toString().trim()
32+
val familyAddress = binding.etFamilyAddress.text.toString().trim()
3633
if (TextUtils.isEmpty(familyName)) {
3734
Toast.makeText(this,getString(R.string.empty_family),Toast.LENGTH_LONG).show()
3835
return

sdkdemo/src/main/java/com/tencent/iot/explorer/link/demo/core/activity/AddRoomActivity.kt

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,25 +8,24 @@ import com.tencent.iot.explorer.link.core.auth.response.BaseResponse
88
import com.tencent.iot.explorer.link.demo.BaseActivity
99
import com.tencent.iot.explorer.link.demo.R
1010
import com.tencent.iot.explorer.link.demo.common.log.L
11-
import kotlinx.android.synthetic.main.activity_add_room.*
12-
import kotlinx.android.synthetic.main.menu_back_layout.*
11+
import com.tencent.iot.explorer.link.demo.databinding.ActivityAddRoomBinding
1312

14-
class AddRoomActivity : BaseActivity(), MyCallback {
15-
override fun getContentView(): Int {
16-
return R.layout.activity_add_room
17-
}
13+
class AddRoomActivity : BaseActivity<ActivityAddRoomBinding>(), MyCallback {
14+
override fun getViewBinding(): ActivityAddRoomBinding = ActivityAddRoomBinding.inflate(layoutInflater)
1815

1916
override fun initView() {
20-
tv_title.text = getString(R.string.add_room)
17+
binding.addRoomMenu.tvTitle.text = getString(R.string.add_room)
2118
}
2219

2320
override fun setListener() {
24-
iv_back.setOnClickListener { finish() }
25-
btn_add_room.setOnClickListener { addRoom() }
21+
with(binding) {
22+
addRoomMenu.ivBack.setOnClickListener { finish() }
23+
btnAddRoom.setOnClickListener { addRoom() }
24+
}
2625
}
2726

2827
private fun addRoom() {
29-
val familyName = et_room_name.text.toString().trim()
28+
val familyName = binding.etRoomName.text.toString().trim()
3029
if (TextUtils.isEmpty(familyName)) {
3130
show(getString(R.string.empty_room))
3231
return

0 commit comments

Comments
 (0)