diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index fb4538c..d9f19a0 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -85,4 +85,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index fb4538c..d9f19a0 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -85,4 +85,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt
index f9b3271..a4e964c 100644
--- a/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt
+++ b/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt
@@ -24,13 +24,30 @@
import com.google.gson.reflect.TypeToken
import com.pengxh.kt.lite.base.KotlinBaseFragment
import com.pengxh.kt.lite.callback.OnDownloadListener
-import com.pengxh.kt.lite.extensions.*
+import com.pengxh.kt.lite.extensions.calculateSize
+import com.pengxh.kt.lite.extensions.createDownloadFileDir
+import com.pengxh.kt.lite.extensions.deleteFile
+import com.pengxh.kt.lite.extensions.downloadFile
+import com.pengxh.kt.lite.extensions.formatFileSize
+import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.extensions.show
import com.pengxh.kt.lite.utils.PageNavigationManager
import com.pengxh.kt.lite.utils.SaveKeyValues
import com.pengxh.kt.lite.vm.LoadState
import com.pengxh.kt.lite.widget.dialog.AlertControlDialog
import com.pengxh.kt.lite.widget.dialog.ChangePasswordDialog
-import kotlinx.android.synthetic.main.fragment_mine.*
+import kotlinx.android.synthetic.main.fragment_mine.aboutUsLayout
+import kotlinx.android.synthetic.main.fragment_mine.cacheSizeView
+import kotlinx.android.synthetic.main.fragment_mine.changePwdLayout
+import kotlinx.android.synthetic.main.fragment_mine.clearCacheLayout
+import kotlinx.android.synthetic.main.fragment_mine.loginOutButton
+import kotlinx.android.synthetic.main.fragment_mine.updateLogLayout
+import kotlinx.android.synthetic.main.fragment_mine.updateUserButton
+import kotlinx.android.synthetic.main.fragment_mine.updateVersionLayout
+import kotlinx.android.synthetic.main.fragment_mine.userDeptView
+import kotlinx.android.synthetic.main.fragment_mine.userImageView
+import kotlinx.android.synthetic.main.fragment_mine.userNameView
+import kotlinx.android.synthetic.main.fragment_mine.userPhoneView
import java.io.File
import java.nio.charset.StandardCharsets
@@ -50,9 +67,9 @@
}
override fun initData() {
- userViewModel = ViewModelProvider(this).get(UserViewModel::class.java)
- loginViewModel = ViewModelProvider(this).get(LoginViewModel::class.java)
- versionViewModel = ViewModelProvider(this).get(VersionViewModel::class.java)
+ userViewModel = ViewModelProvider(this)[UserViewModel::class.java]
+ loginViewModel = ViewModelProvider(this)[LoginViewModel::class.java]
+ versionViewModel = ViewModelProvider(this)[VersionViewModel::class.java]
//初始化下载对话框
progressDialog = ProgressDialog(requireContext())
@@ -63,7 +80,7 @@
}
override fun observeRequestState() {
- userViewModel.loadState.observe(this, {
+ userViewModel.loadState.observe(this) {
when (it) {
is LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "修改中,请稍后")
is LoadState.Success -> {
@@ -73,16 +90,21 @@
requireContext().navigatePageTo()
PageNavigationManager.finishAllActivity()
}
- else -> LoadingDialogHub.dismiss()
- }
- })
- versionViewModel.loadState.observe(this, {
- when (it) {
- is LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "检查版本中,请稍后")
else -> LoadingDialogHub.dismiss()
}
- })
+ }
+
+ versionViewModel.loadState.observe(this) {
+ when (it) {
+ is LoadState.Loading -> LoadingDialogHub.show(
+ requireActivity(),
+ "检查版本中,请稍后"
+ )
+
+ else -> LoadingDialogHub.dismiss()
+ }
+ }
}
override fun initEvent() {
@@ -168,16 +190,16 @@
}
private fun dataObserve() {
- userViewModel.userDetailModel.observe(this, {
+ userViewModel.userDetailModel.observe(this) {
if (it.code == 200) {
LoadingDialogHub.dismiss()
"同步完成".show(requireContext())
userData = it.data
updateUserInfo()
}
- })
+ }
- versionViewModel.versionResultModel.observe(this, {
+ versionViewModel.versionResultModel.observe(this) {
if (BuildConfig.VERSION_NAME == it.version) {
"已是最新版本,无需更新".show(requireContext())
} else {
@@ -198,15 +220,15 @@
}
}).build().show()
}
- })
+ }
- loginViewModel.outResultModel.observe(this, {
+ loginViewModel.outResultModel.observe(this) {
if (it.code == 200) {
AuthenticationHelper.removeToken()
requireContext().navigatePageTo()
PageNavigationManager.finishAllActivity()
}
- })
+ }
}
private fun collectApplicationCache(): Long {
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index fb4538c..d9f19a0 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -85,4 +85,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt
index f9b3271..a4e964c 100644
--- a/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt
+++ b/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt
@@ -24,13 +24,30 @@
import com.google.gson.reflect.TypeToken
import com.pengxh.kt.lite.base.KotlinBaseFragment
import com.pengxh.kt.lite.callback.OnDownloadListener
-import com.pengxh.kt.lite.extensions.*
+import com.pengxh.kt.lite.extensions.calculateSize
+import com.pengxh.kt.lite.extensions.createDownloadFileDir
+import com.pengxh.kt.lite.extensions.deleteFile
+import com.pengxh.kt.lite.extensions.downloadFile
+import com.pengxh.kt.lite.extensions.formatFileSize
+import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.extensions.show
import com.pengxh.kt.lite.utils.PageNavigationManager
import com.pengxh.kt.lite.utils.SaveKeyValues
import com.pengxh.kt.lite.vm.LoadState
import com.pengxh.kt.lite.widget.dialog.AlertControlDialog
import com.pengxh.kt.lite.widget.dialog.ChangePasswordDialog
-import kotlinx.android.synthetic.main.fragment_mine.*
+import kotlinx.android.synthetic.main.fragment_mine.aboutUsLayout
+import kotlinx.android.synthetic.main.fragment_mine.cacheSizeView
+import kotlinx.android.synthetic.main.fragment_mine.changePwdLayout
+import kotlinx.android.synthetic.main.fragment_mine.clearCacheLayout
+import kotlinx.android.synthetic.main.fragment_mine.loginOutButton
+import kotlinx.android.synthetic.main.fragment_mine.updateLogLayout
+import kotlinx.android.synthetic.main.fragment_mine.updateUserButton
+import kotlinx.android.synthetic.main.fragment_mine.updateVersionLayout
+import kotlinx.android.synthetic.main.fragment_mine.userDeptView
+import kotlinx.android.synthetic.main.fragment_mine.userImageView
+import kotlinx.android.synthetic.main.fragment_mine.userNameView
+import kotlinx.android.synthetic.main.fragment_mine.userPhoneView
import java.io.File
import java.nio.charset.StandardCharsets
@@ -50,9 +67,9 @@
}
override fun initData() {
- userViewModel = ViewModelProvider(this).get(UserViewModel::class.java)
- loginViewModel = ViewModelProvider(this).get(LoginViewModel::class.java)
- versionViewModel = ViewModelProvider(this).get(VersionViewModel::class.java)
+ userViewModel = ViewModelProvider(this)[UserViewModel::class.java]
+ loginViewModel = ViewModelProvider(this)[LoginViewModel::class.java]
+ versionViewModel = ViewModelProvider(this)[VersionViewModel::class.java]
//初始化下载对话框
progressDialog = ProgressDialog(requireContext())
@@ -63,7 +80,7 @@
}
override fun observeRequestState() {
- userViewModel.loadState.observe(this, {
+ userViewModel.loadState.observe(this) {
when (it) {
is LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "修改中,请稍后")
is LoadState.Success -> {
@@ -73,16 +90,21 @@
requireContext().navigatePageTo()
PageNavigationManager.finishAllActivity()
}
- else -> LoadingDialogHub.dismiss()
- }
- })
- versionViewModel.loadState.observe(this, {
- when (it) {
- is LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "检查版本中,请稍后")
else -> LoadingDialogHub.dismiss()
}
- })
+ }
+
+ versionViewModel.loadState.observe(this) {
+ when (it) {
+ is LoadState.Loading -> LoadingDialogHub.show(
+ requireActivity(),
+ "检查版本中,请稍后"
+ )
+
+ else -> LoadingDialogHub.dismiss()
+ }
+ }
}
override fun initEvent() {
@@ -168,16 +190,16 @@
}
private fun dataObserve() {
- userViewModel.userDetailModel.observe(this, {
+ userViewModel.userDetailModel.observe(this) {
if (it.code == 200) {
LoadingDialogHub.dismiss()
"同步完成".show(requireContext())
userData = it.data
updateUserInfo()
}
- })
+ }
- versionViewModel.versionResultModel.observe(this, {
+ versionViewModel.versionResultModel.observe(this) {
if (BuildConfig.VERSION_NAME == it.version) {
"已是最新版本,无需更新".show(requireContext())
} else {
@@ -198,15 +220,15 @@
}
}).build().show()
}
- })
+ }
- loginViewModel.outResultModel.observe(this, {
+ loginViewModel.outResultModel.observe(this) {
if (it.code == 200) {
AuthenticationHelper.removeToken()
requireContext().navigatePageTo()
PageNavigationManager.finishAllActivity()
}
- })
+ }
}
private fun collectApplicationCache(): Long {
diff --git a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt
index 1143d7c..b009850 100644
--- a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt
+++ b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt
@@ -11,8 +11,10 @@
import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.show
import com.pengxh.kt.lite.widget.dialog.AlertInputDialog
-import kotlinx.android.synthetic.main.fragment_overview.*
-import kotlinx.android.synthetic.main.include_empty_view.*
+import kotlinx.android.synthetic.main.fragment_overview.groupRecyclerView
+import kotlinx.android.synthetic.main.fragment_overview.rightOptionView
+import kotlinx.android.synthetic.main.fragment_overview.titleView
+import kotlinx.android.synthetic.main.include_empty_view.emptyView
class OverviewFragment : KotlinBaseFragment() {
@@ -46,7 +48,7 @@
"刷新数据中,请稍后".show(requireContext())
}
- groupViewModel.groupModel.observe(this, {
+ groupViewModel.groupModel.observe(this) {
if (it.code == 200) {
if (it.data.size == 0) {
emptyView!!.showEmptyPage("这里什么都没有") {
@@ -92,9 +94,9 @@
})
}
}
- })
+ }
- groupViewModel.changeGroupResult.observe(this, {
+ groupViewModel.changeGroupResult.observe(this) {
if (it.code == 200) {
dataBeans.removeAt(clickedPosition)
groupListAdapter.notifyItemRemoved(clickedPosition)
@@ -102,6 +104,6 @@
clickedPosition, dataBeans.size - clickedPosition
)
}
- })
+ }
}
}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index fb4538c..d9f19a0 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -85,4 +85,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt
index f9b3271..a4e964c 100644
--- a/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt
+++ b/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt
@@ -24,13 +24,30 @@
import com.google.gson.reflect.TypeToken
import com.pengxh.kt.lite.base.KotlinBaseFragment
import com.pengxh.kt.lite.callback.OnDownloadListener
-import com.pengxh.kt.lite.extensions.*
+import com.pengxh.kt.lite.extensions.calculateSize
+import com.pengxh.kt.lite.extensions.createDownloadFileDir
+import com.pengxh.kt.lite.extensions.deleteFile
+import com.pengxh.kt.lite.extensions.downloadFile
+import com.pengxh.kt.lite.extensions.formatFileSize
+import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.extensions.show
import com.pengxh.kt.lite.utils.PageNavigationManager
import com.pengxh.kt.lite.utils.SaveKeyValues
import com.pengxh.kt.lite.vm.LoadState
import com.pengxh.kt.lite.widget.dialog.AlertControlDialog
import com.pengxh.kt.lite.widget.dialog.ChangePasswordDialog
-import kotlinx.android.synthetic.main.fragment_mine.*
+import kotlinx.android.synthetic.main.fragment_mine.aboutUsLayout
+import kotlinx.android.synthetic.main.fragment_mine.cacheSizeView
+import kotlinx.android.synthetic.main.fragment_mine.changePwdLayout
+import kotlinx.android.synthetic.main.fragment_mine.clearCacheLayout
+import kotlinx.android.synthetic.main.fragment_mine.loginOutButton
+import kotlinx.android.synthetic.main.fragment_mine.updateLogLayout
+import kotlinx.android.synthetic.main.fragment_mine.updateUserButton
+import kotlinx.android.synthetic.main.fragment_mine.updateVersionLayout
+import kotlinx.android.synthetic.main.fragment_mine.userDeptView
+import kotlinx.android.synthetic.main.fragment_mine.userImageView
+import kotlinx.android.synthetic.main.fragment_mine.userNameView
+import kotlinx.android.synthetic.main.fragment_mine.userPhoneView
import java.io.File
import java.nio.charset.StandardCharsets
@@ -50,9 +67,9 @@
}
override fun initData() {
- userViewModel = ViewModelProvider(this).get(UserViewModel::class.java)
- loginViewModel = ViewModelProvider(this).get(LoginViewModel::class.java)
- versionViewModel = ViewModelProvider(this).get(VersionViewModel::class.java)
+ userViewModel = ViewModelProvider(this)[UserViewModel::class.java]
+ loginViewModel = ViewModelProvider(this)[LoginViewModel::class.java]
+ versionViewModel = ViewModelProvider(this)[VersionViewModel::class.java]
//初始化下载对话框
progressDialog = ProgressDialog(requireContext())
@@ -63,7 +80,7 @@
}
override fun observeRequestState() {
- userViewModel.loadState.observe(this, {
+ userViewModel.loadState.observe(this) {
when (it) {
is LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "修改中,请稍后")
is LoadState.Success -> {
@@ -73,16 +90,21 @@
requireContext().navigatePageTo()
PageNavigationManager.finishAllActivity()
}
- else -> LoadingDialogHub.dismiss()
- }
- })
- versionViewModel.loadState.observe(this, {
- when (it) {
- is LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "检查版本中,请稍后")
else -> LoadingDialogHub.dismiss()
}
- })
+ }
+
+ versionViewModel.loadState.observe(this) {
+ when (it) {
+ is LoadState.Loading -> LoadingDialogHub.show(
+ requireActivity(),
+ "检查版本中,请稍后"
+ )
+
+ else -> LoadingDialogHub.dismiss()
+ }
+ }
}
override fun initEvent() {
@@ -168,16 +190,16 @@
}
private fun dataObserve() {
- userViewModel.userDetailModel.observe(this, {
+ userViewModel.userDetailModel.observe(this) {
if (it.code == 200) {
LoadingDialogHub.dismiss()
"同步完成".show(requireContext())
userData = it.data
updateUserInfo()
}
- })
+ }
- versionViewModel.versionResultModel.observe(this, {
+ versionViewModel.versionResultModel.observe(this) {
if (BuildConfig.VERSION_NAME == it.version) {
"已是最新版本,无需更新".show(requireContext())
} else {
@@ -198,15 +220,15 @@
}
}).build().show()
}
- })
+ }
- loginViewModel.outResultModel.observe(this, {
+ loginViewModel.outResultModel.observe(this) {
if (it.code == 200) {
AuthenticationHelper.removeToken()
requireContext().navigatePageTo()
PageNavigationManager.finishAllActivity()
}
- })
+ }
}
private fun collectApplicationCache(): Long {
diff --git a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt
index 1143d7c..b009850 100644
--- a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt
+++ b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt
@@ -11,8 +11,10 @@
import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.show
import com.pengxh.kt.lite.widget.dialog.AlertInputDialog
-import kotlinx.android.synthetic.main.fragment_overview.*
-import kotlinx.android.synthetic.main.include_empty_view.*
+import kotlinx.android.synthetic.main.fragment_overview.groupRecyclerView
+import kotlinx.android.synthetic.main.fragment_overview.rightOptionView
+import kotlinx.android.synthetic.main.fragment_overview.titleView
+import kotlinx.android.synthetic.main.include_empty_view.emptyView
class OverviewFragment : KotlinBaseFragment() {
@@ -46,7 +48,7 @@
"刷新数据中,请稍后".show(requireContext())
}
- groupViewModel.groupModel.observe(this, {
+ groupViewModel.groupModel.observe(this) {
if (it.code == 200) {
if (it.data.size == 0) {
emptyView!!.showEmptyPage("这里什么都没有") {
@@ -92,9 +94,9 @@
})
}
}
- })
+ }
- groupViewModel.changeGroupResult.observe(this, {
+ groupViewModel.changeGroupResult.observe(this) {
if (it.code == 200) {
dataBeans.removeAt(clickedPosition)
groupListAdapter.notifyItemRemoved(clickedPosition)
@@ -102,6 +104,6 @@
clickedPosition, dataBeans.size - clickedPosition
)
}
- })
+ }
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt b/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt
index fabd110..4e1a9b4 100644
--- a/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt
+++ b/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt
@@ -14,7 +14,8 @@
Manifest.permission.ACCESS_LOCATION_EXTRA_COMMANDS,
Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.CAMERA, Manifest.permission.READ_EXTERNAL_STORAGE,
- Manifest.permission.MANAGE_EXTERNAL_STORAGE, Manifest.permission.READ_PHONE_STATE
+ Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.MANAGE_EXTERNAL_STORAGE,
+ Manifest.permission.READ_PHONE_STATE
)
val POPUP_IMAGES = intArrayOf(R.drawable.ic_menu_map, R.drawable.ic_satellite)
val POPUP_TITLES = arrayOf("标准地图", "卫星地图")
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index fb4538c..d9f19a0 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -85,4 +85,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt
index f9b3271..a4e964c 100644
--- a/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt
+++ b/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt
@@ -24,13 +24,30 @@
import com.google.gson.reflect.TypeToken
import com.pengxh.kt.lite.base.KotlinBaseFragment
import com.pengxh.kt.lite.callback.OnDownloadListener
-import com.pengxh.kt.lite.extensions.*
+import com.pengxh.kt.lite.extensions.calculateSize
+import com.pengxh.kt.lite.extensions.createDownloadFileDir
+import com.pengxh.kt.lite.extensions.deleteFile
+import com.pengxh.kt.lite.extensions.downloadFile
+import com.pengxh.kt.lite.extensions.formatFileSize
+import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.extensions.show
import com.pengxh.kt.lite.utils.PageNavigationManager
import com.pengxh.kt.lite.utils.SaveKeyValues
import com.pengxh.kt.lite.vm.LoadState
import com.pengxh.kt.lite.widget.dialog.AlertControlDialog
import com.pengxh.kt.lite.widget.dialog.ChangePasswordDialog
-import kotlinx.android.synthetic.main.fragment_mine.*
+import kotlinx.android.synthetic.main.fragment_mine.aboutUsLayout
+import kotlinx.android.synthetic.main.fragment_mine.cacheSizeView
+import kotlinx.android.synthetic.main.fragment_mine.changePwdLayout
+import kotlinx.android.synthetic.main.fragment_mine.clearCacheLayout
+import kotlinx.android.synthetic.main.fragment_mine.loginOutButton
+import kotlinx.android.synthetic.main.fragment_mine.updateLogLayout
+import kotlinx.android.synthetic.main.fragment_mine.updateUserButton
+import kotlinx.android.synthetic.main.fragment_mine.updateVersionLayout
+import kotlinx.android.synthetic.main.fragment_mine.userDeptView
+import kotlinx.android.synthetic.main.fragment_mine.userImageView
+import kotlinx.android.synthetic.main.fragment_mine.userNameView
+import kotlinx.android.synthetic.main.fragment_mine.userPhoneView
import java.io.File
import java.nio.charset.StandardCharsets
@@ -50,9 +67,9 @@
}
override fun initData() {
- userViewModel = ViewModelProvider(this).get(UserViewModel::class.java)
- loginViewModel = ViewModelProvider(this).get(LoginViewModel::class.java)
- versionViewModel = ViewModelProvider(this).get(VersionViewModel::class.java)
+ userViewModel = ViewModelProvider(this)[UserViewModel::class.java]
+ loginViewModel = ViewModelProvider(this)[LoginViewModel::class.java]
+ versionViewModel = ViewModelProvider(this)[VersionViewModel::class.java]
//初始化下载对话框
progressDialog = ProgressDialog(requireContext())
@@ -63,7 +80,7 @@
}
override fun observeRequestState() {
- userViewModel.loadState.observe(this, {
+ userViewModel.loadState.observe(this) {
when (it) {
is LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "修改中,请稍后")
is LoadState.Success -> {
@@ -73,16 +90,21 @@
requireContext().navigatePageTo()
PageNavigationManager.finishAllActivity()
}
- else -> LoadingDialogHub.dismiss()
- }
- })
- versionViewModel.loadState.observe(this, {
- when (it) {
- is LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "检查版本中,请稍后")
else -> LoadingDialogHub.dismiss()
}
- })
+ }
+
+ versionViewModel.loadState.observe(this) {
+ when (it) {
+ is LoadState.Loading -> LoadingDialogHub.show(
+ requireActivity(),
+ "检查版本中,请稍后"
+ )
+
+ else -> LoadingDialogHub.dismiss()
+ }
+ }
}
override fun initEvent() {
@@ -168,16 +190,16 @@
}
private fun dataObserve() {
- userViewModel.userDetailModel.observe(this, {
+ userViewModel.userDetailModel.observe(this) {
if (it.code == 200) {
LoadingDialogHub.dismiss()
"同步完成".show(requireContext())
userData = it.data
updateUserInfo()
}
- })
+ }
- versionViewModel.versionResultModel.observe(this, {
+ versionViewModel.versionResultModel.observe(this) {
if (BuildConfig.VERSION_NAME == it.version) {
"已是最新版本,无需更新".show(requireContext())
} else {
@@ -198,15 +220,15 @@
}
}).build().show()
}
- })
+ }
- loginViewModel.outResultModel.observe(this, {
+ loginViewModel.outResultModel.observe(this) {
if (it.code == 200) {
AuthenticationHelper.removeToken()
requireContext().navigatePageTo()
PageNavigationManager.finishAllActivity()
}
- })
+ }
}
private fun collectApplicationCache(): Long {
diff --git a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt
index 1143d7c..b009850 100644
--- a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt
+++ b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt
@@ -11,8 +11,10 @@
import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.show
import com.pengxh.kt.lite.widget.dialog.AlertInputDialog
-import kotlinx.android.synthetic.main.fragment_overview.*
-import kotlinx.android.synthetic.main.include_empty_view.*
+import kotlinx.android.synthetic.main.fragment_overview.groupRecyclerView
+import kotlinx.android.synthetic.main.fragment_overview.rightOptionView
+import kotlinx.android.synthetic.main.fragment_overview.titleView
+import kotlinx.android.synthetic.main.include_empty_view.emptyView
class OverviewFragment : KotlinBaseFragment() {
@@ -46,7 +48,7 @@
"刷新数据中,请稍后".show(requireContext())
}
- groupViewModel.groupModel.observe(this, {
+ groupViewModel.groupModel.observe(this) {
if (it.code == 200) {
if (it.data.size == 0) {
emptyView!!.showEmptyPage("这里什么都没有") {
@@ -92,9 +94,9 @@
})
}
}
- })
+ }
- groupViewModel.changeGroupResult.observe(this, {
+ groupViewModel.changeGroupResult.observe(this) {
if (it.code == 200) {
dataBeans.removeAt(clickedPosition)
groupListAdapter.notifyItemRemoved(clickedPosition)
@@ -102,6 +104,6 @@
clickedPosition, dataBeans.size - clickedPosition
)
}
- })
+ }
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt b/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt
index fabd110..4e1a9b4 100644
--- a/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt
+++ b/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt
@@ -14,7 +14,8 @@
Manifest.permission.ACCESS_LOCATION_EXTRA_COMMANDS,
Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.CAMERA, Manifest.permission.READ_EXTERNAL_STORAGE,
- Manifest.permission.MANAGE_EXTERNAL_STORAGE, Manifest.permission.READ_PHONE_STATE
+ Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.MANAGE_EXTERNAL_STORAGE,
+ Manifest.permission.READ_PHONE_STATE
)
val POPUP_IMAGES = intArrayOf(R.drawable.ic_menu_map, R.drawable.ic_satellite)
val POPUP_TITLES = arrayOf("标准地图", "卫星地图")
diff --git a/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt b/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt
index 8bde48b..415f9dd 100644
--- a/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt
+++ b/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt
@@ -15,10 +15,16 @@
import com.amap.api.location.AMapLocation
import com.casic.smarttube.R
import com.casic.smarttube.callback.OnImageCompressListener
-import com.casic.smarttube.extensions.*
+import com.casic.smarttube.extensions.combineImagePath
+import com.casic.smarttube.extensions.compressImage
import com.casic.smarttube.extensions.isNumber
+import com.casic.smarttube.extensions.reformat
import com.casic.smarttube.model.UserDetailModel
-import com.casic.smarttube.utils.*
+import com.casic.smarttube.utils.GlideLoadEngine
+import com.casic.smarttube.utils.LoadingDialogHub
+import com.casic.smarttube.utils.LocaleConstant
+import com.casic.smarttube.utils.LocationHelper
+import com.casic.smarttube.utils.QrConfigCreator
import com.casic.smarttube.vm.DeviceViewModel
import com.casic.smarttube.vm.ProjectGroupViewModel
import com.casic.smarttube.vm.UploadImageViewModel
@@ -31,20 +37,32 @@
import com.luck.picture.lib.interfaces.OnResultCallbackListener
import com.pengxh.kt.lite.adapter.EditableImageAdapter
import com.pengxh.kt.lite.base.KotlinBaseActivity
-import com.pengxh.kt.lite.extensions.*
+import com.pengxh.kt.lite.extensions.convertColor
+import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.extensions.show
+import com.pengxh.kt.lite.extensions.timestampToCompleteDate
import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.utils.SaveKeyValues
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import com.pengxh.kt.lite.vm.LoadState
import com.pengxh.kt.lite.widget.dialog.AlertInputDialog
import com.pengxh.kt.lite.widget.dialog.BottomActionSheet
-import kotlinx.android.synthetic.main.activity_add_device.*
-import kotlinx.android.synthetic.main.activity_history_data.*
-import kotlinx.android.synthetic.main.include_base_title.*
+import kotlinx.android.synthetic.main.activity_add_device.addDeviceTimeView
+import kotlinx.android.synthetic.main.activity_add_device.addImageRecyclerView
+import kotlinx.android.synthetic.main.activity_add_device.collectIntervalView
+import kotlinx.android.synthetic.main.activity_add_device.deviceCodeView
+import kotlinx.android.synthetic.main.activity_add_device.deviceNameView
+import kotlinx.android.synthetic.main.activity_add_device.inputLengthView
+import kotlinx.android.synthetic.main.activity_add_device.latitudeView
+import kotlinx.android.synthetic.main.activity_add_device.locationImageView
+import kotlinx.android.synthetic.main.activity_add_device.longitudeView
+import kotlinx.android.synthetic.main.activity_add_device.ownerShipView
+import kotlinx.android.synthetic.main.activity_add_device.scannerView
+import kotlinx.android.synthetic.main.activity_add_device.sceneEditView
+import kotlinx.android.synthetic.main.activity_add_device.submitButton
import kotlinx.android.synthetic.main.include_base_title.leftBackView
+import kotlinx.android.synthetic.main.include_base_title.titleView
import java.io.File
-import java.util.*
-import kotlin.collections.ArrayList
class AddDeviceActivity : KotlinBaseActivity() {
@@ -79,13 +97,13 @@
override fun initData() {
weakReferenceHandler = WeakReferenceHandler(callback)
- uploadImageViewModel = ViewModelProvider(this).get(UploadImageViewModel::class.java)
- deviceViewModel = ViewModelProvider(this).get(DeviceViewModel::class.java)
- groupViewModel = ViewModelProvider(this).get(ProjectGroupViewModel::class.java)
+ uploadImageViewModel = ViewModelProvider(this)[UploadImageViewModel::class.java]
+ deviceViewModel = ViewModelProvider(this)[DeviceViewModel::class.java]
+ groupViewModel = ViewModelProvider(this)[ProjectGroupViewModel::class.java]
}
override fun observeRequestState() {
- deviceViewModel.loadState.observe(this, {
+ deviceViewModel.loadState.observe(this) {
when (it) {
LoadState.Loading -> LoadingDialogHub.show(this, "处理中,请稍后")
LoadState.Success -> {
@@ -93,9 +111,10 @@
LoadingDialogHub.dismiss()
this.finish()
}
+
LoadState.Fail -> LoadingDialogHub.dismiss()
}
- })
+ }
}
override fun initEvent() {
@@ -113,7 +132,7 @@
ownerShipView.setOnClickListener {
groupViewModel.obtainGroupList()
}
- groupViewModel.groupListModel.observe(this, {
+ groupViewModel.groupListModel.observe(this) {
val groups = ArrayList()
if (it.code == 200) {
if (it.data.isEmpty()) {
@@ -158,7 +177,7 @@
}
}).build().show()
}
- })
+ }
//默认频率1min
collectIntervalView.text = frequency[0]
@@ -244,7 +263,7 @@
}
})
- uploadImageViewModel.resultModel.observe(this, {
+ uploadImageViewModel.resultModel.observe(this) {
if (it.code == 200) {
if (imageAdapter.itemCount == selectedImages.size) {
LoadingDialogHub.dismiss()
@@ -260,7 +279,7 @@
"最多只能上传3张图片".show(this)
}
}
- })
+ }
sceneEditView.addTextChangedListener(object : TextWatcher {
override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index fb4538c..d9f19a0 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -85,4 +85,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt
index f9b3271..a4e964c 100644
--- a/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt
+++ b/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt
@@ -24,13 +24,30 @@
import com.google.gson.reflect.TypeToken
import com.pengxh.kt.lite.base.KotlinBaseFragment
import com.pengxh.kt.lite.callback.OnDownloadListener
-import com.pengxh.kt.lite.extensions.*
+import com.pengxh.kt.lite.extensions.calculateSize
+import com.pengxh.kt.lite.extensions.createDownloadFileDir
+import com.pengxh.kt.lite.extensions.deleteFile
+import com.pengxh.kt.lite.extensions.downloadFile
+import com.pengxh.kt.lite.extensions.formatFileSize
+import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.extensions.show
import com.pengxh.kt.lite.utils.PageNavigationManager
import com.pengxh.kt.lite.utils.SaveKeyValues
import com.pengxh.kt.lite.vm.LoadState
import com.pengxh.kt.lite.widget.dialog.AlertControlDialog
import com.pengxh.kt.lite.widget.dialog.ChangePasswordDialog
-import kotlinx.android.synthetic.main.fragment_mine.*
+import kotlinx.android.synthetic.main.fragment_mine.aboutUsLayout
+import kotlinx.android.synthetic.main.fragment_mine.cacheSizeView
+import kotlinx.android.synthetic.main.fragment_mine.changePwdLayout
+import kotlinx.android.synthetic.main.fragment_mine.clearCacheLayout
+import kotlinx.android.synthetic.main.fragment_mine.loginOutButton
+import kotlinx.android.synthetic.main.fragment_mine.updateLogLayout
+import kotlinx.android.synthetic.main.fragment_mine.updateUserButton
+import kotlinx.android.synthetic.main.fragment_mine.updateVersionLayout
+import kotlinx.android.synthetic.main.fragment_mine.userDeptView
+import kotlinx.android.synthetic.main.fragment_mine.userImageView
+import kotlinx.android.synthetic.main.fragment_mine.userNameView
+import kotlinx.android.synthetic.main.fragment_mine.userPhoneView
import java.io.File
import java.nio.charset.StandardCharsets
@@ -50,9 +67,9 @@
}
override fun initData() {
- userViewModel = ViewModelProvider(this).get(UserViewModel::class.java)
- loginViewModel = ViewModelProvider(this).get(LoginViewModel::class.java)
- versionViewModel = ViewModelProvider(this).get(VersionViewModel::class.java)
+ userViewModel = ViewModelProvider(this)[UserViewModel::class.java]
+ loginViewModel = ViewModelProvider(this)[LoginViewModel::class.java]
+ versionViewModel = ViewModelProvider(this)[VersionViewModel::class.java]
//初始化下载对话框
progressDialog = ProgressDialog(requireContext())
@@ -63,7 +80,7 @@
}
override fun observeRequestState() {
- userViewModel.loadState.observe(this, {
+ userViewModel.loadState.observe(this) {
when (it) {
is LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "修改中,请稍后")
is LoadState.Success -> {
@@ -73,16 +90,21 @@
requireContext().navigatePageTo()
PageNavigationManager.finishAllActivity()
}
- else -> LoadingDialogHub.dismiss()
- }
- })
- versionViewModel.loadState.observe(this, {
- when (it) {
- is LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "检查版本中,请稍后")
else -> LoadingDialogHub.dismiss()
}
- })
+ }
+
+ versionViewModel.loadState.observe(this) {
+ when (it) {
+ is LoadState.Loading -> LoadingDialogHub.show(
+ requireActivity(),
+ "检查版本中,请稍后"
+ )
+
+ else -> LoadingDialogHub.dismiss()
+ }
+ }
}
override fun initEvent() {
@@ -168,16 +190,16 @@
}
private fun dataObserve() {
- userViewModel.userDetailModel.observe(this, {
+ userViewModel.userDetailModel.observe(this) {
if (it.code == 200) {
LoadingDialogHub.dismiss()
"同步完成".show(requireContext())
userData = it.data
updateUserInfo()
}
- })
+ }
- versionViewModel.versionResultModel.observe(this, {
+ versionViewModel.versionResultModel.observe(this) {
if (BuildConfig.VERSION_NAME == it.version) {
"已是最新版本,无需更新".show(requireContext())
} else {
@@ -198,15 +220,15 @@
}
}).build().show()
}
- })
+ }
- loginViewModel.outResultModel.observe(this, {
+ loginViewModel.outResultModel.observe(this) {
if (it.code == 200) {
AuthenticationHelper.removeToken()
requireContext().navigatePageTo()
PageNavigationManager.finishAllActivity()
}
- })
+ }
}
private fun collectApplicationCache(): Long {
diff --git a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt
index 1143d7c..b009850 100644
--- a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt
+++ b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt
@@ -11,8 +11,10 @@
import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.show
import com.pengxh.kt.lite.widget.dialog.AlertInputDialog
-import kotlinx.android.synthetic.main.fragment_overview.*
-import kotlinx.android.synthetic.main.include_empty_view.*
+import kotlinx.android.synthetic.main.fragment_overview.groupRecyclerView
+import kotlinx.android.synthetic.main.fragment_overview.rightOptionView
+import kotlinx.android.synthetic.main.fragment_overview.titleView
+import kotlinx.android.synthetic.main.include_empty_view.emptyView
class OverviewFragment : KotlinBaseFragment() {
@@ -46,7 +48,7 @@
"刷新数据中,请稍后".show(requireContext())
}
- groupViewModel.groupModel.observe(this, {
+ groupViewModel.groupModel.observe(this) {
if (it.code == 200) {
if (it.data.size == 0) {
emptyView!!.showEmptyPage("这里什么都没有") {
@@ -92,9 +94,9 @@
})
}
}
- })
+ }
- groupViewModel.changeGroupResult.observe(this, {
+ groupViewModel.changeGroupResult.observe(this) {
if (it.code == 200) {
dataBeans.removeAt(clickedPosition)
groupListAdapter.notifyItemRemoved(clickedPosition)
@@ -102,6 +104,6 @@
clickedPosition, dataBeans.size - clickedPosition
)
}
- })
+ }
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt b/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt
index fabd110..4e1a9b4 100644
--- a/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt
+++ b/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt
@@ -14,7 +14,8 @@
Manifest.permission.ACCESS_LOCATION_EXTRA_COMMANDS,
Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.CAMERA, Manifest.permission.READ_EXTERNAL_STORAGE,
- Manifest.permission.MANAGE_EXTERNAL_STORAGE, Manifest.permission.READ_PHONE_STATE
+ Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.MANAGE_EXTERNAL_STORAGE,
+ Manifest.permission.READ_PHONE_STATE
)
val POPUP_IMAGES = intArrayOf(R.drawable.ic_menu_map, R.drawable.ic_satellite)
val POPUP_TITLES = arrayOf("标准地图", "卫星地图")
diff --git a/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt b/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt
index 8bde48b..415f9dd 100644
--- a/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt
+++ b/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt
@@ -15,10 +15,16 @@
import com.amap.api.location.AMapLocation
import com.casic.smarttube.R
import com.casic.smarttube.callback.OnImageCompressListener
-import com.casic.smarttube.extensions.*
+import com.casic.smarttube.extensions.combineImagePath
+import com.casic.smarttube.extensions.compressImage
import com.casic.smarttube.extensions.isNumber
+import com.casic.smarttube.extensions.reformat
import com.casic.smarttube.model.UserDetailModel
-import com.casic.smarttube.utils.*
+import com.casic.smarttube.utils.GlideLoadEngine
+import com.casic.smarttube.utils.LoadingDialogHub
+import com.casic.smarttube.utils.LocaleConstant
+import com.casic.smarttube.utils.LocationHelper
+import com.casic.smarttube.utils.QrConfigCreator
import com.casic.smarttube.vm.DeviceViewModel
import com.casic.smarttube.vm.ProjectGroupViewModel
import com.casic.smarttube.vm.UploadImageViewModel
@@ -31,20 +37,32 @@
import com.luck.picture.lib.interfaces.OnResultCallbackListener
import com.pengxh.kt.lite.adapter.EditableImageAdapter
import com.pengxh.kt.lite.base.KotlinBaseActivity
-import com.pengxh.kt.lite.extensions.*
+import com.pengxh.kt.lite.extensions.convertColor
+import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.extensions.show
+import com.pengxh.kt.lite.extensions.timestampToCompleteDate
import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.utils.SaveKeyValues
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import com.pengxh.kt.lite.vm.LoadState
import com.pengxh.kt.lite.widget.dialog.AlertInputDialog
import com.pengxh.kt.lite.widget.dialog.BottomActionSheet
-import kotlinx.android.synthetic.main.activity_add_device.*
-import kotlinx.android.synthetic.main.activity_history_data.*
-import kotlinx.android.synthetic.main.include_base_title.*
+import kotlinx.android.synthetic.main.activity_add_device.addDeviceTimeView
+import kotlinx.android.synthetic.main.activity_add_device.addImageRecyclerView
+import kotlinx.android.synthetic.main.activity_add_device.collectIntervalView
+import kotlinx.android.synthetic.main.activity_add_device.deviceCodeView
+import kotlinx.android.synthetic.main.activity_add_device.deviceNameView
+import kotlinx.android.synthetic.main.activity_add_device.inputLengthView
+import kotlinx.android.synthetic.main.activity_add_device.latitudeView
+import kotlinx.android.synthetic.main.activity_add_device.locationImageView
+import kotlinx.android.synthetic.main.activity_add_device.longitudeView
+import kotlinx.android.synthetic.main.activity_add_device.ownerShipView
+import kotlinx.android.synthetic.main.activity_add_device.scannerView
+import kotlinx.android.synthetic.main.activity_add_device.sceneEditView
+import kotlinx.android.synthetic.main.activity_add_device.submitButton
import kotlinx.android.synthetic.main.include_base_title.leftBackView
+import kotlinx.android.synthetic.main.include_base_title.titleView
import java.io.File
-import java.util.*
-import kotlin.collections.ArrayList
class AddDeviceActivity : KotlinBaseActivity() {
@@ -79,13 +97,13 @@
override fun initData() {
weakReferenceHandler = WeakReferenceHandler(callback)
- uploadImageViewModel = ViewModelProvider(this).get(UploadImageViewModel::class.java)
- deviceViewModel = ViewModelProvider(this).get(DeviceViewModel::class.java)
- groupViewModel = ViewModelProvider(this).get(ProjectGroupViewModel::class.java)
+ uploadImageViewModel = ViewModelProvider(this)[UploadImageViewModel::class.java]
+ deviceViewModel = ViewModelProvider(this)[DeviceViewModel::class.java]
+ groupViewModel = ViewModelProvider(this)[ProjectGroupViewModel::class.java]
}
override fun observeRequestState() {
- deviceViewModel.loadState.observe(this, {
+ deviceViewModel.loadState.observe(this) {
when (it) {
LoadState.Loading -> LoadingDialogHub.show(this, "处理中,请稍后")
LoadState.Success -> {
@@ -93,9 +111,10 @@
LoadingDialogHub.dismiss()
this.finish()
}
+
LoadState.Fail -> LoadingDialogHub.dismiss()
}
- })
+ }
}
override fun initEvent() {
@@ -113,7 +132,7 @@
ownerShipView.setOnClickListener {
groupViewModel.obtainGroupList()
}
- groupViewModel.groupListModel.observe(this, {
+ groupViewModel.groupListModel.observe(this) {
val groups = ArrayList()
if (it.code == 200) {
if (it.data.isEmpty()) {
@@ -158,7 +177,7 @@
}
}).build().show()
}
- })
+ }
//默认频率1min
collectIntervalView.text = frequency[0]
@@ -244,7 +263,7 @@
}
})
- uploadImageViewModel.resultModel.observe(this, {
+ uploadImageViewModel.resultModel.observe(this) {
if (it.code == 200) {
if (imageAdapter.itemCount == selectedImages.size) {
LoadingDialogHub.dismiss()
@@ -260,7 +279,7 @@
"最多只能上传3张图片".show(this)
}
}
- })
+ }
sceneEditView.addTextChangedListener(object : TextWatcher {
override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {
diff --git a/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt b/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt
index daa0f2e..072953f 100644
--- a/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt
+++ b/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt
@@ -25,7 +25,20 @@
import com.pengxh.kt.lite.utils.Constant
import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.vm.LoadState
-import kotlinx.android.synthetic.main.activity_device_detail.*
+import kotlinx.android.synthetic.main.activity_device_detail.densityView
+import kotlinx.android.synthetic.main.activity_device_detail.descriptionView
+import kotlinx.android.synthetic.main.activity_device_detail.deviceBatteryView
+import kotlinx.android.synthetic.main.activity_device_detail.deviceCodeView
+import kotlinx.android.synthetic.main.activity_device_detail.deviceNameView
+import kotlinx.android.synthetic.main.activity_device_detail.deviceStateView
+import kotlinx.android.synthetic.main.activity_device_detail.imageGridView
+import kotlinx.android.synthetic.main.activity_device_detail.lastDataView
+import kotlinx.android.synthetic.main.activity_device_detail.leftBackView
+import kotlinx.android.synthetic.main.activity_device_detail.locationView
+import kotlinx.android.synthetic.main.activity_device_detail.projectGroupView
+import kotlinx.android.synthetic.main.activity_device_detail.rightOptionView
+import kotlinx.android.synthetic.main.activity_device_detail.signalImageView
+import kotlinx.android.synthetic.main.activity_device_detail.titleView
class DeviceDetailActivity : KotlinBaseActivity() {
@@ -48,7 +61,7 @@
deviceViewModel = ViewModelProvider(this).get(DeviceViewModel::class.java)
deviceViewModel.obtainDeviceDetail(params[0], params[1])
- deviceViewModel.deviceDetailModel.observe(this, {
+ deviceViewModel.deviceDetailModel.observe(this) {
if (it.code == 200) {
val device = it.data
this.deviceModel = device
@@ -123,16 +136,16 @@
device.cell + "%"
}
}
- })
+ }
}
override fun observeRequestState() {
- deviceViewModel.loadState.observe(this, {
+ deviceViewModel.loadState.observe(this) {
when (it) {
LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...")
else -> LoadingDialogHub.dismiss()
}
- })
+ }
}
override fun initEvent() {
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index fb4538c..d9f19a0 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -85,4 +85,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt
index f9b3271..a4e964c 100644
--- a/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt
+++ b/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt
@@ -24,13 +24,30 @@
import com.google.gson.reflect.TypeToken
import com.pengxh.kt.lite.base.KotlinBaseFragment
import com.pengxh.kt.lite.callback.OnDownloadListener
-import com.pengxh.kt.lite.extensions.*
+import com.pengxh.kt.lite.extensions.calculateSize
+import com.pengxh.kt.lite.extensions.createDownloadFileDir
+import com.pengxh.kt.lite.extensions.deleteFile
+import com.pengxh.kt.lite.extensions.downloadFile
+import com.pengxh.kt.lite.extensions.formatFileSize
+import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.extensions.show
import com.pengxh.kt.lite.utils.PageNavigationManager
import com.pengxh.kt.lite.utils.SaveKeyValues
import com.pengxh.kt.lite.vm.LoadState
import com.pengxh.kt.lite.widget.dialog.AlertControlDialog
import com.pengxh.kt.lite.widget.dialog.ChangePasswordDialog
-import kotlinx.android.synthetic.main.fragment_mine.*
+import kotlinx.android.synthetic.main.fragment_mine.aboutUsLayout
+import kotlinx.android.synthetic.main.fragment_mine.cacheSizeView
+import kotlinx.android.synthetic.main.fragment_mine.changePwdLayout
+import kotlinx.android.synthetic.main.fragment_mine.clearCacheLayout
+import kotlinx.android.synthetic.main.fragment_mine.loginOutButton
+import kotlinx.android.synthetic.main.fragment_mine.updateLogLayout
+import kotlinx.android.synthetic.main.fragment_mine.updateUserButton
+import kotlinx.android.synthetic.main.fragment_mine.updateVersionLayout
+import kotlinx.android.synthetic.main.fragment_mine.userDeptView
+import kotlinx.android.synthetic.main.fragment_mine.userImageView
+import kotlinx.android.synthetic.main.fragment_mine.userNameView
+import kotlinx.android.synthetic.main.fragment_mine.userPhoneView
import java.io.File
import java.nio.charset.StandardCharsets
@@ -50,9 +67,9 @@
}
override fun initData() {
- userViewModel = ViewModelProvider(this).get(UserViewModel::class.java)
- loginViewModel = ViewModelProvider(this).get(LoginViewModel::class.java)
- versionViewModel = ViewModelProvider(this).get(VersionViewModel::class.java)
+ userViewModel = ViewModelProvider(this)[UserViewModel::class.java]
+ loginViewModel = ViewModelProvider(this)[LoginViewModel::class.java]
+ versionViewModel = ViewModelProvider(this)[VersionViewModel::class.java]
//初始化下载对话框
progressDialog = ProgressDialog(requireContext())
@@ -63,7 +80,7 @@
}
override fun observeRequestState() {
- userViewModel.loadState.observe(this, {
+ userViewModel.loadState.observe(this) {
when (it) {
is LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "修改中,请稍后")
is LoadState.Success -> {
@@ -73,16 +90,21 @@
requireContext().navigatePageTo()
PageNavigationManager.finishAllActivity()
}
- else -> LoadingDialogHub.dismiss()
- }
- })
- versionViewModel.loadState.observe(this, {
- when (it) {
- is LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "检查版本中,请稍后")
else -> LoadingDialogHub.dismiss()
}
- })
+ }
+
+ versionViewModel.loadState.observe(this) {
+ when (it) {
+ is LoadState.Loading -> LoadingDialogHub.show(
+ requireActivity(),
+ "检查版本中,请稍后"
+ )
+
+ else -> LoadingDialogHub.dismiss()
+ }
+ }
}
override fun initEvent() {
@@ -168,16 +190,16 @@
}
private fun dataObserve() {
- userViewModel.userDetailModel.observe(this, {
+ userViewModel.userDetailModel.observe(this) {
if (it.code == 200) {
LoadingDialogHub.dismiss()
"同步完成".show(requireContext())
userData = it.data
updateUserInfo()
}
- })
+ }
- versionViewModel.versionResultModel.observe(this, {
+ versionViewModel.versionResultModel.observe(this) {
if (BuildConfig.VERSION_NAME == it.version) {
"已是最新版本,无需更新".show(requireContext())
} else {
@@ -198,15 +220,15 @@
}
}).build().show()
}
- })
+ }
- loginViewModel.outResultModel.observe(this, {
+ loginViewModel.outResultModel.observe(this) {
if (it.code == 200) {
AuthenticationHelper.removeToken()
requireContext().navigatePageTo()
PageNavigationManager.finishAllActivity()
}
- })
+ }
}
private fun collectApplicationCache(): Long {
diff --git a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt
index 1143d7c..b009850 100644
--- a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt
+++ b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt
@@ -11,8 +11,10 @@
import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.show
import com.pengxh.kt.lite.widget.dialog.AlertInputDialog
-import kotlinx.android.synthetic.main.fragment_overview.*
-import kotlinx.android.synthetic.main.include_empty_view.*
+import kotlinx.android.synthetic.main.fragment_overview.groupRecyclerView
+import kotlinx.android.synthetic.main.fragment_overview.rightOptionView
+import kotlinx.android.synthetic.main.fragment_overview.titleView
+import kotlinx.android.synthetic.main.include_empty_view.emptyView
class OverviewFragment : KotlinBaseFragment() {
@@ -46,7 +48,7 @@
"刷新数据中,请稍后".show(requireContext())
}
- groupViewModel.groupModel.observe(this, {
+ groupViewModel.groupModel.observe(this) {
if (it.code == 200) {
if (it.data.size == 0) {
emptyView!!.showEmptyPage("这里什么都没有") {
@@ -92,9 +94,9 @@
})
}
}
- })
+ }
- groupViewModel.changeGroupResult.observe(this, {
+ groupViewModel.changeGroupResult.observe(this) {
if (it.code == 200) {
dataBeans.removeAt(clickedPosition)
groupListAdapter.notifyItemRemoved(clickedPosition)
@@ -102,6 +104,6 @@
clickedPosition, dataBeans.size - clickedPosition
)
}
- })
+ }
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt b/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt
index fabd110..4e1a9b4 100644
--- a/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt
+++ b/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt
@@ -14,7 +14,8 @@
Manifest.permission.ACCESS_LOCATION_EXTRA_COMMANDS,
Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.CAMERA, Manifest.permission.READ_EXTERNAL_STORAGE,
- Manifest.permission.MANAGE_EXTERNAL_STORAGE, Manifest.permission.READ_PHONE_STATE
+ Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.MANAGE_EXTERNAL_STORAGE,
+ Manifest.permission.READ_PHONE_STATE
)
val POPUP_IMAGES = intArrayOf(R.drawable.ic_menu_map, R.drawable.ic_satellite)
val POPUP_TITLES = arrayOf("标准地图", "卫星地图")
diff --git a/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt b/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt
index 8bde48b..415f9dd 100644
--- a/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt
+++ b/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt
@@ -15,10 +15,16 @@
import com.amap.api.location.AMapLocation
import com.casic.smarttube.R
import com.casic.smarttube.callback.OnImageCompressListener
-import com.casic.smarttube.extensions.*
+import com.casic.smarttube.extensions.combineImagePath
+import com.casic.smarttube.extensions.compressImage
import com.casic.smarttube.extensions.isNumber
+import com.casic.smarttube.extensions.reformat
import com.casic.smarttube.model.UserDetailModel
-import com.casic.smarttube.utils.*
+import com.casic.smarttube.utils.GlideLoadEngine
+import com.casic.smarttube.utils.LoadingDialogHub
+import com.casic.smarttube.utils.LocaleConstant
+import com.casic.smarttube.utils.LocationHelper
+import com.casic.smarttube.utils.QrConfigCreator
import com.casic.smarttube.vm.DeviceViewModel
import com.casic.smarttube.vm.ProjectGroupViewModel
import com.casic.smarttube.vm.UploadImageViewModel
@@ -31,20 +37,32 @@
import com.luck.picture.lib.interfaces.OnResultCallbackListener
import com.pengxh.kt.lite.adapter.EditableImageAdapter
import com.pengxh.kt.lite.base.KotlinBaseActivity
-import com.pengxh.kt.lite.extensions.*
+import com.pengxh.kt.lite.extensions.convertColor
+import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.extensions.show
+import com.pengxh.kt.lite.extensions.timestampToCompleteDate
import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.utils.SaveKeyValues
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import com.pengxh.kt.lite.vm.LoadState
import com.pengxh.kt.lite.widget.dialog.AlertInputDialog
import com.pengxh.kt.lite.widget.dialog.BottomActionSheet
-import kotlinx.android.synthetic.main.activity_add_device.*
-import kotlinx.android.synthetic.main.activity_history_data.*
-import kotlinx.android.synthetic.main.include_base_title.*
+import kotlinx.android.synthetic.main.activity_add_device.addDeviceTimeView
+import kotlinx.android.synthetic.main.activity_add_device.addImageRecyclerView
+import kotlinx.android.synthetic.main.activity_add_device.collectIntervalView
+import kotlinx.android.synthetic.main.activity_add_device.deviceCodeView
+import kotlinx.android.synthetic.main.activity_add_device.deviceNameView
+import kotlinx.android.synthetic.main.activity_add_device.inputLengthView
+import kotlinx.android.synthetic.main.activity_add_device.latitudeView
+import kotlinx.android.synthetic.main.activity_add_device.locationImageView
+import kotlinx.android.synthetic.main.activity_add_device.longitudeView
+import kotlinx.android.synthetic.main.activity_add_device.ownerShipView
+import kotlinx.android.synthetic.main.activity_add_device.scannerView
+import kotlinx.android.synthetic.main.activity_add_device.sceneEditView
+import kotlinx.android.synthetic.main.activity_add_device.submitButton
import kotlinx.android.synthetic.main.include_base_title.leftBackView
+import kotlinx.android.synthetic.main.include_base_title.titleView
import java.io.File
-import java.util.*
-import kotlin.collections.ArrayList
class AddDeviceActivity : KotlinBaseActivity() {
@@ -79,13 +97,13 @@
override fun initData() {
weakReferenceHandler = WeakReferenceHandler(callback)
- uploadImageViewModel = ViewModelProvider(this).get(UploadImageViewModel::class.java)
- deviceViewModel = ViewModelProvider(this).get(DeviceViewModel::class.java)
- groupViewModel = ViewModelProvider(this).get(ProjectGroupViewModel::class.java)
+ uploadImageViewModel = ViewModelProvider(this)[UploadImageViewModel::class.java]
+ deviceViewModel = ViewModelProvider(this)[DeviceViewModel::class.java]
+ groupViewModel = ViewModelProvider(this)[ProjectGroupViewModel::class.java]
}
override fun observeRequestState() {
- deviceViewModel.loadState.observe(this, {
+ deviceViewModel.loadState.observe(this) {
when (it) {
LoadState.Loading -> LoadingDialogHub.show(this, "处理中,请稍后")
LoadState.Success -> {
@@ -93,9 +111,10 @@
LoadingDialogHub.dismiss()
this.finish()
}
+
LoadState.Fail -> LoadingDialogHub.dismiss()
}
- })
+ }
}
override fun initEvent() {
@@ -113,7 +132,7 @@
ownerShipView.setOnClickListener {
groupViewModel.obtainGroupList()
}
- groupViewModel.groupListModel.observe(this, {
+ groupViewModel.groupListModel.observe(this) {
val groups = ArrayList()
if (it.code == 200) {
if (it.data.isEmpty()) {
@@ -158,7 +177,7 @@
}
}).build().show()
}
- })
+ }
//默认频率1min
collectIntervalView.text = frequency[0]
@@ -244,7 +263,7 @@
}
})
- uploadImageViewModel.resultModel.observe(this, {
+ uploadImageViewModel.resultModel.observe(this) {
if (it.code == 200) {
if (imageAdapter.itemCount == selectedImages.size) {
LoadingDialogHub.dismiss()
@@ -260,7 +279,7 @@
"最多只能上传3张图片".show(this)
}
}
- })
+ }
sceneEditView.addTextChangedListener(object : TextWatcher {
override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {
diff --git a/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt b/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt
index daa0f2e..072953f 100644
--- a/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt
+++ b/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt
@@ -25,7 +25,20 @@
import com.pengxh.kt.lite.utils.Constant
import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.vm.LoadState
-import kotlinx.android.synthetic.main.activity_device_detail.*
+import kotlinx.android.synthetic.main.activity_device_detail.densityView
+import kotlinx.android.synthetic.main.activity_device_detail.descriptionView
+import kotlinx.android.synthetic.main.activity_device_detail.deviceBatteryView
+import kotlinx.android.synthetic.main.activity_device_detail.deviceCodeView
+import kotlinx.android.synthetic.main.activity_device_detail.deviceNameView
+import kotlinx.android.synthetic.main.activity_device_detail.deviceStateView
+import kotlinx.android.synthetic.main.activity_device_detail.imageGridView
+import kotlinx.android.synthetic.main.activity_device_detail.lastDataView
+import kotlinx.android.synthetic.main.activity_device_detail.leftBackView
+import kotlinx.android.synthetic.main.activity_device_detail.locationView
+import kotlinx.android.synthetic.main.activity_device_detail.projectGroupView
+import kotlinx.android.synthetic.main.activity_device_detail.rightOptionView
+import kotlinx.android.synthetic.main.activity_device_detail.signalImageView
+import kotlinx.android.synthetic.main.activity_device_detail.titleView
class DeviceDetailActivity : KotlinBaseActivity() {
@@ -48,7 +61,7 @@
deviceViewModel = ViewModelProvider(this).get(DeviceViewModel::class.java)
deviceViewModel.obtainDeviceDetail(params[0], params[1])
- deviceViewModel.deviceDetailModel.observe(this, {
+ deviceViewModel.deviceDetailModel.observe(this) {
if (it.code == 200) {
val device = it.data
this.deviceModel = device
@@ -123,16 +136,16 @@
device.cell + "%"
}
}
- })
+ }
}
override fun observeRequestState() {
- deviceViewModel.loadState.observe(this, {
+ deviceViewModel.loadState.observe(this) {
when (it) {
LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...")
else -> LoadingDialogHub.dismiss()
}
- })
+ }
}
override fun initEvent() {
diff --git a/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt b/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt
index c57e2c1..0ae8862 100644
--- a/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt
+++ b/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt
@@ -28,9 +28,12 @@
import com.pengxh.kt.lite.widget.dialog.AlertControlDialog
import com.qmuiteam.qmui.recyclerView.QMUIRVItemSwipeAction
import com.qmuiteam.qmui.recyclerView.QMUISwipeAction
-import kotlinx.android.synthetic.main.activity_group_device.*
-import kotlinx.android.synthetic.main.fragment_home.view.*
-import kotlinx.android.synthetic.main.include_empty_view.*
+import kotlinx.android.synthetic.main.activity_group_device.groupDeviceLayout
+import kotlinx.android.synthetic.main.activity_group_device.groupDeviceView
+import kotlinx.android.synthetic.main.activity_group_device.leftBackView
+import kotlinx.android.synthetic.main.activity_group_device.rightOptionView
+import kotlinx.android.synthetic.main.activity_group_device.titleView
+import kotlinx.android.synthetic.main.include_empty_view.emptyView
class GroupDeviceActivity : KotlinBaseActivity() {
@@ -139,18 +142,18 @@
groupId = intent.getStringExtra(Constant.INTENT_PARAM)!!
titleView.text = String.format(groupId + "项目设备列表")
weakReferenceHandler = WeakReferenceHandler(callback)
- groupViewModel = ViewModelProvider(this).get(ProjectGroupViewModel::class.java)
- deviceViewModel = ViewModelProvider(this).get(DeviceViewModel::class.java)
+ groupViewModel = ViewModelProvider(this)[ProjectGroupViewModel::class.java]
+ deviceViewModel = ViewModelProvider(this)[DeviceViewModel::class.java]
obtainDeviceListByPage()
}
override fun observeRequestState() {
- groupViewModel.loadState.observe(this, {
+ groupViewModel.loadState.observe(this) {
when (it) {
LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...")
else -> LoadingDialogHub.dismiss()
}
- })
+ }
}
override fun initEvent() {
@@ -166,7 +169,7 @@
obtainDeviceListByPage()
}
- groupViewModel.deviceListModel.observe(this, {
+ groupViewModel.deviceListModel.observe(this) {
if (it.code == 200) {
val dataRows = it.data
when {
@@ -176,6 +179,7 @@
groupDeviceLayout.finishRefresh()
isRefresh = false
}
+
isLoadMore -> {
if (dataRows?.size == 0) {
"到底了,别拉了".show(this)
@@ -184,15 +188,16 @@
groupDeviceLayout.finishLoadMore()
isLoadMore = false
}
+
else -> {
dataBeans = dataRows!!
}
}
weakReferenceHandler.sendEmptyMessage(2022070601)
}
- })
+ }
- deviceViewModel.deleteResult.observe(this, {
+ deviceViewModel.deleteResult.observe(this) {
if (it.code == 200) {
if (isDeleteAll) {
dataBeans.removeAll(dataBeans)
@@ -212,7 +217,7 @@
}
}
}
- })
+ }
}
private fun obtainDeviceListByPage() {
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index fb4538c..d9f19a0 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -85,4 +85,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt
index f9b3271..a4e964c 100644
--- a/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt
+++ b/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt
@@ -24,13 +24,30 @@
import com.google.gson.reflect.TypeToken
import com.pengxh.kt.lite.base.KotlinBaseFragment
import com.pengxh.kt.lite.callback.OnDownloadListener
-import com.pengxh.kt.lite.extensions.*
+import com.pengxh.kt.lite.extensions.calculateSize
+import com.pengxh.kt.lite.extensions.createDownloadFileDir
+import com.pengxh.kt.lite.extensions.deleteFile
+import com.pengxh.kt.lite.extensions.downloadFile
+import com.pengxh.kt.lite.extensions.formatFileSize
+import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.extensions.show
import com.pengxh.kt.lite.utils.PageNavigationManager
import com.pengxh.kt.lite.utils.SaveKeyValues
import com.pengxh.kt.lite.vm.LoadState
import com.pengxh.kt.lite.widget.dialog.AlertControlDialog
import com.pengxh.kt.lite.widget.dialog.ChangePasswordDialog
-import kotlinx.android.synthetic.main.fragment_mine.*
+import kotlinx.android.synthetic.main.fragment_mine.aboutUsLayout
+import kotlinx.android.synthetic.main.fragment_mine.cacheSizeView
+import kotlinx.android.synthetic.main.fragment_mine.changePwdLayout
+import kotlinx.android.synthetic.main.fragment_mine.clearCacheLayout
+import kotlinx.android.synthetic.main.fragment_mine.loginOutButton
+import kotlinx.android.synthetic.main.fragment_mine.updateLogLayout
+import kotlinx.android.synthetic.main.fragment_mine.updateUserButton
+import kotlinx.android.synthetic.main.fragment_mine.updateVersionLayout
+import kotlinx.android.synthetic.main.fragment_mine.userDeptView
+import kotlinx.android.synthetic.main.fragment_mine.userImageView
+import kotlinx.android.synthetic.main.fragment_mine.userNameView
+import kotlinx.android.synthetic.main.fragment_mine.userPhoneView
import java.io.File
import java.nio.charset.StandardCharsets
@@ -50,9 +67,9 @@
}
override fun initData() {
- userViewModel = ViewModelProvider(this).get(UserViewModel::class.java)
- loginViewModel = ViewModelProvider(this).get(LoginViewModel::class.java)
- versionViewModel = ViewModelProvider(this).get(VersionViewModel::class.java)
+ userViewModel = ViewModelProvider(this)[UserViewModel::class.java]
+ loginViewModel = ViewModelProvider(this)[LoginViewModel::class.java]
+ versionViewModel = ViewModelProvider(this)[VersionViewModel::class.java]
//初始化下载对话框
progressDialog = ProgressDialog(requireContext())
@@ -63,7 +80,7 @@
}
override fun observeRequestState() {
- userViewModel.loadState.observe(this, {
+ userViewModel.loadState.observe(this) {
when (it) {
is LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "修改中,请稍后")
is LoadState.Success -> {
@@ -73,16 +90,21 @@
requireContext().navigatePageTo()
PageNavigationManager.finishAllActivity()
}
- else -> LoadingDialogHub.dismiss()
- }
- })
- versionViewModel.loadState.observe(this, {
- when (it) {
- is LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "检查版本中,请稍后")
else -> LoadingDialogHub.dismiss()
}
- })
+ }
+
+ versionViewModel.loadState.observe(this) {
+ when (it) {
+ is LoadState.Loading -> LoadingDialogHub.show(
+ requireActivity(),
+ "检查版本中,请稍后"
+ )
+
+ else -> LoadingDialogHub.dismiss()
+ }
+ }
}
override fun initEvent() {
@@ -168,16 +190,16 @@
}
private fun dataObserve() {
- userViewModel.userDetailModel.observe(this, {
+ userViewModel.userDetailModel.observe(this) {
if (it.code == 200) {
LoadingDialogHub.dismiss()
"同步完成".show(requireContext())
userData = it.data
updateUserInfo()
}
- })
+ }
- versionViewModel.versionResultModel.observe(this, {
+ versionViewModel.versionResultModel.observe(this) {
if (BuildConfig.VERSION_NAME == it.version) {
"已是最新版本,无需更新".show(requireContext())
} else {
@@ -198,15 +220,15 @@
}
}).build().show()
}
- })
+ }
- loginViewModel.outResultModel.observe(this, {
+ loginViewModel.outResultModel.observe(this) {
if (it.code == 200) {
AuthenticationHelper.removeToken()
requireContext().navigatePageTo()
PageNavigationManager.finishAllActivity()
}
- })
+ }
}
private fun collectApplicationCache(): Long {
diff --git a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt
index 1143d7c..b009850 100644
--- a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt
+++ b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt
@@ -11,8 +11,10 @@
import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.show
import com.pengxh.kt.lite.widget.dialog.AlertInputDialog
-import kotlinx.android.synthetic.main.fragment_overview.*
-import kotlinx.android.synthetic.main.include_empty_view.*
+import kotlinx.android.synthetic.main.fragment_overview.groupRecyclerView
+import kotlinx.android.synthetic.main.fragment_overview.rightOptionView
+import kotlinx.android.synthetic.main.fragment_overview.titleView
+import kotlinx.android.synthetic.main.include_empty_view.emptyView
class OverviewFragment : KotlinBaseFragment() {
@@ -46,7 +48,7 @@
"刷新数据中,请稍后".show(requireContext())
}
- groupViewModel.groupModel.observe(this, {
+ groupViewModel.groupModel.observe(this) {
if (it.code == 200) {
if (it.data.size == 0) {
emptyView!!.showEmptyPage("这里什么都没有") {
@@ -92,9 +94,9 @@
})
}
}
- })
+ }
- groupViewModel.changeGroupResult.observe(this, {
+ groupViewModel.changeGroupResult.observe(this) {
if (it.code == 200) {
dataBeans.removeAt(clickedPosition)
groupListAdapter.notifyItemRemoved(clickedPosition)
@@ -102,6 +104,6 @@
clickedPosition, dataBeans.size - clickedPosition
)
}
- })
+ }
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt b/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt
index fabd110..4e1a9b4 100644
--- a/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt
+++ b/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt
@@ -14,7 +14,8 @@
Manifest.permission.ACCESS_LOCATION_EXTRA_COMMANDS,
Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.CAMERA, Manifest.permission.READ_EXTERNAL_STORAGE,
- Manifest.permission.MANAGE_EXTERNAL_STORAGE, Manifest.permission.READ_PHONE_STATE
+ Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.MANAGE_EXTERNAL_STORAGE,
+ Manifest.permission.READ_PHONE_STATE
)
val POPUP_IMAGES = intArrayOf(R.drawable.ic_menu_map, R.drawable.ic_satellite)
val POPUP_TITLES = arrayOf("标准地图", "卫星地图")
diff --git a/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt b/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt
index 8bde48b..415f9dd 100644
--- a/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt
+++ b/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt
@@ -15,10 +15,16 @@
import com.amap.api.location.AMapLocation
import com.casic.smarttube.R
import com.casic.smarttube.callback.OnImageCompressListener
-import com.casic.smarttube.extensions.*
+import com.casic.smarttube.extensions.combineImagePath
+import com.casic.smarttube.extensions.compressImage
import com.casic.smarttube.extensions.isNumber
+import com.casic.smarttube.extensions.reformat
import com.casic.smarttube.model.UserDetailModel
-import com.casic.smarttube.utils.*
+import com.casic.smarttube.utils.GlideLoadEngine
+import com.casic.smarttube.utils.LoadingDialogHub
+import com.casic.smarttube.utils.LocaleConstant
+import com.casic.smarttube.utils.LocationHelper
+import com.casic.smarttube.utils.QrConfigCreator
import com.casic.smarttube.vm.DeviceViewModel
import com.casic.smarttube.vm.ProjectGroupViewModel
import com.casic.smarttube.vm.UploadImageViewModel
@@ -31,20 +37,32 @@
import com.luck.picture.lib.interfaces.OnResultCallbackListener
import com.pengxh.kt.lite.adapter.EditableImageAdapter
import com.pengxh.kt.lite.base.KotlinBaseActivity
-import com.pengxh.kt.lite.extensions.*
+import com.pengxh.kt.lite.extensions.convertColor
+import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.extensions.show
+import com.pengxh.kt.lite.extensions.timestampToCompleteDate
import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.utils.SaveKeyValues
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import com.pengxh.kt.lite.vm.LoadState
import com.pengxh.kt.lite.widget.dialog.AlertInputDialog
import com.pengxh.kt.lite.widget.dialog.BottomActionSheet
-import kotlinx.android.synthetic.main.activity_add_device.*
-import kotlinx.android.synthetic.main.activity_history_data.*
-import kotlinx.android.synthetic.main.include_base_title.*
+import kotlinx.android.synthetic.main.activity_add_device.addDeviceTimeView
+import kotlinx.android.synthetic.main.activity_add_device.addImageRecyclerView
+import kotlinx.android.synthetic.main.activity_add_device.collectIntervalView
+import kotlinx.android.synthetic.main.activity_add_device.deviceCodeView
+import kotlinx.android.synthetic.main.activity_add_device.deviceNameView
+import kotlinx.android.synthetic.main.activity_add_device.inputLengthView
+import kotlinx.android.synthetic.main.activity_add_device.latitudeView
+import kotlinx.android.synthetic.main.activity_add_device.locationImageView
+import kotlinx.android.synthetic.main.activity_add_device.longitudeView
+import kotlinx.android.synthetic.main.activity_add_device.ownerShipView
+import kotlinx.android.synthetic.main.activity_add_device.scannerView
+import kotlinx.android.synthetic.main.activity_add_device.sceneEditView
+import kotlinx.android.synthetic.main.activity_add_device.submitButton
import kotlinx.android.synthetic.main.include_base_title.leftBackView
+import kotlinx.android.synthetic.main.include_base_title.titleView
import java.io.File
-import java.util.*
-import kotlin.collections.ArrayList
class AddDeviceActivity : KotlinBaseActivity() {
@@ -79,13 +97,13 @@
override fun initData() {
weakReferenceHandler = WeakReferenceHandler(callback)
- uploadImageViewModel = ViewModelProvider(this).get(UploadImageViewModel::class.java)
- deviceViewModel = ViewModelProvider(this).get(DeviceViewModel::class.java)
- groupViewModel = ViewModelProvider(this).get(ProjectGroupViewModel::class.java)
+ uploadImageViewModel = ViewModelProvider(this)[UploadImageViewModel::class.java]
+ deviceViewModel = ViewModelProvider(this)[DeviceViewModel::class.java]
+ groupViewModel = ViewModelProvider(this)[ProjectGroupViewModel::class.java]
}
override fun observeRequestState() {
- deviceViewModel.loadState.observe(this, {
+ deviceViewModel.loadState.observe(this) {
when (it) {
LoadState.Loading -> LoadingDialogHub.show(this, "处理中,请稍后")
LoadState.Success -> {
@@ -93,9 +111,10 @@
LoadingDialogHub.dismiss()
this.finish()
}
+
LoadState.Fail -> LoadingDialogHub.dismiss()
}
- })
+ }
}
override fun initEvent() {
@@ -113,7 +132,7 @@
ownerShipView.setOnClickListener {
groupViewModel.obtainGroupList()
}
- groupViewModel.groupListModel.observe(this, {
+ groupViewModel.groupListModel.observe(this) {
val groups = ArrayList()
if (it.code == 200) {
if (it.data.isEmpty()) {
@@ -158,7 +177,7 @@
}
}).build().show()
}
- })
+ }
//默认频率1min
collectIntervalView.text = frequency[0]
@@ -244,7 +263,7 @@
}
})
- uploadImageViewModel.resultModel.observe(this, {
+ uploadImageViewModel.resultModel.observe(this) {
if (it.code == 200) {
if (imageAdapter.itemCount == selectedImages.size) {
LoadingDialogHub.dismiss()
@@ -260,7 +279,7 @@
"最多只能上传3张图片".show(this)
}
}
- })
+ }
sceneEditView.addTextChangedListener(object : TextWatcher {
override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {
diff --git a/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt b/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt
index daa0f2e..072953f 100644
--- a/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt
+++ b/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt
@@ -25,7 +25,20 @@
import com.pengxh.kt.lite.utils.Constant
import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.vm.LoadState
-import kotlinx.android.synthetic.main.activity_device_detail.*
+import kotlinx.android.synthetic.main.activity_device_detail.densityView
+import kotlinx.android.synthetic.main.activity_device_detail.descriptionView
+import kotlinx.android.synthetic.main.activity_device_detail.deviceBatteryView
+import kotlinx.android.synthetic.main.activity_device_detail.deviceCodeView
+import kotlinx.android.synthetic.main.activity_device_detail.deviceNameView
+import kotlinx.android.synthetic.main.activity_device_detail.deviceStateView
+import kotlinx.android.synthetic.main.activity_device_detail.imageGridView
+import kotlinx.android.synthetic.main.activity_device_detail.lastDataView
+import kotlinx.android.synthetic.main.activity_device_detail.leftBackView
+import kotlinx.android.synthetic.main.activity_device_detail.locationView
+import kotlinx.android.synthetic.main.activity_device_detail.projectGroupView
+import kotlinx.android.synthetic.main.activity_device_detail.rightOptionView
+import kotlinx.android.synthetic.main.activity_device_detail.signalImageView
+import kotlinx.android.synthetic.main.activity_device_detail.titleView
class DeviceDetailActivity : KotlinBaseActivity() {
@@ -48,7 +61,7 @@
deviceViewModel = ViewModelProvider(this).get(DeviceViewModel::class.java)
deviceViewModel.obtainDeviceDetail(params[0], params[1])
- deviceViewModel.deviceDetailModel.observe(this, {
+ deviceViewModel.deviceDetailModel.observe(this) {
if (it.code == 200) {
val device = it.data
this.deviceModel = device
@@ -123,16 +136,16 @@
device.cell + "%"
}
}
- })
+ }
}
override fun observeRequestState() {
- deviceViewModel.loadState.observe(this, {
+ deviceViewModel.loadState.observe(this) {
when (it) {
LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...")
else -> LoadingDialogHub.dismiss()
}
- })
+ }
}
override fun initEvent() {
diff --git a/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt b/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt
index c57e2c1..0ae8862 100644
--- a/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt
+++ b/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt
@@ -28,9 +28,12 @@
import com.pengxh.kt.lite.widget.dialog.AlertControlDialog
import com.qmuiteam.qmui.recyclerView.QMUIRVItemSwipeAction
import com.qmuiteam.qmui.recyclerView.QMUISwipeAction
-import kotlinx.android.synthetic.main.activity_group_device.*
-import kotlinx.android.synthetic.main.fragment_home.view.*
-import kotlinx.android.synthetic.main.include_empty_view.*
+import kotlinx.android.synthetic.main.activity_group_device.groupDeviceLayout
+import kotlinx.android.synthetic.main.activity_group_device.groupDeviceView
+import kotlinx.android.synthetic.main.activity_group_device.leftBackView
+import kotlinx.android.synthetic.main.activity_group_device.rightOptionView
+import kotlinx.android.synthetic.main.activity_group_device.titleView
+import kotlinx.android.synthetic.main.include_empty_view.emptyView
class GroupDeviceActivity : KotlinBaseActivity() {
@@ -139,18 +142,18 @@
groupId = intent.getStringExtra(Constant.INTENT_PARAM)!!
titleView.text = String.format(groupId + "项目设备列表")
weakReferenceHandler = WeakReferenceHandler(callback)
- groupViewModel = ViewModelProvider(this).get(ProjectGroupViewModel::class.java)
- deviceViewModel = ViewModelProvider(this).get(DeviceViewModel::class.java)
+ groupViewModel = ViewModelProvider(this)[ProjectGroupViewModel::class.java]
+ deviceViewModel = ViewModelProvider(this)[DeviceViewModel::class.java]
obtainDeviceListByPage()
}
override fun observeRequestState() {
- groupViewModel.loadState.observe(this, {
+ groupViewModel.loadState.observe(this) {
when (it) {
LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...")
else -> LoadingDialogHub.dismiss()
}
- })
+ }
}
override fun initEvent() {
@@ -166,7 +169,7 @@
obtainDeviceListByPage()
}
- groupViewModel.deviceListModel.observe(this, {
+ groupViewModel.deviceListModel.observe(this) {
if (it.code == 200) {
val dataRows = it.data
when {
@@ -176,6 +179,7 @@
groupDeviceLayout.finishRefresh()
isRefresh = false
}
+
isLoadMore -> {
if (dataRows?.size == 0) {
"到底了,别拉了".show(this)
@@ -184,15 +188,16 @@
groupDeviceLayout.finishLoadMore()
isLoadMore = false
}
+
else -> {
dataBeans = dataRows!!
}
}
weakReferenceHandler.sendEmptyMessage(2022070601)
}
- })
+ }
- deviceViewModel.deleteResult.observe(this, {
+ deviceViewModel.deleteResult.observe(this) {
if (it.code == 200) {
if (isDeleteAll) {
dataBeans.removeAll(dataBeans)
@@ -212,7 +217,7 @@
}
}
}
- })
+ }
}
private fun obtainDeviceListByPage() {
diff --git a/app/src/main/java/com/casic/smarttube/view/HistoryDataActivity.kt b/app/src/main/java/com/casic/smarttube/view/HistoryDataActivity.kt
index 848ddcf..71f438c 100644
--- a/app/src/main/java/com/casic/smarttube/view/HistoryDataActivity.kt
+++ b/app/src/main/java/com/casic/smarttube/view/HistoryDataActivity.kt
@@ -14,12 +14,18 @@
import com.gyf.immersionbar.ImmersionBar
import com.jzxiang.pickerview.data.Type
import com.pengxh.kt.lite.base.KotlinBaseActivity
-import com.pengxh.kt.lite.extensions.*
+import com.pengxh.kt.lite.extensions.convertColor
+import com.pengxh.kt.lite.extensions.timestampToCompleteDate
+import com.pengxh.kt.lite.extensions.timestampToDate
+import com.pengxh.kt.lite.extensions.timestampToLastMonthDate
+import com.pengxh.kt.lite.extensions.timestampToLastWeekDate
import com.pengxh.kt.lite.utils.Constant
import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.vm.LoadState
-import kotlinx.android.synthetic.main.activity_history_data.*
-import java.util.*
+import kotlinx.android.synthetic.main.activity_history_data.dataLineChart
+import kotlinx.android.synthetic.main.activity_history_data.leftBackView
+import kotlinx.android.synthetic.main.activity_history_data.periodSpinner
+import java.util.Calendar
class HistoryDataActivity : KotlinBaseActivity() {
@@ -41,16 +47,16 @@
groupId = params[0]
devCode = params[1]
- deviceViewModel = ViewModelProvider(this).get(DeviceViewModel::class.java)
+ deviceViewModel = ViewModelProvider(this)[DeviceViewModel::class.java]
}
override fun observeRequestState() {
- deviceViewModel.loadState.observe(this, {
+ deviceViewModel.loadState.observe(this) {
when (it) {
LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...")
else -> LoadingDialogHub.dismiss()
}
- })
+ }
}
override fun initEvent() {
@@ -137,7 +143,7 @@
}
}
- deviceViewModel.historyDataModel.observe(this, {
+ deviceViewModel.historyDataModel.observe(this) {
if (it.code == 200) {
val xAxisLabels: MutableList = ArrayList()
//每个entries都是一条折线
@@ -155,6 +161,6 @@
}
ChartViewHelper.setLineChartData(dataLineChart, xAxisLabels, strengthEntries)
}
- })
+ }
}
}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index fb4538c..d9f19a0 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -85,4 +85,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt
index f9b3271..a4e964c 100644
--- a/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt
+++ b/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt
@@ -24,13 +24,30 @@
import com.google.gson.reflect.TypeToken
import com.pengxh.kt.lite.base.KotlinBaseFragment
import com.pengxh.kt.lite.callback.OnDownloadListener
-import com.pengxh.kt.lite.extensions.*
+import com.pengxh.kt.lite.extensions.calculateSize
+import com.pengxh.kt.lite.extensions.createDownloadFileDir
+import com.pengxh.kt.lite.extensions.deleteFile
+import com.pengxh.kt.lite.extensions.downloadFile
+import com.pengxh.kt.lite.extensions.formatFileSize
+import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.extensions.show
import com.pengxh.kt.lite.utils.PageNavigationManager
import com.pengxh.kt.lite.utils.SaveKeyValues
import com.pengxh.kt.lite.vm.LoadState
import com.pengxh.kt.lite.widget.dialog.AlertControlDialog
import com.pengxh.kt.lite.widget.dialog.ChangePasswordDialog
-import kotlinx.android.synthetic.main.fragment_mine.*
+import kotlinx.android.synthetic.main.fragment_mine.aboutUsLayout
+import kotlinx.android.synthetic.main.fragment_mine.cacheSizeView
+import kotlinx.android.synthetic.main.fragment_mine.changePwdLayout
+import kotlinx.android.synthetic.main.fragment_mine.clearCacheLayout
+import kotlinx.android.synthetic.main.fragment_mine.loginOutButton
+import kotlinx.android.synthetic.main.fragment_mine.updateLogLayout
+import kotlinx.android.synthetic.main.fragment_mine.updateUserButton
+import kotlinx.android.synthetic.main.fragment_mine.updateVersionLayout
+import kotlinx.android.synthetic.main.fragment_mine.userDeptView
+import kotlinx.android.synthetic.main.fragment_mine.userImageView
+import kotlinx.android.synthetic.main.fragment_mine.userNameView
+import kotlinx.android.synthetic.main.fragment_mine.userPhoneView
import java.io.File
import java.nio.charset.StandardCharsets
@@ -50,9 +67,9 @@
}
override fun initData() {
- userViewModel = ViewModelProvider(this).get(UserViewModel::class.java)
- loginViewModel = ViewModelProvider(this).get(LoginViewModel::class.java)
- versionViewModel = ViewModelProvider(this).get(VersionViewModel::class.java)
+ userViewModel = ViewModelProvider(this)[UserViewModel::class.java]
+ loginViewModel = ViewModelProvider(this)[LoginViewModel::class.java]
+ versionViewModel = ViewModelProvider(this)[VersionViewModel::class.java]
//初始化下载对话框
progressDialog = ProgressDialog(requireContext())
@@ -63,7 +80,7 @@
}
override fun observeRequestState() {
- userViewModel.loadState.observe(this, {
+ userViewModel.loadState.observe(this) {
when (it) {
is LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "修改中,请稍后")
is LoadState.Success -> {
@@ -73,16 +90,21 @@
requireContext().navigatePageTo()
PageNavigationManager.finishAllActivity()
}
- else -> LoadingDialogHub.dismiss()
- }
- })
- versionViewModel.loadState.observe(this, {
- when (it) {
- is LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "检查版本中,请稍后")
else -> LoadingDialogHub.dismiss()
}
- })
+ }
+
+ versionViewModel.loadState.observe(this) {
+ when (it) {
+ is LoadState.Loading -> LoadingDialogHub.show(
+ requireActivity(),
+ "检查版本中,请稍后"
+ )
+
+ else -> LoadingDialogHub.dismiss()
+ }
+ }
}
override fun initEvent() {
@@ -168,16 +190,16 @@
}
private fun dataObserve() {
- userViewModel.userDetailModel.observe(this, {
+ userViewModel.userDetailModel.observe(this) {
if (it.code == 200) {
LoadingDialogHub.dismiss()
"同步完成".show(requireContext())
userData = it.data
updateUserInfo()
}
- })
+ }
- versionViewModel.versionResultModel.observe(this, {
+ versionViewModel.versionResultModel.observe(this) {
if (BuildConfig.VERSION_NAME == it.version) {
"已是最新版本,无需更新".show(requireContext())
} else {
@@ -198,15 +220,15 @@
}
}).build().show()
}
- })
+ }
- loginViewModel.outResultModel.observe(this, {
+ loginViewModel.outResultModel.observe(this) {
if (it.code == 200) {
AuthenticationHelper.removeToken()
requireContext().navigatePageTo()
PageNavigationManager.finishAllActivity()
}
- })
+ }
}
private fun collectApplicationCache(): Long {
diff --git a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt
index 1143d7c..b009850 100644
--- a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt
+++ b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt
@@ -11,8 +11,10 @@
import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.show
import com.pengxh.kt.lite.widget.dialog.AlertInputDialog
-import kotlinx.android.synthetic.main.fragment_overview.*
-import kotlinx.android.synthetic.main.include_empty_view.*
+import kotlinx.android.synthetic.main.fragment_overview.groupRecyclerView
+import kotlinx.android.synthetic.main.fragment_overview.rightOptionView
+import kotlinx.android.synthetic.main.fragment_overview.titleView
+import kotlinx.android.synthetic.main.include_empty_view.emptyView
class OverviewFragment : KotlinBaseFragment() {
@@ -46,7 +48,7 @@
"刷新数据中,请稍后".show(requireContext())
}
- groupViewModel.groupModel.observe(this, {
+ groupViewModel.groupModel.observe(this) {
if (it.code == 200) {
if (it.data.size == 0) {
emptyView!!.showEmptyPage("这里什么都没有") {
@@ -92,9 +94,9 @@
})
}
}
- })
+ }
- groupViewModel.changeGroupResult.observe(this, {
+ groupViewModel.changeGroupResult.observe(this) {
if (it.code == 200) {
dataBeans.removeAt(clickedPosition)
groupListAdapter.notifyItemRemoved(clickedPosition)
@@ -102,6 +104,6 @@
clickedPosition, dataBeans.size - clickedPosition
)
}
- })
+ }
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt b/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt
index fabd110..4e1a9b4 100644
--- a/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt
+++ b/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt
@@ -14,7 +14,8 @@
Manifest.permission.ACCESS_LOCATION_EXTRA_COMMANDS,
Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.CAMERA, Manifest.permission.READ_EXTERNAL_STORAGE,
- Manifest.permission.MANAGE_EXTERNAL_STORAGE, Manifest.permission.READ_PHONE_STATE
+ Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.MANAGE_EXTERNAL_STORAGE,
+ Manifest.permission.READ_PHONE_STATE
)
val POPUP_IMAGES = intArrayOf(R.drawable.ic_menu_map, R.drawable.ic_satellite)
val POPUP_TITLES = arrayOf("标准地图", "卫星地图")
diff --git a/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt b/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt
index 8bde48b..415f9dd 100644
--- a/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt
+++ b/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt
@@ -15,10 +15,16 @@
import com.amap.api.location.AMapLocation
import com.casic.smarttube.R
import com.casic.smarttube.callback.OnImageCompressListener
-import com.casic.smarttube.extensions.*
+import com.casic.smarttube.extensions.combineImagePath
+import com.casic.smarttube.extensions.compressImage
import com.casic.smarttube.extensions.isNumber
+import com.casic.smarttube.extensions.reformat
import com.casic.smarttube.model.UserDetailModel
-import com.casic.smarttube.utils.*
+import com.casic.smarttube.utils.GlideLoadEngine
+import com.casic.smarttube.utils.LoadingDialogHub
+import com.casic.smarttube.utils.LocaleConstant
+import com.casic.smarttube.utils.LocationHelper
+import com.casic.smarttube.utils.QrConfigCreator
import com.casic.smarttube.vm.DeviceViewModel
import com.casic.smarttube.vm.ProjectGroupViewModel
import com.casic.smarttube.vm.UploadImageViewModel
@@ -31,20 +37,32 @@
import com.luck.picture.lib.interfaces.OnResultCallbackListener
import com.pengxh.kt.lite.adapter.EditableImageAdapter
import com.pengxh.kt.lite.base.KotlinBaseActivity
-import com.pengxh.kt.lite.extensions.*
+import com.pengxh.kt.lite.extensions.convertColor
+import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.extensions.show
+import com.pengxh.kt.lite.extensions.timestampToCompleteDate
import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.utils.SaveKeyValues
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import com.pengxh.kt.lite.vm.LoadState
import com.pengxh.kt.lite.widget.dialog.AlertInputDialog
import com.pengxh.kt.lite.widget.dialog.BottomActionSheet
-import kotlinx.android.synthetic.main.activity_add_device.*
-import kotlinx.android.synthetic.main.activity_history_data.*
-import kotlinx.android.synthetic.main.include_base_title.*
+import kotlinx.android.synthetic.main.activity_add_device.addDeviceTimeView
+import kotlinx.android.synthetic.main.activity_add_device.addImageRecyclerView
+import kotlinx.android.synthetic.main.activity_add_device.collectIntervalView
+import kotlinx.android.synthetic.main.activity_add_device.deviceCodeView
+import kotlinx.android.synthetic.main.activity_add_device.deviceNameView
+import kotlinx.android.synthetic.main.activity_add_device.inputLengthView
+import kotlinx.android.synthetic.main.activity_add_device.latitudeView
+import kotlinx.android.synthetic.main.activity_add_device.locationImageView
+import kotlinx.android.synthetic.main.activity_add_device.longitudeView
+import kotlinx.android.synthetic.main.activity_add_device.ownerShipView
+import kotlinx.android.synthetic.main.activity_add_device.scannerView
+import kotlinx.android.synthetic.main.activity_add_device.sceneEditView
+import kotlinx.android.synthetic.main.activity_add_device.submitButton
import kotlinx.android.synthetic.main.include_base_title.leftBackView
+import kotlinx.android.synthetic.main.include_base_title.titleView
import java.io.File
-import java.util.*
-import kotlin.collections.ArrayList
class AddDeviceActivity : KotlinBaseActivity() {
@@ -79,13 +97,13 @@
override fun initData() {
weakReferenceHandler = WeakReferenceHandler(callback)
- uploadImageViewModel = ViewModelProvider(this).get(UploadImageViewModel::class.java)
- deviceViewModel = ViewModelProvider(this).get(DeviceViewModel::class.java)
- groupViewModel = ViewModelProvider(this).get(ProjectGroupViewModel::class.java)
+ uploadImageViewModel = ViewModelProvider(this)[UploadImageViewModel::class.java]
+ deviceViewModel = ViewModelProvider(this)[DeviceViewModel::class.java]
+ groupViewModel = ViewModelProvider(this)[ProjectGroupViewModel::class.java]
}
override fun observeRequestState() {
- deviceViewModel.loadState.observe(this, {
+ deviceViewModel.loadState.observe(this) {
when (it) {
LoadState.Loading -> LoadingDialogHub.show(this, "处理中,请稍后")
LoadState.Success -> {
@@ -93,9 +111,10 @@
LoadingDialogHub.dismiss()
this.finish()
}
+
LoadState.Fail -> LoadingDialogHub.dismiss()
}
- })
+ }
}
override fun initEvent() {
@@ -113,7 +132,7 @@
ownerShipView.setOnClickListener {
groupViewModel.obtainGroupList()
}
- groupViewModel.groupListModel.observe(this, {
+ groupViewModel.groupListModel.observe(this) {
val groups = ArrayList()
if (it.code == 200) {
if (it.data.isEmpty()) {
@@ -158,7 +177,7 @@
}
}).build().show()
}
- })
+ }
//默认频率1min
collectIntervalView.text = frequency[0]
@@ -244,7 +263,7 @@
}
})
- uploadImageViewModel.resultModel.observe(this, {
+ uploadImageViewModel.resultModel.observe(this) {
if (it.code == 200) {
if (imageAdapter.itemCount == selectedImages.size) {
LoadingDialogHub.dismiss()
@@ -260,7 +279,7 @@
"最多只能上传3张图片".show(this)
}
}
- })
+ }
sceneEditView.addTextChangedListener(object : TextWatcher {
override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {
diff --git a/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt b/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt
index daa0f2e..072953f 100644
--- a/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt
+++ b/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt
@@ -25,7 +25,20 @@
import com.pengxh.kt.lite.utils.Constant
import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.vm.LoadState
-import kotlinx.android.synthetic.main.activity_device_detail.*
+import kotlinx.android.synthetic.main.activity_device_detail.densityView
+import kotlinx.android.synthetic.main.activity_device_detail.descriptionView
+import kotlinx.android.synthetic.main.activity_device_detail.deviceBatteryView
+import kotlinx.android.synthetic.main.activity_device_detail.deviceCodeView
+import kotlinx.android.synthetic.main.activity_device_detail.deviceNameView
+import kotlinx.android.synthetic.main.activity_device_detail.deviceStateView
+import kotlinx.android.synthetic.main.activity_device_detail.imageGridView
+import kotlinx.android.synthetic.main.activity_device_detail.lastDataView
+import kotlinx.android.synthetic.main.activity_device_detail.leftBackView
+import kotlinx.android.synthetic.main.activity_device_detail.locationView
+import kotlinx.android.synthetic.main.activity_device_detail.projectGroupView
+import kotlinx.android.synthetic.main.activity_device_detail.rightOptionView
+import kotlinx.android.synthetic.main.activity_device_detail.signalImageView
+import kotlinx.android.synthetic.main.activity_device_detail.titleView
class DeviceDetailActivity : KotlinBaseActivity() {
@@ -48,7 +61,7 @@
deviceViewModel = ViewModelProvider(this).get(DeviceViewModel::class.java)
deviceViewModel.obtainDeviceDetail(params[0], params[1])
- deviceViewModel.deviceDetailModel.observe(this, {
+ deviceViewModel.deviceDetailModel.observe(this) {
if (it.code == 200) {
val device = it.data
this.deviceModel = device
@@ -123,16 +136,16 @@
device.cell + "%"
}
}
- })
+ }
}
override fun observeRequestState() {
- deviceViewModel.loadState.observe(this, {
+ deviceViewModel.loadState.observe(this) {
when (it) {
LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...")
else -> LoadingDialogHub.dismiss()
}
- })
+ }
}
override fun initEvent() {
diff --git a/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt b/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt
index c57e2c1..0ae8862 100644
--- a/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt
+++ b/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt
@@ -28,9 +28,12 @@
import com.pengxh.kt.lite.widget.dialog.AlertControlDialog
import com.qmuiteam.qmui.recyclerView.QMUIRVItemSwipeAction
import com.qmuiteam.qmui.recyclerView.QMUISwipeAction
-import kotlinx.android.synthetic.main.activity_group_device.*
-import kotlinx.android.synthetic.main.fragment_home.view.*
-import kotlinx.android.synthetic.main.include_empty_view.*
+import kotlinx.android.synthetic.main.activity_group_device.groupDeviceLayout
+import kotlinx.android.synthetic.main.activity_group_device.groupDeviceView
+import kotlinx.android.synthetic.main.activity_group_device.leftBackView
+import kotlinx.android.synthetic.main.activity_group_device.rightOptionView
+import kotlinx.android.synthetic.main.activity_group_device.titleView
+import kotlinx.android.synthetic.main.include_empty_view.emptyView
class GroupDeviceActivity : KotlinBaseActivity() {
@@ -139,18 +142,18 @@
groupId = intent.getStringExtra(Constant.INTENT_PARAM)!!
titleView.text = String.format(groupId + "项目设备列表")
weakReferenceHandler = WeakReferenceHandler(callback)
- groupViewModel = ViewModelProvider(this).get(ProjectGroupViewModel::class.java)
- deviceViewModel = ViewModelProvider(this).get(DeviceViewModel::class.java)
+ groupViewModel = ViewModelProvider(this)[ProjectGroupViewModel::class.java]
+ deviceViewModel = ViewModelProvider(this)[DeviceViewModel::class.java]
obtainDeviceListByPage()
}
override fun observeRequestState() {
- groupViewModel.loadState.observe(this, {
+ groupViewModel.loadState.observe(this) {
when (it) {
LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...")
else -> LoadingDialogHub.dismiss()
}
- })
+ }
}
override fun initEvent() {
@@ -166,7 +169,7 @@
obtainDeviceListByPage()
}
- groupViewModel.deviceListModel.observe(this, {
+ groupViewModel.deviceListModel.observe(this) {
if (it.code == 200) {
val dataRows = it.data
when {
@@ -176,6 +179,7 @@
groupDeviceLayout.finishRefresh()
isRefresh = false
}
+
isLoadMore -> {
if (dataRows?.size == 0) {
"到底了,别拉了".show(this)
@@ -184,15 +188,16 @@
groupDeviceLayout.finishLoadMore()
isLoadMore = false
}
+
else -> {
dataBeans = dataRows!!
}
}
weakReferenceHandler.sendEmptyMessage(2022070601)
}
- })
+ }
- deviceViewModel.deleteResult.observe(this, {
+ deviceViewModel.deleteResult.observe(this) {
if (it.code == 200) {
if (isDeleteAll) {
dataBeans.removeAll(dataBeans)
@@ -212,7 +217,7 @@
}
}
}
- })
+ }
}
private fun obtainDeviceListByPage() {
diff --git a/app/src/main/java/com/casic/smarttube/view/HistoryDataActivity.kt b/app/src/main/java/com/casic/smarttube/view/HistoryDataActivity.kt
index 848ddcf..71f438c 100644
--- a/app/src/main/java/com/casic/smarttube/view/HistoryDataActivity.kt
+++ b/app/src/main/java/com/casic/smarttube/view/HistoryDataActivity.kt
@@ -14,12 +14,18 @@
import com.gyf.immersionbar.ImmersionBar
import com.jzxiang.pickerview.data.Type
import com.pengxh.kt.lite.base.KotlinBaseActivity
-import com.pengxh.kt.lite.extensions.*
+import com.pengxh.kt.lite.extensions.convertColor
+import com.pengxh.kt.lite.extensions.timestampToCompleteDate
+import com.pengxh.kt.lite.extensions.timestampToDate
+import com.pengxh.kt.lite.extensions.timestampToLastMonthDate
+import com.pengxh.kt.lite.extensions.timestampToLastWeekDate
import com.pengxh.kt.lite.utils.Constant
import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.vm.LoadState
-import kotlinx.android.synthetic.main.activity_history_data.*
-import java.util.*
+import kotlinx.android.synthetic.main.activity_history_data.dataLineChart
+import kotlinx.android.synthetic.main.activity_history_data.leftBackView
+import kotlinx.android.synthetic.main.activity_history_data.periodSpinner
+import java.util.Calendar
class HistoryDataActivity : KotlinBaseActivity() {
@@ -41,16 +47,16 @@
groupId = params[0]
devCode = params[1]
- deviceViewModel = ViewModelProvider(this).get(DeviceViewModel::class.java)
+ deviceViewModel = ViewModelProvider(this)[DeviceViewModel::class.java]
}
override fun observeRequestState() {
- deviceViewModel.loadState.observe(this, {
+ deviceViewModel.loadState.observe(this) {
when (it) {
LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...")
else -> LoadingDialogHub.dismiss()
}
- })
+ }
}
override fun initEvent() {
@@ -137,7 +143,7 @@
}
}
- deviceViewModel.historyDataModel.observe(this, {
+ deviceViewModel.historyDataModel.observe(this) {
if (it.code == 200) {
val xAxisLabels: MutableList = ArrayList()
//每个entries都是一条折线
@@ -155,6 +161,6 @@
}
ChartViewHelper.setLineChartData(dataLineChart, xAxisLabels, strengthEntries)
}
- })
+ }
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/smarttube/view/LoginActivity.kt b/app/src/main/java/com/casic/smarttube/view/LoginActivity.kt
index ec9a374..ebca433 100644
--- a/app/src/main/java/com/casic/smarttube/view/LoginActivity.kt
+++ b/app/src/main/java/com/casic/smarttube/view/LoginActivity.kt
@@ -2,7 +2,10 @@
import androidx.lifecycle.ViewModelProvider
import com.casic.smarttube.R
-import com.casic.smarttube.utils.*
+import com.casic.smarttube.utils.AuthenticationHelper
+import com.casic.smarttube.utils.LoadingDialogHub
+import com.casic.smarttube.utils.LocaleConstant
+import com.casic.smarttube.utils.RSAUtils
import com.casic.smarttube.vm.AuthenticateViewModel
import com.casic.smarttube.vm.LoginViewModel
import com.casic.smarttube.vm.UserViewModel
@@ -11,7 +14,9 @@
import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.show
import com.pengxh.kt.lite.utils.SaveKeyValues
-import kotlinx.android.synthetic.main.activity_login.*
+import kotlinx.android.synthetic.main.activity_login.loginButton
+import kotlinx.android.synthetic.main.activity_login.userNameView
+import kotlinx.android.synthetic.main.activity_login.userPasswordView
class LoginActivity : KotlinBaseActivity() {
@@ -29,19 +34,19 @@
// 设置默认账号密码
userNameView.setText(SaveKeyValues.getValue(LocaleConstant.ACCOUNT, "") as String)
userPasswordView.setText(SaveKeyValues.getValue(LocaleConstant.PASSWORD, "") as String)
- authenticateViewModel = ViewModelProvider(this).get(AuthenticateViewModel::class.java)
- loginViewModel = ViewModelProvider(this).get(LoginViewModel::class.java)
- userViewModel = ViewModelProvider(this).get(UserViewModel::class.java)
+ authenticateViewModel = ViewModelProvider(this)[AuthenticateViewModel::class.java]
+ loginViewModel = ViewModelProvider(this)[LoginViewModel::class.java]
+ userViewModel = ViewModelProvider(this)[UserViewModel::class.java]
}
override fun observeRequestState() {
- authenticateViewModel.loadState.observe(this, {
+ authenticateViewModel.loadState.observe(this) {
LoadingDialogHub.show(this, "登录中,请稍后")
- })
+ }
- loginViewModel.loadState.observe(this, {
+ loginViewModel.loadState.observe(this) {
LoadingDialogHub.dismiss()
- })
+ }
}
override fun initEvent() {
@@ -60,7 +65,7 @@
SaveKeyValues.putValue(LocaleConstant.PASSWORD, userPassword)
authenticateViewModel.obtainPublicKey()
}
- authenticateViewModel.keyModel.observe(this, {
+ authenticateViewModel.keyModel.observe(this) {
if (it.code == 200) {//用code判断,别的判断可能有坑
val keyString = it.data!!.publicKey!!
/**
@@ -75,7 +80,7 @@
RSAUtils.encryptDataByPublicKey(userPassword.toByteArray(), publicKey!!)
//登录并获取Token,POST请求
loginViewModel.enter(it.data!!.sid!!, account, dataByPublicKey)
- loginViewModel.enterResultModel.observe(this, { loginResult ->
+ loginViewModel.enterResultModel.observe(this) { loginResult ->
if (loginResult.code == 200) {
AuthenticationHelper.saveToken(loginResult.data!!.token!!)
/**
@@ -86,8 +91,8 @@
this.navigatePageTo()
finish()
}
- })
+ }
}
- })
+ }
}
}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index fb4538c..d9f19a0 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -85,4 +85,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt
index f9b3271..a4e964c 100644
--- a/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt
+++ b/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt
@@ -24,13 +24,30 @@
import com.google.gson.reflect.TypeToken
import com.pengxh.kt.lite.base.KotlinBaseFragment
import com.pengxh.kt.lite.callback.OnDownloadListener
-import com.pengxh.kt.lite.extensions.*
+import com.pengxh.kt.lite.extensions.calculateSize
+import com.pengxh.kt.lite.extensions.createDownloadFileDir
+import com.pengxh.kt.lite.extensions.deleteFile
+import com.pengxh.kt.lite.extensions.downloadFile
+import com.pengxh.kt.lite.extensions.formatFileSize
+import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.extensions.show
import com.pengxh.kt.lite.utils.PageNavigationManager
import com.pengxh.kt.lite.utils.SaveKeyValues
import com.pengxh.kt.lite.vm.LoadState
import com.pengxh.kt.lite.widget.dialog.AlertControlDialog
import com.pengxh.kt.lite.widget.dialog.ChangePasswordDialog
-import kotlinx.android.synthetic.main.fragment_mine.*
+import kotlinx.android.synthetic.main.fragment_mine.aboutUsLayout
+import kotlinx.android.synthetic.main.fragment_mine.cacheSizeView
+import kotlinx.android.synthetic.main.fragment_mine.changePwdLayout
+import kotlinx.android.synthetic.main.fragment_mine.clearCacheLayout
+import kotlinx.android.synthetic.main.fragment_mine.loginOutButton
+import kotlinx.android.synthetic.main.fragment_mine.updateLogLayout
+import kotlinx.android.synthetic.main.fragment_mine.updateUserButton
+import kotlinx.android.synthetic.main.fragment_mine.updateVersionLayout
+import kotlinx.android.synthetic.main.fragment_mine.userDeptView
+import kotlinx.android.synthetic.main.fragment_mine.userImageView
+import kotlinx.android.synthetic.main.fragment_mine.userNameView
+import kotlinx.android.synthetic.main.fragment_mine.userPhoneView
import java.io.File
import java.nio.charset.StandardCharsets
@@ -50,9 +67,9 @@
}
override fun initData() {
- userViewModel = ViewModelProvider(this).get(UserViewModel::class.java)
- loginViewModel = ViewModelProvider(this).get(LoginViewModel::class.java)
- versionViewModel = ViewModelProvider(this).get(VersionViewModel::class.java)
+ userViewModel = ViewModelProvider(this)[UserViewModel::class.java]
+ loginViewModel = ViewModelProvider(this)[LoginViewModel::class.java]
+ versionViewModel = ViewModelProvider(this)[VersionViewModel::class.java]
//初始化下载对话框
progressDialog = ProgressDialog(requireContext())
@@ -63,7 +80,7 @@
}
override fun observeRequestState() {
- userViewModel.loadState.observe(this, {
+ userViewModel.loadState.observe(this) {
when (it) {
is LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "修改中,请稍后")
is LoadState.Success -> {
@@ -73,16 +90,21 @@
requireContext().navigatePageTo()
PageNavigationManager.finishAllActivity()
}
- else -> LoadingDialogHub.dismiss()
- }
- })
- versionViewModel.loadState.observe(this, {
- when (it) {
- is LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "检查版本中,请稍后")
else -> LoadingDialogHub.dismiss()
}
- })
+ }
+
+ versionViewModel.loadState.observe(this) {
+ when (it) {
+ is LoadState.Loading -> LoadingDialogHub.show(
+ requireActivity(),
+ "检查版本中,请稍后"
+ )
+
+ else -> LoadingDialogHub.dismiss()
+ }
+ }
}
override fun initEvent() {
@@ -168,16 +190,16 @@
}
private fun dataObserve() {
- userViewModel.userDetailModel.observe(this, {
+ userViewModel.userDetailModel.observe(this) {
if (it.code == 200) {
LoadingDialogHub.dismiss()
"同步完成".show(requireContext())
userData = it.data
updateUserInfo()
}
- })
+ }
- versionViewModel.versionResultModel.observe(this, {
+ versionViewModel.versionResultModel.observe(this) {
if (BuildConfig.VERSION_NAME == it.version) {
"已是最新版本,无需更新".show(requireContext())
} else {
@@ -198,15 +220,15 @@
}
}).build().show()
}
- })
+ }
- loginViewModel.outResultModel.observe(this, {
+ loginViewModel.outResultModel.observe(this) {
if (it.code == 200) {
AuthenticationHelper.removeToken()
requireContext().navigatePageTo()
PageNavigationManager.finishAllActivity()
}
- })
+ }
}
private fun collectApplicationCache(): Long {
diff --git a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt
index 1143d7c..b009850 100644
--- a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt
+++ b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt
@@ -11,8 +11,10 @@
import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.show
import com.pengxh.kt.lite.widget.dialog.AlertInputDialog
-import kotlinx.android.synthetic.main.fragment_overview.*
-import kotlinx.android.synthetic.main.include_empty_view.*
+import kotlinx.android.synthetic.main.fragment_overview.groupRecyclerView
+import kotlinx.android.synthetic.main.fragment_overview.rightOptionView
+import kotlinx.android.synthetic.main.fragment_overview.titleView
+import kotlinx.android.synthetic.main.include_empty_view.emptyView
class OverviewFragment : KotlinBaseFragment() {
@@ -46,7 +48,7 @@
"刷新数据中,请稍后".show(requireContext())
}
- groupViewModel.groupModel.observe(this, {
+ groupViewModel.groupModel.observe(this) {
if (it.code == 200) {
if (it.data.size == 0) {
emptyView!!.showEmptyPage("这里什么都没有") {
@@ -92,9 +94,9 @@
})
}
}
- })
+ }
- groupViewModel.changeGroupResult.observe(this, {
+ groupViewModel.changeGroupResult.observe(this) {
if (it.code == 200) {
dataBeans.removeAt(clickedPosition)
groupListAdapter.notifyItemRemoved(clickedPosition)
@@ -102,6 +104,6 @@
clickedPosition, dataBeans.size - clickedPosition
)
}
- })
+ }
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt b/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt
index fabd110..4e1a9b4 100644
--- a/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt
+++ b/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt
@@ -14,7 +14,8 @@
Manifest.permission.ACCESS_LOCATION_EXTRA_COMMANDS,
Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.CAMERA, Manifest.permission.READ_EXTERNAL_STORAGE,
- Manifest.permission.MANAGE_EXTERNAL_STORAGE, Manifest.permission.READ_PHONE_STATE
+ Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.MANAGE_EXTERNAL_STORAGE,
+ Manifest.permission.READ_PHONE_STATE
)
val POPUP_IMAGES = intArrayOf(R.drawable.ic_menu_map, R.drawable.ic_satellite)
val POPUP_TITLES = arrayOf("标准地图", "卫星地图")
diff --git a/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt b/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt
index 8bde48b..415f9dd 100644
--- a/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt
+++ b/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt
@@ -15,10 +15,16 @@
import com.amap.api.location.AMapLocation
import com.casic.smarttube.R
import com.casic.smarttube.callback.OnImageCompressListener
-import com.casic.smarttube.extensions.*
+import com.casic.smarttube.extensions.combineImagePath
+import com.casic.smarttube.extensions.compressImage
import com.casic.smarttube.extensions.isNumber
+import com.casic.smarttube.extensions.reformat
import com.casic.smarttube.model.UserDetailModel
-import com.casic.smarttube.utils.*
+import com.casic.smarttube.utils.GlideLoadEngine
+import com.casic.smarttube.utils.LoadingDialogHub
+import com.casic.smarttube.utils.LocaleConstant
+import com.casic.smarttube.utils.LocationHelper
+import com.casic.smarttube.utils.QrConfigCreator
import com.casic.smarttube.vm.DeviceViewModel
import com.casic.smarttube.vm.ProjectGroupViewModel
import com.casic.smarttube.vm.UploadImageViewModel
@@ -31,20 +37,32 @@
import com.luck.picture.lib.interfaces.OnResultCallbackListener
import com.pengxh.kt.lite.adapter.EditableImageAdapter
import com.pengxh.kt.lite.base.KotlinBaseActivity
-import com.pengxh.kt.lite.extensions.*
+import com.pengxh.kt.lite.extensions.convertColor
+import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.extensions.show
+import com.pengxh.kt.lite.extensions.timestampToCompleteDate
import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.utils.SaveKeyValues
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import com.pengxh.kt.lite.vm.LoadState
import com.pengxh.kt.lite.widget.dialog.AlertInputDialog
import com.pengxh.kt.lite.widget.dialog.BottomActionSheet
-import kotlinx.android.synthetic.main.activity_add_device.*
-import kotlinx.android.synthetic.main.activity_history_data.*
-import kotlinx.android.synthetic.main.include_base_title.*
+import kotlinx.android.synthetic.main.activity_add_device.addDeviceTimeView
+import kotlinx.android.synthetic.main.activity_add_device.addImageRecyclerView
+import kotlinx.android.synthetic.main.activity_add_device.collectIntervalView
+import kotlinx.android.synthetic.main.activity_add_device.deviceCodeView
+import kotlinx.android.synthetic.main.activity_add_device.deviceNameView
+import kotlinx.android.synthetic.main.activity_add_device.inputLengthView
+import kotlinx.android.synthetic.main.activity_add_device.latitudeView
+import kotlinx.android.synthetic.main.activity_add_device.locationImageView
+import kotlinx.android.synthetic.main.activity_add_device.longitudeView
+import kotlinx.android.synthetic.main.activity_add_device.ownerShipView
+import kotlinx.android.synthetic.main.activity_add_device.scannerView
+import kotlinx.android.synthetic.main.activity_add_device.sceneEditView
+import kotlinx.android.synthetic.main.activity_add_device.submitButton
import kotlinx.android.synthetic.main.include_base_title.leftBackView
+import kotlinx.android.synthetic.main.include_base_title.titleView
import java.io.File
-import java.util.*
-import kotlin.collections.ArrayList
class AddDeviceActivity : KotlinBaseActivity() {
@@ -79,13 +97,13 @@
override fun initData() {
weakReferenceHandler = WeakReferenceHandler(callback)
- uploadImageViewModel = ViewModelProvider(this).get(UploadImageViewModel::class.java)
- deviceViewModel = ViewModelProvider(this).get(DeviceViewModel::class.java)
- groupViewModel = ViewModelProvider(this).get(ProjectGroupViewModel::class.java)
+ uploadImageViewModel = ViewModelProvider(this)[UploadImageViewModel::class.java]
+ deviceViewModel = ViewModelProvider(this)[DeviceViewModel::class.java]
+ groupViewModel = ViewModelProvider(this)[ProjectGroupViewModel::class.java]
}
override fun observeRequestState() {
- deviceViewModel.loadState.observe(this, {
+ deviceViewModel.loadState.observe(this) {
when (it) {
LoadState.Loading -> LoadingDialogHub.show(this, "处理中,请稍后")
LoadState.Success -> {
@@ -93,9 +111,10 @@
LoadingDialogHub.dismiss()
this.finish()
}
+
LoadState.Fail -> LoadingDialogHub.dismiss()
}
- })
+ }
}
override fun initEvent() {
@@ -113,7 +132,7 @@
ownerShipView.setOnClickListener {
groupViewModel.obtainGroupList()
}
- groupViewModel.groupListModel.observe(this, {
+ groupViewModel.groupListModel.observe(this) {
val groups = ArrayList()
if (it.code == 200) {
if (it.data.isEmpty()) {
@@ -158,7 +177,7 @@
}
}).build().show()
}
- })
+ }
//默认频率1min
collectIntervalView.text = frequency[0]
@@ -244,7 +263,7 @@
}
})
- uploadImageViewModel.resultModel.observe(this, {
+ uploadImageViewModel.resultModel.observe(this) {
if (it.code == 200) {
if (imageAdapter.itemCount == selectedImages.size) {
LoadingDialogHub.dismiss()
@@ -260,7 +279,7 @@
"最多只能上传3张图片".show(this)
}
}
- })
+ }
sceneEditView.addTextChangedListener(object : TextWatcher {
override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {
diff --git a/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt b/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt
index daa0f2e..072953f 100644
--- a/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt
+++ b/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt
@@ -25,7 +25,20 @@
import com.pengxh.kt.lite.utils.Constant
import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.vm.LoadState
-import kotlinx.android.synthetic.main.activity_device_detail.*
+import kotlinx.android.synthetic.main.activity_device_detail.densityView
+import kotlinx.android.synthetic.main.activity_device_detail.descriptionView
+import kotlinx.android.synthetic.main.activity_device_detail.deviceBatteryView
+import kotlinx.android.synthetic.main.activity_device_detail.deviceCodeView
+import kotlinx.android.synthetic.main.activity_device_detail.deviceNameView
+import kotlinx.android.synthetic.main.activity_device_detail.deviceStateView
+import kotlinx.android.synthetic.main.activity_device_detail.imageGridView
+import kotlinx.android.synthetic.main.activity_device_detail.lastDataView
+import kotlinx.android.synthetic.main.activity_device_detail.leftBackView
+import kotlinx.android.synthetic.main.activity_device_detail.locationView
+import kotlinx.android.synthetic.main.activity_device_detail.projectGroupView
+import kotlinx.android.synthetic.main.activity_device_detail.rightOptionView
+import kotlinx.android.synthetic.main.activity_device_detail.signalImageView
+import kotlinx.android.synthetic.main.activity_device_detail.titleView
class DeviceDetailActivity : KotlinBaseActivity() {
@@ -48,7 +61,7 @@
deviceViewModel = ViewModelProvider(this).get(DeviceViewModel::class.java)
deviceViewModel.obtainDeviceDetail(params[0], params[1])
- deviceViewModel.deviceDetailModel.observe(this, {
+ deviceViewModel.deviceDetailModel.observe(this) {
if (it.code == 200) {
val device = it.data
this.deviceModel = device
@@ -123,16 +136,16 @@
device.cell + "%"
}
}
- })
+ }
}
override fun observeRequestState() {
- deviceViewModel.loadState.observe(this, {
+ deviceViewModel.loadState.observe(this) {
when (it) {
LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...")
else -> LoadingDialogHub.dismiss()
}
- })
+ }
}
override fun initEvent() {
diff --git a/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt b/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt
index c57e2c1..0ae8862 100644
--- a/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt
+++ b/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt
@@ -28,9 +28,12 @@
import com.pengxh.kt.lite.widget.dialog.AlertControlDialog
import com.qmuiteam.qmui.recyclerView.QMUIRVItemSwipeAction
import com.qmuiteam.qmui.recyclerView.QMUISwipeAction
-import kotlinx.android.synthetic.main.activity_group_device.*
-import kotlinx.android.synthetic.main.fragment_home.view.*
-import kotlinx.android.synthetic.main.include_empty_view.*
+import kotlinx.android.synthetic.main.activity_group_device.groupDeviceLayout
+import kotlinx.android.synthetic.main.activity_group_device.groupDeviceView
+import kotlinx.android.synthetic.main.activity_group_device.leftBackView
+import kotlinx.android.synthetic.main.activity_group_device.rightOptionView
+import kotlinx.android.synthetic.main.activity_group_device.titleView
+import kotlinx.android.synthetic.main.include_empty_view.emptyView
class GroupDeviceActivity : KotlinBaseActivity() {
@@ -139,18 +142,18 @@
groupId = intent.getStringExtra(Constant.INTENT_PARAM)!!
titleView.text = String.format(groupId + "项目设备列表")
weakReferenceHandler = WeakReferenceHandler(callback)
- groupViewModel = ViewModelProvider(this).get(ProjectGroupViewModel::class.java)
- deviceViewModel = ViewModelProvider(this).get(DeviceViewModel::class.java)
+ groupViewModel = ViewModelProvider(this)[ProjectGroupViewModel::class.java]
+ deviceViewModel = ViewModelProvider(this)[DeviceViewModel::class.java]
obtainDeviceListByPage()
}
override fun observeRequestState() {
- groupViewModel.loadState.observe(this, {
+ groupViewModel.loadState.observe(this) {
when (it) {
LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...")
else -> LoadingDialogHub.dismiss()
}
- })
+ }
}
override fun initEvent() {
@@ -166,7 +169,7 @@
obtainDeviceListByPage()
}
- groupViewModel.deviceListModel.observe(this, {
+ groupViewModel.deviceListModel.observe(this) {
if (it.code == 200) {
val dataRows = it.data
when {
@@ -176,6 +179,7 @@
groupDeviceLayout.finishRefresh()
isRefresh = false
}
+
isLoadMore -> {
if (dataRows?.size == 0) {
"到底了,别拉了".show(this)
@@ -184,15 +188,16 @@
groupDeviceLayout.finishLoadMore()
isLoadMore = false
}
+
else -> {
dataBeans = dataRows!!
}
}
weakReferenceHandler.sendEmptyMessage(2022070601)
}
- })
+ }
- deviceViewModel.deleteResult.observe(this, {
+ deviceViewModel.deleteResult.observe(this) {
if (it.code == 200) {
if (isDeleteAll) {
dataBeans.removeAll(dataBeans)
@@ -212,7 +217,7 @@
}
}
}
- })
+ }
}
private fun obtainDeviceListByPage() {
diff --git a/app/src/main/java/com/casic/smarttube/view/HistoryDataActivity.kt b/app/src/main/java/com/casic/smarttube/view/HistoryDataActivity.kt
index 848ddcf..71f438c 100644
--- a/app/src/main/java/com/casic/smarttube/view/HistoryDataActivity.kt
+++ b/app/src/main/java/com/casic/smarttube/view/HistoryDataActivity.kt
@@ -14,12 +14,18 @@
import com.gyf.immersionbar.ImmersionBar
import com.jzxiang.pickerview.data.Type
import com.pengxh.kt.lite.base.KotlinBaseActivity
-import com.pengxh.kt.lite.extensions.*
+import com.pengxh.kt.lite.extensions.convertColor
+import com.pengxh.kt.lite.extensions.timestampToCompleteDate
+import com.pengxh.kt.lite.extensions.timestampToDate
+import com.pengxh.kt.lite.extensions.timestampToLastMonthDate
+import com.pengxh.kt.lite.extensions.timestampToLastWeekDate
import com.pengxh.kt.lite.utils.Constant
import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.vm.LoadState
-import kotlinx.android.synthetic.main.activity_history_data.*
-import java.util.*
+import kotlinx.android.synthetic.main.activity_history_data.dataLineChart
+import kotlinx.android.synthetic.main.activity_history_data.leftBackView
+import kotlinx.android.synthetic.main.activity_history_data.periodSpinner
+import java.util.Calendar
class HistoryDataActivity : KotlinBaseActivity() {
@@ -41,16 +47,16 @@
groupId = params[0]
devCode = params[1]
- deviceViewModel = ViewModelProvider(this).get(DeviceViewModel::class.java)
+ deviceViewModel = ViewModelProvider(this)[DeviceViewModel::class.java]
}
override fun observeRequestState() {
- deviceViewModel.loadState.observe(this, {
+ deviceViewModel.loadState.observe(this) {
when (it) {
LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...")
else -> LoadingDialogHub.dismiss()
}
- })
+ }
}
override fun initEvent() {
@@ -137,7 +143,7 @@
}
}
- deviceViewModel.historyDataModel.observe(this, {
+ deviceViewModel.historyDataModel.observe(this) {
if (it.code == 200) {
val xAxisLabels: MutableList = ArrayList()
//每个entries都是一条折线
@@ -155,6 +161,6 @@
}
ChartViewHelper.setLineChartData(dataLineChart, xAxisLabels, strengthEntries)
}
- })
+ }
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/smarttube/view/LoginActivity.kt b/app/src/main/java/com/casic/smarttube/view/LoginActivity.kt
index ec9a374..ebca433 100644
--- a/app/src/main/java/com/casic/smarttube/view/LoginActivity.kt
+++ b/app/src/main/java/com/casic/smarttube/view/LoginActivity.kt
@@ -2,7 +2,10 @@
import androidx.lifecycle.ViewModelProvider
import com.casic.smarttube.R
-import com.casic.smarttube.utils.*
+import com.casic.smarttube.utils.AuthenticationHelper
+import com.casic.smarttube.utils.LoadingDialogHub
+import com.casic.smarttube.utils.LocaleConstant
+import com.casic.smarttube.utils.RSAUtils
import com.casic.smarttube.vm.AuthenticateViewModel
import com.casic.smarttube.vm.LoginViewModel
import com.casic.smarttube.vm.UserViewModel
@@ -11,7 +14,9 @@
import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.show
import com.pengxh.kt.lite.utils.SaveKeyValues
-import kotlinx.android.synthetic.main.activity_login.*
+import kotlinx.android.synthetic.main.activity_login.loginButton
+import kotlinx.android.synthetic.main.activity_login.userNameView
+import kotlinx.android.synthetic.main.activity_login.userPasswordView
class LoginActivity : KotlinBaseActivity() {
@@ -29,19 +34,19 @@
// 设置默认账号密码
userNameView.setText(SaveKeyValues.getValue(LocaleConstant.ACCOUNT, "") as String)
userPasswordView.setText(SaveKeyValues.getValue(LocaleConstant.PASSWORD, "") as String)
- authenticateViewModel = ViewModelProvider(this).get(AuthenticateViewModel::class.java)
- loginViewModel = ViewModelProvider(this).get(LoginViewModel::class.java)
- userViewModel = ViewModelProvider(this).get(UserViewModel::class.java)
+ authenticateViewModel = ViewModelProvider(this)[AuthenticateViewModel::class.java]
+ loginViewModel = ViewModelProvider(this)[LoginViewModel::class.java]
+ userViewModel = ViewModelProvider(this)[UserViewModel::class.java]
}
override fun observeRequestState() {
- authenticateViewModel.loadState.observe(this, {
+ authenticateViewModel.loadState.observe(this) {
LoadingDialogHub.show(this, "登录中,请稍后")
- })
+ }
- loginViewModel.loadState.observe(this, {
+ loginViewModel.loadState.observe(this) {
LoadingDialogHub.dismiss()
- })
+ }
}
override fun initEvent() {
@@ -60,7 +65,7 @@
SaveKeyValues.putValue(LocaleConstant.PASSWORD, userPassword)
authenticateViewModel.obtainPublicKey()
}
- authenticateViewModel.keyModel.observe(this, {
+ authenticateViewModel.keyModel.observe(this) {
if (it.code == 200) {//用code判断,别的判断可能有坑
val keyString = it.data!!.publicKey!!
/**
@@ -75,7 +80,7 @@
RSAUtils.encryptDataByPublicKey(userPassword.toByteArray(), publicKey!!)
//登录并获取Token,POST请求
loginViewModel.enter(it.data!!.sid!!, account, dataByPublicKey)
- loginViewModel.enterResultModel.observe(this, { loginResult ->
+ loginViewModel.enterResultModel.observe(this) { loginResult ->
if (loginResult.code == 200) {
AuthenticationHelper.saveToken(loginResult.data!!.token!!)
/**
@@ -86,8 +91,8 @@
this.navigatePageTo()
finish()
}
- })
+ }
}
- })
+ }
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/smarttube/view/MapDeviceBriefActivity.kt b/app/src/main/java/com/casic/smarttube/view/MapDeviceBriefActivity.kt
index 0805438..f00e0ca 100644
--- a/app/src/main/java/com/casic/smarttube/view/MapDeviceBriefActivity.kt
+++ b/app/src/main/java/com/casic/smarttube/view/MapDeviceBriefActivity.kt
@@ -5,7 +5,10 @@
import com.amap.api.maps.AMap
import com.amap.api.maps.AMapOptions
import com.amap.api.maps.CameraUpdateFactory
-import com.amap.api.maps.model.*
+import com.amap.api.maps.model.BitmapDescriptorFactory
+import com.amap.api.maps.model.CameraPosition
+import com.amap.api.maps.model.LatLng
+import com.amap.api.maps.model.MarkerOptions
import com.amap.api.services.core.LatLonPoint
import com.amap.api.services.geocoder.GeocodeResult
import com.amap.api.services.geocoder.GeocodeSearch
@@ -21,8 +24,14 @@
import com.pengxh.kt.lite.utils.Constant
import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.vm.LoadState
-import kotlinx.android.synthetic.main.activity_map_device_brief.*
-import kotlinx.android.synthetic.main.include_base_title.*
+import kotlinx.android.synthetic.main.activity_map_device_brief.deviceCodeView
+import kotlinx.android.synthetic.main.activity_map_device_brief.deviceModelView
+import kotlinx.android.synthetic.main.activity_map_device_brief.deviceValueView
+import kotlinx.android.synthetic.main.activity_map_device_brief.locationView
+import kotlinx.android.synthetic.main.activity_map_device_brief.mapView
+import kotlinx.android.synthetic.main.activity_map_device_brief.updateTimeView
+import kotlinx.android.synthetic.main.include_base_title.leftBackView
+import kotlinx.android.synthetic.main.include_base_title.titleView
class MapDeviceBriefActivity : KotlinBaseActivity() {
@@ -53,21 +62,21 @@
this.params = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!!
- deviceViewModel = ViewModelProvider(this).get(DeviceViewModel::class.java)
+ deviceViewModel = ViewModelProvider(this)[DeviceViewModel::class.java]
}
override fun observeRequestState() {
- deviceViewModel.loadState.observe(this, {
+ deviceViewModel.loadState.observe(this) {
when (it) {
LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...")
else -> LoadingDialogHub.dismiss()
}
- })
+ }
}
override fun initEvent() {
deviceViewModel.obtainDeviceDetail(params[0], params[1])
- deviceViewModel.deviceDetailModel.observe(this, {
+ deviceViewModel.deviceDetailModel.observe(this) {
if (it.code == 200) {
val device = it.data
@@ -76,7 +85,7 @@
//获取设备最新浓度信息
deviceViewModel.obtainTubeLastData(device.groupId, device.devcode)
- deviceViewModel.lastDataModel.observe(this, { v ->
+ deviceViewModel.lastDataModel.observe(this) { v ->
if (v.code == 200) {
deviceValueView.text = String.format("最新浓度: ${v.data.strength}")
updateTimeView.text = String.format("更新时间: ${v.data.uptime}")
@@ -84,7 +93,7 @@
deviceValueView.text = String.format("最新浓度: 未知")
updateTimeView.text = String.format("更新时间: 未知")
}
- })
+ }
if (device.latGaode.isBlank() || device.lngGaode.isBlank()) {
locationView.text = "经纬度异常,无法查看具体位置"
} else {
@@ -133,7 +142,7 @@
}
}
}
- })
+ }
}
/**地图相关*********/
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index fb4538c..d9f19a0 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -85,4 +85,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt b/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt
index f9b3271..a4e964c 100644
--- a/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt
+++ b/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt
@@ -24,13 +24,30 @@
import com.google.gson.reflect.TypeToken
import com.pengxh.kt.lite.base.KotlinBaseFragment
import com.pengxh.kt.lite.callback.OnDownloadListener
-import com.pengxh.kt.lite.extensions.*
+import com.pengxh.kt.lite.extensions.calculateSize
+import com.pengxh.kt.lite.extensions.createDownloadFileDir
+import com.pengxh.kt.lite.extensions.deleteFile
+import com.pengxh.kt.lite.extensions.downloadFile
+import com.pengxh.kt.lite.extensions.formatFileSize
+import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.extensions.show
import com.pengxh.kt.lite.utils.PageNavigationManager
import com.pengxh.kt.lite.utils.SaveKeyValues
import com.pengxh.kt.lite.vm.LoadState
import com.pengxh.kt.lite.widget.dialog.AlertControlDialog
import com.pengxh.kt.lite.widget.dialog.ChangePasswordDialog
-import kotlinx.android.synthetic.main.fragment_mine.*
+import kotlinx.android.synthetic.main.fragment_mine.aboutUsLayout
+import kotlinx.android.synthetic.main.fragment_mine.cacheSizeView
+import kotlinx.android.synthetic.main.fragment_mine.changePwdLayout
+import kotlinx.android.synthetic.main.fragment_mine.clearCacheLayout
+import kotlinx.android.synthetic.main.fragment_mine.loginOutButton
+import kotlinx.android.synthetic.main.fragment_mine.updateLogLayout
+import kotlinx.android.synthetic.main.fragment_mine.updateUserButton
+import kotlinx.android.synthetic.main.fragment_mine.updateVersionLayout
+import kotlinx.android.synthetic.main.fragment_mine.userDeptView
+import kotlinx.android.synthetic.main.fragment_mine.userImageView
+import kotlinx.android.synthetic.main.fragment_mine.userNameView
+import kotlinx.android.synthetic.main.fragment_mine.userPhoneView
import java.io.File
import java.nio.charset.StandardCharsets
@@ -50,9 +67,9 @@
}
override fun initData() {
- userViewModel = ViewModelProvider(this).get(UserViewModel::class.java)
- loginViewModel = ViewModelProvider(this).get(LoginViewModel::class.java)
- versionViewModel = ViewModelProvider(this).get(VersionViewModel::class.java)
+ userViewModel = ViewModelProvider(this)[UserViewModel::class.java]
+ loginViewModel = ViewModelProvider(this)[LoginViewModel::class.java]
+ versionViewModel = ViewModelProvider(this)[VersionViewModel::class.java]
//初始化下载对话框
progressDialog = ProgressDialog(requireContext())
@@ -63,7 +80,7 @@
}
override fun observeRequestState() {
- userViewModel.loadState.observe(this, {
+ userViewModel.loadState.observe(this) {
when (it) {
is LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "修改中,请稍后")
is LoadState.Success -> {
@@ -73,16 +90,21 @@
requireContext().navigatePageTo()
PageNavigationManager.finishAllActivity()
}
- else -> LoadingDialogHub.dismiss()
- }
- })
- versionViewModel.loadState.observe(this, {
- when (it) {
- is LoadState.Loading -> LoadingDialogHub.show(requireActivity(), "检查版本中,请稍后")
else -> LoadingDialogHub.dismiss()
}
- })
+ }
+
+ versionViewModel.loadState.observe(this) {
+ when (it) {
+ is LoadState.Loading -> LoadingDialogHub.show(
+ requireActivity(),
+ "检查版本中,请稍后"
+ )
+
+ else -> LoadingDialogHub.dismiss()
+ }
+ }
}
override fun initEvent() {
@@ -168,16 +190,16 @@
}
private fun dataObserve() {
- userViewModel.userDetailModel.observe(this, {
+ userViewModel.userDetailModel.observe(this) {
if (it.code == 200) {
LoadingDialogHub.dismiss()
"同步完成".show(requireContext())
userData = it.data
updateUserInfo()
}
- })
+ }
- versionViewModel.versionResultModel.observe(this, {
+ versionViewModel.versionResultModel.observe(this) {
if (BuildConfig.VERSION_NAME == it.version) {
"已是最新版本,无需更新".show(requireContext())
} else {
@@ -198,15 +220,15 @@
}
}).build().show()
}
- })
+ }
- loginViewModel.outResultModel.observe(this, {
+ loginViewModel.outResultModel.observe(this) {
if (it.code == 200) {
AuthenticationHelper.removeToken()
requireContext().navigatePageTo()
PageNavigationManager.finishAllActivity()
}
- })
+ }
}
private fun collectApplicationCache(): Long {
diff --git a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt
index 1143d7c..b009850 100644
--- a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt
+++ b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt
@@ -11,8 +11,10 @@
import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.show
import com.pengxh.kt.lite.widget.dialog.AlertInputDialog
-import kotlinx.android.synthetic.main.fragment_overview.*
-import kotlinx.android.synthetic.main.include_empty_view.*
+import kotlinx.android.synthetic.main.fragment_overview.groupRecyclerView
+import kotlinx.android.synthetic.main.fragment_overview.rightOptionView
+import kotlinx.android.synthetic.main.fragment_overview.titleView
+import kotlinx.android.synthetic.main.include_empty_view.emptyView
class OverviewFragment : KotlinBaseFragment() {
@@ -46,7 +48,7 @@
"刷新数据中,请稍后".show(requireContext())
}
- groupViewModel.groupModel.observe(this, {
+ groupViewModel.groupModel.observe(this) {
if (it.code == 200) {
if (it.data.size == 0) {
emptyView!!.showEmptyPage("这里什么都没有") {
@@ -92,9 +94,9 @@
})
}
}
- })
+ }
- groupViewModel.changeGroupResult.observe(this, {
+ groupViewModel.changeGroupResult.observe(this) {
if (it.code == 200) {
dataBeans.removeAt(clickedPosition)
groupListAdapter.notifyItemRemoved(clickedPosition)
@@ -102,6 +104,6 @@
clickedPosition, dataBeans.size - clickedPosition
)
}
- })
+ }
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt b/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt
index fabd110..4e1a9b4 100644
--- a/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt
+++ b/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt
@@ -14,7 +14,8 @@
Manifest.permission.ACCESS_LOCATION_EXTRA_COMMANDS,
Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.CAMERA, Manifest.permission.READ_EXTERNAL_STORAGE,
- Manifest.permission.MANAGE_EXTERNAL_STORAGE, Manifest.permission.READ_PHONE_STATE
+ Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.MANAGE_EXTERNAL_STORAGE,
+ Manifest.permission.READ_PHONE_STATE
)
val POPUP_IMAGES = intArrayOf(R.drawable.ic_menu_map, R.drawable.ic_satellite)
val POPUP_TITLES = arrayOf("标准地图", "卫星地图")
diff --git a/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt b/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt
index 8bde48b..415f9dd 100644
--- a/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt
+++ b/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt
@@ -15,10 +15,16 @@
import com.amap.api.location.AMapLocation
import com.casic.smarttube.R
import com.casic.smarttube.callback.OnImageCompressListener
-import com.casic.smarttube.extensions.*
+import com.casic.smarttube.extensions.combineImagePath
+import com.casic.smarttube.extensions.compressImage
import com.casic.smarttube.extensions.isNumber
+import com.casic.smarttube.extensions.reformat
import com.casic.smarttube.model.UserDetailModel
-import com.casic.smarttube.utils.*
+import com.casic.smarttube.utils.GlideLoadEngine
+import com.casic.smarttube.utils.LoadingDialogHub
+import com.casic.smarttube.utils.LocaleConstant
+import com.casic.smarttube.utils.LocationHelper
+import com.casic.smarttube.utils.QrConfigCreator
import com.casic.smarttube.vm.DeviceViewModel
import com.casic.smarttube.vm.ProjectGroupViewModel
import com.casic.smarttube.vm.UploadImageViewModel
@@ -31,20 +37,32 @@
import com.luck.picture.lib.interfaces.OnResultCallbackListener
import com.pengxh.kt.lite.adapter.EditableImageAdapter
import com.pengxh.kt.lite.base.KotlinBaseActivity
-import com.pengxh.kt.lite.extensions.*
+import com.pengxh.kt.lite.extensions.convertColor
+import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.extensions.show
+import com.pengxh.kt.lite.extensions.timestampToCompleteDate
import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.utils.SaveKeyValues
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import com.pengxh.kt.lite.vm.LoadState
import com.pengxh.kt.lite.widget.dialog.AlertInputDialog
import com.pengxh.kt.lite.widget.dialog.BottomActionSheet
-import kotlinx.android.synthetic.main.activity_add_device.*
-import kotlinx.android.synthetic.main.activity_history_data.*
-import kotlinx.android.synthetic.main.include_base_title.*
+import kotlinx.android.synthetic.main.activity_add_device.addDeviceTimeView
+import kotlinx.android.synthetic.main.activity_add_device.addImageRecyclerView
+import kotlinx.android.synthetic.main.activity_add_device.collectIntervalView
+import kotlinx.android.synthetic.main.activity_add_device.deviceCodeView
+import kotlinx.android.synthetic.main.activity_add_device.deviceNameView
+import kotlinx.android.synthetic.main.activity_add_device.inputLengthView
+import kotlinx.android.synthetic.main.activity_add_device.latitudeView
+import kotlinx.android.synthetic.main.activity_add_device.locationImageView
+import kotlinx.android.synthetic.main.activity_add_device.longitudeView
+import kotlinx.android.synthetic.main.activity_add_device.ownerShipView
+import kotlinx.android.synthetic.main.activity_add_device.scannerView
+import kotlinx.android.synthetic.main.activity_add_device.sceneEditView
+import kotlinx.android.synthetic.main.activity_add_device.submitButton
import kotlinx.android.synthetic.main.include_base_title.leftBackView
+import kotlinx.android.synthetic.main.include_base_title.titleView
import java.io.File
-import java.util.*
-import kotlin.collections.ArrayList
class AddDeviceActivity : KotlinBaseActivity() {
@@ -79,13 +97,13 @@
override fun initData() {
weakReferenceHandler = WeakReferenceHandler(callback)
- uploadImageViewModel = ViewModelProvider(this).get(UploadImageViewModel::class.java)
- deviceViewModel = ViewModelProvider(this).get(DeviceViewModel::class.java)
- groupViewModel = ViewModelProvider(this).get(ProjectGroupViewModel::class.java)
+ uploadImageViewModel = ViewModelProvider(this)[UploadImageViewModel::class.java]
+ deviceViewModel = ViewModelProvider(this)[DeviceViewModel::class.java]
+ groupViewModel = ViewModelProvider(this)[ProjectGroupViewModel::class.java]
}
override fun observeRequestState() {
- deviceViewModel.loadState.observe(this, {
+ deviceViewModel.loadState.observe(this) {
when (it) {
LoadState.Loading -> LoadingDialogHub.show(this, "处理中,请稍后")
LoadState.Success -> {
@@ -93,9 +111,10 @@
LoadingDialogHub.dismiss()
this.finish()
}
+
LoadState.Fail -> LoadingDialogHub.dismiss()
}
- })
+ }
}
override fun initEvent() {
@@ -113,7 +132,7 @@
ownerShipView.setOnClickListener {
groupViewModel.obtainGroupList()
}
- groupViewModel.groupListModel.observe(this, {
+ groupViewModel.groupListModel.observe(this) {
val groups = ArrayList()
if (it.code == 200) {
if (it.data.isEmpty()) {
@@ -158,7 +177,7 @@
}
}).build().show()
}
- })
+ }
//默认频率1min
collectIntervalView.text = frequency[0]
@@ -244,7 +263,7 @@
}
})
- uploadImageViewModel.resultModel.observe(this, {
+ uploadImageViewModel.resultModel.observe(this) {
if (it.code == 200) {
if (imageAdapter.itemCount == selectedImages.size) {
LoadingDialogHub.dismiss()
@@ -260,7 +279,7 @@
"最多只能上传3张图片".show(this)
}
}
- })
+ }
sceneEditView.addTextChangedListener(object : TextWatcher {
override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {
diff --git a/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt b/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt
index daa0f2e..072953f 100644
--- a/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt
+++ b/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt
@@ -25,7 +25,20 @@
import com.pengxh.kt.lite.utils.Constant
import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.vm.LoadState
-import kotlinx.android.synthetic.main.activity_device_detail.*
+import kotlinx.android.synthetic.main.activity_device_detail.densityView
+import kotlinx.android.synthetic.main.activity_device_detail.descriptionView
+import kotlinx.android.synthetic.main.activity_device_detail.deviceBatteryView
+import kotlinx.android.synthetic.main.activity_device_detail.deviceCodeView
+import kotlinx.android.synthetic.main.activity_device_detail.deviceNameView
+import kotlinx.android.synthetic.main.activity_device_detail.deviceStateView
+import kotlinx.android.synthetic.main.activity_device_detail.imageGridView
+import kotlinx.android.synthetic.main.activity_device_detail.lastDataView
+import kotlinx.android.synthetic.main.activity_device_detail.leftBackView
+import kotlinx.android.synthetic.main.activity_device_detail.locationView
+import kotlinx.android.synthetic.main.activity_device_detail.projectGroupView
+import kotlinx.android.synthetic.main.activity_device_detail.rightOptionView
+import kotlinx.android.synthetic.main.activity_device_detail.signalImageView
+import kotlinx.android.synthetic.main.activity_device_detail.titleView
class DeviceDetailActivity : KotlinBaseActivity() {
@@ -48,7 +61,7 @@
deviceViewModel = ViewModelProvider(this).get(DeviceViewModel::class.java)
deviceViewModel.obtainDeviceDetail(params[0], params[1])
- deviceViewModel.deviceDetailModel.observe(this, {
+ deviceViewModel.deviceDetailModel.observe(this) {
if (it.code == 200) {
val device = it.data
this.deviceModel = device
@@ -123,16 +136,16 @@
device.cell + "%"
}
}
- })
+ }
}
override fun observeRequestState() {
- deviceViewModel.loadState.observe(this, {
+ deviceViewModel.loadState.observe(this) {
when (it) {
LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...")
else -> LoadingDialogHub.dismiss()
}
- })
+ }
}
override fun initEvent() {
diff --git a/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt b/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt
index c57e2c1..0ae8862 100644
--- a/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt
+++ b/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt
@@ -28,9 +28,12 @@
import com.pengxh.kt.lite.widget.dialog.AlertControlDialog
import com.qmuiteam.qmui.recyclerView.QMUIRVItemSwipeAction
import com.qmuiteam.qmui.recyclerView.QMUISwipeAction
-import kotlinx.android.synthetic.main.activity_group_device.*
-import kotlinx.android.synthetic.main.fragment_home.view.*
-import kotlinx.android.synthetic.main.include_empty_view.*
+import kotlinx.android.synthetic.main.activity_group_device.groupDeviceLayout
+import kotlinx.android.synthetic.main.activity_group_device.groupDeviceView
+import kotlinx.android.synthetic.main.activity_group_device.leftBackView
+import kotlinx.android.synthetic.main.activity_group_device.rightOptionView
+import kotlinx.android.synthetic.main.activity_group_device.titleView
+import kotlinx.android.synthetic.main.include_empty_view.emptyView
class GroupDeviceActivity : KotlinBaseActivity() {
@@ -139,18 +142,18 @@
groupId = intent.getStringExtra(Constant.INTENT_PARAM)!!
titleView.text = String.format(groupId + "项目设备列表")
weakReferenceHandler = WeakReferenceHandler(callback)
- groupViewModel = ViewModelProvider(this).get(ProjectGroupViewModel::class.java)
- deviceViewModel = ViewModelProvider(this).get(DeviceViewModel::class.java)
+ groupViewModel = ViewModelProvider(this)[ProjectGroupViewModel::class.java]
+ deviceViewModel = ViewModelProvider(this)[DeviceViewModel::class.java]
obtainDeviceListByPage()
}
override fun observeRequestState() {
- groupViewModel.loadState.observe(this, {
+ groupViewModel.loadState.observe(this) {
when (it) {
LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...")
else -> LoadingDialogHub.dismiss()
}
- })
+ }
}
override fun initEvent() {
@@ -166,7 +169,7 @@
obtainDeviceListByPage()
}
- groupViewModel.deviceListModel.observe(this, {
+ groupViewModel.deviceListModel.observe(this) {
if (it.code == 200) {
val dataRows = it.data
when {
@@ -176,6 +179,7 @@
groupDeviceLayout.finishRefresh()
isRefresh = false
}
+
isLoadMore -> {
if (dataRows?.size == 0) {
"到底了,别拉了".show(this)
@@ -184,15 +188,16 @@
groupDeviceLayout.finishLoadMore()
isLoadMore = false
}
+
else -> {
dataBeans = dataRows!!
}
}
weakReferenceHandler.sendEmptyMessage(2022070601)
}
- })
+ }
- deviceViewModel.deleteResult.observe(this, {
+ deviceViewModel.deleteResult.observe(this) {
if (it.code == 200) {
if (isDeleteAll) {
dataBeans.removeAll(dataBeans)
@@ -212,7 +217,7 @@
}
}
}
- })
+ }
}
private fun obtainDeviceListByPage() {
diff --git a/app/src/main/java/com/casic/smarttube/view/HistoryDataActivity.kt b/app/src/main/java/com/casic/smarttube/view/HistoryDataActivity.kt
index 848ddcf..71f438c 100644
--- a/app/src/main/java/com/casic/smarttube/view/HistoryDataActivity.kt
+++ b/app/src/main/java/com/casic/smarttube/view/HistoryDataActivity.kt
@@ -14,12 +14,18 @@
import com.gyf.immersionbar.ImmersionBar
import com.jzxiang.pickerview.data.Type
import com.pengxh.kt.lite.base.KotlinBaseActivity
-import com.pengxh.kt.lite.extensions.*
+import com.pengxh.kt.lite.extensions.convertColor
+import com.pengxh.kt.lite.extensions.timestampToCompleteDate
+import com.pengxh.kt.lite.extensions.timestampToDate
+import com.pengxh.kt.lite.extensions.timestampToLastMonthDate
+import com.pengxh.kt.lite.extensions.timestampToLastWeekDate
import com.pengxh.kt.lite.utils.Constant
import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.vm.LoadState
-import kotlinx.android.synthetic.main.activity_history_data.*
-import java.util.*
+import kotlinx.android.synthetic.main.activity_history_data.dataLineChart
+import kotlinx.android.synthetic.main.activity_history_data.leftBackView
+import kotlinx.android.synthetic.main.activity_history_data.periodSpinner
+import java.util.Calendar
class HistoryDataActivity : KotlinBaseActivity() {
@@ -41,16 +47,16 @@
groupId = params[0]
devCode = params[1]
- deviceViewModel = ViewModelProvider(this).get(DeviceViewModel::class.java)
+ deviceViewModel = ViewModelProvider(this)[DeviceViewModel::class.java]
}
override fun observeRequestState() {
- deviceViewModel.loadState.observe(this, {
+ deviceViewModel.loadState.observe(this) {
when (it) {
LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...")
else -> LoadingDialogHub.dismiss()
}
- })
+ }
}
override fun initEvent() {
@@ -137,7 +143,7 @@
}
}
- deviceViewModel.historyDataModel.observe(this, {
+ deviceViewModel.historyDataModel.observe(this) {
if (it.code == 200) {
val xAxisLabels: MutableList = ArrayList()
//每个entries都是一条折线
@@ -155,6 +161,6 @@
}
ChartViewHelper.setLineChartData(dataLineChart, xAxisLabels, strengthEntries)
}
- })
+ }
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/smarttube/view/LoginActivity.kt b/app/src/main/java/com/casic/smarttube/view/LoginActivity.kt
index ec9a374..ebca433 100644
--- a/app/src/main/java/com/casic/smarttube/view/LoginActivity.kt
+++ b/app/src/main/java/com/casic/smarttube/view/LoginActivity.kt
@@ -2,7 +2,10 @@
import androidx.lifecycle.ViewModelProvider
import com.casic.smarttube.R
-import com.casic.smarttube.utils.*
+import com.casic.smarttube.utils.AuthenticationHelper
+import com.casic.smarttube.utils.LoadingDialogHub
+import com.casic.smarttube.utils.LocaleConstant
+import com.casic.smarttube.utils.RSAUtils
import com.casic.smarttube.vm.AuthenticateViewModel
import com.casic.smarttube.vm.LoginViewModel
import com.casic.smarttube.vm.UserViewModel
@@ -11,7 +14,9 @@
import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.show
import com.pengxh.kt.lite.utils.SaveKeyValues
-import kotlinx.android.synthetic.main.activity_login.*
+import kotlinx.android.synthetic.main.activity_login.loginButton
+import kotlinx.android.synthetic.main.activity_login.userNameView
+import kotlinx.android.synthetic.main.activity_login.userPasswordView
class LoginActivity : KotlinBaseActivity() {
@@ -29,19 +34,19 @@
// 设置默认账号密码
userNameView.setText(SaveKeyValues.getValue(LocaleConstant.ACCOUNT, "") as String)
userPasswordView.setText(SaveKeyValues.getValue(LocaleConstant.PASSWORD, "") as String)
- authenticateViewModel = ViewModelProvider(this).get(AuthenticateViewModel::class.java)
- loginViewModel = ViewModelProvider(this).get(LoginViewModel::class.java)
- userViewModel = ViewModelProvider(this).get(UserViewModel::class.java)
+ authenticateViewModel = ViewModelProvider(this)[AuthenticateViewModel::class.java]
+ loginViewModel = ViewModelProvider(this)[LoginViewModel::class.java]
+ userViewModel = ViewModelProvider(this)[UserViewModel::class.java]
}
override fun observeRequestState() {
- authenticateViewModel.loadState.observe(this, {
+ authenticateViewModel.loadState.observe(this) {
LoadingDialogHub.show(this, "登录中,请稍后")
- })
+ }
- loginViewModel.loadState.observe(this, {
+ loginViewModel.loadState.observe(this) {
LoadingDialogHub.dismiss()
- })
+ }
}
override fun initEvent() {
@@ -60,7 +65,7 @@
SaveKeyValues.putValue(LocaleConstant.PASSWORD, userPassword)
authenticateViewModel.obtainPublicKey()
}
- authenticateViewModel.keyModel.observe(this, {
+ authenticateViewModel.keyModel.observe(this) {
if (it.code == 200) {//用code判断,别的判断可能有坑
val keyString = it.data!!.publicKey!!
/**
@@ -75,7 +80,7 @@
RSAUtils.encryptDataByPublicKey(userPassword.toByteArray(), publicKey!!)
//登录并获取Token,POST请求
loginViewModel.enter(it.data!!.sid!!, account, dataByPublicKey)
- loginViewModel.enterResultModel.observe(this, { loginResult ->
+ loginViewModel.enterResultModel.observe(this) { loginResult ->
if (loginResult.code == 200) {
AuthenticationHelper.saveToken(loginResult.data!!.token!!)
/**
@@ -86,8 +91,8 @@
this.navigatePageTo()
finish()
}
- })
+ }
}
- })
+ }
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/smarttube/view/MapDeviceBriefActivity.kt b/app/src/main/java/com/casic/smarttube/view/MapDeviceBriefActivity.kt
index 0805438..f00e0ca 100644
--- a/app/src/main/java/com/casic/smarttube/view/MapDeviceBriefActivity.kt
+++ b/app/src/main/java/com/casic/smarttube/view/MapDeviceBriefActivity.kt
@@ -5,7 +5,10 @@
import com.amap.api.maps.AMap
import com.amap.api.maps.AMapOptions
import com.amap.api.maps.CameraUpdateFactory
-import com.amap.api.maps.model.*
+import com.amap.api.maps.model.BitmapDescriptorFactory
+import com.amap.api.maps.model.CameraPosition
+import com.amap.api.maps.model.LatLng
+import com.amap.api.maps.model.MarkerOptions
import com.amap.api.services.core.LatLonPoint
import com.amap.api.services.geocoder.GeocodeResult
import com.amap.api.services.geocoder.GeocodeSearch
@@ -21,8 +24,14 @@
import com.pengxh.kt.lite.utils.Constant
import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.vm.LoadState
-import kotlinx.android.synthetic.main.activity_map_device_brief.*
-import kotlinx.android.synthetic.main.include_base_title.*
+import kotlinx.android.synthetic.main.activity_map_device_brief.deviceCodeView
+import kotlinx.android.synthetic.main.activity_map_device_brief.deviceModelView
+import kotlinx.android.synthetic.main.activity_map_device_brief.deviceValueView
+import kotlinx.android.synthetic.main.activity_map_device_brief.locationView
+import kotlinx.android.synthetic.main.activity_map_device_brief.mapView
+import kotlinx.android.synthetic.main.activity_map_device_brief.updateTimeView
+import kotlinx.android.synthetic.main.include_base_title.leftBackView
+import kotlinx.android.synthetic.main.include_base_title.titleView
class MapDeviceBriefActivity : KotlinBaseActivity() {
@@ -53,21 +62,21 @@
this.params = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!!
- deviceViewModel = ViewModelProvider(this).get(DeviceViewModel::class.java)
+ deviceViewModel = ViewModelProvider(this)[DeviceViewModel::class.java]
}
override fun observeRequestState() {
- deviceViewModel.loadState.observe(this, {
+ deviceViewModel.loadState.observe(this) {
when (it) {
LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...")
else -> LoadingDialogHub.dismiss()
}
- })
+ }
}
override fun initEvent() {
deviceViewModel.obtainDeviceDetail(params[0], params[1])
- deviceViewModel.deviceDetailModel.observe(this, {
+ deviceViewModel.deviceDetailModel.observe(this) {
if (it.code == 200) {
val device = it.data
@@ -76,7 +85,7 @@
//获取设备最新浓度信息
deviceViewModel.obtainTubeLastData(device.groupId, device.devcode)
- deviceViewModel.lastDataModel.observe(this, { v ->
+ deviceViewModel.lastDataModel.observe(this) { v ->
if (v.code == 200) {
deviceValueView.text = String.format("最新浓度: ${v.data.strength}")
updateTimeView.text = String.format("更新时间: ${v.data.uptime}")
@@ -84,7 +93,7 @@
deviceValueView.text = String.format("最新浓度: 未知")
updateTimeView.text = String.format("更新时间: 未知")
}
- })
+ }
if (device.latGaode.isBlank() || device.lngGaode.isBlank()) {
locationView.text = "经纬度异常,无法查看具体位置"
} else {
@@ -133,7 +142,7 @@
}
}
}
- })
+ }
}
/**地图相关*********/
diff --git a/app/src/main/java/com/casic/smarttube/view/SplashScreenActivity.kt b/app/src/main/java/com/casic/smarttube/view/SplashScreenActivity.kt
index a675f0d..dafbe4d 100644
--- a/app/src/main/java/com/casic/smarttube/view/SplashScreenActivity.kt
+++ b/app/src/main/java/com/casic/smarttube/view/SplashScreenActivity.kt
@@ -19,14 +19,14 @@
* 获取token之后保存用户信息
* */
userDetailViewModel.obtainUserDetail()
- userDetailViewModel.userDetailModel.observe(this@SplashScreenActivity, {
+ userDetailViewModel.userDetailModel.observe(this@SplashScreenActivity) {
if (it.code == 200) {
navigatePageTo()
} else {
navigatePageTo()
}
finish()
- })
+ }
}
override fun onTick(millisUntilFinished: Long) {